diff options
author | GriffinR <griffin.g.richards@gmail.com> | 2020-01-23 10:24:11 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-01-23 10:24:11 -0500 |
commit | a01d83a4341cd0cdad01fe2d0b96920301257f2a (patch) | |
tree | ac4f4ce6086d4664ea49d515759a8044ecd1d973 | |
parent | e7cd8c59f4ca0f6c56a3b3782c21e896c203694e (diff) | |
parent | 91099dbd0c451188742bf045a26a036e0e8d9f89 (diff) |
Merge branch 'master' into sync-ai
273 files changed, 12193 insertions, 25454 deletions
diff --git a/asm/cable_club.s b/asm/cable_club.s index 2aa355ab4..27a3d93f4 100644 --- a/asm/cable_club.s +++ b/asm/cable_club.s @@ -773,10 +773,10 @@ _08080D44: _08080D50: .4byte sub_8080F78 _08080D54: bl GetLinkPlayerCount_2 - ldr r4, _08080D7C @ =gUnknown_3005030 + ldr r4, _08080D7C @ =gFieldLinkPlayerCount strb r0, [r4] bl GetMultiplayerId - ldr r1, _08080D80 @ =gUnknown_300502C + ldr r1, _08080D80 @ =gLocalLinkPlayerId strb r0, [r1] ldrb r0, [r4] bl sub_800A900 @@ -790,8 +790,8 @@ _08080D74: pop {r0} bx r0 .align 2, 0 -_08080D7C: .4byte gUnknown_3005030 -_08080D80: .4byte gUnknown_300502C +_08080D7C: .4byte gFieldLinkPlayerCount +_08080D80: .4byte gLocalLinkPlayerId _08080D84: .4byte gBlockSendBuffer _08080D88: .4byte sub_8080E6C thumb_func_end sub_8080CDC @@ -876,10 +876,10 @@ _08080E18: .4byte gTasks _08080E1C: .4byte sub_8080F78 _08080E20: bl GetLinkPlayerCount_2 - ldr r4, _08080E58 @ =gUnknown_3005030 + ldr r4, _08080E58 @ =gFieldLinkPlayerCount strb r0, [r4] bl GetMultiplayerId - ldr r1, _08080E5C @ =gUnknown_300502C + ldr r1, _08080E5C @ =gLocalLinkPlayerId strb r0, [r1] ldrb r0, [r4] bl sub_800A900 @@ -899,8 +899,8 @@ _08080E50: pop {r0} bx r0 .align 2, 0 -_08080E58: .4byte gUnknown_3005030 -_08080E5C: .4byte gUnknown_300502C +_08080E58: .4byte gFieldLinkPlayerCount +_08080E5C: .4byte gLocalLinkPlayerId _08080E60: .4byte gBlockSendBuffer _08080E64: .4byte gTasks _08080E68: .4byte sub_8080E6C @@ -1536,7 +1536,7 @@ _08081344: _0808135C: movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r1, _08081374 @ =gLinkType ldr r2, _08081378 @ =0x00002211 adds r0, r2, 0 @@ -1693,7 +1693,7 @@ _08081480: _080814A0: movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen ldr r0, _080814BC @ =gLinkType ldr r2, _080814C0 @ =0x00002211 adds r1, r2, 0 @@ -1931,7 +1931,7 @@ sub_8081668: @ 8081668 ldrh r0, [r0] cmp r0, 0x5 beq _0808170A - ldr r0, _080816BC @ =gUnknown_300502C + ldr r0, _080816BC @ =gLocalLinkPlayerId ldrb r0, [r0] movs r5, 0x1 eors r0, r5 @@ -1951,7 +1951,7 @@ sub_8081668: @ 8081668 _080816B0: .4byte gBattleTypeFlags _080816B4: .4byte 0x0000ffdf _080816B8: .4byte gSpecialVar_0x8004 -_080816BC: .4byte gUnknown_300502C +_080816BC: .4byte gLocalLinkPlayerId _080816C0: .4byte gWirelessCommType _080816C4: .4byte gBattleOutcome _080816C8: @@ -2179,7 +2179,7 @@ _08081882: bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen bl ClearLinkCallback_2 b _080818B8 _08081894: @@ -2255,7 +2255,7 @@ _0808191A: bl ScriptContext2_Enable movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen bl Rfu_set_zero b _08081950 _0808192C: diff --git a/asm/event_object_80688E4.s b/asm/event_object_80688E4.s index 1482529fe..93309a80d 100644 --- a/asm/event_object_80688E4.s +++ b/asm/event_object_80688E4.s @@ -154,8 +154,8 @@ _080689EC: .4byte gObjectEvents _080689F0: .4byte gPlayerAvatar thumb_func_end FreezeObjectEventsExceptOne - thumb_func_start npc_sync_anim_pause_bits -npc_sync_anim_pause_bits: @ 80689F4 + thumb_func_start UnfreezeObjectEvent +UnfreezeObjectEvent: @ 80689F4 push {r4,r5,lr} adds r5, r0, 0 ldrh r2, [r5] @@ -207,7 +207,7 @@ _08068A4C: .align 2, 0 _08068A54: .4byte 0x00000101 _08068A58: .4byte gSprites - thumb_func_end npc_sync_anim_pause_bits + thumb_func_end UnfreezeObjectEvent thumb_func_start UnfreezeObjectEvents UnfreezeObjectEvents: @ 8068A5C @@ -224,7 +224,7 @@ _08068A62: cmp r0, 0 beq _08068A78 adds r0, r1, 0 - bl npc_sync_anim_pause_bits + bl UnfreezeObjectEvent _08068A78: adds r0, r4, 0x1 lsls r0, 24 diff --git a/asm/event_object_movement.s b/asm/event_object_movement.s index 66207007c..30af8949b 100644 --- a/asm/event_object_movement.s +++ b/asm/event_object_movement.s @@ -1427,8 +1427,8 @@ SpawnSpecialObjectEventParameterized: @ 805E830 _0805E894: .4byte 0xfff90000 thumb_func_end SpawnSpecialObjectEventParameterized - thumb_func_start show_sprite -show_sprite: @ 805E898 + thumb_func_start TrySpawnObjectEvent +TrySpawnObjectEvent: @ 805E898 push {r4-r7,lr} sub sp, 0x8 lsls r0, 24 @@ -1468,7 +1468,7 @@ _0805E8E0: pop {r4-r7} pop {r1} bx r1 - thumb_func_end show_sprite + thumb_func_end TrySpawnObjectEvent thumb_func_start sub_805E8E8 sub_805E8E8: @ 805E8E8 @@ -13157,7 +13157,7 @@ _08063CC8: bl ObjectEventClearAnimIfSpecialAnimActive _08063CCE: adds r0, r4, 0 - bl npc_sync_anim_pause_bits + bl UnfreezeObjectEvent movs r3, 0 strb r5, [r4, 0x1C] ldrb r0, [r4] diff --git a/asm/field_control_avatar.s b/asm/field_control_avatar.s index 673c8bfc3..83f9a5700 100644 --- a/asm/field_control_avatar.s +++ b/asm/field_control_avatar.s @@ -1100,11 +1100,11 @@ sub_806D0E4: @ 806D0E4 ldr r0, [r5, 0x8] cmp r0, 0 bne _0806D120 - ldr r0, _0806D11C @ =EventScript_1C555B + ldr r0, _0806D11C @ =Test_EventScript_Sign b _0806D1E6 .align 2, 0 _0806D118: .4byte gMapHeader -_0806D11C: .4byte EventScript_1C555B +_0806D11C: .4byte Test_EventScript_Sign _0806D120: adds r0, r7, 0 adds r1, r6, 0 @@ -1834,11 +1834,11 @@ _0806D704: beq _0806D720 movs r0, 0xD bl IncrementGameStat - ldr r0, _0806D71C @ =EventScript_81BF546 + ldr r0, _0806D71C @ =EventScript_EggHatch bl ScriptContext1_SetupScript b _0806D730 .align 2, 0 -_0806D71C: .4byte EventScript_81BF546 +_0806D71C: .4byte EventScript_EggHatch _0806D720: bl SafariZoneTakeStep lsls r0, 24 @@ -2150,13 +2150,13 @@ _0806D950: ldr r0, [r0, 0x8] cmp r0, 0 bne _0806D958 - ldr r0, _0806D960 @ =EventScript_1C555B + ldr r0, _0806D960 @ =Test_EventScript_Sign _0806D958: pop {r4} pop {r1} bx r1 .align 2, 0 -_0806D960: .4byte EventScript_1C555B +_0806D960: .4byte Test_EventScript_Sign thumb_func_end sub_806D928 thumb_func_start mapheader_run_first_tag2_script_list_match_conditionally diff --git a/asm/field_player_avatar.s b/asm/field_player_avatar.s index e4b28d6c6..a605f1439 100644 --- a/asm/field_player_avatar.s +++ b/asm/field_player_avatar.s @@ -2445,8 +2445,8 @@ _0805C560: .4byte gObjectEvents _0805C564: .4byte gPlayerAvatar thumb_func_end PlayerGetDestCoords - thumb_func_start plaer_get_pos_including_state_based_drift -plaer_get_pos_including_state_based_drift: @ 805C568 + thumb_func_start player_get_pos_including_state_based_drift +player_get_pos_including_state_based_drift: @ 805C568 push {r4,r5,lr} adds r4, r0, 0 adds r5, r1, 0 @@ -2580,7 +2580,7 @@ _0805C6BC: pop {r4,r5} pop {r1} bx r1 - thumb_func_end plaer_get_pos_including_state_based_drift + thumb_func_end player_get_pos_including_state_based_drift thumb_func_start GetPlayerFacingDirection GetPlayerFacingDirection: @ 805C6C4 diff --git a/asm/field_weather.s b/asm/field_weather.s index ece13573f..7960543a6 100644 --- a/asm/field_weather.s +++ b/asm/field_weather.s @@ -1584,8 +1584,8 @@ _0807A810: .4byte 0x000006c6 _0807A814: .4byte 0x000006c2 thumb_func_end sub_807A7C4 - thumb_func_start fade_screen -fade_screen: @ 807A818 + thumb_func_start FadeScreen +FadeScreen: @ 807A818 push {r4,r5,lr} sub sp, 0x4 lsls r0, 24 @@ -1735,7 +1735,7 @@ _0807A934: .4byte gUnknown_2037F34 _0807A938: .4byte 0x000006c6 _0807A93C: .4byte 0x000006ca _0807A940: .4byte 0x000006cb - thumb_func_end fade_screen + thumb_func_end FadeScreen thumb_func_start FieldWeather_StartFadingOutCreditsMap FieldWeather_StartFadingOutCreditsMap: @ 807A944 diff --git a/asm/item_menu.s b/asm/item_menu.s deleted file mode 100644 index 704d8d5d8..000000000 --- a/asm/item_menu.s +++ /dev/null @@ -1,7021 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start GoToBagMenu -GoToBagMenu: @ 8107DB4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r2, 0 - lsls r0, 24 - lsrs r6, r0, 24 - adds r7, r6, 0 - lsls r1, 24 - lsrs r1, 24 - mov r8, r1 - bl sub_81081AC - ldr r5, _08107DE4 @ =gUnknown_203AD10 - movs r0, 0x14 - bl Alloc - str r0, [r5] - cmp r0, 0 - bne _08107DE8 - adds r0, r4, 0 - bl SetMainCallback2 - b _08107E9A - .align 2, 0 -_08107DE4: .4byte gUnknown_203AD10 -_08107DE8: - cmp r6, 0xB - beq _08107DF0 - ldr r0, _08107E38 @ =gUnknown_203ACFC - strb r6, [r0, 0x4] -_08107DF0: - cmp r4, 0 - beq _08107DF8 - ldr r0, _08107E38 @ =gUnknown_203ACFC - str r4, [r0] -_08107DF8: - ldr r1, [r5] - movs r0, 0 - str r0, [r1] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldr r2, [r5] - ldrb r1, [r2, 0x5] - movs r0, 0x31 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x5] - ldr r2, [r5] - ldrb r1, [r2, 0x5] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x5] - ldr r1, [r5] - movs r0, 0x1 - negs r0, r0 - strb r0, [r1, 0x8] - ldr r1, [r5] - strb r0, [r1, 0x9] - cmp r6, 0x3 - bne _08107E3C - ldr r2, [r5] - ldrb r1, [r2, 0x5] - subs r0, 0xF - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - b _08107E5A - .align 2, 0 -_08107E38: .4byte gUnknown_203ACFC -_08107E3C: - cmp r7, 0x6 - bne _08107E50 - ldr r2, [r5] - ldrb r1, [r2, 0x5] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - b _08107E5A -_08107E50: - ldr r2, [r5] - ldrb r1, [r2, 0x5] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 -_08107E5A: - strb r0, [r2, 0x5] - movs r1, 0 - ldr r4, _08107EA4 @ =gTextFlags - ldr r5, _08107EA8 @ =gSpecialVar_ItemId - ldr r6, _08107EAC @ =sub_8107F10 - ldr r3, _08107EB0 @ =gUnknown_203AD10 - movs r2, 0 -_08107E68: - ldr r0, [r3] - adds r0, 0x10 - adds r0, r1 - strb r2, [r0] - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0x3 - bls _08107E68 - mov r0, r8 - cmp r0, 0x2 - bhi _08107E86 - ldr r0, _08107EB4 @ =gUnknown_203ACFC - mov r1, r8 - strh r1, [r0, 0x6] -_08107E86: - ldrb r0, [r4] - movs r1, 0x5 - negs r1, r1 - ands r1, r0 - strb r1, [r4] - movs r0, 0 - strh r0, [r5] - adds r0, r6, 0 - bl SetMainCallback2 -_08107E9A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08107EA4: .4byte gTextFlags -_08107EA8: .4byte gSpecialVar_ItemId -_08107EAC: .4byte sub_8107F10 -_08107EB0: .4byte gUnknown_203AD10 -_08107EB4: .4byte gUnknown_203ACFC - thumb_func_end GoToBagMenu - - thumb_func_start CB2_BagMenuFromStartMenu -CB2_BagMenuFromStartMenu: @ 8107EB8 - push {lr} - ldr r2, _08107EC8 @ =CB2_ReturnToFieldWithOpenMenu - movs r0, 0 - movs r1, 0x3 - bl GoToBagMenu - pop {r0} - bx r0 - .align 2, 0 -_08107EC8: .4byte CB2_ReturnToFieldWithOpenMenu - thumb_func_end CB2_BagMenuFromStartMenu - - thumb_func_start sub_8107ECC -sub_8107ECC: @ 8107ECC - push {lr} - ldr r2, _08107EDC @ =SetCB2ToReshowScreenAfterMenu2 - movs r0, 0x5 - movs r1, 0x3 - bl GoToBagMenu - pop {r0} - bx r0 - .align 2, 0 -_08107EDC: .4byte SetCB2ToReshowScreenAfterMenu2 - thumb_func_end sub_8107ECC - - thumb_func_start sub_8107EE0 -sub_8107EE0: @ 8107EE0 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl DoScheduledBgTilemapCopiesToVram - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_8107EE0 - - thumb_func_start sub_8107EFC -sub_8107EFC: @ 8107EFC - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_8107EFC - - thumb_func_start sub_8107F10 -sub_8107F10: @ 8107F10 - push {lr} -_08107F12: - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08107F36 - bl sub_8107F3C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08107F36 - bl MenuHelpers_LinkSomething - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08107F12 -_08107F36: - pop {r0} - bx r0 - thumb_func_end sub_8107F10 - - thumb_func_start sub_8107F3C -sub_8107F3C: @ 8107F3C - push {r4,r5,lr} - ldr r0, _08107F58 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0x13 - bls _08107F4E - b _0810811C -_08107F4E: - lsls r0, 2 - ldr r1, _08107F5C @ =_08107F60 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08107F58: .4byte gMain -_08107F5C: .4byte _08107F60 - .align 2, 0 -_08107F60: - .4byte _08107FB0 - .4byte _08107FBA - .4byte _08107FC0 - .4byte _08107FC6 - .4byte _08107FD8 - .4byte _08107FDE - .4byte _08107FE4 - .4byte _08107FF6 - .4byte _08108010 - .4byte _08108020 - .4byte _08108026 - .4byte _08108034 - .4byte _08108046 - .4byte _08108054 - .4byte _0810806E - .4byte _081080B8 - .4byte _081080C8 - .4byte _081080D2 - .4byte _081080D8 - .4byte _081080DE -_08107FB0: - bl SetVBlankHBlankCallbacksToNull - bl ClearScheduledBgCopiesToVram - b _08108104 -_08107FBA: - bl ScanlineEffect_Stop - b _08108104 -_08107FC0: - bl FreeAllSpritePalettes - b _08108104 -_08107FC6: - bl ResetPaletteFade - ldr r2, _08107FD4 @ =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - b _08108102 - .align 2, 0 -_08107FD4: .4byte gPaletteFade -_08107FD8: - bl ResetSpriteData - b _08108104 -_08107FDE: - bl ResetItemMenuIconState - b _08108104 -_08107FE4: - bl MenuHelpers_LinkSomething - lsls r0, 24 - cmp r0, 0 - beq _08107FF0 - b _08108104 -_08107FF0: - bl ResetTasks - b _08108104 -_08107FF6: - bl sub_81081D0 - lsls r0, 24 - cmp r0, 0 - beq _0810803E - ldr r0, _0810800C @ =gUnknown_203AD10 - ldr r1, [r0] - movs r0, 0 - strb r0, [r1, 0x10] - b _08108104 - .align 2, 0 -_0810800C: .4byte gUnknown_203AD10 -_08108010: - bl sub_8108240 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810801E - b _08108134 -_0810801E: - b _08108104 -_08108020: - bl sub_810B858 - b _08108104 -_08108026: - bl sub_8108E54 - bl sub_8108A68 - bl sub_8108A84 - b _08108104 -_08108034: - bl sub_81083F4 - lsls r0, 24 - cmp r0, 0 - bne _08108104 -_0810803E: - bl sub_810813C - movs r0, 0x1 - b _08108136 -_08108046: - ldr r0, _08108050 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x6] - bl sub_810842C - b _08108104 - .align 2, 0 -_08108050: .4byte gUnknown_203ACFC -_08108054: - ldr r0, _08108064 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x4] - cmp r0, 0x3 - beq _08108068 - bl sub_81087EC - b _08108104 - .align 2, 0 -_08108064: .4byte gUnknown_203ACFC -_08108068: - bl sub_810B994 - b _08108104 -_0810806E: - ldr r4, _081080AC @ =gUnknown_203ACFC - ldrb r0, [r4, 0x4] - bl sub_8108388 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _081080B0 @ =gMultiuseListMenuTemplate - ldrh r2, [r4, 0x6] - lsls r2, 1 - adds r1, r4, 0 - adds r1, 0xE - adds r1, r2, r1 - ldrh r1, [r1] - adds r4, 0x8 - adds r2, r4 - ldrh r2, [r2] - bl ListMenuInit - ldr r2, _081080B4 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - movs r2, 0 - strh r0, [r1, 0x8] - strh r2, [r1, 0xE] - strh r2, [r1, 0x18] - b _08108104 - .align 2, 0 -_081080AC: .4byte gUnknown_203ACFC -_081080B0: .4byte gMultiuseListMenuTemplate -_081080B4: .4byte gTasks -_081080B8: - ldr r0, _081080C4 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x6] - bl sub_80984FC - b _08108104 - .align 2, 0 -_081080C4: .4byte gUnknown_203ACFC -_081080C8: - bl sub_8108888 - bl sub_81088D8 - b _08108104 -_081080D2: - bl sub_80985E4 - b _08108104 -_081080D8: - bl sub_8108C10 - b _08108104 -_081080DE: - ldr r0, _081080F0 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x4] - cmp r0, 0x3 - bne _081080F4 - movs r0, 0x1D - bl HelpSystem_SetSomeVariable2 - b _081080FA - .align 2, 0 -_081080F0: .4byte gUnknown_203ACFC -_081080F4: - movs r0, 0x9 - bl HelpSystem_SetSomeVariable2 -_081080FA: - ldr r2, _08108114 @ =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 -_08108102: - strb r0, [r2, 0x8] -_08108104: - ldr r1, _08108118 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08108134 - .align 2, 0 -_08108114: .4byte gPaletteFade -_08108118: .4byte gMain -_0810811C: - ldr r0, _0810812C @ =sub_8107EFC - bl SetVBlankCallback - ldr r0, _08108130 @ =sub_8107EE0 - bl SetMainCallback2 - movs r0, 0x1 - b _08108136 - .align 2, 0 -_0810812C: .4byte sub_8107EFC -_08108130: .4byte sub_8107EE0 -_08108134: - movs r0, 0 -_08108136: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8107F3C - - thumb_func_start sub_810813C -sub_810813C: @ 810813C - push {lr} - sub sp, 0x4 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0810816C @ =sub_8108178 - movs r1, 0 - bl CreateTask - ldr r0, _08108170 @ =sub_8107EFC - bl SetVBlankCallback - ldr r0, _08108174 @ =sub_8107EE0 - bl SetMainCallback2 - add sp, 0x4 - pop {r0} - bx r0 - .align 2, 0 -_0810816C: .4byte sub_8108178 -_08108170: .4byte sub_8107EFC -_08108174: .4byte sub_8107EE0 - thumb_func_end sub_810813C - - thumb_func_start sub_8108178 -sub_8108178: @ 8108178 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _081081A4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0810819C - ldr r0, _081081A8 @ =gUnknown_203ACFC - ldr r0, [r0] - bl SetMainCallback2 - bl sub_8108B04 - adds r0, r4, 0 - bl DestroyTask -_0810819C: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081081A4: .4byte gPaletteFade -_081081A8: .4byte gUnknown_203ACFC - thumb_func_end sub_8108178 - - thumb_func_start sub_81081AC -sub_81081AC: @ 81081AC - ldr r0, _081081C0 @ =gUnknown_203AD10 - movs r1, 0 - str r1, [r0] - ldr r0, _081081C4 @ =gUnknown_203AD14 - str r1, [r0] - ldr r0, _081081C8 @ =gUnknown_203AD18 - str r1, [r0] - ldr r0, _081081CC @ =gUnknown_203AD1C - str r1, [r0] - bx lr - .align 2, 0 -_081081C0: .4byte gUnknown_203AD10 -_081081C4: .4byte gUnknown_203AD14 -_081081C8: .4byte gUnknown_203AD18 -_081081CC: .4byte gUnknown_203AD1C - thumb_func_end sub_81081AC - - thumb_func_start sub_81081D0 -sub_81081D0: @ 81081D0 - push {r4,r5,lr} - bl ResetAllBgsCoordinatesAndBgCntRegs - ldr r5, _08108230 @ =gUnknown_203AD14 - movs r4, 0x80 - lsls r4, 4 - adds r0, r4, 0 - bl Alloc - str r0, [r5] - cmp r0, 0 - beq _08108238 - movs r1, 0 - adds r2, r4, 0 - bl memset - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _08108234 @ =gUnknown_8452CF4 - movs r0, 0 - movs r2, 0x2 - bl InitBgsFromTemplates - ldr r1, [r5] - movs r0, 0x1 - bl SetBgTilemapBuffer - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - movs r1, 0xC1 - lsls r1, 6 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1 - b _0810823A - .align 2, 0 -_08108230: .4byte gUnknown_203AD14 -_08108234: .4byte gUnknown_8452CF4 -_08108238: - movs r0, 0 -_0810823A: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_81081D0 - - thumb_func_start sub_8108240 -sub_8108240: @ 8108240 - push {r4,lr} - sub sp, 0x4 - ldr r4, _0810825C @ =gUnknown_203AD10 - ldr r0, [r4] - ldrb r0, [r0, 0x10] - cmp r0, 0x5 - bls _08108250 - b _08108368 -_08108250: - lsls r0, 2 - ldr r1, _08108260 @ =_08108264 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0810825C: .4byte gUnknown_203AD10 -_08108260: .4byte _08108264 - .align 2, 0 -_08108264: - .4byte _0810827C - .4byte _08108298 - .4byte _081082D8 - .4byte _08108310 - .4byte _08108340 - .4byte _0810834C -_0810827C: - bl ResetTempTileDataBuffers - ldr r1, _08108294 @ =gUnknown_8E830CC - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl DecompressAndCopyTileDataToVram - b _08108352 - .align 2, 0 -_08108294: .4byte gUnknown_8E830CC -_08108298: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810837C - ldr r0, _081082B8 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x4] - cmp r0, 0x3 - beq _081082C4 - ldr r0, _081082BC @ =gUnknown_8E832C0 - ldr r1, _081082C0 @ =gUnknown_203AD14 - ldr r1, [r1] - bl LZDecompressWram - b _08108352 - .align 2, 0 -_081082B8: .4byte gUnknown_203ACFC -_081082BC: .4byte gUnknown_8E832C0 -_081082C0: .4byte gUnknown_203AD14 -_081082C4: - ldr r0, _081082D0 @ =gUnknown_8E83444 - ldr r1, _081082D4 @ =gUnknown_203AD14 - ldr r1, [r1] - bl LZDecompressWram - b _08108352 - .align 2, 0 -_081082D0: .4byte gUnknown_8E83444 -_081082D4: .4byte gUnknown_203AD14 -_081082D8: - ldr r0, _08108304 @ =gUnknown_8E835B4 - movs r1, 0 - movs r2, 0x60 - bl LoadCompressedPalette - bl sub_810ADAC - lsls r0, 24 - cmp r0, 0 - bne _08108352 - ldr r0, _08108308 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - beq _08108352 - ldr r0, _0810830C @ =gUnknown_8E83604 - movs r1, 0 - movs r2, 0x20 - bl LoadCompressedPalette - b _08108352 - .align 2, 0 -_08108304: .4byte gUnknown_8E835B4 -_08108308: .4byte gSaveBlock2Ptr -_0810830C: .4byte gUnknown_8E83604 -_08108310: - bl sub_810ADAC - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08108326 - ldr r0, _0810832C @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r0, [r0, 0x8] - cmp r0, 0 - bne _08108334 -_08108326: - ldr r0, _08108330 @ =gUnknown_83D41E4 - b _0810834E - .align 2, 0 -_0810832C: .4byte gSaveBlock2Ptr -_08108330: .4byte gUnknown_83D41E4 -_08108334: - ldr r0, _0810833C @ =gUnknown_83D41EC - bl LoadCompressedSpriteSheet - b _08108352 - .align 2, 0 -_0810833C: .4byte gUnknown_83D41EC -_08108340: - ldr r0, _08108348 @ =gUnknown_83D41F4 - bl LoadCompressedSpritePalette - b _08108352 - .align 2, 0 -_08108348: .4byte gUnknown_83D41F4 -_0810834C: - ldr r0, _08108360 @ =gBagSwapSpriteSheet -_0810834E: - bl LoadCompressedSpriteSheet -_08108352: - ldr r0, _08108364 @ =gUnknown_203AD10 - ldr r1, [r0] - ldrb r0, [r1, 0x10] - adds r0, 0x1 - strb r0, [r1, 0x10] - b _0810837C - .align 2, 0 -_08108360: .4byte gBagSwapSpriteSheet -_08108364: .4byte gUnknown_203AD10 -_08108368: - ldr r0, _08108378 @ =gBagSwapSpritePalette - bl LoadCompressedSpritePalette - ldr r1, [r4] - movs r0, 0 - strb r0, [r1, 0x10] - movs r0, 0x1 - b _0810837E - .align 2, 0 -_08108378: .4byte gBagSwapSpritePalette -_0810837C: - movs r0, 0 -_0810837E: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8108240 - - thumb_func_start sub_8108388 -sub_8108388: @ 8108388 - push {lr} - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x6 - cmp r0, 0x4 - bhi _081083E0 - lsls r0, 2 - ldr r1, _081083A0 @ =_081083A4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081083A0: .4byte _081083A4 - .align 2, 0 -_081083A4: - .4byte _081083B8 - .4byte _081083D0 - .4byte _081083D8 - .4byte _081083C0 - .4byte _081083C8 -_081083B8: - ldr r0, _081083BC @ =sub_810AF9C - b _081083E2 - .align 2, 0 -_081083BC: .4byte sub_810AF9C -_081083C0: - ldr r0, _081083C4 @ =sub_810B1D4 - b _081083E2 - .align 2, 0 -_081083C4: .4byte sub_810B1D4 -_081083C8: - ldr r0, _081083CC @ =sub_810B5D4 - b _081083E2 - .align 2, 0 -_081083CC: .4byte sub_810B5D4 -_081083D0: - ldr r0, _081083D4 @ =sub_810B4BC - b _081083E2 - .align 2, 0 -_081083D4: .4byte sub_810B4BC -_081083D8: - ldr r0, _081083DC @ =sub_810B378 - b _081083E2 - .align 2, 0 -_081083DC: .4byte sub_810B378 -_081083E0: - ldr r0, _081083F0 @ =sub_8108F0C -_081083E2: - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_081083F0: .4byte sub_8108F0C - thumb_func_end sub_8108388 - - thumb_func_start sub_81083F4 -sub_81083F4: @ 81083F4 - push {r4,lr} - ldr r4, _08108418 @ =gUnknown_203AD18 - movs r0, 0xAC - lsls r0, 1 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _08108424 - ldr r4, _0810841C @ =gUnknown_203AD1C - ldr r0, _08108420 @ =0x00000331 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _08108424 - movs r0, 0x1 - b _08108426 - .align 2, 0 -_08108418: .4byte gUnknown_203AD18 -_0810841C: .4byte gUnknown_203AD1C -_08108420: .4byte 0x00000331 -_08108424: - movs r0, 0 -_08108426: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_81083F4 - - thumb_func_start sub_810842C -sub_810842C: @ 810842C - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r7, r0, 24 - lsls r1, r7, 3 - ldr r0, _0810853C @ =gBagPockets - adds r1, r0 - mov r8, r1 - movs r6, 0 - ldr r0, _08108540 @ =gUnknown_203AD10 - ldr r0, [r0] - adds r0, 0xA - adds r0, r7 - ldrb r0, [r0] - cmp r6, r0 - bcs _0810848C - ldr r5, _08108544 @ =gUnknown_203AD1C -_08108450: - lsls r2, r6, 2 - adds r4, r2, r6 - lsls r4, 2 - subs r4, r6 - ldr r0, [r5] - adds r0, r4 - mov r3, r8 - ldr r1, [r3] - adds r2, r1 - ldrh r1, [r2] - bl sub_8108560 - ldr r0, _08108548 @ =gUnknown_203AD18 - ldr r0, [r0] - lsls r1, r6, 3 - adds r1, r0 - ldr r0, [r5] - adds r0, r4 - str r0, [r1] - str r6, [r1, 0x4] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, _08108540 @ =gUnknown_203AD10 - ldr r0, [r0] - adds r0, 0xA - adds r0, r7 - ldrb r0, [r0] - cmp r6, r0 - bcc _08108450 -_0810848C: - ldr r5, _08108544 @ =gUnknown_203AD1C - lsls r4, r6, 2 - adds r4, r6 - lsls r4, 2 - subs r4, r6 - ldr r0, [r5] - adds r0, r4 - ldr r1, _0810854C @ =gUnknown_8452F60 - bl StringCopy - ldr r0, [r5] - adds r0, r4 - ldr r1, _08108550 @ =gFameCheckerText_Cancel - bl StringAppend - ldr r0, _08108548 @ =gUnknown_203AD18 - ldr r2, [r0] - lsls r1, r6, 3 - adds r1, r2 - ldr r0, [r5] - adds r0, r4 - str r0, [r1] - str r6, [r1, 0x4] - ldr r3, _08108554 @ =gMultiuseListMenuTemplate - str r2, [r3] - ldr r0, _08108540 @ =gUnknown_203AD10 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0xA - adds r0, r7 - ldrb r0, [r0] - adds r0, 0x1 - movs r1, 0 - strh r0, [r3, 0xC] - strb r1, [r3, 0x10] - strb r1, [r3, 0x11] - movs r0, 0x9 - strb r0, [r3, 0x12] - movs r0, 0x1 - strb r0, [r3, 0x13] - ldrb r0, [r3, 0x16] - movs r4, 0x8 - negs r4, r4 - ands r4, r0 - movs r0, 0x39 - negs r0, r0 - ands r4, r0 - movs r0, 0x10 - orrs r4, r0 - strb r4, [r3, 0x16] - ldrb r0, [r3, 0x14] - movs r1, 0x10 - negs r1, r1 - ands r1, r0 - movs r5, 0x2 - orrs r1, r5 - strb r1, [r3, 0x14] - adds r2, 0xD - adds r2, r7 - ldrb r0, [r2] - strh r0, [r3, 0xE] - ldrb r0, [r3, 0x17] - movs r2, 0x40 - negs r2, r2 - ands r2, r0 - orrs r2, r5 - movs r0, 0xF - ands r1, r0 - movs r0, 0x20 - orrs r1, r0 - strb r1, [r3, 0x14] - movs r0, 0x30 - strb r0, [r3, 0x15] - ldr r0, _08108558 @ =sub_81085A4 - str r0, [r3, 0x4] - ldr r0, _0810855C @ =sub_8108654 - str r0, [r3, 0x8] - movs r0, 0x3F - ands r2, r0 - strb r2, [r3, 0x17] - ands r4, r0 - strb r4, [r3, 0x16] - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810853C: .4byte gBagPockets -_08108540: .4byte gUnknown_203AD10 -_08108544: .4byte gUnknown_203AD1C -_08108548: .4byte gUnknown_203AD18 -_0810854C: .4byte gUnknown_8452F60 -_08108550: .4byte gFameCheckerText_Cancel -_08108554: .4byte gMultiuseListMenuTemplate -_08108558: .4byte sub_81085A4 -_0810855C: .4byte sub_8108654 - thumb_func_end sub_810842C - - thumb_func_start sub_8108560 -sub_8108560: @ 8108560 - push {r4,r5,lr} - adds r4, r0, 0 - lsls r1, 16 - lsrs r5, r1, 16 - ldr r0, _0810857C @ =0xfe940000 - adds r1, r0 - lsrs r1, 16 - cmp r1, 0x1 - bhi _08108584 - ldr r1, _08108580 @ =gUnknown_8452F66 - adds r0, r4, 0 - bl StringCopy - b _0810858C - .align 2, 0 -_0810857C: .4byte 0xfe940000 -_08108580: .4byte gUnknown_8452F66 -_08108584: - ldr r1, _081085A0 @ =gUnknown_8452F60 - adds r0, r4, 0 - bl StringCopy -_0810858C: - adds r0, r5, 0 - bl ItemId_GetName - adds r1, r0, 0 - adds r0, r4, 0 - bl StringAppend - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081085A0: .4byte gUnknown_8452F60 - thumb_func_end sub_8108560 - - thumb_func_start sub_81085A4 -sub_81085A4: @ 81085A4 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _081085BA - movs r0, 0xF5 - bl PlaySE - bl sub_8098580 -_081085BA: - ldr r4, _08108604 @ =gUnknown_203AD10 - ldr r1, [r4] - ldrb r0, [r1, 0x4] - cmp r0, 0xFF - bne _08108644 - ldrb r1, [r1, 0x5] - lsls r1, 26 - lsrs r1, 30 - movs r0, 0x1 - eors r0, r1 - bl DestroyItemMenuIcon - ldr r2, [r4] - ldr r0, _08108608 @ =gUnknown_203ACFC - ldrh r1, [r0, 0x6] - adds r0, r2, 0 - adds r0, 0xA - adds r0, r1 - ldrb r0, [r0] - cmp r0, r5 - beq _0810860C - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r5, 16 - lsrs r1, 16 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - ldr r1, [r4] - ldrb r1, [r1, 0x5] - lsls r1, 26 - lsrs r1, 30 - bl CreateItemMenuIcon - b _08108618 - .align 2, 0 -_08108604: .4byte gUnknown_203AD10 -_08108608: .4byte gUnknown_203ACFC -_0810860C: - ldr r0, _0810864C @ =0x00000177 - ldrb r1, [r2, 0x5] - lsls r1, 26 - lsrs r1, 30 - bl CreateItemMenuIcon -_08108618: - ldr r4, _08108650 @ =gUnknown_203AD10 - ldr r3, [r4] - ldrb r2, [r3, 0x5] - lsls r0, r2, 26 - lsrs r0, 30 - movs r1, 0x1 - eors r1, r0 - lsls r1, 4 - movs r0, 0x31 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x5] - ldr r0, [r4] - ldrb r1, [r0, 0x5] - movs r0, 0xC0 - ands r0, r1 - cmp r0, 0 - bne _08108644 - adds r0, r5, 0 - bl sub_8108818 -_08108644: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810864C: .4byte 0x00000177 -_08108650: .4byte gUnknown_203AD10 - thumb_func_end sub_81085A4 - - thumb_func_start sub_8108654 -sub_8108654: @ 8108654 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x14 - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, _08108684 @ =gUnknown_203AD10 - ldr r0, [r0] - ldrb r1, [r0, 0x4] - cmp r1, 0xFF - beq _08108690 - lsls r0, r4, 24 - lsrs r0, 24 - cmp r1, r0 - bne _08108688 - adds r0, r6, 0 - movs r1, 0x2 - bl bag_menu_print_cursor - b _08108690 - .align 2, 0 -_08108684: .4byte gUnknown_203AD10 -_08108688: - adds r0, r6, 0 - movs r1, 0xFF - bl bag_menu_print_cursor -_08108690: - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _08108752 - ldr r0, _08108718 @ =gUnknown_203AD10 - ldr r0, [r0] - ldr r5, _0810871C @ =gUnknown_203ACFC - ldrh r1, [r5, 0x6] - adds r0, 0xA - adds r0, r1 - ldrb r0, [r0] - cmp r0, r4 - beq _08108752 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 16 - lsrs r4, 16 - adds r1, r4, 0 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r7, r0, 16 - ldrb r0, [r5, 0x6] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl BagGetQuantityByPocketPosition - lsls r0, 16 - lsrs r4, r0, 16 - ldrh r0, [r5, 0x6] - cmp r0, 0x1 - beq _0810872C - adds r0, r7, 0 - bl itemid_is_unique - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0810872C - ldr r0, _08108720 @ =gStringVar1 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, _08108724 @ =gStringVar4 - ldr r1, _08108728 @ =gText_TimesStrVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - str r6, [sp] - str r5, [sp, 0x4] - str r5, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r0, 0x1 - str r0, [sp, 0x10] - mov r0, r8 - movs r1, 0 - adds r2, r4, 0 - movs r3, 0x6E - bl sub_810B8F0 - b _08108752 - .align 2, 0 -_08108718: .4byte gUnknown_203AD10 -_0810871C: .4byte gUnknown_203ACFC -_08108720: .4byte gStringVar1 -_08108724: .4byte gStringVar4 -_08108728: .4byte gText_TimesStrVar1 -_0810872C: - ldr r0, _08108760 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08108764 @ =0x00000296 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - beq _08108752 - cmp r0, r7 - bne _08108752 - ldr r1, _08108768 @ =gUnknown_8452F7C - movs r0, 0x18 - str r0, [sp] - movs r0, 0x10 - str r0, [sp, 0x4] - mov r0, r8 - movs r2, 0x70 - adds r3, r6, 0 - bl BlitBitmapToWindow -_08108752: - add sp, 0x14 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08108760: .4byte gSaveBlock1Ptr -_08108764: .4byte 0x00000296 -_08108768: .4byte gUnknown_8452F7C - thumb_func_end sub_8108654 - - thumb_func_start bag_menu_print_cursor_ -bag_menu_print_cursor_: @ 810876C - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl ListMenuGetYCoordForPrintingArrowCursor - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl bag_menu_print_cursor - pop {r4} - pop {r0} - bx r0 - thumb_func_end bag_menu_print_cursor_ - - thumb_func_start bag_menu_print_cursor -bag_menu_print_cursor: @ 810878C - push {r4,r5,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0xFF - bne _081087C8 - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - bl GetMenuCursorDimensionByFont - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0x1 - adds r3, r5, 0 - bl FillWindowPixelRect - b _081087DE -_081087C8: - ldr r2, _081087E8 @ =gFameCheckerText_ListMenuCursor - str r5, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - movs r1, 0x2 - movs r3, 0x1 - bl sub_810B8F0 -_081087DE: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081087E8: .4byte gFameCheckerText_ListMenuCursor - thumb_func_end bag_menu_print_cursor - - thumb_func_start sub_81087EC -sub_81087EC: @ 81087EC - push {lr} - movs r0, 0x2 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r2, _08108810 @ =gUnknown_8452CFC - ldr r0, _08108814 @ =gUnknown_203ACFC - ldrh r1, [r0, 0x6] - lsls r0, r1, 2 - adds r0, r2 - ldr r0, [r0] - lsls r1, 24 - lsrs r1, 24 - bl sub_810B958 - pop {r0} - bx r0 - .align 2, 0 -_08108810: .4byte gUnknown_8452CFC -_08108814: .4byte gUnknown_203ACFC - thumb_func_end sub_81087EC - - thumb_func_start sub_8108818 -sub_8108818: @ 8108818 - push {r4,lr} - sub sp, 0x14 - adds r2, r0, 0 - ldr r0, _0810884C @ =gUnknown_203AD10 - ldr r0, [r0] - ldr r1, _08108850 @ =gUnknown_203ACFC - ldrh r1, [r1, 0x6] - adds r0, 0xA - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - beq _08108854 - adds r0, r1, 0x1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r2, 16 - lsrs r1, 16 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - bl ItemId_GetDescription - adds r4, r0, 0 - b _08108856 - .align 2, 0 -_0810884C: .4byte gUnknown_203AD10 -_08108850: .4byte gUnknown_203ACFC -_08108854: - ldr r4, _08108884 @ =gUnknown_84162F5 -_08108856: - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x3 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x1 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0 - bl sub_810B8F0 - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08108884: .4byte gUnknown_84162F5 - thumb_func_end sub_8108818 - - thumb_func_start sub_8108888 -sub_8108888: @ 8108888 - push {r4,lr} - sub sp, 0x10 - ldr r4, _081088D0 @ =gUnknown_203AD10 - ldr r1, [r4] - ldr r2, _081088D4 @ =gUnknown_203ACFC - ldrh r3, [r2, 0x6] - adds r0, r1, 0 - adds r0, 0xA - adds r0, r3 - ldrb r0, [r0] - adds r1, 0xD - adds r1, r3 - ldrb r1, [r1] - subs r0, r1 - adds r0, 0x1 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - ldrh r0, [r2, 0x6] - lsls r0, 1 - adds r2, 0xE - adds r0, r2 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xA0 - movs r2, 0x8 - movs r3, 0x68 - bl AddScrollIndicatorArrowPairParameterized - ldr r1, [r4] - strb r0, [r1, 0x8] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081088D0: .4byte gUnknown_203AD10 -_081088D4: .4byte gUnknown_203ACFC - thumb_func_end sub_8108888 - - thumb_func_start sub_81088D8 -sub_81088D8: @ 81088D8 - push {r4,lr} - ldr r4, _081088FC @ =gUnknown_203AD10 - ldr r0, [r4] - ldrb r1, [r0, 0x5] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - beq _081088F4 - ldr r0, _08108900 @ =gUnknown_8452F6C - ldr r1, _08108904 @ =gUnknown_203AD02 - bl AddScrollIndicatorArrowPair - ldr r1, [r4] - strb r0, [r1, 0x9] -_081088F4: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081088FC: .4byte gUnknown_203AD10 -_08108900: .4byte gUnknown_8452F6C -_08108904: .4byte gUnknown_203AD02 - thumb_func_end sub_81088D8 - - thumb_func_start sub_8108908 -sub_8108908: @ 8108908 - push {r4,lr} - sub sp, 0x10 - ldr r4, _0810893C @ =gUnknown_203AD10 - ldr r1, [r4] - movs r0, 0x1 - strh r0, [r1, 0x6] - movs r0, 0x2 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r1, 0x6 - str r1, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x98 - movs r2, 0x48 - movs r3, 0x68 - bl AddScrollIndicatorArrowPairParameterized - ldr r1, [r4] - strb r0, [r1, 0x8] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810893C: .4byte gUnknown_203AD10 - thumb_func_end sub_8108908 - - thumb_func_start sub_8108940 -sub_8108940: @ 8108940 - push {r4,lr} - sub sp, 0x10 - ldr r4, _08108974 @ =gUnknown_203AD10 - ldr r1, [r4] - movs r0, 0x1 - strh r0, [r1, 0x6] - movs r0, 0x2 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r1, 0x6 - str r1, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xD4 - movs r2, 0x78 - movs r3, 0x98 - bl AddScrollIndicatorArrowPairParameterized - ldr r1, [r4] - strb r0, [r1, 0x8] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08108974: .4byte gUnknown_203AD10 - thumb_func_end sub_8108940 - - thumb_func_start sub_8108978 -sub_8108978: @ 8108978 - push {r4,lr} - ldr r4, _08108998 @ =gUnknown_203AD10 - ldr r1, [r4] - ldrb r0, [r1, 0x8] - cmp r0, 0xFF - beq _0810898E - bl RemoveScrollIndicatorArrowPair - ldr r1, [r4] - movs r0, 0xFF - strb r0, [r1, 0x8] -_0810898E: - bl sub_810899C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08108998: .4byte gUnknown_203AD10 - thumb_func_end sub_8108978 - - thumb_func_start sub_810899C -sub_810899C: @ 810899C - push {r4,lr} - ldr r4, _081089B8 @ =gUnknown_203AD10 - ldr r1, [r4] - ldrb r0, [r1, 0x9] - cmp r0, 0xFF - beq _081089B2 - bl RemoveScrollIndicatorArrowPair - ldr r1, [r4] - movs r0, 0xFF - strb r0, [r1, 0x9] -_081089B2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081089B8: .4byte gUnknown_203AD10 - thumb_func_end sub_810899C - - thumb_func_start sub_81089BC -sub_81089BC: @ 81089BC - push {r4,r5,lr} - ldr r0, _081089F0 @ =gUnknown_203ACFC - movs r2, 0 - movs r1, 0 - strh r1, [r0, 0x6] - strb r2, [r0, 0x5] - movs r2, 0 - adds r5, r0, 0 - adds r5, 0x8 - movs r3, 0 - adds r4, r0, 0 - adds r4, 0xE -_081089D4: - lsls r1, r2, 1 - adds r0, r1, r5 - strh r3, [r0] - adds r1, r4 - strh r3, [r1] - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x2 - bls _081089D4 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_081089F0: .4byte gUnknown_203ACFC - thumb_func_end sub_81089BC - - thumb_func_start sub_81089F4 -sub_81089F4: @ 81089F4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r2, _08108A60 @ =gUnknown_203ACFC - lsls r1, r4, 1 - adds r0, r2, 0 - adds r0, 0xE - adds r3, r1, r0 - ldrh r0, [r3] - adds r7, r2, 0 - ldr r6, _08108A64 @ =gUnknown_203AD10 - cmp r0, 0 - beq _08108A2E - adds r2, r0, 0 - ldr r1, [r6] - adds r0, r1, 0 - adds r0, 0xD - adds r0, r4 - ldrb r5, [r0] - adds r2, r5 - adds r1, 0xA - adds r1, r4 - ldrb r1, [r1] - adds r0, r1, 0x1 - cmp r2, r0 - ble _08108A2E - subs r0, r5, 0x1 - subs r0, r1, r0 - strh r0, [r3] -_08108A2E: - lsls r2, r4, 1 - adds r0, r7, 0 - adds r0, 0xE - adds r0, r2, r0 - ldrh r1, [r0] - adds r0, r7, 0 - adds r0, 0x8 - adds r2, r0 - ldrh r0, [r2] - adds r1, r0 - ldr r0, [r6] - adds r0, 0xA - adds r0, r4 - ldrb r0, [r0] - adds r3, r0, 0x1 - cmp r1, r3 - blt _08108A58 - cmp r3, 0x1 - bgt _08108A56 - movs r0, 0 -_08108A56: - strh r0, [r2] -_08108A58: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08108A60: .4byte gUnknown_203ACFC -_08108A64: .4byte gUnknown_203AD10 - thumb_func_end sub_81089F4 - - thumb_func_start sub_8108A68 -sub_8108A68: @ 8108A68 - push {r4,lr} - movs r4, 0 -_08108A6C: - adds r0, r4, 0 - bl sub_81089F4 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _08108A6C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8108A68 - - thumb_func_start sub_8108A84 -sub_8108A84: @ 8108A84 - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r6, 0 - ldr r0, _08108AF8 @ =gUnknown_203AD04 - mov r8, r0 -_08108A90: - lsls r2, r6, 1 - mov r3, r8 - adds r1, r2, r3 - ldrh r0, [r1] - adds r7, r6, 0x1 - cmp r0, 0x3 - bls _08108AE6 - movs r5, 0 - subs r0, 0x3 - cmp r5, r0 - bgt _08108AE6 - ldr r0, _08108AFC @ =gUnknown_203AD0A - ldr r3, _08108B00 @ =gUnknown_203AD10 - mov r12, r3 - adds r4, r2, r0 - adds r3, r1, 0 -_08108AB0: - ldrh r2, [r4] - mov r0, r12 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xD - adds r0, r6 - ldrb r0, [r0] - adds r2, r0 - adds r1, 0xA - adds r1, r6 - ldrb r0, [r1] - adds r0, 0x1 - cmp r2, r0 - beq _08108AE6 - ldrh r0, [r3] - subs r0, 0x1 - strh r0, [r3] - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r3] - subs r0, 0x3 - cmp r5, r0 - ble _08108AB0 -_08108AE6: - lsls r0, r7, 24 - lsrs r6, r0, 24 - cmp r6, 0x2 - bls _08108A90 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08108AF8: .4byte gUnknown_203AD04 -_08108AFC: .4byte gUnknown_203AD0A -_08108B00: .4byte gUnknown_203AD10 - thumb_func_end sub_8108A84 - - thumb_func_start sub_8108B04 -sub_8108B04: @ 8108B04 - push {lr} - ldr r0, _08108B40 @ =gUnknown_203AD10 - ldr r0, [r0] - cmp r0, 0 - beq _08108B12 - bl Free -_08108B12: - ldr r0, _08108B44 @ =gUnknown_203AD14 - ldr r0, [r0] - cmp r0, 0 - beq _08108B1E - bl Free -_08108B1E: - ldr r0, _08108B48 @ =gUnknown_203AD18 - ldr r0, [r0] - cmp r0, 0 - beq _08108B2A - bl Free -_08108B2A: - ldr r0, _08108B4C @ =gUnknown_203AD1C - ldr r0, [r0] - cmp r0, 0 - beq _08108B36 - bl Free -_08108B36: - bl FreeAllWindowBuffers - pop {r0} - bx r0 - .align 2, 0 -_08108B40: .4byte gUnknown_203AD10 -_08108B44: .4byte gUnknown_203AD14 -_08108B48: .4byte gUnknown_203AD18 -_08108B4C: .4byte gUnknown_203AD1C - thumb_func_end sub_8108B04 - - thumb_func_start ItemMenu_StartFadeToExitCallback -ItemMenu_StartFadeToExitCallback: @ 8108B50 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _08108B84 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08108B88 @ =sub_8108B8C - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08108B84: .4byte gTasks -_08108B88: .4byte sub_8108B8C - thumb_func_end ItemMenu_StartFadeToExitCallback - - thumb_func_start sub_8108B8C -sub_8108B8C: @ 8108B8C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08108BE0 @ =gTasks+0x8 - adds r4, r0, r1 - ldr r0, _08108BE4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08108C08 - ldr r0, _08108BE8 @ =sub_8108CFC - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08108C08 - ldrb r0, [r4] - ldr r4, _08108BEC @ =gUnknown_203ACFC - ldrh r2, [r4, 0x6] - lsls r2, 1 - adds r1, r4, 0 - adds r1, 0xE - adds r1, r2, r1 - adds r3, r4, 0 - adds r3, 0x8 - adds r2, r3 - bl DestroyListMenuTask - ldr r0, _08108BF0 @ =gUnknown_203AD10 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _08108BF4 - bl SetMainCallback2 - b _08108BFA - .align 2, 0 -_08108BE0: .4byte gTasks+0x8 -_08108BE4: .4byte gPaletteFade -_08108BE8: .4byte sub_8108CFC -_08108BEC: .4byte gUnknown_203ACFC -_08108BF0: .4byte gUnknown_203AD10 -_08108BF4: - ldr r0, [r4] - bl SetMainCallback2 -_08108BFA: - bl sub_8108978 - bl sub_8108B04 - adds r0, r5, 0 - bl DestroyTask -_08108C08: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8108B8C - - thumb_func_start sub_8108C10 -sub_8108C10: @ 8108C10 - push {r4,r5,lr} - sub sp, 0x8 - movs r5, 0 - add r0, sp, 0x4 - strh r5, [r0] - movs r1, 0 - movs r2, 0x2 - bl LoadPalette - movs r0, 0x48 - movs r1, 0 - bl SetGpuReg - movs r0, 0x4A - movs r1, 0x3F - bl SetGpuReg - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - str r5, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r4, _08108C68 @ =gUnknown_203ACFC - ldrb r0, [r4, 0x5] - cmp r0, 0x1 - bne _08108C6C - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0 - bl SetGpuReg - b _08108C9E - .align 2, 0 -_08108C68: .4byte gUnknown_203ACFC -_08108C6C: - movs r0, 0x40 - movs r1, 0xF0 - bl SetGpuReg - movs r0, 0x44 - movs r1, 0xA0 - bl SetGpuReg - ldr r0, _08108CA8 @ =sub_8108CFC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08108CAC @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0xC0 - strh r0, [r1, 0x8] - ldr r0, _08108CB0 @ =0x0000fff0 - strh r0, [r1, 0xA] - movs r0, 0x1 - strb r0, [r4, 0x5] -_08108C9E: - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08108CA8: .4byte sub_8108CFC -_08108CAC: .4byte gTasks -_08108CB0: .4byte 0x0000fff0 - thumb_func_end sub_8108C10 - - thumb_func_start sub_8108CB4 -sub_8108CB4: @ 8108CB4 - push {lr} - ldr r0, _08108CE0 @ =sub_8108CFC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08108CE4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r2, 0 - ldr r0, _08108CE8 @ =0x0000fff0 - strh r0, [r1, 0x8] - movs r0, 0x10 - strh r0, [r1, 0xA] - ldr r0, _08108CEC @ =gUnknown_203ACFC - strb r2, [r0, 0x5] - pop {r0} - bx r0 - .align 2, 0 -_08108CE0: .4byte sub_8108CFC -_08108CE4: .4byte gTasks -_08108CE8: .4byte 0x0000fff0 -_08108CEC: .4byte gUnknown_203ACFC - thumb_func_end sub_8108CB4 - - thumb_func_start CB2_SetUpReshowBattleScreenAfterMenu -CB2_SetUpReshowBattleScreenAfterMenu: @ 8108CF0 - ldr r1, _08108CF8 @ =gUnknown_203ACFC - movs r0, 0 - strb r0, [r1, 0x5] - bx lr - .align 2, 0 -_08108CF8: .4byte gUnknown_203ACFC - thumb_func_end CB2_SetUpReshowBattleScreenAfterMenu - - thumb_func_start sub_8108CFC -sub_8108CFC: @ 8108CFC - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08108D28 @ =gTasks+0x8 - adds r4, r0, r1 - ldrh r0, [r4, 0x2] - ldrh r1, [r4] - adds r0, r1 - strh r0, [r4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA0 - ble _08108D2C - movs r0, 0x44 - movs r1, 0xA0 - bl SetGpuReg - b _08108D34 - .align 2, 0 -_08108D28: .4byte gTasks+0x8 -_08108D2C: - ldrh r1, [r4] - movs r0, 0x44 - bl SetGpuReg -_08108D34: - movs r2, 0x2 - ldrsh r1, [r4, r2] - cmp r1, 0x10 - bne _08108D44 - movs r2, 0 - ldrsh r0, [r4, r2] - cmp r0, 0xA0 - beq _08108D54 -_08108D44: - movs r0, 0x10 - negs r0, r0 - cmp r1, r0 - bne _08108D5A - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _08108D5A -_08108D54: - adds r0, r5, 0 - bl DestroyTask -_08108D5A: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8108CFC - - thumb_func_start ItemMenu_MoveItemSlotToNewPositionInArray -ItemMenu_MoveItemSlotToNewPositionInArray: @ 8108D60 - push {r4-r6,lr} - adds r4, r0, 0 - adds r3, r2, 0 - cmp r1, r3 - beq _08108DC0 - lsls r0, r1, 2 - adds r0, r4 - ldr r6, [r0] - cmp r3, r1 - bls _08108D98 - subs r3, 0x1 - lsls r1, 16 - lsls r0, r3, 16 - asrs r2, r0, 16 - cmp r1, r0 - bge _08108DBA - adds r5, r2, 0 -_08108D82: - asrs r2, r1, 16 - lsls r0, r2, 2 - adds r0, r4 - ldr r1, [r0, 0x4] - str r1, [r0] - adds r2, 0x1 - lsls r1, r2, 16 - asrs r0, r1, 16 - cmp r0, r5 - blt _08108D82 - b _08108DBA -_08108D98: - lsls r1, 16 - lsls r0, r3, 16 - asrs r2, r0, 16 - cmp r1, r0 - ble _08108DBA - adds r5, r2, 0 -_08108DA4: - asrs r2, r1, 16 - lsls r1, r2, 2 - adds r1, r4 - subs r0, r1, 0x4 - ldr r0, [r0] - str r0, [r1] - subs r2, 0x1 - lsls r1, r2, 16 - asrs r0, r1, 16 - cmp r0, r5 - bgt _08108DA4 -_08108DBA: - lsls r0, r3, 2 - adds r0, r4 - str r6, [r0] -_08108DC0: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end ItemMenu_MoveItemSlotToNewPositionInArray - - thumb_func_start sub_8108DC8 -sub_8108DC8: @ 8108DC8 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, r5, 3 - ldr r0, _08108E3C @ =gBagPockets - adds r4, r1, r0 - ldr r0, [r4] - ldrb r1, [r4, 0x4] - bl BagPocketCompaction - ldr r3, _08108E40 @ =gUnknown_203AD10 - ldr r0, [r3] - adds r0, 0xA - adds r0, r5 - movs r1, 0 - strb r1, [r0] - movs r2, 0 - ldrb r0, [r4, 0x4] - cmp r2, r0 - bcs _08108E1C - ldr r0, [r4] - ldrh r0, [r0] - cmp r0, 0 - beq _08108E1C -_08108DF8: - ldr r0, [r3] - adds r0, 0xA - adds r0, r5 - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r2, r0, 16 - ldrb r0, [r4, 0x4] - cmp r2, r0 - bcs _08108E1C - ldr r0, [r4] - lsls r1, r2, 2 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _08108DF8 -_08108E1C: - ldr r0, _08108E40 @ =gUnknown_203AD10 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xA - adds r0, r5 - ldrb r0, [r0] - adds r2, r0, 0x1 - cmp r2, 0x6 - ble _08108E44 - adds r0, r1, 0 - adds r0, 0xD - adds r0, r5 - movs r1, 0x6 - strb r1, [r0] - b _08108E4C - .align 2, 0 -_08108E3C: .4byte gBagPockets -_08108E40: .4byte gUnknown_203AD10 -_08108E44: - adds r0, r1, 0 - adds r0, 0xD - adds r0, r5 - strb r2, [r0] -_08108E4C: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8108DC8 - - thumb_func_start sub_8108E54 -sub_8108E54: @ 8108E54 - push {r4,lr} - movs r4, 0 -_08108E58: - adds r0, r4, 0 - bl sub_8108DC8 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _08108E58 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8108E54 - - thumb_func_start DisplayItemMessageInBag -DisplayItemMessageInBag: @ 8108E70 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x10 - adds r5, r0, 0 - adds r6, r1, 0 - mov r8, r2 - mov r9, r3 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _08108EDC @ =gTasks+0x8 - adds r4, r0 - movs r0, 0x5 - bl sub_810BA70 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r4, 0x14] - movs r1, 0x11 - bl FillWindowPixelBuffer - bl GetTextSpeedSetting - lsls r0, 24 - lsrs r0, 24 - ldrb r1, [r4, 0x14] - str r6, [sp] - str r0, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - mov r0, r9 - str r0, [sp, 0xC] - adds r0, r5, 0 - movs r2, 0x6D - movs r3, 0xD - bl DisplayMessageAndContinueTask - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - add sp, 0x10 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08108EDC: .4byte gTasks+0x8 - thumb_func_end DisplayItemMessageInBag - - thumb_func_start ItemMenu_SetExitCallback -ItemMenu_SetExitCallback: @ 8108EE0 - ldr r1, _08108EE8 @ =gUnknown_203AD10 - ldr r1, [r1] - str r0, [r1] - bx lr - .align 2, 0 -_08108EE8: .4byte gUnknown_203AD10 - thumb_func_end ItemMenu_SetExitCallback - - thumb_func_start sub_8108EEC -sub_8108EEC: @ 8108EEC - lsls r0, 24 - ldr r1, _08108F08 @ =gUnknown_203ACFC - lsrs r0, 23 - adds r2, r1, 0 - adds r2, 0xE - adds r2, r0, r2 - adds r1, 0x8 - adds r0, r1 - ldrb r0, [r0] - ldrb r2, [r2] - adds r0, r2 - lsls r0, 24 - lsrs r0, 24 - bx lr - .align 2, 0 -_08108F08: .4byte gUnknown_203ACFC - thumb_func_end sub_8108EEC - - thumb_func_start sub_8108F0C -sub_8108F0C: @ 8108F0C - push {r4-r7,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _08108F78 @ =gTasks+0x8 - adds r7, r0, r1 - ldr r0, _08108F7C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08108F2C - b _081090C6 -_08108F2C: - ldr r0, _08108F80 @ =sub_8108CFC - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08108F3C - b _081090C6 -_08108F3C: - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08108F4A - b _081090C6 -_08108F4A: - ldr r4, _08108F84 @ =gUnknown_203ACFC - ldrb r1, [r4, 0x6] - adds r0, r6, 0 - bl sub_8109168 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08108F8C - cmp r0, 0x2 - beq _08108F94 - ldr r0, _08108F88 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08108FE4 - adds r5, r4, 0 - ldrb r0, [r5, 0x4] - cmp r0, 0 - bne _08108FE4 - b _08108FA0 - .align 2, 0 -_08108F78: .4byte gTasks+0x8 -_08108F7C: .4byte gPaletteFade -_08108F80: .4byte sub_8108CFC -_08108F84: .4byte gUnknown_203ACFC -_08108F88: .4byte gMain -_08108F8C: - movs r1, 0x1 - negs r1, r1 - adds r0, r6, 0 - b _08108F98 -_08108F94: - adds r0, r6, 0 - movs r1, 0x1 -_08108F98: - movs r2, 0 - bl sub_81091D0 - b _081090C6 -_08108FA0: - ldrb r0, [r7] - mov r4, sp - adds r4, 0x2 - mov r1, sp - adds r2, r4, 0 - bl ListMenuGetScrollAndRow - mov r0, sp - ldrh r1, [r0] - ldrh r0, [r4] - adds r1, r0 - ldr r0, _08108FE0 @ =gUnknown_203AD10 - ldr r0, [r0] - adds r0, 0xA - ldrh r5, [r5, 0x6] - adds r0, r5 - ldrb r0, [r0] - cmp r1, r0 - beq _08108FE4 - movs r0, 0x5 - bl PlaySE - mov r0, sp - ldrh r1, [r4] - ldrh r0, [r0] - adds r1, r0 - lsls r1, 16 - asrs r1, 16 - adds r0, r6, 0 - bl sub_81093B8 - b _081090C6 - .align 2, 0 -_08108FE0: .4byte gUnknown_203AD10 -_08108FE4: - ldrb r0, [r7] - bl ListMenu_ProcessInput - adds r4, r0, 0 - ldrb r0, [r7] - ldr r5, _08109014 @ =gUnknown_203ACFC - ldrh r2, [r5, 0x6] - lsls r2, 1 - adds r1, r5, 0 - adds r1, 0xE - adds r1, r2, r1 - adds r3, r5, 0 - adds r3, 0x8 - adds r2, r3 - bl ListMenuGetScrollAndRow - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _08109018 - adds r0, 0x1 - cmp r4, r0 - bne _08109044 - b _081090C6 - .align 2, 0 -_08109014: .4byte gUnknown_203ACFC -_08109018: - movs r0, 0x5 - bl PlaySE - ldr r1, _08109038 @ =gSpecialVar_ItemId - movs r0, 0 - strh r0, [r1] - bl sub_8108CB4 - ldr r1, _0810903C @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08109040 @ =ItemMenu_StartFadeToExitCallback - b _081090C4 - .align 2, 0 -_08109038: .4byte gSpecialVar_ItemId -_0810903C: .4byte gTasks -_08109040: .4byte ItemMenu_StartFadeToExitCallback -_08109044: - movs r0, 0x5 - bl PlaySE - ldr r0, _08109074 @ =gUnknown_203AD10 - ldr r0, [r0] - adds r0, 0xA - ldrh r1, [r5, 0x6] - adds r0, r1 - ldrb r0, [r0] - cmp r4, r0 - bne _08109084 - ldr r1, _08109078 @ =gSpecialVar_ItemId - movs r0, 0 - strh r0, [r1] - bl sub_8108CB4 - ldr r1, _0810907C @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _08109080 @ =ItemMenu_StartFadeToExitCallback - b _081090C4 - .align 2, 0 -_08109074: .4byte gUnknown_203AD10 -_08109078: .4byte gSpecialVar_ItemId -_0810907C: .4byte gTasks -_08109080: .4byte ItemMenu_StartFadeToExitCallback -_08109084: - bl sub_8108978 - ldrb r0, [r7] - movs r1, 0x2 - bl bag_menu_print_cursor_ - strh r4, [r7, 0x2] - ldrb r0, [r5, 0x6] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 16 - lsrs r4, 16 - adds r1, r4, 0 - bl BagGetQuantityByPocketPosition - strh r0, [r7, 0x4] - ldrb r0, [r5, 0x6] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl BagGetItemIdByPocketPosition - ldr r1, _081090D0 @ =gSpecialVar_ItemId - strh r0, [r1] - ldr r1, _081090D4 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r0, r1 - ldr r1, _081090D8 @ =sub_81090DC -_081090C4: - str r1, [r0] -_081090C6: - add sp, 0x4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081090D0: .4byte gSpecialVar_ItemId -_081090D4: .4byte gTasks -_081090D8: .4byte sub_81090DC - thumb_func_end sub_8108F0C - - thumb_func_start sub_81090DC -sub_81090DC: @ 81090DC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl sub_8109140 - ldr r1, _08109104 @ =gUnknown_8452F34 - ldr r0, _08109108 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x4] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl _call_via_r1 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08109104: .4byte gUnknown_8452F34 -_08109108: .4byte gUnknown_203ACFC - thumb_func_end sub_81090DC - - thumb_func_start sub_810910C -sub_810910C: @ 810910C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - bl sub_8109140 - bl sub_8108888 - bl sub_81088D8 - ldr r1, _08109138 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810913C @ =sub_8108F0C - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08109138: .4byte gTasks -_0810913C: .4byte sub_8108F0C - thumb_func_end sub_810910C - - thumb_func_start sub_8109140 -sub_8109140: @ 8109140 - push {lr} - sub sp, 0x8 - movs r1, 0x6 - str r1, [sp] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0xE - movs r3, 0x1E - bl SetBgTilemapPalette - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_8109140 - - thumb_func_start sub_8109168 -sub_8109168: @ 8109168 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldr r0, _081091A4 @ =gUnknown_203AD10 - ldr r0, [r0] - ldrb r1, [r0, 0x5] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _081091C6 - bl GetLRKeysState - lsls r0, 24 - lsrs r2, r0, 24 - ldr r0, _081091A8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - bne _08109194 - cmp r2, 0x1 - bne _081091AC -_08109194: - cmp r4, 0 - beq _081091C6 - movs r0, 0xF6 - bl PlaySE - movs r0, 0x1 - b _081091C8 - .align 2, 0 -_081091A4: .4byte gUnknown_203AD10 -_081091A8: .4byte gMain -_081091AC: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - bne _081091B8 - cmp r2, 0x2 - bne _081091C6 -_081091B8: - cmp r4, 0x1 - bhi _081091C6 - movs r0, 0xF6 - bl PlaySE - movs r0, 0x2 - b _081091C8 -_081091C6: - movs r0, 0 -_081091C8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8109168 - - thumb_func_start sub_81091D0 -sub_81091D0: @ 81091D0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r6, r1, 0 - lsls r2, 16 - lsls r0, r5, 2 - adds r0, r5 - lsls r7, r0, 3 - ldr r0, _08109288 @ =gTasks+0x8 - mov r8, r0 - adds r4, r7, r0 - movs r0, 0 - strh r0, [r4, 0x1A] - strh r0, [r4, 0x18] - strh r6, [r4, 0x16] - cmp r2, 0 - bne _08109242 - movs r0, 0 - bl ClearWindowTilemap - movs r0, 0x1 - bl ClearWindowTilemap - movs r0, 0x2 - bl ClearWindowTilemap - ldrb r0, [r4] - ldr r3, _0810928C @ =gUnknown_203ACFC - ldrh r2, [r3, 0x6] - lsls r2, 1 - adds r1, r3, 0 - adds r1, 0xE - adds r1, r2, r1 - adds r3, 0x8 - adds r2, r3 - bl DestroyListMenuTask - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldr r0, _08109290 @ =gUnknown_203AD10 - ldr r0, [r0] - ldrb r1, [r0, 0x5] - lsls r1, 26 - lsrs r1, 30 - movs r0, 0x1 - eors r0, r1 - bl DestroyItemMenuIcon - bl sub_8108978 -_08109242: - movs r0, 0x12 - str r0, [sp] - movs r0, 0xC - str r0, [sp, 0x4] - movs r0, 0x1 - movs r1, 0x2D - movs r2, 0xB - movs r3, 0x1 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - ldr r0, _0810928C @ =gUnknown_203ACFC - ldrb r0, [r0, 0x6] - adds r0, r6 - lsls r0, 24 - lsrs r0, 24 - bl sub_8098528 - ldr r1, _08109294 @ =sub_8109298 - mov r0, r8 - subs r0, 0x8 - adds r0, r7, r0 - ldr r2, [r0] - adds r0, r5, 0 - bl SetTaskFuncWithFollowupFunc - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08109288: .4byte gTasks+0x8 -_0810928C: .4byte gUnknown_203ACFC -_08109290: .4byte gUnknown_203AD10 -_08109294: .4byte sub_8109298 - thumb_func_end sub_81091D0 - - thumb_func_start sub_8109298 -sub_8109298: @ 8109298 - push {r4-r6,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _081092DC @ =gTasks+0x8 - adds r5, r0, r1 - bl MenuHelpers_LinkSomething - lsls r0, 24 - cmp r0, 0 - bne _08109314 - bl sub_810ADAC - lsls r0, 24 - cmp r0, 0 - bne _08109314 - ldr r4, _081092E0 @ =gUnknown_203ACFC - ldrb r1, [r5, 0x16] - ldrb r0, [r4, 0x6] - adds r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r6, 0 - bl sub_8109168 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _081092E4 - cmp r0, 0x2 - beq _081092FA - b _08109314 - .align 2, 0 -_081092DC: .4byte gTasks+0x8 -_081092E0: .4byte gUnknown_203ACFC -_081092E4: - ldrh r0, [r5, 0x16] - ldrh r1, [r4, 0x6] - adds r0, r1 - strh r0, [r4, 0x6] - adds r0, r6, 0 - bl SwitchTaskToFollowupFunc - movs r1, 0x1 - negs r1, r1 - adds r0, r6, 0 - b _0810930C -_081092FA: - ldrh r0, [r5, 0x16] - ldrh r2, [r4, 0x6] - adds r0, r2 - strh r0, [r4, 0x6] - adds r0, r6, 0 - bl SwitchTaskToFollowupFunc - adds r0, r6, 0 - movs r1, 0x1 -_0810930C: - movs r2, 0x1 - bl sub_81091D0 - b _081093AA -_08109314: - movs r1, 0x1A - ldrsh r0, [r5, r1] - cmp r0, 0 - beq _08109322 - cmp r0, 0x1 - beq _08109358 - b _081093AA -_08109322: - ldrh r1, [r5, 0x18] - movs r2, 0x18 - ldrsh r0, [r5, r2] - ldr r4, _08109354 @ =0x00007fff - cmp r0, r4 - beq _0810934C - adds r0, r1, 0x1 - strh r0, [r5, 0x18] - lsls r0, 24 - lsrs r0, 24 - bl sub_8109854 - movs r1, 0x18 - ldrsh r0, [r5, r1] - cmp r0, 0xC - bne _08109344 - strh r4, [r5, 0x18] -_08109344: - movs r2, 0x18 - ldrsh r0, [r5, r2] - cmp r0, r4 - bne _081093AA -_0810934C: - ldrh r0, [r5, 0x1A] - adds r0, 0x1 - strh r0, [r5, 0x1A] - b _081093AA - .align 2, 0 -_08109354: .4byte 0x00007fff -_08109358: - ldr r4, _081093B0 @ =gUnknown_203ACFC - ldrh r0, [r5, 0x16] - ldrh r1, [r4, 0x6] - adds r0, r1 - strh r0, [r4, 0x6] - bl sub_81087EC - ldrb r0, [r4, 0x6] - bl sub_810842C - ldr r0, _081093B4 @ =gMultiuseListMenuTemplate - ldrh r2, [r4, 0x6] - lsls r2, 1 - adds r1, r4, 0 - adds r1, 0xE - adds r1, r2, r1 - ldrh r1, [r1] - adds r4, 0x8 - adds r2, r4 - ldrh r2, [r2] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - bl sub_8108888 - bl sub_81088D8 - adds r0, r6, 0 - bl SwitchTaskToFollowupFunc -_081093AA: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081093B0: .4byte gUnknown_203ACFC -_081093B4: .4byte gMultiuseListMenuTemplate - thumb_func_end sub_8109298 - - thumb_func_start sub_81093B8 -sub_81093B8: @ 81093B8 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x18 - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 16 - lsrs r4, 16 - lsls r5, r0, 2 - adds r5, r0 - lsls r5, 3 - ldr r0, _08109494 @ =gTasks+0x8 - mov r9, r0 - adds r1, r5, 0 - add r1, r9 - mov r8, r1 - ldrb r0, [r1] - mov r2, sp - adds r2, 0x16 - add r1, sp, 0x14 - bl ListMenuGetScrollAndRow - mov r2, r8 - ldrb r0, [r2] - movs r1, 0x10 - movs r2, 0x1 - bl ListMenuSetUnkIndicatorsStructField - mov r0, r8 - strh r4, [r0, 0x2] - ldr r0, _08109498 @ =gUnknown_203AD10 - ldr r0, [r0] - movs r6, 0 - strb r4, [r0, 0x4] - ldr r4, _0810949C @ =gStringVar1 - ldr r0, _081094A0 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x6] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r2, r8 - ldrh r1, [r2, 0x2] - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - bl ItemId_GetName - adds r1, r0, 0 - adds r0, r4, 0 - bl StringCopy - ldr r4, _081094A4 @ =gStringVar4 - ldr r1, _081094A8 @ =gOtherText_WhereShouldTheStrVar1BePlaced - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0x3 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - str r6, [sp, 0x8] - str r6, [sp, 0xC] - str r6, [sp, 0x10] - movs r0, 0x1 - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0 - bl sub_810B8F0 - mov r1, r8 - ldrb r0, [r1] - bl ListMenuGetYCoordForPrintingArrowCursor - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl sub_80986A8 - movs r0, 0 - bl sub_8098660 - bl sub_810899C - mov r2, r8 - ldrb r0, [r2] - movs r1, 0x2 - bl bag_menu_print_cursor_ - movs r0, 0x8 - negs r0, r0 - add r9, r0 - add r5, r9 - ldr r0, _081094AC @ =sub_81094B0 - str r0, [r5] - add sp, 0x18 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08109494: .4byte gTasks+0x8 -_08109498: .4byte gUnknown_203AD10 -_0810949C: .4byte gStringVar1 -_081094A0: .4byte gUnknown_203ACFC -_081094A4: .4byte gStringVar4 -_081094A8: .4byte gOtherText_WhereShouldTheStrVar1BePlaced -_081094AC: .4byte sub_81094B0 - thumb_func_end sub_81093B8 - - thumb_func_start sub_81094B0 -sub_81094B0: @ 81094B0 - push {r4-r6,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _08109538 @ =gTasks+0x8 - adds r4, r0, r1 - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810959E - ldrb r0, [r4] - bl ListMenu_ProcessInput - adds r5, r0, 0 - ldrb r0, [r4] - ldr r3, _0810953C @ =gUnknown_203ACFC - ldrh r2, [r3, 0x6] - lsls r2, 1 - adds r1, r3, 0 - adds r1, 0xE - adds r1, r2, r1 - adds r3, 0x8 - adds r2, r3 - bl ListMenuGetScrollAndRow - ldrb r0, [r4] - bl ListMenuGetYCoordForPrintingArrowCursor - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0 - bl sub_80986A8 - ldr r0, _08109540 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x4 - ands r0, r1 - cmp r0, 0 - beq _08109548 - movs r0, 0x5 - bl PlaySE - ldr r0, _08109544 @ =gUnknown_203AD10 - ldr r1, [r0] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldrb r0, [r4] - mov r4, sp - adds r4, 0x2 - mov r1, sp - adds r2, r4, 0 - bl ListMenuGetScrollAndRow - mov r0, sp - ldrh r1, [r0] - ldrh r0, [r4] - adds r1, r0 - adds r0, r6, 0 - bl sub_81095AC - b _0810959E - .align 2, 0 -_08109538: .4byte gTasks+0x8 -_0810953C: .4byte gUnknown_203ACFC -_08109540: .4byte gMain -_08109544: .4byte gUnknown_203AD10 -_08109548: - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _08109558 - adds r0, 0x1 - cmp r5, r0 - bne _08109588 - b _0810959E -_08109558: - movs r0, 0x5 - bl PlaySE - ldr r0, _08109584 @ =gUnknown_203AD10 - ldr r1, [r0] - movs r0, 0xFF - strb r0, [r1, 0x4] - ldrb r0, [r4] - mov r4, sp - adds r4, 0x2 - mov r1, sp - adds r2, r4, 0 - bl ListMenuGetScrollAndRow - mov r0, sp - ldrh r1, [r0] - ldrh r0, [r4] - adds r1, r0 - adds r0, r6, 0 - bl sub_810967C - b _0810959E - .align 2, 0 -_08109584: .4byte gUnknown_203AD10 -_08109588: - movs r0, 0x5 - bl PlaySE - ldr r0, _081095A8 @ =gUnknown_203AD10 - ldr r1, [r0] - movs r0, 0xFF - strb r0, [r1, 0x4] - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_81095AC -_0810959E: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081095A8: .4byte gUnknown_203AD10 - thumb_func_end sub_81094B0 - - thumb_func_start sub_81095AC -sub_81095AC: @ 81095AC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r5, r1, 0 - lsls r0, 24 - lsrs r1, r0, 24 - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - mov r9, r0 - ldr r0, _081095E4 @ =gTasks+0x8 - mov r10, r0 - mov r6, r9 - add r6, r10 - movs r3, 0x2 - ldrsh r2, [r6, r3] - cmp r2, r5 - beq _081095DA - subs r0, r5, 0x1 - cmp r2, r0 - bne _081095E8 -_081095DA: - adds r0, r1, 0 - adds r1, r5, 0 - bl sub_810967C - b _0810965C - .align 2, 0 -_081095E4: .4byte gTasks+0x8 -_081095E8: - ldr r1, _0810966C @ =gBagPockets - ldr r4, _08109670 @ =gUnknown_203ACFC - ldrh r0, [r4, 0x6] - lsls r0, 3 - adds r0, r1 - ldr r0, [r0] - adds r1, r2, 0 - adds r2, r5, 0 - bl ItemMenu_MoveItemSlotToNewPositionInArray - ldrb r0, [r6] - ldrh r2, [r4, 0x6] - lsls r2, 1 - movs r1, 0xE - adds r1, r4 - mov r8, r1 - adds r1, r2, r1 - adds r7, r4, 0 - adds r7, 0x8 - adds r2, r7 - bl DestroyListMenuTask - movs r3, 0x2 - ldrsh r0, [r6, r3] - cmp r0, r5 - bcs _08109628 - ldrh r1, [r4, 0x6] - lsls r1, 1 - adds r1, r7 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] -_08109628: - ldrb r0, [r4, 0x6] - bl sub_810842C - ldr r0, _08109674 @ =gMultiuseListMenuTemplate - ldrh r2, [r4, 0x6] - lsls r2, 1 - mov r3, r8 - adds r1, r2, r3 - ldrh r1, [r1] - adds r2, r7 - ldrh r2, [r2] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6] - movs r0, 0x1 - bl sub_8098660 - bl sub_81088D8 - mov r0, r10 - subs r0, 0x8 - add r0, r9 - ldr r1, _08109678 @ =sub_8108F0C - str r1, [r0] -_0810965C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810966C: .4byte gBagPockets -_08109670: .4byte gUnknown_203ACFC -_08109674: .4byte gMultiuseListMenuTemplate -_08109678: .4byte sub_8108F0C - thumb_func_end sub_81095AC - - thumb_func_start sub_810967C -sub_810967C: @ 810967C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - mov r8, r1 - ldr r0, _0810970C @ =gTasks+0x8 - mov r10, r0 - mov r6, r8 - add r6, r10 - ldrb r0, [r6] - ldr r5, _08109710 @ =gUnknown_203ACFC - ldrh r2, [r5, 0x6] - lsls r2, 1 - movs r1, 0xE - adds r1, r5 - mov r9, r1 - adds r1, r2, r1 - adds r7, r5, 0 - adds r7, 0x8 - adds r2, r7 - bl DestroyListMenuTask - movs r3, 0x2 - ldrsh r0, [r6, r3] - cmp r0, r4 - bcs _081096CA - ldrh r1, [r5, 0x6] - lsls r1, 1 - adds r1, r7 - ldrh r0, [r1] - subs r0, 0x1 - strh r0, [r1] -_081096CA: - ldrb r0, [r5, 0x6] - bl sub_810842C - ldr r0, _08109714 @ =gMultiuseListMenuTemplate - ldrh r2, [r5, 0x6] - lsls r2, 1 - mov r3, r9 - adds r1, r2, r3 - ldrh r1, [r1] - adds r2, r7 - ldrh r2, [r2] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r6] - movs r0, 0x1 - bl sub_8098660 - bl sub_81088D8 - mov r0, r10 - subs r0, 0x8 - add r0, r8 - ldr r1, _08109718 @ =sub_8108F0C - str r1, [r0] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810970C: .4byte gTasks+0x8 -_08109710: .4byte gUnknown_203ACFC -_08109714: .4byte gMultiuseListMenuTemplate -_08109718: .4byte sub_8108F0C - thumb_func_end sub_810967C - - thumb_func_start sub_810971C -sub_810971C: @ 810971C - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x14 - adds r4, r0, 0 - adds r6, r1, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x6 - movs r1, 0x2 - bl sub_810B9DC - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - ldr r0, _081097D4 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x6] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - ldr r1, _081097D8 @ =gStringVar1 - mov r10, r1 - bl CopyItemName - ldr r0, _081097DC @ =gStringVar4 - mov r9, r0 - adds r1, r6, 0 - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [sp] - movs r1, 0x1 - mov r8, r1 - str r1, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - str r6, [sp, 0xC] - str r1, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x2 - mov r2, r9 - movs r3, 0 - bl sub_810B8F0 - movs r0, 0 - movs r1, 0 - bl sub_810B9DC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - mov r0, r10 - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r1, _081097E0 @ =gText_TimesStrVar1 - mov r0, r9 - bl StringExpandPlaceholders - movs r0, 0xA - str r0, [sp] - mov r0, r8 - str r0, [sp, 0x4] - str r6, [sp, 0x8] - str r6, [sp, 0xC] - str r0, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0 - mov r2, r9 - movs r3, 0x4 - bl sub_810B8F0 - bl sub_8108940 - add sp, 0x14 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081097D4: .4byte gUnknown_203ACFC -_081097D8: .4byte gStringVar1 -_081097DC: .4byte gStringVar4 -_081097E0: .4byte gText_TimesStrVar1 - thumb_func_end sub_810971C - - thumb_func_start sub_81097E4 -sub_81097E4: @ 81097E4 - push {r4-r6,lr} - sub sp, 0x14 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0 - bl sub_810BAD8 - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - adds r0, r6, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, _08109848 @ =gStringVar1 - lsls r4, 16 - asrs r4, 16 - adds r1, r4, 0 - movs r2, 0x2 - adds r3, r5, 0 - bl ConvertIntToDecimalStringN - ldr r4, _0810984C @ =gStringVar4 - ldr r1, _08109850 @ =gText_TimesStrVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0xA - str r0, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - adds r0, r6, 0 - movs r1, 0 - adds r2, r4, 0 - movs r3, 0x4 - bl sub_810B8F0 - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08109848: .4byte gStringVar1 -_0810984C: .4byte gStringVar4 -_08109850: .4byte gText_TimesStrVar1 - thumb_func_end sub_81097E4 - - thumb_func_start sub_8109854 -sub_8109854: @ 8109854 - push {lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r0, 24 - movs r2, 0xC - subs r2, r0 - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - ldr r2, _0810988C @ =gUnknown_8452D08 - adds r1, r2 - movs r3, 0xD - subs r3, r0 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x12 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r2, 0xB - bl CopyToBgTilemapBufferRect - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - add sp, 0x8 - pop {r0} - bx r0 - .align 2, 0 -_0810988C: .4byte gUnknown_8452D08 - thumb_func_end sub_8109854 - - thumb_func_start sub_8109890 -sub_8109890: @ 8109890 - push {r4-r7,lr} - sub sp, 0x14 - ldr r0, _081098A8 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x4] - cmp r0, 0x6 - beq _08109924 - cmp r0, 0x6 - bgt _081098AC - cmp r0, 0x5 - beq _081098B6 - b _0810993C - .align 2, 0 -_081098A8: .4byte gUnknown_203ACFC -_081098AC: - cmp r0, 0x7 - beq _081098B6 - cmp r0, 0x8 - beq _08109924 - b _0810993C -_081098B6: - ldr r2, _081098D4 @ =gSpecialVar_ItemId - ldrh r1, [r2] - ldr r0, _081098D8 @ =0x0000016d - cmp r1, r0 - bne _081098E8 - ldr r1, _081098DC @ =gUnknown_203AD20 - movs r0, 0x8 - strb r0, [r1] - movs r0, 0x4 - strb r0, [r1, 0x1] - ldr r0, _081098E0 @ =gUnknown_203AD24 - str r1, [r0] - ldr r1, _081098E4 @ =gUnknown_203AD28 - movs r0, 0x2 - b _08109AD0 - .align 2, 0 -_081098D4: .4byte gSpecialVar_ItemId -_081098D8: .4byte 0x0000016d -_081098DC: .4byte gUnknown_203AD20 -_081098E0: .4byte gUnknown_203AD24 -_081098E4: .4byte gUnknown_203AD28 -_081098E8: - ldrh r0, [r2] - bl ItemId_GetBattleUsage - lsls r0, 24 - cmp r0, 0 - beq _0810990C - ldr r1, _08109900 @ =gUnknown_203AD24 - ldr r0, _08109904 @ =gUnknown_8452F30 - str r0, [r1] - ldr r1, _08109908 @ =gUnknown_203AD28 - movs r0, 0x2 - b _08109AD0 - .align 2, 0 -_08109900: .4byte gUnknown_203AD24 -_08109904: .4byte gUnknown_8452F30 -_08109908: .4byte gUnknown_203AD28 -_0810990C: - ldr r1, _08109918 @ =gUnknown_203AD24 - ldr r0, _0810991C @ =gUnknown_8452F32 - str r0, [r1] - ldr r1, _08109920 @ =gUnknown_203AD28 - movs r0, 0x1 - b _08109AD0 - .align 2, 0 -_08109918: .4byte gUnknown_203AD24 -_0810991C: .4byte gUnknown_8452F32 -_08109920: .4byte gUnknown_203AD28 -_08109924: - ldr r1, _08109930 @ =gUnknown_203AD24 - ldr r0, _08109934 @ =gUnknown_8452F30 - str r0, [r1] - ldr r1, _08109938 @ =gUnknown_203AD28 - movs r0, 0x2 - b _08109AD0 - .align 2, 0 -_08109930: .4byte gUnknown_203AD24 -_08109934: .4byte gUnknown_8452F30 -_08109938: .4byte gUnknown_203AD28 -_0810993C: - bl MenuHelpers_LinkSomething - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08109950 - bl InUnionRoom - cmp r0, 0x1 - bne _081099C4 -_08109950: - ldr r1, _08109970 @ =gSpecialVar_ItemId - ldr r2, _08109974 @ =0xfffffe94 - adds r0, r2, 0 - ldrh r1, [r1] - adds r0, r1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _08109984 - ldr r1, _08109978 @ =gUnknown_203AD24 - ldr r0, _0810997C @ =gUnknown_8452F2E - str r0, [r1] - ldr r1, _08109980 @ =gUnknown_203AD28 - movs r0, 0x2 - b _08109AD0 - .align 2, 0 -_08109970: .4byte gSpecialVar_ItemId -_08109974: .4byte 0xfffffe94 -_08109978: .4byte gUnknown_203AD24 -_0810997C: .4byte gUnknown_8452F2E -_08109980: .4byte gUnknown_203AD28 -_08109984: - ldr r0, _08109998 @ =gUnknown_203ACFC - ldrh r2, [r0, 0x6] - adds r3, r0, 0 - cmp r2, 0x1 - bne _081099A0 - ldr r0, _0810999C @ =gUnknown_203AD28 - strb r2, [r0] - adds r7, r0, 0 - b _081099A8 - .align 2, 0 -_08109998: .4byte gUnknown_203ACFC -_0810999C: .4byte gUnknown_203AD28 -_081099A0: - ldr r1, _081099B8 @ =gUnknown_203AD28 - movs r0, 0x2 - strb r0, [r1] - adds r7, r1, 0 -_081099A8: - ldr r0, _081099BC @ =gUnknown_203AD24 - ldrh r1, [r3, 0x6] - lsls r1, 1 - ldr r2, _081099C0 @ =gUnknown_8452F28 - adds r1, r2 - str r1, [r0] - b _08109AD4 - .align 2, 0 -_081099B8: .4byte gUnknown_203AD28 -_081099BC: .4byte gUnknown_203AD24 -_081099C0: .4byte gUnknown_8452F28 -_081099C4: - ldr r5, _081099D8 @ =gUnknown_203ACFC - ldrh r0, [r5, 0x6] - cmp r0, 0x1 - beq _08109A34 - cmp r0, 0x1 - bgt _081099E0 - cmp r0, 0 - beq _081099EC - ldr r7, _081099DC @ =gUnknown_203AD28 - b _08109AD4 - .align 2, 0 -_081099D8: .4byte gUnknown_203ACFC -_081099DC: .4byte gUnknown_203AD28 -_081099E0: - cmp r0, 0x2 - beq _08109AC4 - ldr r7, _081099E8 @ =gUnknown_203AD28 - b _08109AD4 - .align 2, 0 -_081099E8: .4byte gUnknown_203AD28 -_081099EC: - ldr r4, _08109A0C @ =gUnknown_203AD28 - movs r0, 0x4 - strb r0, [r4] - ldr r0, _08109A10 @ =gSpecialVar_ItemId - ldrh r0, [r0] - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08109A1C - ldr r1, _08109A14 @ =gUnknown_203AD24 - ldr r0, _08109A18 @ =gUnknown_8452F24 - str r0, [r1] - adds r7, r4, 0 - b _08109AD4 - .align 2, 0 -_08109A0C: .4byte gUnknown_203AD28 -_08109A10: .4byte gSpecialVar_ItemId -_08109A14: .4byte gUnknown_203AD24 -_08109A18: .4byte gUnknown_8452F24 -_08109A1C: - ldr r0, _08109A2C @ =gUnknown_203AD24 - ldrh r1, [r5, 0x6] - lsls r1, 2 - ldr r2, _08109A30 @ =gUnknown_8452F18 - adds r1, r2 - str r1, [r0] - adds r7, r4, 0 - b _08109AD4 - .align 2, 0 -_08109A2C: .4byte gUnknown_203AD24 -_08109A30: .4byte gUnknown_8452F18 -_08109A34: - ldr r0, _08109A5C @ =gUnknown_203AD24 - ldr r2, _08109A60 @ =gUnknown_203AD20 - str r2, [r0] - ldr r3, _08109A64 @ =gUnknown_203AD28 - movs r0, 0x3 - strb r0, [r3] - movs r0, 0x4 - strb r0, [r2, 0x2] - ldr r0, _08109A68 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _08109A6C @ =0x00000296 - adds r0, r1 - ldr r1, _08109A70 @ =gSpecialVar_ItemId - ldrh r0, [r0] - adds r7, r3, 0 - ldrh r3, [r1] - cmp r0, r3 - bne _08109A74 - movs r0, 0xA - b _08109A76 - .align 2, 0 -_08109A5C: .4byte gUnknown_203AD24 -_08109A60: .4byte gUnknown_203AD20 -_08109A64: .4byte gUnknown_203AD28 -_08109A68: .4byte gSaveBlock1Ptr -_08109A6C: .4byte 0x00000296 -_08109A70: .4byte gSpecialVar_ItemId -_08109A74: - movs r0, 0x2 -_08109A76: - strb r0, [r2, 0x1] - ldrh r1, [r1] - ldr r3, _08109A8C @ =0xfffffe94 - adds r0, r1, r3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _08109A90 - movs r0, 0x7 - strb r0, [r2] - b _08109AD4 - .align 2, 0 -_08109A8C: .4byte 0xfffffe94 -_08109A90: - lsls r1, 16 - movs r0, 0xB4 - lsls r0, 17 - cmp r1, r0 - bne _08109AB0 - movs r0, 0x6 - bl TestPlayerAvatarFlags - lsls r0, 24 - cmp r0, 0 - beq _08109AB0 - ldr r1, _08109AAC @ =gUnknown_203AD20 - movs r0, 0x9 - b _08109AB4 - .align 2, 0 -_08109AAC: .4byte gUnknown_203AD20 -_08109AB0: - ldr r1, _08109ABC @ =gUnknown_203AD20 - movs r0, 0 -_08109AB4: - strb r0, [r1] - ldr r7, _08109AC0 @ =gUnknown_203AD28 - b _08109AD4 - .align 2, 0 -_08109ABC: .4byte gUnknown_203AD20 -_08109AC0: .4byte gUnknown_203AD28 -_08109AC4: - ldr r1, _08109B98 @ =gUnknown_203AD24 - ldr r0, _08109B9C @ =gUnknown_8452F18 - adds r0, 0x8 - str r0, [r1] - ldr r1, _08109BA0 @ =gUnknown_203AD28 - movs r0, 0x3 -_08109AD0: - strb r0, [r1] - adds r7, r1, 0 -_08109AD4: - ldrb r1, [r7] - subs r1, 0x1 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0xA - bl sub_810B9DC - adds r6, r0, 0 - lsls r6, 24 - lsrs r6, 24 - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - movs r0, 0x2 - movs r1, 0x2 - bl GetFontAttribute - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - ldrb r0, [r7] - str r0, [sp, 0x8] - ldr r0, _08109BA4 @ =gUnknown_8452EB8 - str r0, [sp, 0xC] - ldr r0, _08109B98 @ =gUnknown_203AD24 - ldr r0, [r0] - str r0, [sp, 0x10] - adds r0, r6, 0 - movs r1, 0x2 - adds r2, r5, 0 - movs r3, 0x2 - bl AddItemMenuActionTextPrinters - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - adds r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - str r0, [sp] - ldrb r0, [r7] - str r0, [sp, 0x4] - movs r5, 0 - str r5, [sp, 0x8] - adds r0, r6, 0 - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl Menu_InitCursor - movs r0, 0x6 - movs r1, 0 - bl sub_810B9DC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _08109BA8 @ =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, _08109BAC @ =gStringVar1 - bl CopyItemName - ldr r6, _08109BB0 @ =gStringVar4 - ldr r1, _08109BB4 @ =gOtherText_StrVar1 - adds r0, r6, 0 - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - str r5, [sp, 0xC] - str r0, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r6, 0 - movs r3, 0 - bl sub_810B8F0 - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08109B98: .4byte gUnknown_203AD24 -_08109B9C: .4byte gUnknown_8452F18 -_08109BA0: .4byte gUnknown_203AD28 -_08109BA4: .4byte gUnknown_8452EB8 -_08109BA8: .4byte gSpecialVar_ItemId -_08109BAC: .4byte gStringVar1 -_08109BB0: .4byte gStringVar4 -_08109BB4: .4byte gOtherText_StrVar1 - thumb_func_end sub_8109890 - - thumb_func_start sub_8109BB8 -sub_8109BB8: @ 8109BB8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl sub_8109890 - ldr r1, _08109BDC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _08109BE0 @ =sub_8109BE4 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08109BDC: .4byte gTasks -_08109BE0: .4byte sub_8109BE4 - thumb_func_end sub_8109BB8 - - thumb_func_start sub_8109BE4 -sub_8109BE4: @ 8109BE4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - bl sub_80BF72C - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08109C42 - bl Menu_ProcessInputNoWrapAround - lsls r0, 24 - asrs r4, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _08109C42 - adds r0, 0x1 - cmp r4, r0 - bne _08109C24 - movs r0, 0x5 - bl PlaySE - ldr r0, _08109C20 @ =gUnknown_8452EB8 - ldr r1, [r0, 0x24] - adds r0, r5, 0 - bl _call_via_r1 - b _08109C42 - .align 2, 0 -_08109C20: .4byte gUnknown_8452EB8 -_08109C24: - movs r0, 0x5 - bl PlaySE - ldr r1, _08109C48 @ =gUnknown_8452EB8 - ldr r0, _08109C4C @ =gUnknown_203AD24 - ldr r0, [r0] - adds r0, r4 - ldrb r0, [r0] - lsls r0, 3 - adds r1, 0x4 - adds r0, r1 - ldr r1, [r0] - adds r0, r6, 0 - bl _call_via_r1 -_08109C42: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08109C48: .4byte gUnknown_8452EB8 -_08109C4C: .4byte gUnknown_203AD24 - thumb_func_end sub_8109BE4 - - thumb_func_start sub_8109C50 -sub_8109C50: @ 8109C50 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, _08109CA0 @ =gSpecialVar_ItemId - ldrh r0, [r5] - bl ItemId_GetFieldFunc - cmp r0, 0 - beq _08109CB4 - movs r0, 0xA - bl sub_810BA3C - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _08109CA4 - ldrh r0, [r5] - bl ItemId_GetType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08109CA4 - adds r0, r4, 0 - bl sub_810A170 - b _08109CB4 - .align 2, 0 -_08109CA0: .4byte gSpecialVar_ItemId -_08109CA4: - ldr r0, _08109CBC @ =gSpecialVar_ItemId - ldrh r0, [r0] - bl ItemId_GetFieldFunc - adds r1, r0, 0 - adds r0, r4, 0 - bl _call_via_r1 -_08109CB4: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08109CBC: .4byte gSpecialVar_ItemId - thumb_func_end sub_8109C50 - - thumb_func_start sub_8109CC0 -sub_8109CC0: @ 8109CC0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r7, _08109D14 @ =gTasks+0x8 - adds r4, r6, r7 - movs r0, 0xA - bl sub_810BAD8 - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - movs r0, 0x6 - bl sub_810BAD8 - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - movs r0, 0xA - bl sub_810BA3C - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - strh r0, [r4, 0x10] - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _08109D18 - adds r0, r5, 0 - bl sub_8109D38 - b _08109D2A - .align 2, 0 -_08109D14: .4byte gTasks+0x8 -_08109D18: - ldrh r0, [r4, 0x2] - ldr r1, _08109D30 @ =gText_TossOutHowManyStrVar1s - bl sub_810971C - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _08109D34 @ =sub_8109DEC - str r1, [r0] -_08109D2A: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08109D30: .4byte gText_TossOutHowManyStrVar1s -_08109D34: .4byte sub_8109DEC - thumb_func_end sub_8109CC0 - - thumb_func_start sub_8109D38 -sub_8109D38: @ 8109D38 - push {r4,r5,lr} - sub sp, 0x14 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - ldr r0, _08109D9C @ =gTasks+0x8 - adds r1, r0 - ldr r0, _08109DA0 @ =gStringVar2 - movs r2, 0x10 - ldrsh r1, [r1, r2] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r5, _08109DA4 @ =gStringVar4 - ldr r1, _08109DA8 @ =gText_ThrowAwayStrVar2OfThisItemQM - adds r0, r5, 0 - bl StringExpandPlaceholders - movs r0, 0x6 - movs r1, 0x1 - bl sub_810B9DC - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - str r1, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - str r1, [sp, 0xC] - str r2, [sp, 0x10] - movs r1, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl sub_810B8F0 - ldr r1, _08109DAC @ =gUnknown_8452F50 - adds r0, r4, 0 - bl sub_810BAE8 - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08109D9C: .4byte gTasks+0x8 -_08109DA0: .4byte gStringVar2 -_08109DA4: .4byte gStringVar4 -_08109DA8: .4byte gText_ThrowAwayStrVar2OfThisItemQM -_08109DAC: .4byte gUnknown_8452F50 - thumb_func_end sub_8109D38 - - thumb_func_start sub_8109DB0 -sub_8109DB0: @ 8109DB0 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _08109DE8 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldrb r0, [r4] - movs r1, 0x1 - bl bag_menu_print_cursor_ - adds r0, r5, 0 - bl sub_810910C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08109DE8: .4byte gTasks+0x8 - thumb_func_end sub_8109DB0 - - thumb_func_start sub_8109DEC -sub_8109DEC: @ 8109DEC - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08109E1C @ =gTasks+0x8 - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0x10 - ldrh r1, [r4, 0x4] - bl AdjustQuantityAccordingToDPadInput - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08109E20 - movs r1, 0x10 - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl sub_81097E4 - b _08109EA2 - .align 2, 0 -_08109E1C: .4byte gTasks+0x8 -_08109E20: - ldr r0, _08109E60 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08109E64 - movs r0, 0x5 - bl PlaySE - movs r0, 0x6 - bl sub_810BAD8 - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0 - bl sub_810BA3C - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - bl sub_8108978 - adds r0, r5, 0 - bl sub_8109D38 - b _08109EA2 - .align 2, 0 -_08109E60: .4byte gMain -_08109E64: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08109EA2 - movs r0, 0x5 - bl PlaySE - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0 - bl sub_810BA3C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldrb r0, [r4] - movs r1, 0x1 - bl bag_menu_print_cursor_ - bl sub_8108978 - adds r0, r6, 0 - bl sub_810910C -_08109EA2: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8109DEC - - thumb_func_start sub_8109EA8 -sub_8109EA8: @ 8109EA8 - push {r4-r6,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r5, _08109F28 @ =gTasks+0x8 - adds r6, r4, r5 - movs r0, 0x6 - bl sub_810BA3C - ldr r0, _08109F2C @ =gUnknown_203ACFC - ldrb r0, [r0, 0x6] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r6, 0x2] - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - ldr r1, _08109F30 @ =gStringVar1 - bl CopyItemName - ldr r0, _08109F34 @ =gStringVar2 - movs r2, 0x10 - ldrsh r1, [r6, r2] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r6, _08109F38 @ =gStringVar4 - ldr r1, _08109F3C @ =gText_ThrewAwayStrVar2StrVar1s - adds r0, r6, 0 - bl StringExpandPlaceholders - movs r0, 0x6 - movs r1, 0x3 - bl sub_810B9DC - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - str r1, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - str r1, [sp, 0xC] - str r2, [sp, 0x10] - movs r1, 0x2 - adds r2, r6, 0 - movs r3, 0 - bl sub_810B8F0 - subs r5, 0x8 - adds r4, r5 - ldr r0, _08109F40 @ =sub_8109F44 - str r0, [r4] - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08109F28: .4byte gTasks+0x8 -_08109F2C: .4byte gUnknown_203ACFC -_08109F30: .4byte gStringVar1 -_08109F34: .4byte gStringVar2 -_08109F38: .4byte gStringVar4 -_08109F3C: .4byte gText_ThrewAwayStrVar2StrVar1s -_08109F40: .4byte sub_8109F44 - thumb_func_end sub_8109EA8 - - thumb_func_start sub_8109F44 -sub_8109F44: @ 8109F44 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, _08109FEC @ =gTasks+0x8 - adds r7, r0, r1 - ldr r0, _08109FF0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _08109F6E - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08109FE0 -_08109F6E: - movs r0, 0x5 - bl PlaySE - ldr r0, _08109FF4 @ =gSpecialVar_ItemId - ldrh r0, [r0] - ldrh r1, [r7, 0x10] - bl RemoveBagItem - movs r0, 0x6 - bl sub_810BA3C - ldrb r0, [r7] - ldr r4, _08109FF8 @ =gUnknown_203ACFC - ldrh r2, [r4, 0x6] - lsls r2, 1 - adds r5, r4, 0 - adds r5, 0xE - adds r1, r2, r5 - adds r6, r4, 0 - adds r6, 0x8 - adds r2, r6 - bl DestroyListMenuTask - ldrb r0, [r4, 0x6] - bl sub_8108DC8 - ldrb r0, [r4, 0x6] - bl sub_81089F4 - ldrb r0, [r4, 0x6] - bl sub_810842C - ldr r0, _08109FFC @ =gMultiuseListMenuTemplate - ldrh r2, [r4, 0x6] - lsls r2, 1 - adds r5, r2, r5 - ldrh r1, [r5] - adds r2, r6 - ldrh r2, [r2] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7] - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldrb r0, [r7] - movs r1, 0x1 - bl bag_menu_print_cursor_ - mov r0, r8 - bl sub_810910C -_08109FE0: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08109FEC: .4byte gTasks+0x8 -_08109FF0: .4byte gMain -_08109FF4: .4byte gSpecialVar_ItemId -_08109FF8: .4byte gUnknown_203ACFC -_08109FFC: .4byte gMultiuseListMenuTemplate - thumb_func_end sub_8109F44 - - thumb_func_start sub_810A000 -sub_810A000: @ 810A000 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r0, 2 - add r0, r8 - lsls r0, 3 - ldr r1, _0810A040 @ =gTasks+0x8 - adds r7, r0, r1 - ldr r0, _0810A044 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x6] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r7, 0x2] - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r2, r0, 16 - ldr r0, _0810A048 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r3, _0810A04C @ =0x00000296 - adds r1, r0, r3 - ldrh r0, [r1] - cmp r0, r2 - bne _0810A050 - movs r0, 0 - strh r0, [r1] - b _0810A052 - .align 2, 0 -_0810A040: .4byte gTasks+0x8 -_0810A044: .4byte gUnknown_203ACFC -_0810A048: .4byte gSaveBlock1Ptr -_0810A04C: .4byte 0x00000296 -_0810A050: - strh r2, [r1] -_0810A052: - ldrb r0, [r7] - ldr r4, _0810A0A0 @ =gUnknown_203ACFC - ldrh r2, [r4, 0x6] - lsls r2, 1 - adds r5, r4, 0 - adds r5, 0xE - adds r1, r2, r5 - adds r6, r4, 0 - adds r6, 0x8 - adds r2, r6 - bl DestroyListMenuTask - ldrb r0, [r4, 0x6] - bl sub_810842C - ldr r0, _0810A0A4 @ =gMultiuseListMenuTemplate - ldrh r2, [r4, 0x6] - lsls r2, 1 - adds r5, r2, r5 - ldrh r1, [r5] - adds r2, r6 - ldrh r2, [r2] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7] - movs r0, 0 - movs r1, 0x1 - bl CopyWindowToVram - mov r0, r8 - bl sub_810A2DC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810A0A0: .4byte gUnknown_203ACFC -_0810A0A4: .4byte gMultiuseListMenuTemplate - thumb_func_end sub_810A000 - - thumb_func_start sub_810A0A8 -sub_810A0A8: @ 810A0A8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r4, r0, 24 - adds r7, r4, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r6, r0, 3 - ldr r0, _0810A110 @ =gTasks+0x8 - mov r8, r0 - adds r1, r6, r0 - ldr r0, _0810A114 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x6] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r1, 0x2] - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r5, r0, 16 - movs r0, 0xA - bl sub_810BA3C - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x1 - bl CopyWindowToVram - adds r0, r5, 0 - bl itemid_80BF6D8_mail_related - lsls r0, 24 - cmp r0, 0 - bne _0810A120 - ldr r2, _0810A118 @ =gUnknown_841630F - ldr r3, _0810A11C @ =sub_810A1D0 - adds r0, r4, 0 - movs r1, 0x2 - bl DisplayItemMessageInBag - b _0810A166 - .align 2, 0 -_0810A110: .4byte gTasks+0x8 -_0810A114: .4byte gUnknown_203ACFC -_0810A118: .4byte gUnknown_841630F -_0810A11C: .4byte sub_810A1D0 -_0810A120: - adds r0, r5, 0 - bl itemid_is_unique - lsls r0, 24 - cmp r0, 0 - bne _0810A160 - bl CalculatePlayerPartyCount - lsls r0, 24 - cmp r0, 0 - bne _0810A13E - adds r0, r4, 0 - bl sub_810A170 - b _0810A166 -_0810A13E: - ldr r0, _0810A154 @ =gUnknown_203AD10 - ldr r1, [r0] - ldr r0, _0810A158 @ =CB2_ChooseMonToGiveItem - str r0, [r1] - mov r0, r8 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0810A15C @ =ItemMenu_StartFadeToExitCallback - str r1, [r0] - b _0810A166 - .align 2, 0 -_0810A154: .4byte gUnknown_203AD10 -_0810A158: .4byte CB2_ChooseMonToGiveItem -_0810A15C: .4byte ItemMenu_StartFadeToExitCallback -_0810A160: - adds r0, r7, 0 - bl sub_810A18C -_0810A166: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810A0A8 - - thumb_func_start sub_810A170 -sub_810A170: @ 810A170 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810A184 @ =gText_ThereIsNoPokemon - ldr r3, _0810A188 @ =sub_810A1D0 - movs r1, 0x2 - bl DisplayItemMessageInBag - pop {r0} - bx r0 - .align 2, 0 -_0810A184: .4byte gText_ThereIsNoPokemon -_0810A188: .4byte sub_810A1D0 - thumb_func_end sub_810A170 - - thumb_func_start sub_810A18C -sub_810A18C: @ 810A18C - push {r4,r5,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0810A1BC @ =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, _0810A1C0 @ =gStringVar1 - bl CopyItemName - ldr r5, _0810A1C4 @ =gStringVar4 - ldr r1, _0810A1C8 @ =gText_ItemCantBeHeld - adds r0, r5, 0 - bl StringExpandPlaceholders - ldr r3, _0810A1CC @ =sub_810A1D0 - adds r0, r4, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl DisplayItemMessageInBag - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810A1BC: .4byte gSpecialVar_ItemId -_0810A1C0: .4byte gStringVar1 -_0810A1C4: .4byte gStringVar4 -_0810A1C8: .4byte gText_ItemCantBeHeld -_0810A1CC: .4byte sub_810A1D0 - thumb_func_end sub_810A18C - - thumb_func_start sub_810A1D0 -sub_810A1D0: @ 810A1D0 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0810A1F4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810A1EE - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_810A1F8 -_0810A1EE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810A1F4: .4byte gMain - thumb_func_end sub_810A1D0 - - thumb_func_start sub_810A1F8 -sub_810A1F8: @ 810A1F8 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - mov r8, r0 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r5, r0, 2 - add r5, r8 - lsls r5, 3 - ldr r0, _0810A27C @ =gTasks+0x8 - adds r5, r0 - movs r0, 0x5 - bl sub_810BA9C - ldrb r0, [r5] - ldr r4, _0810A280 @ =gUnknown_203ACFC - ldrh r2, [r4, 0x6] - lsls r2, 1 - adds r6, r4, 0 - adds r6, 0xE - adds r1, r2, r6 - movs r3, 0x8 - adds r3, r4 - mov r9, r3 - add r2, r9 - bl DestroyListMenuTask - ldrb r0, [r4, 0x6] - bl sub_8108DC8 - ldrb r0, [r4, 0x6] - bl sub_81089F4 - ldrb r0, [r4, 0x6] - bl sub_810842C - ldr r0, _0810A284 @ =gMultiuseListMenuTemplate - ldrh r2, [r4, 0x6] - lsls r2, 1 - adds r6, r2, r6 - ldrh r1, [r6] - add r2, r9 - ldrh r2, [r2] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5] - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldrb r0, [r5] - movs r1, 0x1 - bl bag_menu_print_cursor_ - mov r0, r8 - bl sub_810910C - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810A27C: .4byte gTasks+0x8 -_0810A280: .4byte gUnknown_203ACFC -_0810A284: .4byte gMultiuseListMenuTemplate - thumb_func_end sub_810A1F8 - - thumb_func_start sub_810A288 -sub_810A288: @ 810A288 - push {r4-r6,lr} - sub sp, 0x4 - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _0810A2D8 @ =gTasks+0x8 - adds r4, r0 - ldrb r0, [r4] - mov r6, sp - adds r6, 0x2 - mov r1, sp - adds r2, r6, 0 - bl ListMenuGetScrollAndRow - mov r0, sp - ldrh r0, [r0] - ldrh r1, [r6] - adds r0, r1 - bl sub_8108818 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldrb r0, [r4] - movs r1, 0x1 - bl bag_menu_print_cursor_ - adds r0, r5, 0 - bl sub_810910C - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810A2D8: .4byte gTasks+0x8 - thumb_func_end sub_810A288 - - thumb_func_start sub_810A2DC -sub_810A2DC: @ 810A2DC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0xA - bl sub_810BA3C - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldr r1, _0810A320 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldrb r0, [r0, 0x8] - movs r1, 0x1 - bl bag_menu_print_cursor_ - adds r0, r4, 0 - bl sub_810910C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810A320: .4byte gTasks - thumb_func_end sub_810A2DC - - thumb_func_start sub_810A324 -sub_810A324: @ 810A324 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r5, _0810A36C @ =gSpecialVar_ItemId - ldrh r0, [r5] - bl ItemId_GetBattleFunc - cmp r0, 0 - beq _0810A364 - movs r0, 0xA - bl sub_810BA3C - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x1 - bl CopyWindowToVram - ldrh r0, [r5] - bl ItemId_GetBattleFunc - adds r1, r0, 0 - adds r0, r4, 0 - bl _call_via_r1 -_0810A364: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810A36C: .4byte gSpecialVar_ItemId - thumb_func_end sub_810A324 - - thumb_func_start sub_810A370 -sub_810A370: @ 810A370 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r7, r0, 3 - ldr r0, _0810A3BC @ =gTasks+0x8 - mov r9, r0 - adds r1, r7, r0 - ldr r2, _0810A3C0 @ =gUnknown_203ACFC - mov r8, r2 - ldrb r0, [r2, 0x6] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r1, 0x2] - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r4, r0, 16 - adds r6, r4, 0 - adds r0, r4, 0 - bl itemid_80BF6D8_mail_related - lsls r0, 24 - cmp r0, 0 - bne _0810A3CC - ldr r2, _0810A3C4 @ =gUnknown_841630F - ldr r3, _0810A3C8 @ =sub_810A1D0 - adds r0, r5, 0 - movs r1, 0x2 - bl DisplayItemMessageInBag - b _0810A426 - .align 2, 0 -_0810A3BC: .4byte gTasks+0x8 -_0810A3C0: .4byte gUnknown_203ACFC -_0810A3C4: .4byte gUnknown_841630F -_0810A3C8: .4byte sub_810A1D0 -_0810A3CC: - movs r0, 0xB6 - lsls r0, 1 @ ITEM_TM_CASE - cmp r4, r0 - bne _0810A3DC - ldr r0, _0810A3D8 @ =sub_810A434 - b _0810A3E4 - .align 2, 0 -_0810A3D8: .4byte sub_810A434 -_0810A3DC: - ldr r0, _0810A3F0 @ =ITEM_BERRY_POUCH - cmp r4, r0 - bne _0810A3F8 - ldr r0, _0810A3F4 @ =sub_810A448 -_0810A3E4: - bl ItemMenu_SetExitCallback - adds r0, r5, 0 - bl ItemMenu_StartFadeToExitCallback - b _0810A426 - .align 2, 0 -_0810A3F0: .4byte 0x0000016d @ ITEM_BERRY_POUCH -_0810A3F4: .4byte sub_810A448 -_0810A3F8: - mov r1, r8 - ldrh r0, [r1, 0x6] - cmp r0, 0x1 - beq _0810A420 - adds r0, r6, 0 - bl itemid_is_unique - lsls r0, 24 - cmp r0, 0 - bne _0810A420 - bl sub_8108CB4 - mov r0, r9 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, _0810A41C @ =ItemMenu_StartFadeToExitCallback - str r1, [r0] - b _0810A426 - .align 2, 0 -_0810A41C: .4byte ItemMenu_StartFadeToExitCallback -_0810A420: - adds r0, r5, 0 - bl sub_810A18C -_0810A426: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810A370 - - thumb_func_start sub_810A434 -sub_810A434: @ 810A434 - push {lr} - ldr r1, _0810A444 @ =sub_810A45C - movs r0, 0x1 - movs r2, 0 - bl InitTMCase - pop {r0} - bx r0 - .align 2, 0 -_0810A444: .4byte sub_810A45C - thumb_func_end sub_810A434 - - thumb_func_start sub_810A448 -sub_810A448: @ 810A448 - push {lr} - ldr r1, _0810A458 @ =sub_810A45C - movs r0, 0x1 - movs r2, 0 - bl InitBerryPouch - pop {r0} - bx r0 - .align 2, 0 -_0810A458: .4byte sub_810A45C - thumb_func_end sub_810A448 - - thumb_func_start sub_810A45C -sub_810A45C: @ 810A45C - push {lr} - bl CB2_SelectBagItemToGive - pop {r0} - bx r0 - thumb_func_end sub_810A45C - - thumb_func_start sub_810A468 -sub_810A468: @ 810A468 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r7, r0, 3 - ldr r0, _0810A4B4 @ =gTasks+0x8 - mov r9, r0 - adds r1, r7, r0 - ldr r2, _0810A4B8 @ =gUnknown_203ACFC - mov r8, r2 - ldrb r0, [r2, 0x6] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r1, 0x2] - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r4, r0, 16 - adds r6, r4, 0 - adds r0, r4, 0 - bl ItemIsMail - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810A4C4 - ldr r2, _0810A4BC @ =gUnknown_841630F - ldr r3, _0810A4C0 @ =sub_810A1D0 - adds r0, r5, 0 - movs r1, 0x2 - bl DisplayItemMessageInBag - b _0810A51E - .align 2, 0 -_0810A4B4: .4byte gTasks+0x8 -_0810A4B8: .4byte gUnknown_203ACFC -_0810A4BC: .4byte gUnknown_841630F -_0810A4C0: .4byte sub_810A1D0 -_0810A4C4: - movs r0, 0xB6 - lsls r0, 1 @ ITEM_TM_CASE - cmp r4, r0 - bne _0810A4D4 - ldr r0, _0810A4D0 @ =sub_810A52C - b _0810A4DC - .align 2, 0 -_0810A4D0: .4byte sub_810A52C -_0810A4D4: - ldr r0, _0810A4E8 @ =0x0000016d @ ITEM_BERRY_POUCH - cmp r4, r0 - bne _0810A4F0 - ldr r0, _0810A4EC @ =sub_810A540 -_0810A4DC: - bl ItemMenu_SetExitCallback - adds r0, r5, 0 - bl ItemMenu_StartFadeToExitCallback - b _0810A51E - .align 2, 0 -_0810A4E8: .4byte 0x0000016d -_0810A4EC: .4byte sub_810A540 -_0810A4F0: - mov r1, r8 - ldrh r0, [r1, 0x6] - cmp r0, 0x1 - beq _0810A518 - adds r0, r6, 0 - bl itemid_is_unique - lsls r0, 24 - cmp r0, 0 - bne _0810A518 - bl sub_8108CB4 - mov r0, r9 - subs r0, 0x8 - adds r0, r7, r0 - ldr r1, _0810A514 @ =ItemMenu_StartFadeToExitCallback - str r1, [r0] - b _0810A51E - .align 2, 0 -_0810A514: .4byte ItemMenu_StartFadeToExitCallback -_0810A518: - adds r0, r5, 0 - bl sub_810A18C -_0810A51E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810A468 - - thumb_func_start sub_810A52C -sub_810A52C: @ 810A52C - push {lr} - ldr r1, _0810A53C @ =sub_810A554 - movs r0, 0x3 - movs r2, 0 - bl InitTMCase - pop {r0} - bx r0 - .align 2, 0 -_0810A53C: .4byte sub_810A554 - thumb_func_end sub_810A52C - - thumb_func_start sub_810A540 -sub_810A540: @ 810A540 - push {lr} - ldr r1, _0810A550 @ =sub_810A554 - movs r0, 0x3 - movs r2, 0 - bl InitBerryPouch - pop {r0} - bx r0 - .align 2, 0 -_0810A550: .4byte sub_810A554 - thumb_func_end sub_810A540 - - thumb_func_start sub_810A554 -sub_810A554: @ 810A554 - push {lr} - ldr r2, _0810A564 @ =sub_808CE60 - movs r0, 0x4 - movs r1, 0x3 - bl GoToBagMenu - pop {r0} - bx r0 - .align 2, 0 -_0810A564: .4byte sub_808CE60 - thumb_func_end sub_810A554 - - thumb_func_start sub_810A568 -sub_810A568: @ 810A568 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0810A58C @ =gTasks+0x8 - adds r4, r0, r1 - ldr r6, _0810A590 @ =gSpecialVar_ItemId - ldrh r1, [r6] - movs r0, 0xB6 - lsls r0, 1 - cmp r1, r0 - bne _0810A598 - ldr r0, _0810A594 @ =sub_810A654 - b _0810A5A0 - .align 2, 0 -_0810A58C: .4byte gTasks+0x8 -_0810A590: .4byte gSpecialVar_ItemId -_0810A594: .4byte sub_810A654 -_0810A598: - ldr r0, _0810A5AC @ =0x0000016d - cmp r1, r0 - bne _0810A5B4 - ldr r0, _0810A5B0 @ =sub_810A668 -_0810A5A0: - bl ItemMenu_SetExitCallback - adds r0, r5, 0 - bl ItemMenu_StartFadeToExitCallback - b _0810A63E - .align 2, 0 -_0810A5AC: .4byte 0x0000016d -_0810A5B0: .4byte sub_810A668 -_0810A5B4: - ldrh r0, [r6] - bl itemid_get_market_price - lsls r0, 16 - cmp r0, 0 - bne _0810A5F8 - ldrh r0, [r6] - ldr r1, _0810A5E8 @ =gStringVar1 - bl CopyItemName - ldr r4, _0810A5EC @ =gStringVar4 - ldr r1, _0810A5F0 @ =gText_OhNoICantBuyThat - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80BF8E4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0810A5F4 @ =sub_810A1F8 - adds r0, r5, 0 - adds r2, r4, 0 - bl DisplayItemMessageInBag - b _0810A63E - .align 2, 0 -_0810A5E8: .4byte gStringVar1 -_0810A5EC: .4byte gStringVar4 -_0810A5F0: .4byte gText_OhNoICantBuyThat -_0810A5F4: .4byte sub_810A1F8 -_0810A5F8: - movs r0, 0x1 - strh r0, [r4, 0x10] - movs r1, 0x4 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - bne _0810A610 - bl sub_810BB40 - adds r0, r5, 0 - bl sub_810A690 - b _0810A63E -_0810A610: - cmp r0, 0x63 - ble _0810A618 - movs r0, 0x63 - strh r0, [r4, 0x4] -_0810A618: - ldrh r0, [r6] - ldr r1, _0810A644 @ =gStringVar1 - bl CopyItemName - ldr r4, _0810A648 @ =gStringVar4 - ldr r1, _0810A64C @ =gText_HowManyWouldYouLikeToSell - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80BF8E4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0810A650 @ =sub_810A770 - adds r0, r7, 0 - adds r2, r4, 0 - bl DisplayItemMessageInBag -_0810A63E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810A644: .4byte gStringVar1 -_0810A648: .4byte gStringVar4 -_0810A64C: .4byte gText_HowManyWouldYouLikeToSell -_0810A650: .4byte sub_810A770 - thumb_func_end sub_810A568 - - thumb_func_start sub_810A654 -sub_810A654: @ 810A654 - push {lr} - ldr r1, _0810A664 @ =sub_810A67C - movs r0, 0x2 - movs r2, 0 - bl InitTMCase - pop {r0} - bx r0 - .align 2, 0 -_0810A664: .4byte sub_810A67C - thumb_func_end sub_810A654 - - thumb_func_start sub_810A668 -sub_810A668: @ 810A668 - push {lr} - ldr r1, _0810A678 @ =sub_810A67C - movs r0, 0x2 - movs r2, 0 - bl InitBerryPouch - pop {r0} - bx r0 - .align 2, 0 -_0810A678: .4byte sub_810A67C - thumb_func_end sub_810A668 - - thumb_func_start sub_810A67C -sub_810A67C: @ 810A67C - push {lr} - ldr r2, _0810A68C @ =CB2_ReturnToField - movs r0, 0x2 - movs r1, 0x3 - bl GoToBagMenu - pop {r0} - bx r0 - .align 2, 0 -_0810A68C: .4byte CB2_ReturnToField - thumb_func_end sub_810A67C - - thumb_func_start sub_810A690 -sub_810A690: @ 810A690 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _0810A6F4 @ =gTasks+0x8 - adds r4, r0 - ldr r6, _0810A6F8 @ =gStringVar3 - ldr r0, _0810A6FC @ =gUnknown_203ACFC - ldrb r0, [r0, 0x6] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x2] - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - movs r2, 0x10 - ldrsh r1, [r4, r2] - muls r1, r0 - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - ldr r4, _0810A700 @ =gStringVar4 - ldr r1, _0810A704 @ =gText_ICanPayThisMuch_WouldThatBeOkay - adds r0, r4, 0 - bl StringExpandPlaceholders - bl sub_80BF8E4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r3, _0810A708 @ =sub_810A70C - adds r0, r5, 0 - adds r2, r4, 0 - bl DisplayItemMessageInBag - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810A6F4: .4byte gTasks+0x8 -_0810A6F8: .4byte gStringVar3 -_0810A6FC: .4byte gUnknown_203ACFC -_0810A700: .4byte gStringVar4 -_0810A704: .4byte gText_ICanPayThisMuch_WouldThatBeOkay -_0810A708: .4byte sub_810A70C - thumb_func_end sub_810A690 - - thumb_func_start sub_810A70C -sub_810A70C: @ 810A70C - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0810A71C @ =gUnknown_8452F58 - bl sub_810BB14 - pop {r0} - bx r0 - .align 2, 0 -_0810A71C: .4byte gUnknown_8452F58 - thumb_func_end sub_810A70C - - thumb_func_start sub_810A720 -sub_810A720: @ 810A720 - push {r4,r5,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _0810A76C @ =gTasks+0x8 - adds r4, r0 - movs r0, 0x2 - bl sub_810BA3C - movs r0, 0x5 - bl sub_810BA9C - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldrb r0, [r4] - movs r1, 0x1 - bl bag_menu_print_cursor_ - adds r0, r5, 0 - bl sub_810910C - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810A76C: .4byte gTasks+0x8 - thumb_func_end sub_810A720 - - thumb_func_start sub_810A770 -sub_810A770: @ 810A770 - push {r4-r6,lr} - mov r6, r9 - mov r5, r8 - push {r5,r6} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - lsls r5, r0, 2 - adds r5, r0 - lsls r5, 3 - ldr r0, _0810A81C @ =gTasks+0x8 - mov r8, r0 - adds r2, r5, 0 - add r2, r8 - mov r9, r2 - movs r0, 0 - movs r1, 0x1 - bl sub_810B9DC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0810A820 @ =gStringVar1 - movs r1, 0x1 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r6, _0810A824 @ =gStringVar4 - ldr r1, _0810A828 @ =gText_TimesStrVar1 - adds r0, r6, 0 - bl StringExpandPlaceholders - movs r0, 0xA - str r0, [sp] - movs r1, 0x1 - str r1, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - str r1, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0 - adds r2, r6, 0 - movs r3, 0x4 - bl sub_810B8F0 - ldr r0, _0810A82C @ =gUnknown_203ACFC - ldrb r0, [r0, 0x6] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r3, r9 - ldrh r1, [r3, 0x2] - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - mov r2, r9 - movs r3, 0x10 - ldrsh r1, [r2, r3] - muls r0, r1 - bl sub_810A834 - bl sub_810BB40 - bl sub_8108908 - movs r0, 0x8 - negs r0, r0 - add r8, r0 - add r5, r8 - ldr r0, _0810A830 @ =sub_810A85C - str r0, [r5] - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810A81C: .4byte gTasks+0x8 -_0810A820: .4byte gStringVar1 -_0810A824: .4byte gStringVar4 -_0810A828: .4byte gText_TimesStrVar1 -_0810A82C: .4byte gUnknown_203ACFC -_0810A830: .4byte sub_810A85C - thumb_func_end sub_810A770 - - thumb_func_start sub_810A834 -sub_810A834: @ 810A834 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - movs r0, 0 - bl sub_810BAD8 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - str r1, [sp] - movs r1, 0x38 - movs r2, 0xA - adds r3, r4, 0 - bl PrintMoneyAmount - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_810A834 - - thumb_func_start sub_810A85C -sub_810A85C: @ 810A85C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r6, r4, 0 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0810A8B4 @ =gTasks+0x8 - adds r5, r0, r1 - adds r0, r5, 0 - adds r0, 0x10 - ldrh r1, [r5, 0x4] - bl AdjustQuantityAccordingToDPadInput - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810A8BC - movs r1, 0x10 - ldrsh r0, [r5, r1] - movs r1, 0x2 - bl sub_81097E4 - ldr r0, _0810A8B8 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x6] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r5, 0x2] - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - movs r2, 0x10 - ldrsh r1, [r5, r2] - muls r0, r1 - bl sub_810A834 - b _0810A93A - .align 2, 0 -_0810A8B4: .4byte gTasks+0x8 -_0810A8B8: .4byte gUnknown_203ACFC -_0810A8BC: - ldr r0, _0810A8EC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810A8F0 - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_810BA3C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - bl sub_8108978 - adds r0, r4, 0 - bl sub_810A690 - b _0810A93A - .align 2, 0 -_0810A8EC: .4byte gMain -_0810A8F0: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810A93A - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl sub_810BA3C - movs r0, 0x2 - bl sub_810BA3C - movs r0, 0x5 - bl sub_810BA9C - movs r0, 0x2 - bl PutWindowTilemap - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - bl sub_8108978 - ldrb r0, [r5] - movs r1, 0x1 - bl bag_menu_print_cursor_ - adds r0, r6, 0 - bl sub_810910C -_0810A93A: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_810A85C - - thumb_func_start sub_810A940 -sub_810A940: @ 810A940 - push {r4-r6,lr} - adds r5, r0, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, r5, 2 - adds r4, r5 - lsls r4, 3 - ldr r0, _0810A9B4 @ =gTasks+0x8 - adds r4, r0 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldr r0, _0810A9B8 @ =gSpecialVar_ItemId - ldrh r0, [r0] - ldr r1, _0810A9BC @ =gStringVar1 - bl CopyItemName - ldr r6, _0810A9C0 @ =gStringVar3 - ldr r0, _0810A9C4 @ =gUnknown_203ACFC - ldrb r0, [r0, 0x6] - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - ldrh r1, [r4, 0x2] - bl BagGetItemIdByPocketPosition - lsls r0, 16 - lsrs r0, 16 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - movs r2, 0x10 - ldrsh r1, [r4, r2] - muls r1, r0 - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x6 - bl ConvertIntToDecimalStringN - ldr r4, _0810A9C8 @ =gStringVar4 - ldr r1, _0810A9CC @ =gText_TurnedOverItemsWorthYen - adds r0, r4, 0 - bl StringExpandPlaceholders - ldr r3, _0810A9D0 @ =sub_810A9D4 - adds r0, r5, 0 - movs r1, 0x2 - adds r2, r4, 0 - bl DisplayItemMessageInBag - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0810A9B4: .4byte gTasks+0x8 -_0810A9B8: .4byte gSpecialVar_ItemId -_0810A9BC: .4byte gStringVar1 -_0810A9C0: .4byte gStringVar3 -_0810A9C4: .4byte gUnknown_203ACFC -_0810A9C8: .4byte gStringVar4 -_0810A9CC: .4byte gText_TurnedOverItemsWorthYen -_0810A9D0: .4byte sub_810A9D4 - thumb_func_end sub_810A940 - - thumb_func_start sub_810A9D4 -sub_810A9D4: @ 810A9D4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - lsls r6, r0, 2 - adds r6, r0 - lsls r6, 3 - ldr r0, _0810AAD8 @ =gTasks+0x8 - mov r10, r0 - adds r1, r6, 0 - add r1, r10 - mov r8, r1 - movs r0, 0xF8 - bl PlaySE - ldr r5, _0810AADC @ =gSpecialVar_ItemId - ldrh r0, [r5] - mov r2, r8 - ldrh r1, [r2, 0x10] - bl RemoveBagItem - ldr r3, _0810AAE0 @ =gSaveBlock1Ptr - ldr r4, [r3] - movs r7, 0xA4 - lsls r7, 2 - adds r4, r7 - ldrh r0, [r5] - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 17 - mov r2, r8 - movs r3, 0x10 - ldrsh r1, [r2, r3] - muls r1, r0 - adds r0, r4, 0 - bl AddMoney - ldrh r0, [r5] - mov r2, r8 - ldrh r1, [r2, 0x10] - movs r2, 0x2 - bl RecordItemPurchase - mov r3, r8 - ldrb r0, [r3] - ldr r4, _0810AAE4 @ =gUnknown_203ACFC - ldrh r2, [r4, 0x6] - lsls r2, 1 - adds r5, r4, 0 - adds r5, 0xE - adds r1, r2, r5 - movs r3, 0x8 - adds r3, r4 - mov r9, r3 - add r2, r9 - bl DestroyListMenuTask - ldrb r0, [r4, 0x6] - bl sub_8108DC8 - ldrb r0, [r4, 0x6] - bl sub_81089F4 - ldr r0, _0810AAE8 @ =gUnknown_203AD10 - ldr r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0x3F - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2, 0x5] - ldrb r0, [r4, 0x6] - bl sub_810842C - ldr r0, _0810AAEC @ =gMultiuseListMenuTemplate - ldrh r2, [r4, 0x6] - lsls r2, 1 - adds r5, r2, r5 - ldrh r1, [r5] - add r2, r9 - ldrh r2, [r2] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - strh r0, [r1] - movs r1, 0x2 - bl bag_menu_print_cursor_ - movs r0, 0x2 - bl sub_810BAD8 - lsls r0, 24 - lsrs r0, 24 - bl sub_810BB74 - movs r0, 0x2 - bl sub_810BAD8 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, _0810AAE0 @ =gSaveBlock1Ptr - ldr r0, [r2] - adds r0, r7 - bl GetMoney - adds r1, r0, 0 - adds r0, r4, 0 - movs r2, 0 - bl PrintMoneyAmountInMoneyBox - movs r3, 0x8 - negs r3, r3 - add r10, r3 - add r6, r10 - ldr r0, _0810AAF0 @ =sub_810AAF4 - str r0, [r6] - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810AAD8: .4byte gTasks+0x8 -_0810AADC: .4byte gSpecialVar_ItemId -_0810AAE0: .4byte gSaveBlock1Ptr -_0810AAE4: .4byte gUnknown_203ACFC -_0810AAE8: .4byte gUnknown_203AD10 -_0810AAEC: .4byte gMultiuseListMenuTemplate -_0810AAF0: .4byte sub_810AAF4 - thumb_func_end sub_810A9D4 - - thumb_func_start sub_810AAF4 -sub_810AAF4: @ 810AAF4 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0810AB38 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0810AB0E - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810AB32 -_0810AB0E: - movs r0, 0x5 - bl PlaySE - movs r0, 0x2 - bl sub_810BA3C - movs r0, 0x2 - bl PutWindowTilemap - ldr r0, _0810AB3C @ =gUnknown_203AD10 - ldr r2, [r0] - ldrb r1, [r2, 0x5] - movs r0, 0x3F - ands r0, r1 - strb r0, [r2, 0x5] - adds r0, r4, 0 - bl sub_810A1F8 -_0810AB32: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810AB38: .4byte gMain -_0810AB3C: .4byte gUnknown_203AD10 - thumb_func_end sub_810AAF4 - - thumb_func_start sub_810AB40 -sub_810AB40: @ 810AB40 - push {r4,r5,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r4, r0, 3 - ldr r5, _0810AB64 @ =gTasks+0x8 - adds r1, r4, r5 - movs r0, 0x1 - strh r0, [r1, 0x10] - movs r3, 0x4 - ldrsh r0, [r1, r3] - cmp r0, 0x1 - bne _0810AB68 - adds r0, r2, 0 - bl sub_810AC40 - b _0810AB7A - .align 2, 0 -_0810AB64: .4byte gTasks+0x8 -_0810AB68: - ldrh r0, [r1, 0x2] - ldr r1, _0810AB80 @ =gUnknown_841638F - bl sub_810971C - adds r0, r5, 0 - subs r0, 0x8 - adds r0, r4, r0 - ldr r1, _0810AB84 @ =sub_810AB88 - str r1, [r0] -_0810AB7A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0810AB80: .4byte gUnknown_841638F -_0810AB84: .4byte sub_810AB88 - thumb_func_end sub_810AB40 - - thumb_func_start sub_810AB88 -sub_810AB88: @ 810AB88 - push {r4-r6,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r6, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0810ABB8 @ =gTasks+0x8 - adds r4, r0, r1 - adds r0, r4, 0 - adds r0, 0x10 - ldrh r1, [r4, 0x4] - bl AdjustQuantityAccordingToDPadInput - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810ABBC - movs r1, 0x10 - ldrsh r0, [r4, r1] - movs r1, 0x3 - bl sub_81097E4 - b _0810AC38 - .align 2, 0 -_0810ABB8: .4byte gTasks+0x8 -_0810ABBC: - ldr r0, _0810ABFC @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0810AC00 - movs r0, 0x5 - bl PlaySE - movs r0, 0x6 - bl sub_810BAD8 - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0 - bl sub_810BA3C - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - bl sub_8108978 - adds r0, r5, 0 - bl sub_810AC40 - b _0810AC38 - .align 2, 0 -_0810ABFC: .4byte gMain -_0810AC00: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0810AC38 - movs r0, 0x5 - bl PlaySE - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0 - bl sub_810BA3C - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldrb r0, [r4] - movs r1, 0x1 - bl bag_menu_print_cursor_ - bl sub_8108978 - adds r0, r6, 0 - bl sub_810910C -_0810AC38: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_810AB88 - - thumb_func_start sub_810AC40 -sub_810AC40: @ 810AC40 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x14 - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - mov r8, r0 - ldr r0, _0810ACCC @ =gTasks+0x8 - mov r9, r0 - mov r7, r8 - add r7, r9 - ldr r5, _0810ACD0 @ =gSpecialVar_ItemId - ldrh r0, [r5] - ldrh r1, [r7, 0x10] - bl AddPCItem - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1 - bne _0810ACEC - ldrh r2, [r5] - ldr r3, _0810ACD4 @ =0x0000ffff - movs r0, 0x1C - movs r1, 0 - bl ItemUse_SetQuestLogEvent - ldrh r0, [r5] - ldr r1, _0810ACD8 @ =gStringVar1 - bl CopyItemName - ldr r0, _0810ACDC @ =gStringVar2 - movs r2, 0x10 - ldrsh r1, [r7, r2] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r4, _0810ACE0 @ =gStringVar4 - ldr r1, _0810ACE4 @ =gUnknown_84163A7 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0x6 - movs r1, 0x3 - bl sub_810B9DC - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - str r1, [sp] - str r6, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - str r1, [sp, 0xC] - str r6, [sp, 0x10] - movs r1, 0x2 - adds r2, r4, 0 - movs r3, 0 - bl sub_810B8F0 - mov r0, r9 - subs r0, 0x8 - add r0, r8 - ldr r1, _0810ACE8 @ =sub_8109F44 - str r1, [r0] - b _0810ACF8 - .align 2, 0 -_0810ACCC: .4byte gTasks+0x8 -_0810ACD0: .4byte gSpecialVar_ItemId -_0810ACD4: .4byte 0x0000ffff -_0810ACD8: .4byte gStringVar1 -_0810ACDC: .4byte gStringVar2 -_0810ACE0: .4byte gStringVar4 -_0810ACE4: .4byte gUnknown_84163A7 -_0810ACE8: .4byte sub_8109F44 -_0810ACEC: - ldr r2, _0810AD08 @ =gUnknown_84163BB - ldr r3, _0810AD0C @ =sub_810A1D0 - adds r0, r4, 0 - movs r1, 0x2 - bl DisplayItemMessageInBag -_0810ACF8: - add sp, 0x14 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810AD08: .4byte gUnknown_84163BB -_0810AD0C: .4byte sub_810A1D0 - thumb_func_end sub_810AC40 - - thumb_func_start UseRegisteredKeyItemOnField -UseRegisteredKeyItemOnField: @ 810AD10 - push {r4-r6,lr} - bl InUnionRoom - cmp r0, 0x1 - bne _0810AD1E - movs r0, 0 - b _0810ADA0 -_0810AD1E: - bl DismissMapNamePopup - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - ldr r4, _0810AD80 @ =gSaveBlock1Ptr - ldr r0, [r4] - ldr r5, _0810AD84 @ =0x00000296 - adds r1, r0, r5 - ldrh r0, [r1] - cmp r0, 0 - beq _0810AD98 - movs r1, 0x1 - bl CheckBagHasItem - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1 - bne _0810AD90 - bl ScriptContext2_Enable - bl FreezeObjectEvents - bl sub_805C270 - bl sub_805C780 - ldr r2, _0810AD88 @ =gSpecialVar_ItemId - ldr r0, [r4] - adds r0, r5 - ldrh r1, [r0] - strh r1, [r2] - ldrh r0, [r0] - bl ItemId_GetFieldFunc - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0810AD8C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - strh r6, [r1, 0xE] - b _0810AD9E - .align 2, 0 -_0810AD80: .4byte gSaveBlock1Ptr -_0810AD84: .4byte 0x00000296 -_0810AD88: .4byte gSpecialVar_ItemId -_0810AD8C: .4byte gTasks -_0810AD90: - ldr r0, [r4] - adds r0, r5 - movs r1, 0 - strh r1, [r0] -_0810AD98: - ldr r0, _0810ADA8 @ =gUnknown_81A77A0 - bl ScriptContext1_SetupScript -_0810AD9E: - movs r0, 0x1 -_0810ADA0: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0810ADA8: .4byte gUnknown_81A77A0 - thumb_func_end UseRegisteredKeyItemOnField - - thumb_func_start sub_810ADAC -sub_810ADAC: @ 810ADAC - push {lr} - ldr r0, _0810ADCC @ =gUnknown_203ACFC - ldrb r0, [r0, 0x4] - cmp r0, 0x6 - beq _0810ADC6 - cmp r0, 0x8 - beq _0810ADC6 - cmp r0, 0x7 - beq _0810ADC6 - cmp r0, 0x9 - beq _0810ADC6 - cmp r0, 0xA - bne _0810ADD0 -_0810ADC6: - movs r0, 0x1 - b _0810ADD2 - .align 2, 0 -_0810ADCC: .4byte gUnknown_203ACFC -_0810ADD0: - movs r0, 0 -_0810ADD2: - pop {r1} - bx r1 - thumb_func_end sub_810ADAC - - thumb_func_start sub_810ADD8 -sub_810ADD8: @ 810ADD8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r5, _0810AEBC @ =gUnknown_203AD2C - movs r0, 0xB2 - lsls r0, 1 - bl AllocZeroed - str r0, [r5] - ldr r4, _0810AEC0 @ =gSaveBlock1Ptr - ldr r1, [r4] - movs r2, 0xC4 - lsls r2, 2 - adds r1, r2 - movs r2, 0xA8 - bl memcpy - ldr r0, [r5] - adds r0, 0xA8 - ldr r1, [r4] - movs r3, 0xEE - lsls r3, 2 - adds r1, r3 - movs r2, 0x78 - bl memcpy - ldr r0, [r5] - movs r1, 0x90 - lsls r1, 1 - adds r0, r1 - ldr r1, [r4] - movs r2, 0x86 - lsls r2, 3 - adds r1, r2 - movs r2, 0x34 - bl memcpy - ldr r2, [r5] - ldr r0, [r4] - ldr r3, _0810AEC4 @ =0x00000296 - adds r0, r3 - ldrh r1, [r0] - movs r3, 0xB0 - lsls r3, 1 - adds r0, r2, r3 - strh r1, [r0] - ldr r1, _0810AEC8 @ =gUnknown_203ACFC - ldrh r0, [r1, 0x6] - adds r3, 0x2 - adds r2, r3 - strh r0, [r2] - movs r4, 0 - mov r8, r5 - movs r7, 0xAA - lsls r7, 1 - movs r0, 0xE - adds r0, r1 - mov r12, r0 - movs r6, 0xAD - lsls r6, 1 - adds r5, r1, 0 - adds r5, 0x8 -_0810AE54: - mov r1, r8 - ldr r2, [r1] - lsls r3, r4, 1 - adds r0, r2, r7 - adds r0, r3 - ldrh r1, [r5] - strh r1, [r0] - adds r2, r6 - adds r2, r3 - mov r3, r12 - ldrh r0, [r3] - strh r0, [r2] - movs r0, 0x2 - add r12, r0 - adds r5, 0x2 - adds r4, 0x1 - cmp r4, 0x2 - bls _0810AE54 - ldr r4, _0810AEC0 @ =gSaveBlock1Ptr - ldr r0, [r4] - movs r1, 0xC4 - lsls r1, 2 - adds r0, r1 - movs r1, 0x2A - bl ClearItemSlots - ldr r0, [r4] - movs r2, 0xEE - lsls r2, 2 - adds r0, r2 - movs r1, 0x1E - bl ClearItemSlots - ldr r0, [r4] - movs r3, 0x86 - lsls r3, 3 - adds r0, r3 - movs r1, 0xD - bl ClearItemSlots - ldr r0, [r4] - ldr r1, _0810AEC4 @ =0x00000296 - adds r0, r1 - movs r1, 0 - strh r1, [r0] - bl sub_81089BC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810AEBC: .4byte gUnknown_203AD2C -_0810AEC0: .4byte gSaveBlock1Ptr -_0810AEC4: .4byte 0x00000296 -_0810AEC8: .4byte gUnknown_203ACFC - thumb_func_end sub_810ADD8 - - thumb_func_start sub_810AECC -sub_810AECC: @ 810AECC - push {r4-r7,lr} - ldr r4, _0810AF64 @ =gSaveBlock1Ptr - ldr r0, [r4] - movs r1, 0xC4 - lsls r1, 2 - adds r0, r1 - ldr r5, _0810AF68 @ =gUnknown_203AD2C - ldr r1, [r5] - movs r2, 0xA8 - bl memcpy - ldr r0, [r4] - movs r2, 0xEE - lsls r2, 2 - adds r0, r2 - ldr r1, [r5] - adds r1, 0xA8 - movs r2, 0x78 - bl memcpy - ldr r0, [r4] - movs r3, 0x86 - lsls r3, 3 - adds r0, r3 - ldr r1, [r5] - movs r2, 0x90 - lsls r2, 1 - adds r1, r2 - movs r2, 0x34 - bl memcpy - ldr r1, [r4] - ldr r2, [r5] - movs r3, 0xB0 - lsls r3, 1 - adds r0, r2, r3 - ldrh r0, [r0] - ldr r3, _0810AF6C @ =0x00000296 - adds r1, r3 - strh r0, [r1] - ldr r1, _0810AF70 @ =gUnknown_203ACFC - movs r3, 0xB1 - lsls r3, 1 - adds r0, r2, r3 - ldrh r0, [r0] - strh r0, [r1, 0x6] - movs r4, 0 - mov r12, r5 - adds r3, r1, 0 - adds r3, 0x8 - mov r7, r12 - movs r6, 0xAA - lsls r6, 1 - movs r5, 0xAD - lsls r5, 1 -_0810AF3A: - lsls r2, r4, 1 - ldr r1, [r7] - adds r0, r1, r6 - adds r0, r2 - ldrh r0, [r0] - strh r0, [r3] - adds r1, r5 - adds r1, r2 - ldrh r0, [r1] - strh r0, [r3, 0x6] - adds r3, 0x2 - adds r4, 0x1 - cmp r4, 0x2 - bls _0810AF3A - mov r1, r12 - ldr r0, [r1] - bl Free - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0810AF64: .4byte gSaveBlock1Ptr -_0810AF68: .4byte gUnknown_203AD2C -_0810AF6C: .4byte 0x00000296 -_0810AF70: .4byte gUnknown_203ACFC - thumb_func_end sub_810AECC - - thumb_func_start sub_810AF74 -sub_810AF74: @ 810AF74 - push {lr} - bl sub_810ADD8 - movs r0, 0xD - movs r1, 0x1 - bl AddBagItem - movs r0, 0x4 - movs r1, 0x1 - bl AddBagItem - ldr r2, _0810AF98 @ =SetCB2ToReshowScreenAfterMenu2 - movs r0, 0x6 - movs r1, 0 - bl GoToBagMenu - pop {r0} - bx r0 - .align 2, 0 -_0810AF98: .4byte SetCB2ToReshowScreenAfterMenu2 - thumb_func_end sub_810AF74 - - thumb_func_start sub_810AF9C -sub_810AF9C: @ 810AF9C - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r6, r0, 3 - ldr r7, _0810AFCC @ =gTasks+0x8 - adds r5, r6, r7 - ldr r0, _0810AFD0 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0810B06A - movs r0, 0x10 - ldrsh r1, [r5, r0] - cmp r1, 0xCC - beq _0810AFE4 - cmp r1, 0xCC - bgt _0810AFD4 - cmp r1, 0x66 - beq _0810AFE4 - b _0810B064 - .align 2, 0 -_0810AFCC: .4byte gTasks+0x8 -_0810AFD0: .4byte gPaletteFade -_0810AFD4: - movs r0, 0x99 - lsls r0, 1 - cmp r1, r0 - beq _0810AFF6 - adds r0, 0x66 - cmp r1, r0 - beq _0810B01C - b _0810B064 -_0810AFE4: - movs r0, 0xF6 - bl PlaySE - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_81091D0 - b _0810B064 -_0810AFF6: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r5] - movs r1, 0x2 - bl bag_menu_print_cursor_ - movs r0, 0x1 - bl sub_8109140 - ldr r1, _0810B018 @ =gSpecialVar_ItemId - movs r0, 0x4 - strh r0, [r1] - adds r0, r4, 0 - bl sub_8109890 - b _0810B064 - .align 2, 0 -_0810B018: .4byte gSpecialVar_ItemId -_0810B01C: - movs r0, 0x5 - bl PlaySE - movs r0, 0xA - bl sub_810BA3C - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x1 - bl CopyWindowToVram - ldrb r0, [r5] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - bl sub_810AECC - bl sub_8108CB4 - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0810B060 @ =sub_810B070 - str r1, [r0] - b _0810B06A - .align 2, 0 -_0810B060: .4byte sub_810B070 -_0810B064: - ldrh r0, [r5, 0x10] - adds r0, 0x1 - strh r0, [r5, 0x10] -_0810B06A: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810AF9C - - thumb_func_start sub_810B070 -sub_810B070: @ 810B070 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - negs r0, r0 - movs r1, 0x2 - negs r1, r1 - movs r2, 0 - str r2, [sp] - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0810B0A4 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810B0A8 @ =sub_810B0AC - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810B0A4: .4byte gTasks -_0810B0A8: .4byte sub_810B0AC - thumb_func_end sub_810B070 - - thumb_func_start sub_810B0AC -sub_810B0AC: @ 810B0AC - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0810B0DC @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0810B0FE - ldr r0, _0810B0E0 @ =sub_8108CFC - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810B0FE - ldr r0, _0810B0E4 @ =gUnknown_203AD10 - ldr r0, [r0] - ldr r0, [r0] - cmp r0, 0 - beq _0810B0E8 - bl SetMainCallback2 - b _0810B0F0 - .align 2, 0 -_0810B0DC: .4byte gPaletteFade -_0810B0E0: .4byte sub_8108CFC -_0810B0E4: .4byte gUnknown_203AD10 -_0810B0E8: - ldr r0, _0810B104 @ =gUnknown_203ACFC - ldr r0, [r0] - bl SetMainCallback2 -_0810B0F0: - bl sub_8108978 - bl sub_8108B04 - adds r0, r4, 0 - bl DestroyTask -_0810B0FE: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810B104: .4byte gUnknown_203ACFC - thumb_func_end sub_810B0AC - - thumb_func_start sub_810B108 -sub_810B108: @ 810B108 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_810ADD8 - movs r0, 0xD - movs r1, 0x1 - bl AddBagItem - movs r0, 0xE - movs r1, 0x1 - bl AddBagItem - movs r0, 0xB7 - lsls r0, 1 - movs r1, 0x1 - bl AddBagItem - movs r0, 0xB6 - lsls r0, 1 - movs r1, 0x1 - bl AddBagItem - movs r0, 0x4 - movs r1, 0x5 - bl AddBagItem - movs r0, 0x3 - movs r1, 0x1 - bl AddBagItem - movs r0, 0x8 - movs r1, 0x1 - bl AddBagItem - cmp r4, 0x7 - beq _0810B160 - cmp r4, 0x8 - beq _0810B16C - ldr r2, _0810B15C @ =CB2_ReturnToTeachyTV - adds r0, r4, 0 - b _0810B170 - .align 2, 0 -_0810B15C: .4byte CB2_ReturnToTeachyTV -_0810B160: - ldr r2, _0810B168 @ =SetCB2ToReshowScreenAfterMenu2 - movs r0, 0x7 - b _0810B170 - .align 2, 0 -_0810B168: .4byte SetCB2ToReshowScreenAfterMenu2 -_0810B16C: - ldr r2, _0810B17C @ =SetCB2ToReshowScreenAfterMenu2 - movs r0, 0x8 -_0810B170: - movs r1, 0 - bl GoToBagMenu - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0810B17C: .4byte SetCB2ToReshowScreenAfterMenu2 - thumb_func_end sub_810B108 - - thumb_func_start sub_810B180 -sub_810B180: @ 810B180 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0810B198 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _0810B19C - movs r0, 0 - b _0810B1BC - .align 2, 0 -_0810B198: .4byte gMain -_0810B19C: - bl sub_810AECC - bl SetTeachyTvControllerModeToResume - ldr r0, _0810B1C4 @ =gUnknown_203AD10 - ldr r1, [r0] - ldr r0, _0810B1C8 @ =CB2_ReturnToTeachyTV - str r0, [r1] - ldr r1, _0810B1CC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0810B1D0 @ =sub_810B070 - str r1, [r0] - movs r0, 0x1 -_0810B1BC: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0810B1C4: .4byte gUnknown_203AD10 -_0810B1C8: .4byte CB2_ReturnToTeachyTV -_0810B1CC: .4byte gTasks -_0810B1D0: .4byte sub_810B070 - thumb_func_end sub_810B180 - - thumb_func_start sub_810B1D4 -sub_810B1D4: @ 810B1D4 - push {r4-r7,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r5, r0, 3 - ldr r6, _0810B220 @ =gTasks+0x8 - adds r7, r5, r6 - ldr r0, _0810B224 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0810B1F2 - b _0810B372 -_0810B1F2: - adds r0, r4, 0 - bl sub_810B180 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810B202 - b _0810B372 -_0810B202: - movs r0, 0x10 - ldrsh r1, [r7, r0] - movs r0, 0xCC - lsls r0, 1 - cmp r1, r0 - beq _0810B29E - cmp r1, r0 - bgt _0810B232 - cmp r1, 0xCC - beq _0810B266 - cmp r1, 0xCC - bgt _0810B228 - cmp r1, 0x66 - beq _0810B254 - b _0810B36C - .align 2, 0 -_0810B220: .4byte gTasks+0x8 -_0810B224: .4byte gPaletteFade -_0810B228: - movs r0, 0x99 - lsls r0, 1 - cmp r1, r0 - beq _0810B290 - b _0810B36C -_0810B232: - movs r0, 0x99 - lsls r0, 2 - cmp r1, r0 - beq _0810B32C - cmp r1, r0 - bgt _0810B246 - subs r0, 0x66 - cmp r1, r0 - beq _0810B32C - b _0810B36C -_0810B246: - ldr r0, _0810B250 @ =0x000002ca - cmp r1, r0 - bne _0810B24E - b _0810B344 -_0810B24E: - b _0810B36C - .align 2, 0 -_0810B250: .4byte 0x000002ca -_0810B254: - movs r0, 0xF6 - bl PlaySE - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_81091D0 - b _0810B36C -_0810B266: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r7] - movs r1, 0x2 - bl bag_menu_print_cursor_ - movs r0, 0x1 - bl sub_8109140 - ldr r1, _0810B28C @ =gSpecialVar_ItemId - movs r2, 0xB7 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - adds r0, r4, 0 - bl sub_8109890 - b _0810B36C - .align 2, 0 -_0810B28C: .4byte gSpecialVar_ItemId -_0810B290: - movs r0, 0x5 - bl PlaySE - movs r0, 0x1 - bl Menu_MoveCursorNoWrapAround - b _0810B36C -_0810B29E: - movs r0, 0x5 - bl PlaySE - ldr r0, _0810B318 @ =gSaveBlock1Ptr - ldr r0, [r0] - ldr r1, _0810B31C @ =gSpecialVar_ItemId - ldrh r1, [r1] - ldr r2, _0810B320 @ =0x00000296 - adds r0, r2 - strh r1, [r0] - movs r0, 0xA - bl sub_810BA3C - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - ldrb r0, [r7] - ldr r4, _0810B324 @ =gUnknown_203ACFC - ldrh r2, [r4, 0x6] - lsls r2, 1 - adds r5, r4, 0 - adds r5, 0xE - adds r1, r2, r5 - adds r6, r4, 0 - adds r6, 0x8 - adds r2, r6 - bl DestroyListMenuTask - ldrb r0, [r4, 0x6] - bl sub_810842C - ldr r0, _0810B328 @ =gMultiuseListMenuTemplate - ldrh r2, [r4, 0x6] - lsls r2, 1 - adds r5, r2, r5 - ldrh r1, [r5] - adds r2, r6 - ldrh r2, [r2] - bl ListMenuInit - lsls r0, 24 - lsrs r0, 24 - strh r0, [r7] - movs r0, 0 - bl sub_8109140 - ldrb r0, [r7] - movs r1, 0x1 - bl bag_menu_print_cursor_ - movs r0, 0 - movs r1, 0x1 - bl CopyWindowToVram - b _0810B36C - .align 2, 0 -_0810B318: .4byte gSaveBlock1Ptr -_0810B31C: .4byte gSpecialVar_ItemId -_0810B320: .4byte 0x00000296 -_0810B324: .4byte gUnknown_203ACFC -_0810B328: .4byte gMultiuseListMenuTemplate -_0810B32C: - ldr r1, _0810B340 @ =gMain - movs r0, 0 - strh r0, [r1, 0x2E] - movs r0, 0x80 - strh r0, [r1, 0x30] - ldrb r0, [r7] - bl ListMenu_ProcessInput - b _0810B36C - .align 2, 0 -_0810B340: .4byte gMain -_0810B344: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r7] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - bl sub_810AECC - bl sub_8108CB4 - adds r0, r6, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, _0810B368 @ =sub_810B070 - str r1, [r0] - b _0810B372 - .align 2, 0 -_0810B368: .4byte sub_810B070 -_0810B36C: - ldrh r0, [r7, 0x10] - adds r0, 0x1 - strh r0, [r7, 0x10] -_0810B372: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810B1D4 - - thumb_func_start sub_810B378 -sub_810B378: @ 810B378 - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r6, r0, 3 - ldr r7, _0810B3B0 @ =gTasks+0x8 - adds r4, r6, r7 - ldr r0, _0810B3B4 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0810B396 - b _0810B4B6 -_0810B396: - adds r0, r5, 0 - bl sub_810B180 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810B3B8 - bl FreeRestoreBattleData - bl LoadPlayerParty - b _0810B4B6 - .align 2, 0 -_0810B3B0: .4byte gTasks+0x8 -_0810B3B4: .4byte gPaletteFade -_0810B3B8: - movs r0, 0x10 - ldrsh r1, [r4, r0] - movs r0, 0xCC - lsls r0, 1 - cmp r1, r0 - beq _0810B41A - cmp r1, r0 - bgt _0810B3E0 - cmp r1, 0xCC - beq _0810B408 - cmp r1, 0xCC - bgt _0810B3D6 - cmp r1, 0x66 - beq _0810B408 - b _0810B4B0 -_0810B3D6: - movs r0, 0x99 - lsls r0, 1 - cmp r1, r0 - beq _0810B41A - b _0810B4B0 -_0810B3E0: - movs r0, 0x99 - lsls r0, 2 - cmp r1, r0 - beq _0810B428 - cmp r1, r0 - bgt _0810B3F4 - subs r0, 0x66 - cmp r1, r0 - beq _0810B428 - b _0810B4B0 -_0810B3F4: - ldr r0, _0810B404 @ =0x000002ca - cmp r1, r0 - beq _0810B440 - adds r0, 0x66 - cmp r1, r0 - beq _0810B468 - b _0810B4B0 - .align 2, 0 -_0810B404: .4byte 0x000002ca -_0810B408: - movs r0, 0xF6 - bl PlaySE - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_81091D0 - b _0810B4B0 -_0810B41A: - ldr r1, _0810B424 @ =gMain - movs r0, 0 - strh r0, [r1, 0x2E] - movs r0, 0x80 - b _0810B430 - .align 2, 0 -_0810B424: .4byte gMain -_0810B428: - ldr r1, _0810B43C @ =gMain - movs r0, 0 - strh r0, [r1, 0x2E] - movs r0, 0x40 -_0810B430: - strh r0, [r1, 0x30] - ldrb r0, [r4] - bl ListMenu_ProcessInput - b _0810B4B0 - .align 2, 0 -_0810B43C: .4byte gMain -_0810B440: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r4] - movs r1, 0x2 - bl bag_menu_print_cursor_ - movs r0, 0x1 - bl sub_8109140 - ldr r1, _0810B464 @ =gSpecialVar_ItemId - movs r0, 0x4 - strh r0, [r1] - adds r0, r5, 0 - bl sub_8109890 - b _0810B4B0 - .align 2, 0 -_0810B464: .4byte gSpecialVar_ItemId -_0810B468: - movs r0, 0x5 - bl PlaySE - movs r0, 0xA - bl sub_810BA3C - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x1 - bl CopyWindowToVram - ldrb r0, [r4] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - bl sub_810AECC - bl sub_8108CB4 - adds r0, r7, 0 - subs r0, 0x8 - adds r0, r6, r0 - ldr r1, _0810B4AC @ =sub_810B070 - str r1, [r0] - b _0810B4B6 - .align 2, 0 -_0810B4AC: .4byte sub_810B070 -_0810B4B0: - ldrh r0, [r4, 0x10] - adds r0, 0x1 - strh r0, [r4, 0x10] -_0810B4B6: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810B378 - - thumb_func_start sub_810B4BC -sub_810B4BC: @ 810B4BC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - mov r8, r0 - ldr r0, _0810B504 @ =gTasks+0x8 - mov r9, r0 - mov r5, r8 - add r5, r9 - ldr r0, _0810B508 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r7, 0x80 - adds r0, r7, 0 - ands r0, r1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0 - bne _0810B5C6 - adds r0, r4, 0 - bl sub_810B180 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0810B50C - bl FreeRestoreBattleData - bl LoadPlayerParty - b _0810B5C6 - .align 2, 0 -_0810B504: .4byte gTasks+0x8 -_0810B508: .4byte gPaletteFade -_0810B50C: - movs r0, 0x10 - ldrsh r1, [r5, r0] - cmp r1, 0xCC - beq _0810B53C - cmp r1, 0xCC - bgt _0810B51E - cmp r1, 0x66 - beq _0810B528 - b _0810B5C0 -_0810B51E: - movs r0, 0x99 - lsls r0, 1 - cmp r1, r0 - beq _0810B564 - b _0810B5C0 -_0810B528: - ldr r0, _0810B538 @ =gMain - strh r6, [r0, 0x2E] - strh r7, [r0, 0x30] - ldrb r0, [r5] - bl ListMenu_ProcessInput - b _0810B5C0 - .align 2, 0 -_0810B538: .4byte gMain -_0810B53C: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r5] - movs r1, 0x2 - bl bag_menu_print_cursor_ - movs r0, 0x1 - bl sub_8109140 - ldr r1, _0810B560 @ =gSpecialVar_ItemId - movs r0, 0xE - strh r0, [r1] - adds r0, r4, 0 - bl sub_8109890 - b _0810B5C0 - .align 2, 0 -_0810B560: .4byte gSpecialVar_ItemId -_0810B564: - movs r0, 0x5 - bl PlaySE - movs r0, 0xA - bl sub_810BA3C - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x1 - bl CopyWindowToVram - ldrb r0, [r5] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - bl sub_810AECC - ldr r1, _0810B5B0 @ =gItemUseCB - ldr r0, _0810B5B4 @ =ItemUseCB_MedicineStep - str r0, [r1] - ldr r0, _0810B5B8 @ =ChooseMonForInBattleItem - bl ItemMenu_SetExitCallback - mov r0, r9 - subs r0, 0x8 - add r0, r8 - ldr r1, _0810B5BC @ =sub_810B070 - str r1, [r0] - b _0810B5C6 - .align 2, 0 -_0810B5B0: .4byte gItemUseCB -_0810B5B4: .4byte ItemUseCB_MedicineStep -_0810B5B8: .4byte ChooseMonForInBattleItem -_0810B5BC: .4byte sub_810B070 -_0810B5C0: - ldrh r0, [r5, 0x10] - adds r0, 0x1 - strh r0, [r5, 0x10] -_0810B5C6: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810B4BC - - thumb_func_start sub_810B5D4 -sub_810B5D4: @ 810B5D4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - mov r8, r0 - ldr r0, _0810B624 @ =gTasks+0x8 - mov r9, r0 - mov r6, r8 - add r6, r9 - ldr r0, _0810B628 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r7, 0x80 - adds r0, r7, 0 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0810B6E6 - adds r0, r4, 0 - bl sub_810B180 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0810B6E6 - movs r2, 0x10 - ldrsh r1, [r6, r2] - cmp r1, 0xCC - beq _0810B64E - cmp r1, 0xCC - bgt _0810B62C - cmp r1, 0x66 - beq _0810B63C - b _0810B6E0 - .align 2, 0 -_0810B624: .4byte gTasks+0x8 -_0810B628: .4byte gPaletteFade -_0810B62C: - movs r0, 0x99 - lsls r0, 1 - cmp r1, r0 - beq _0810B660 - adds r0, 0x66 - cmp r1, r0 - beq _0810B68C - b _0810B6E0 -_0810B63C: - movs r0, 0xF6 - bl PlaySE - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - bl sub_81091D0 - b _0810B6E0 -_0810B64E: - ldr r0, _0810B65C @ =gMain - strh r5, [r0, 0x2E] - strh r7, [r0, 0x30] - ldrb r0, [r6] - bl ListMenu_ProcessInput - b _0810B6E0 - .align 2, 0 -_0810B65C: .4byte gMain -_0810B660: - movs r0, 0x5 - bl PlaySE - ldrb r0, [r6] - movs r1, 0x2 - bl bag_menu_print_cursor_ - movs r0, 0x1 - bl sub_8109140 - ldr r1, _0810B688 @ =gSpecialVar_ItemId - movs r2, 0xB6 - lsls r2, 1 - adds r0, r2, 0 - strh r0, [r1] - adds r0, r4, 0 - bl sub_8109890 - b _0810B6E0 - .align 2, 0 -_0810B688: .4byte gSpecialVar_ItemId -_0810B68C: - movs r0, 0x5 - bl PlaySE - movs r0, 0xA - bl sub_810BA3C - movs r0, 0x6 - bl sub_810BA3C - movs r0, 0 - bl PutWindowTilemap - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x1 - bl CopyWindowToVram - ldrb r0, [r6] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - bl sub_810AECC - ldr r0, _0810B6D4 @ =gUnknown_203AD10 - ldr r1, [r0] - ldr r0, _0810B6D8 @ =PokeDude_InitTMCase - str r0, [r1] - mov r0, r9 - subs r0, 0x8 - add r0, r8 - ldr r1, _0810B6DC @ =sub_810B070 - str r1, [r0] - b _0810B6E6 - .align 2, 0 -_0810B6D4: .4byte gUnknown_203AD10 -_0810B6D8: .4byte PokeDude_InitTMCase -_0810B6DC: .4byte sub_810B070 -_0810B6E0: - ldrh r0, [r6, 0x10] - adds r0, 0x1 - strh r0, [r6, 0x10] -_0810B6E6: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_810B5D4 - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/macros/event.inc b/asm/macros/event.inc index 1be118154..7e95af9f4 100644 --- a/asm/macros/event.inc +++ b/asm/macros/event.inc @@ -1633,3 +1633,10 @@ compare VAR_RESULT, 2 goto_if_eq \dest .endm + + .macro braillemessage_wait text:req + setvar VAR_0x8006, 0 + braillemessage \text + getbraillestringwidth \text + call EventScript_BrailleCursorWaitButton + .endm diff --git a/asm/overworld.s b/asm/overworld.s index 0b2e99ebf..92ffbd038 100644 --- a/asm/overworld.s +++ b/asm/overworld.s @@ -4757,7 +4757,7 @@ _0805713C: .4byte gPlayerAvatar thumb_func_start sub_8057140 sub_8057140: @ 8057140 push {lr} - ldr r0, _08057158 @ =gUnknown_300502C + ldr r0, _08057158 @ =gLocalLinkPlayerId ldrb r0, [r0] bl sub_8058504 lsls r0, 24 @@ -4766,13 +4766,13 @@ sub_8057140: @ 8057140 pop {r0} bx r0 .align 2, 0 -_08057158: .4byte gUnknown_300502C +_08057158: .4byte gLocalLinkPlayerId thumb_func_end sub_8057140 thumb_func_start sub_805715C sub_805715C: @ 805715C push {lr} - ldr r0, _08057174 @ =gUnknown_300502C + ldr r0, _08057174 @ =gLocalLinkPlayerId ldrb r0, [r0] bl sub_8058504 lsls r0, 24 @@ -4781,7 +4781,7 @@ sub_805715C: @ 805715C pop {r0} bx r0 .align 2, 0 -_08057174: .4byte gUnknown_300502C +_08057174: .4byte gLocalLinkPlayerId thumb_func_end sub_805715C thumb_func_start sub_8057178 @@ -4794,7 +4794,7 @@ sub_8057178: @ 8057178 adds r1, r4, 0 bl GetCameraFocusCoords mov r2, sp - ldr r0, _080571A4 @ =gUnknown_300502C + ldr r0, _080571A4 @ =gLocalLinkPlayerId ldrb r1, [r0] ldrh r0, [r2] adds r0, r1 @@ -4807,7 +4807,7 @@ sub_8057178: @ 8057178 pop {r0} bx r0 .align 2, 0 -_080571A4: .4byte gUnknown_300502C +_080571A4: .4byte gLocalLinkPlayerId thumb_func_end sub_8057178 thumb_func_start sub_80571A8 @@ -4823,13 +4823,13 @@ sub_80571A8: @ 80571A8 bl GetCameraFocusCoords mov r3, sp mov r2, sp - ldr r0, _08057224 @ =gUnknown_300502C + ldr r0, _08057224 @ =gLocalLinkPlayerId ldrb r1, [r0] ldrh r0, [r2] subs r0, r1 strh r0, [r3] movs r6, 0 - ldr r0, _08057228 @ =gUnknown_3005030 + ldr r0, _08057228 @ =gFieldLinkPlayerCount mov r8, r4 ldrb r0, [r0] cmp r6, r0 @@ -4859,7 +4859,7 @@ _080571D8: adds r0, r6, 0x1 lsls r0, 16 lsrs r6, r0, 16 - ldr r0, _08057228 @ =gUnknown_3005030 + ldr r0, _08057228 @ =gFieldLinkPlayerCount ldrb r0, [r0] cmp r6, r0 bcc _080571D8 @@ -4872,8 +4872,8 @@ _08057212: pop {r0} bx r0 .align 2, 0 -_08057224: .4byte gUnknown_300502C -_08057228: .4byte gUnknown_3005030 +_08057224: .4byte gLocalLinkPlayerId +_08057228: .4byte gFieldLinkPlayerCount _0805722C: .4byte gLinkPlayers thumb_func_end sub_80571A8 @@ -4881,7 +4881,7 @@ _0805722C: .4byte gLinkPlayers sub_8057230: @ 8057230 push {r4,r5,lr} movs r4, 0 - ldr r0, _08057264 @ =gUnknown_3005030 + ldr r0, _08057264 @ =gFieldLinkPlayerCount ldrb r0, [r0] cmp r4, r0 bcs _0805725E @@ -4898,7 +4898,7 @@ _0805723E: adds r0, r4, 0x1 lsls r0, 16 lsrs r4, r0, 16 - ldr r0, _08057264 @ =gUnknown_3005030 + ldr r0, _08057264 @ =gFieldLinkPlayerCount ldrb r0, [r0] cmp r4, r0 bcc _0805723E @@ -4907,7 +4907,7 @@ _0805725E: pop {r0} bx r0 .align 2, 0 -_08057264: .4byte gUnknown_3005030 +_08057264: .4byte gFieldLinkPlayerCount _08057268: .4byte gLinkPlayers thumb_func_end sub_8057230 @@ -5647,7 +5647,7 @@ c1_link_related: @ 8057884 cmp r0, 0 bne _080578C0 _0805789E: - ldr r0, _080578CC @ =gUnknown_300502C + ldr r0, _080578CC @ =gLocalLinkPlayerId ldrb r4, [r0] ldr r0, _080578D0 @ =gLinkPartnersHeldKeys adds r1, r4, 0 @@ -5666,7 +5666,7 @@ _080578C0: bx r0 .align 2, 0 _080578C8: .4byte gWirelessCommType -_080578CC: .4byte gUnknown_300502C +_080578CC: .4byte gLocalLinkPlayerId _080578D0: .4byte gLinkPartnersHeldKeys _080578D4: .4byte gUnknown_3000E84 thumb_func_end c1_link_related @@ -5753,7 +5753,7 @@ sub_8057954: @ 8057954 push {r4,lr} lsls r0, 16 lsrs r3, r0, 16 - ldr r0, _08057974 @ =gUnknown_3005030 + ldr r0, _08057974 @ =gFieldLinkPlayerCount ldrb r2, [r0] movs r1, 0 cmp r1, r2 @@ -5767,7 +5767,7 @@ _08057966: movs r0, 0 b _08057984 .align 2, 0 -_08057974: .4byte gUnknown_3005030 +_08057974: .4byte gFieldLinkPlayerCount _08057978: .4byte gUnknown_3000E80 _0805797C: adds r1, 0x1 @@ -5786,7 +5786,7 @@ sub_805798C: @ 805798C push {r4,lr} lsls r0, 16 lsrs r3, r0, 16 - ldr r0, _080579AC @ =gUnknown_3005030 + ldr r0, _080579AC @ =gFieldLinkPlayerCount ldrb r2, [r0] movs r1, 0 cmp r1, r2 @@ -5800,7 +5800,7 @@ _0805799E: movs r0, 0x1 b _080579BC .align 2, 0 -_080579AC: .4byte gUnknown_3005030 +_080579AC: .4byte gFieldLinkPlayerCount _080579B0: .4byte gUnknown_3000E80 _080579B4: adds r1, 0x1 @@ -6499,7 +6499,7 @@ sub_8057EC0: @ 8057EC0 cmp r2, r1 bne _08057EE6 ldr r1, _08057F08 @ =gUnknown_3000E80 - ldr r0, _08057F0C @ =gUnknown_300502C + ldr r0, _08057F0C @ =gLocalLinkPlayerId ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -6511,7 +6511,7 @@ _08057EE6: cmp r1, r0 bne _08057F14 ldr r1, _08057F08 @ =gUnknown_3000E80 - ldr r0, _08057F0C @ =gUnknown_300502C + ldr r0, _08057F0C @ =gLocalLinkPlayerId ldrb r0, [r0] adds r0, r1 ldrb r0, [r0] @@ -6524,7 +6524,7 @@ _08057EFC: _08057F00: .4byte gUnknown_3000E84 _08057F04: .4byte sub_8057E1C _08057F08: .4byte gUnknown_3000E80 -_08057F0C: .4byte gUnknown_300502C +_08057F0C: .4byte gLocalLinkPlayerId _08057F10: .4byte sub_8057E10 _08057F14: movs r0, 0x82 diff --git a/asm/pokemon_storage_system.s b/asm/pokemon_storage_system.s index 358ea8b32..115c9567b 100644 --- a/asm/pokemon_storage_system.s +++ b/asm/pokemon_storage_system.s @@ -1619,7 +1619,7 @@ _0808C594: .4byte gUnknown_8418690 _0808C598: movs r0, 0x1 movs r1, 0 - bl fade_screen + bl FadeScreen movs r0, 0x4 strh r0, [r5, 0x8] b _0808C69C @@ -22001,7 +22001,7 @@ GetItemIconPic: @ 8096674 lsls r0, 16 lsrs r0, 16 movs r1, 0 - bl sub_8098974 + bl GetItemIconGfxPtr pop {r1} bx r1 thumb_func_end GetItemIconPic @@ -22012,7 +22012,7 @@ GetItemIconPalette: @ 8096684 lsls r0, 16 lsrs r0, 16 movs r1, 0x1 - bl sub_8098974 + bl GetItemIconGfxPtr pop {r1} bx r1 thumb_func_end GetItemIconPalette diff --git a/asm/script_movement.s b/asm/script_movement.s index 7a7adec6c..7b3a70a25 100644 --- a/asm/script_movement.s +++ b/asm/script_movement.s @@ -482,7 +482,7 @@ _0809777C: lsls r0, 2 ldr r1, _080977A8 @ =gObjectEvents adds r0, r1 - bl npc_sync_anim_pause_bits + bl UnfreezeObjectEvent _08097792: adds r0, r5, 0x1 lsls r0, 24 diff --git a/asm/union_room.s b/asm/union_room.s deleted file mode 100644 index cd549c173..000000000 --- a/asm/union_room.s +++ /dev/null @@ -1,11147 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_811586C -sub_811586C: @ 811586C - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r1, 0 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r5, r2, 24 - adds r0, r6, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - lsls r4, 8 - movs r0, 0x80 - lsls r0, 3 - cmp r4, r0 - beq _081158BC - cmp r4, r0 - bgt _0811589E - movs r0, 0x80 - lsls r0, 2 - cmp r4, r0 - beq _081158B0 - b _0811590E -_0811589E: - movs r0, 0x94 - lsls r0, 6 - cmp r4, r0 - beq _081158CC - movs r0, 0xD4 - lsls r0, 6 - cmp r4, r0 - beq _081158F0 - b _0811590E -_081158B0: - ldr r1, _081158B8 @ =gUnknown_845742C - subs r0, r5, 0x1 - lsls r0, 2 - b _081158D4 - .align 2, 0 -_081158B8: .4byte gUnknown_845742C -_081158BC: - ldr r1, _081158C8 @ =gUnknown_845742C - subs r0, r5, 0x1 - lsls r0, 2 - adds r1, 0x14 - b _081158D4 - .align 2, 0 -_081158C8: .4byte gUnknown_845742C -_081158CC: - ldr r1, _081158EC @ =gUnknown_845742C - subs r0, r5, 0x1 - lsls r0, 2 - adds r1, 0x28 -_081158D4: - adds r0, r1 - ldr r2, [r0] - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r6, 0 - movs r1, 0x2 - movs r3, 0 - bl sub_811A444 - b _0811590E - .align 2, 0 -_081158EC: .4byte gUnknown_845742C -_081158F0: - ldr r1, _08115920 @ =gUnknown_845742C - subs r0, r5, 0x1 - lsls r0, 2 - adds r1, 0x3C - adds r0, r1 - ldr r2, [r0] - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r6, 0 - movs r1, 0x2 - movs r3, 0 - bl sub_811A444 -_0811590E: - adds r0, r6, 0 - movs r1, 0x2 - bl CopyWindowToVram - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08115920: .4byte gUnknown_845742C - thumb_func_end sub_811586C - - thumb_func_start sub_8115924 -sub_8115924: @ 8115924 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x20 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r6, _08115994 @ =gSaveBlock2Ptr - ldr r2, [r6] - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - mov r8, r0 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0x2 - movs r3, 0 - bl sub_811A444 - add r5, sp, 0x14 - ldr r1, _08115998 @ =gUnknown_84571B4 - adds r0, r5, 0 - bl StringCopy - ldr r0, [r6] - adds r0, 0xA - bl sub_8118658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - add r0, sp, 0x8 - movs r2, 0x2 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - adds r0, r5, 0 - add r1, sp, 0x8 - bl StringAppend - movs r0, 0x10 - str r0, [sp] - mov r0, r8 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0 - adds r2, r5, 0 - movs r3, 0 - bl sub_811A444 - add sp, 0x20 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08115994: .4byte gSaveBlock2Ptr -_08115998: .4byte gUnknown_84571B4 - thumb_func_end sub_8115924 - - thumb_func_start sub_811599C -sub_811599C: @ 811599C - push {lr} - lsls r1, 24 - lsrs r1, 24 - subs r0, r1, 0x1 - cmp r0, 0x15 - bhi _08115A18 - lsls r0, 2 - ldr r1, _081159B4 @ =_081159B8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081159B4: .4byte _081159B8 - .align 2, 0 -_081159B8: - .4byte _08115A10 - .4byte _08115A10 - .4byte _08115A10 - .4byte _08115A10 - .4byte _08115A18 - .4byte _08115A18 - .4byte _08115A18 - .4byte _08115A18 - .4byte _08115A10 - .4byte _08115A10 - .4byte _08115A10 - .4byte _08115A18 - .4byte _08115A18 - .4byte _08115A18 - .4byte _08115A18 - .4byte _08115A18 - .4byte _08115A18 - .4byte _08115A18 - .4byte _08115A18 - .4byte _08115A18 - .4byte _08115A10 - .4byte _08115A10 -_08115A10: - ldr r0, _08115A1C @ =gStringVar4 - ldr r1, _08115A20 @ =gUnknown_8457234 - bl StringExpandPlaceholders -_08115A18: - pop {r0} - bx r0 - .align 2, 0 -_08115A1C: .4byte gStringVar4 -_08115A20: .4byte gUnknown_8457234 - thumb_func_end sub_811599C - - thumb_func_start TryBecomeLinkLeader -TryBecomeLinkLeader: @ 8115A24 - push {lr} - ldr r0, _08115A54 @ =sub_8115A68 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08115A58 @ =gUnknown_203B05C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08115A5C @ =gTasks+0x8 - adds r1, r0 - str r1, [r2] - ldr r0, _08115A60 @ =gUnknown_3002024 - str r1, [r0] - movs r0, 0 - strb r0, [r1, 0xC] - strb r0, [r1, 0xD] - ldr r1, _08115A64 @ =gSpecialVar_Result - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08115A54: .4byte sub_8115A68 -_08115A58: .4byte gUnknown_203B05C -_08115A5C: .4byte gTasks+0x8 -_08115A60: .4byte gUnknown_3002024 -_08115A64: .4byte gSpecialVar_Result - thumb_func_end TryBecomeLinkLeader - - thumb_func_start sub_8115A68 -sub_8115A68: @ 8115A68 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08115A88 @ =gUnknown_203B05C - ldr r5, [r0] - ldrb r0, [r5, 0xC] - cmp r0, 0x1E - bls _08115A7C - b _081161D8 -_08115A7C: - lsls r0, 2 - ldr r1, _08115A8C @ =_08115A90 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08115A88: .4byte gUnknown_203B05C -_08115A8C: .4byte _08115A90 - .align 2, 0 -_08115A90: - .4byte _08115B0C - .4byte _081161D8 - .4byte _081161D8 - .4byte _08115B5C - .4byte _08115C60 - .4byte _08115CE8 - .4byte _08115D04 - .4byte _08115E24 - .4byte _081161D8 - .4byte _08115D94 - .4byte _08115DAC - .4byte _08115E40 - .4byte _08115EF4 - .4byte _0811600A - .4byte _08116028 - .4byte _0811603A - .4byte _08116058 - .4byte _08116112 - .4byte _08116128 - .4byte _081160A2 - .4byte _081160C0 - .4byte _08116168 - .4byte _08116194 - .4byte _08116168 - .4byte _0811617E - .4byte _081161D8 - .4byte _081161AC - .4byte _081161D8 - .4byte _081161D8 - .4byte _08115DEC - .4byte _0811614C -_08115B0C: - ldr r3, _08115B4C @ =gUnknown_203B058 - ldr r2, _08115B50 @ =gUnknown_8456CD8 - ldr r1, _08115B54 @ =gSpecialVar_0x8004 - ldrh r0, [r1] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - strb r0, [r3] - ldr r4, _08115B58 @ =gUnknown_203B059 - ldrh r0, [r1] - lsls r0, 2 - adds r0, r2 - ldr r0, [r0] - lsrs r0, 8 - strb r0, [r4] - ldrb r0, [r3] - movs r1, 0 - movs r2, 0 - bl sub_80FAF58 - bl sub_800B1F4 - bl OpenLink - ldrb r1, [r4] - movs r0, 0xF - ands r0, r1 - bl sub_80FBB8C - movs r0, 0x3 - strb r0, [r5, 0xC] - b _081161D8 - .align 2, 0 -_08115B4C: .4byte gUnknown_203B058 -_08115B50: .4byte gUnknown_8456CD8 -_08115B54: .4byte gSpecialVar_0x8004 -_08115B58: .4byte gUnknown_203B059 -_08115B5C: - movs r0, 0x70 - bl AllocZeroed - str r0, [r5, 0x4] - movs r0, 0xA0 - bl AllocZeroed - str r0, [r5] - movs r0, 0xA0 - bl AllocZeroed - str r0, [r5, 0x8] - ldr r0, [r5, 0x4] - movs r1, 0x4 - bl sub_811A650 - ldr r0, [r5] - movs r1, 0x5 - bl sub_811A5E4 - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0x10 - bl sub_80FCD50 - ldr r1, [r5] - movs r3, 0 - movs r0, 0 - strh r0, [r1, 0x18] - ldr r2, [r5] - ldrb r1, [r2, 0x1A] - subs r0, 0x4 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1A] - ldr r2, [r5] - ldrb r1, [r2, 0x1A] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x1A] - ldr r0, [r5] - strb r3, [r0, 0x1B] - ldr r0, [r5, 0x4] - movs r1, 0xFF - bl sub_811A054 - strb r0, [r5, 0x17] - ldr r0, _08115C48 @ =gUnknown_8456CD0 - bl AddWindow - strb r0, [r5, 0x10] - ldr r0, _08115C4C @ =gUnknown_8456CFC - bl AddWindow - strb r0, [r5, 0xF] - ldr r0, _08115C50 @ =gUnknown_8456D04 - bl AddWindow - strb r0, [r5, 0x11] - ldrb r0, [r5, 0x10] - movs r1, 0x22 - bl FillWindowPixelBuffer - ldrb r0, [r5, 0x10] - ldr r2, _08115C54 @ =gUnknown_845747C - movs r1, 0x2 - str r1, [sp] - movs r4, 0x4 - str r4, [sp, 0x4] - movs r1, 0 - movs r3, 0x8 - bl sub_811A444 - ldrb r0, [r5, 0x10] - bl PutWindowTilemap - ldrb r0, [r5, 0x10] - movs r1, 0x2 - bl CopyWindowToVram - ldrb r0, [r5, 0xF] - movs r1, 0 - bl DrawStdWindowFrame - ldr r0, _08115C58 @ =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, _08115C5C @ =gUnknown_8456D34 - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldrb r1, [r5, 0xF] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r5, 0x12] - ldrb r0, [r5, 0x11] - movs r1, 0 - bl DrawStdWindowFrame - ldrb r0, [r5, 0x11] - bl PutWindowTilemap - ldrb r0, [r5, 0x11] - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - strb r0, [r5, 0x13] - strb r4, [r5, 0xC] - b _081161D8 - .align 2, 0 -_08115C48: .4byte gUnknown_8456CD0 -_08115C4C: .4byte gUnknown_8456CFC -_08115C50: .4byte gUnknown_8456D04 -_08115C54: .4byte gUnknown_845747C -_08115C58: .4byte gMultiuseListMenuTemplate -_08115C5C: .4byte gUnknown_8456D34 -_08115C60: - ldr r0, _08115C98 @ =gStringVar1 - ldr r2, _08115C9C @ =gUnknown_8456C74 - ldr r4, _08115CA0 @ =gUnknown_203B058 - ldrb r1, [r4] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r0, _08115CA4 @ =gUnknown_203B059 - ldrb r2, [r0] - lsrs r0, r2, 4 - cmp r0, 0 - beq _08115CC4 - ldrb r1, [r5, 0x13] - subs r0, 0x1 - cmp r1, r0 - ble _08115CB0 - movs r0, 0xF - ands r0, r2 - cmp r0, 0 - beq _08115CB0 - ldr r0, _08115CA8 @ =gStringVar4 - ldr r1, _08115CAC @ =gUnknown_8457264 - bl StringExpandPlaceholders - b _08115CCC - .align 2, 0 -_08115C98: .4byte gStringVar1 -_08115C9C: .4byte gUnknown_8456C74 -_08115CA0: .4byte gUnknown_203B058 -_08115CA4: .4byte gUnknown_203B059 -_08115CA8: .4byte gStringVar4 -_08115CAC: .4byte gUnknown_8457264 -_08115CB0: - ldr r0, _08115CBC @ =gStringVar4 - ldr r1, _08115CC0 @ =gUnknown_8457234 - bl StringExpandPlaceholders - b _08115CCC - .align 2, 0 -_08115CBC: .4byte gStringVar4 -_08115CC0: .4byte gUnknown_8457234 -_08115CC4: - ldr r0, _08115CE0 @ =gStringVar4 - ldrb r1, [r4] - bl sub_811599C -_08115CCC: - ldrb r0, [r5, 0x11] - ldr r1, _08115CE4 @ =gUnknown_203B059 - ldrb r1, [r1] - ldrb r2, [r5, 0x13] - bl sub_811586C - movs r0, 0x5 - strb r0, [r5, 0xC] - b _081161D8 - .align 2, 0 -_08115CE0: .4byte gStringVar4 -_08115CE4: .4byte gUnknown_203B059 -_08115CE8: - adds r0, r5, 0 - adds r0, 0xD - ldr r1, _08115D00 @ =gStringVar4 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _08115CFA - b _081161D8 -_08115CFA: - movs r0, 0x6 - strb r0, [r5, 0xC] - b _081161D8 - .align 2, 0 -_08115D00: .4byte gStringVar4 -_08115D04: - adds r0, r5, 0 - movs r1, 0x7 - movs r2, 0xA - bl sub_8116444 - ldr r0, _08115D24 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08115D40 - ldrb r0, [r5, 0x13] - cmp r0, 0x1 - bne _08115D28 - movs r0, 0x17 - b _08115D3E - .align 2, 0 -_08115D24: .4byte gMain -_08115D28: - ldr r0, _08115D38 @ =gUnknown_203B059 - ldrb r1, [r0] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - beq _08115D3C - movs r0, 0x1E - b _08115D3E - .align 2, 0 -_08115D38: .4byte gUnknown_203B059 -_08115D3C: - movs r0, 0x13 -_08115D3E: - strb r0, [r5, 0xC] -_08115D40: - ldr r0, _08115D8C @ =gUnknown_203B059 - ldrb r2, [r0] - lsrs r0, r2, 4 - cmp r0, 0 - beq _08115D76 - ldrb r1, [r5, 0x13] - subs r0, 0x1 - cmp r1, r0 - ble _08115D76 - movs r4, 0xF - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08115D76 - bl sub_80FC1CC - cmp r0, 0 - beq _08115D76 - ldr r0, _08115D90 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x8 - ands r0, r1 - cmp r0, 0 - beq _08115D76 - strb r4, [r5, 0xC] - bl sub_80F8F5C -_08115D76: - ldrb r0, [r5, 0xC] - cmp r0, 0x6 - beq _08115D7E - b _081161D8 -_08115D7E: - bl sub_80FA5D4 - cmp r0, 0 - bne _08115D88 - b _081161D8 -_08115D88: - b _08115EEE - .align 2, 0 -_08115D8C: .4byte gUnknown_203B059 -_08115D90: .4byte gMain -_08115D94: - bl sub_80FA5D4 - cmp r0, 0 - beq _08115D9E - b _081161D8 -_08115D9E: - movs r0, 0x6 - strb r0, [r5, 0xC] - ldr r0, [r5] - bl sub_81165E8 - strb r0, [r5, 0x13] - b _081161D8 -_08115DAC: - movs r3, 0 - ldr r0, _08115DE4 @ =gUnknown_203B058 - ldrb r1, [r0] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x2 - bne _08115DBC - movs r3, 0x1 -_08115DBC: - adds r0, r5, 0 - adds r0, 0xD - ldr r2, _08115DE8 @ =gUnknown_845767C - lsls r1, r3, 2 - adds r1, r2 - ldr r1, [r1] - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _08115DD4 - b _081161D8 -_08115DD4: - ldr r0, [r5] - bl sub_81165E8 - strb r0, [r5, 0x13] - ldrb r0, [r5, 0x12] - bl RedrawListMenu - b _0811610C - .align 2, 0 -_08115DE4: .4byte gUnknown_203B058 -_08115DE8: .4byte gUnknown_845767C -_08115DEC: - ldr r0, _08115E1C @ =gUnknown_203B059 - ldrb r0, [r0] - movs r1, 0xF - ands r1, r0 - movs r0, 0x2 - eors r1, r0 - negs r0, r1 - orrs r0, r1 - lsrs r3, r0, 31 - adds r0, r5, 0 - adds r0, 0xD - ldr r2, _08115E20 @ =gUnknown_845767C - lsls r1, r3, 2 - adds r1, r2 - ldr r1, [r1] - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _08115E16 - b _081161D8 -_08115E16: - movs r0, 0x15 - strb r0, [r5, 0xC] - b _081161D8 - .align 2, 0 -_08115E1C: .4byte gUnknown_203B059 -_08115E20: .4byte gUnknown_845767C -_08115E24: - adds r0, r5, 0 - adds r0, 0xD - ldr r1, _08115E3C @ =gStringVar4 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _08115E36 - b _081161D8 -_08115E36: - movs r0, 0xB - strb r0, [r5, 0xC] - b _081161D8 - .align 2, 0 -_08115E3C: .4byte gStringVar4 -_08115E40: - adds r4, r5, 0 - adds r4, 0xD - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x2 - bl sub_8118658 - lsls r0, 16 - lsrs r0, 16 - ldrb r2, [r5, 0x13] - lsls r2, 5 - ldr r1, [r5] - adds r1, r2 - adds r1, 0x10 - bl sub_80FA634 - adds r1, r0, 0 - adds r0, r4, 0 - bl sub_811A14C - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08115EC0 - cmp r1, r0 - bgt _08115E84 - subs r0, 0x2 - cmp r1, r0 - beq _08115EEE - b _081161D8 -_08115E84: - cmp r1, 0 - beq _08115E8E - cmp r1, 0x1 - beq _08115EC0 - b _081161D8 -_08115E8E: - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - movs r0, 0x5 - strb r0, [r5, 0x19] - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x2 - bl sub_8118658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r5, 0x13] - lsls r0, 5 - ldr r2, [r5] - adds r2, r0 - adds r2, 0x10 - movs r0, 0x5 - b _08115EE4 -_08115EC0: - movs r0, 0x6 - strb r0, [r5, 0x19] - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x2 - bl sub_8118658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r5, 0x13] - lsls r0, 5 - ldr r2, [r5] - adds r2, r0 - adds r2, 0x10 - movs r0, 0x6 -_08115EE4: - bl sub_80FA670 - movs r0, 0xC - strb r0, [r5, 0xC] - b _081161D8 -_08115EEE: - movs r0, 0x9 - strb r0, [r5, 0xC] - b _081161D8 -_08115EF4: - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x2 - bl sub_8118658 - lsls r0, 16 - lsrs r0, 16 - ldrb r2, [r5, 0x13] - lsls r2, 5 - ldr r1, [r5] - adds r1, r2 - adds r1, 0x10 - bl sub_80FA6FC - cmp r0, 0x1 - bne _08115FFA - ldrb r0, [r5, 0x19] - cmp r0, 0x5 - bne _08115FB4 - ldr r1, [r5] - ldrb r0, [r5, 0x13] - lsls r0, 5 - adds r1, r0 - movs r0, 0 - strb r0, [r1, 0x1B] - ldrb r0, [r5, 0x12] - bl RedrawListMenu - ldrb r0, [r5, 0x13] - adds r0, 0x1 - strb r0, [r5, 0x13] - ldr r1, _08115F58 @ =gUnknown_203B059 - ldrb r1, [r1] - movs r3, 0xF - lsls r0, 24 - lsrs r2, r0, 24 - adds r0, r3, 0 - ands r0, r1 - cmp r2, r0 - bne _08115FF0 - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - bne _08115F54 - cmp r2, 0x4 - bne _08115F5C -_08115F54: - strb r3, [r5, 0xC] - b _08115F90 - .align 2, 0 -_08115F58: .4byte gUnknown_203B059 -_08115F5C: - ldr r4, _08115FA4 @ =gStringVar1 - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r1, r0 - subs r1, 0x10 - adds r0, r4, 0 - bl StringCopy7 - ldr r1, [r5] - ldrb r0, [r5, 0x13] - subs r0, 0x1 - lsls r0, 5 - adds r1, r0 - ldrb r1, [r1] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - ldr r0, _08115FA8 @ =gStringVar4 - ldr r1, _08115FAC @ =gUnknown_8457554 - bl StringExpandPlaceholders - movs r0, 0xD - strb r0, [r5, 0xC] -_08115F90: - bl sub_80F8F5C - ldrb r0, [r5, 0x11] - ldr r1, _08115FB0 @ =gUnknown_203B059 - ldrb r1, [r1] - ldrb r2, [r5, 0x13] - bl sub_811586C - b _08115FF4 - .align 2, 0 -_08115FA4: .4byte gStringVar1 -_08115FA8: .4byte gStringVar4 -_08115FAC: .4byte gUnknown_8457554 -_08115FB0: .4byte gUnknown_203B059 -_08115FB4: - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8118658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_80FBD4C - ldr r1, [r5] - ldrb r0, [r5, 0x13] - lsls r0, 5 - adds r1, r0 - ldrb r2, [r1, 0x1A] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1A] - ldr r0, [r5] - bl sub_81165E8 - ldrb r0, [r5, 0x12] - bl RedrawListMenu -_08115FF0: - movs r0, 0x4 - strb r0, [r5, 0xC] -_08115FF4: - movs r0, 0 - strb r0, [r5, 0x19] - b _081161D8 -_08115FFA: - cmp r0, 0x2 - beq _08116000 - b _081161D8 -_08116000: - movs r0, 0 - movs r1, 0 - bl sub_80FB9E4 - b _0811610C -_0811600A: - adds r0, r5, 0 - adds r0, 0xD - ldr r1, _08116024 @ =gStringVar4 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _0811601C - b _081161D8 -_0811601C: - movs r0, 0xE - strb r0, [r5, 0xC] - b _081161D8 - .align 2, 0 -_08116024: .4byte gStringVar4 -_08116028: - ldrb r0, [r5, 0xE] - adds r0, 0x1 - strb r0, [r5, 0xE] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x78 - bhi _08116038 - b _081161D8 -_08116038: - b _0811607E -_0811603A: - adds r0, r5, 0 - adds r0, 0xD - ldr r1, _08116054 @ =gUnknown_8457514 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _0811604C - b _081161D8 -_0811604C: - movs r0, 0x10 - strb r0, [r5, 0xC] - b _081161D8 - .align 2, 0 -_08116054: .4byte gUnknown_8457514 -_08116058: - adds r0, r5, 0 - adds r0, 0xD - movs r1, 0 - bl sub_811A14C - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0811607E - cmp r1, 0 - bgt _08116078 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08116084 - b _081161D8 -_08116078: - cmp r1, 0x1 - beq _08116084 - b _081161D8 -_0811607E: - movs r0, 0x11 - strb r0, [r5, 0xC] - b _081161D8 -_08116084: - ldr r0, _08116098 @ =gUnknown_203B059 - ldrb r1, [r0] - movs r0, 0xF0 - ands r0, r1 - cmp r0, 0 - beq _0811609C - movs r0, 0x1E - strb r0, [r5, 0xC] - b _081161D8 - .align 2, 0 -_08116098: .4byte gUnknown_203B059 -_0811609C: - movs r0, 0x13 - strb r0, [r5, 0xC] - b _081161D8 -_081160A2: - adds r0, r5, 0 - adds r0, 0xD - ldr r1, _081160BC @ =gUnknown_8457530 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _081160B4 - b _081161D8 -_081160B4: - movs r0, 0x14 - strb r0, [r5, 0xC] - b _081161D8 - .align 2, 0 -_081160BC: .4byte gUnknown_8457530 -_081160C0: - adds r0, r5, 0 - adds r0, 0xD - movs r1, 0 - bl sub_811A14C - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0811615C - cmp r1, 0 - bgt _081160E0 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081160E4 - b _081161D8 -_081160E0: - cmp r1, 0x1 - bne _081161D8 -_081160E4: - ldr r0, _081160F8 @ =gUnknown_203B059 - ldrb r2, [r0] - movs r0, 0xF0 - ands r0, r2 - cmp r0, 0 - beq _081160FC - movs r0, 0xF - strb r0, [r5, 0xC] - b _081161D8 - .align 2, 0 -_081160F8: .4byte gUnknown_203B059 -_081160FC: - movs r3, 0xF - ldrb r1, [r5, 0x13] - adds r0, r3, 0 - ands r0, r2 - cmp r1, r0 - bne _0811610C - strb r3, [r5, 0xC] - b _081161D8 -_0811610C: - movs r0, 0x4 - strb r0, [r5, 0xC] - b _081161D8 -_08116112: - adds r0, r5, 0 - movs r1, 0x7 - movs r2, 0x17 - bl sub_8116444 - lsls r0, 24 - cmp r0, 0 - bne _081161D8 - movs r0, 0x12 - strb r0, [r5, 0xC] - b _081161D8 -_08116128: - bl sub_80F8F40 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08116144 - movs r0, 0 - bl sub_80F8F7C - cmp r0, 0 - beq _081161D8 - movs r0, 0x1A - strb r0, [r5, 0xC] - b _081161D8 -_08116144: - movs r0, 0x1D - strb r0, [r5, 0xC] - strb r1, [r5, 0xD] - b _081161D8 -_0811614C: - adds r0, r5, 0 - adds r0, 0xD - ldr r1, _08116164 @ =gUnknown_8457610 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - beq _081161D8 -_0811615C: - movs r0, 0x17 - strb r0, [r5, 0xC] - b _081161D8 - .align 2, 0 -_08116164: .4byte gUnknown_8457610 -_08116168: - bl DestroyWirelessStatusIndicatorSprite - bl sub_80F8DC0 - adds r0, r5, 0 - bl sub_81161E4 - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] - b _081161D8 -_0811617E: - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - ldr r1, _08116190 @ =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - b _081161D8 - .align 2, 0 -_08116190: .4byte gSpecialVar_Result -_08116194: - bl EnableBothScriptContexts - adds r0, r4, 0 - bl DestroyTask - ldr r1, _081161A8 @ =gSpecialVar_Result - movs r0, 0x8 - strh r0, [r1] - b _081161D8 - .align 2, 0 -_081161A8: .4byte gSpecialVar_Result -_081161AC: - bl sub_80FBA00 - cmp r0, 0 - beq _081161BA - movs r0, 0x1D - strb r0, [r5, 0xC] - b _081161D8 -_081161BA: - ldr r0, _081161E0 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _081161D8 - movs r0, 0x1 - bl sub_80FAFE0 - bl sub_8117990 - adds r0, r5, 0 - bl sub_81161E4 - adds r0, r4, 0 - bl DestroyTask -_081161D8: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081161E0: .4byte gReceivedRemoteLinkPlayers - thumb_func_end sub_8115A68 - - thumb_func_start sub_81161E4 -sub_81161E4: @ 81161E4 - push {r4,lr} - adds r4, r0, 0 - ldrb r0, [r4, 0x11] - bl ClearWindowTilemap - ldrb r0, [r4, 0x11] - movs r1, 0 - bl ClearStdWindowAndFrame - ldrb r0, [r4, 0x12] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldrb r0, [r4, 0x10] - bl ClearWindowTilemap - ldrb r0, [r4, 0xF] - movs r1, 0 - bl ClearStdWindowAndFrame - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r4, 0x11] - bl RemoveWindow - ldrb r0, [r4, 0xF] - bl RemoveWindow - ldrb r0, [r4, 0x10] - bl RemoveWindow - ldrb r0, [r4, 0x17] - bl DestroyTask - ldr r0, [r4, 0x8] - bl Free - ldr r0, [r4] - bl Free - ldr r0, [r4, 0x4] - bl Free - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81161E4 - - thumb_func_start sub_8116244 -sub_8116244: @ 8116244 - push {lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r1, 24 - subs r0, r1, 0x1 - cmp r0, 0x15 - bhi _081162D8 - lsls r0, 2 - ldr r1, _0811625C @ =_08116260 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0811625C: .4byte _08116260 - .align 2, 0 -_08116260: - .4byte _081162B8 - .4byte _081162B8 - .4byte _081162D0 - .4byte _081162B8 - .4byte _081162D8 - .4byte _081162D8 - .4byte _081162D8 - .4byte _081162D8 - .4byte _081162D0 - .4byte _081162D0 - .4byte _081162D0 - .4byte _081162D8 - .4byte _081162D8 - .4byte _081162D8 - .4byte _081162D8 - .4byte _081162D8 - .4byte _081162D8 - .4byte _081162D8 - .4byte _081162D8 - .4byte _081162D8 - .4byte _081162C0 - .4byte _081162C0 -_081162B8: - ldr r1, _081162BC @ =gUnknown_84574A0 - b _081162C2 - .align 2, 0 -_081162BC: .4byte gUnknown_84574A0 -_081162C0: - ldr r1, _081162CC @ =gUnknown_84574C4 -_081162C2: - adds r0, r2, 0 - bl StringExpandPlaceholders - b _081162D8 - .align 2, 0 -_081162CC: .4byte gUnknown_84574C4 -_081162D0: - ldr r1, _081162DC @ =gUnknown_84574EC - adds r0, r2, 0 - bl StringExpandPlaceholders -_081162D8: - pop {r0} - bx r0 - .align 2, 0 -_081162DC: .4byte gUnknown_84574EC - thumb_func_end sub_8116244 - - thumb_func_start sub_81162E0 -sub_81162E0: @ 81162E0 - push {lr} - lsls r1, 24 - lsrs r1, 24 - adds r2, r1, 0 - cmp r1, 0x44 - beq _08116300 - cmp r1, 0x44 - bgt _081162F6 - cmp r1, 0x41 - beq _08116300 - b _08116312 -_081162F6: - cmp r2, 0x45 - beq _0811630C - cmp r2, 0x48 - beq _0811630C - b _08116312 -_08116300: - ldr r1, _08116308 @ =gUnknown_8457E28 - bl StringExpandPlaceholders - b _08116312 - .align 2, 0 -_08116308: .4byte gUnknown_8457E28 -_0811630C: - ldr r1, _08116318 @ =gUnknown_8457E44 - bl StringExpandPlaceholders -_08116312: - pop {r0} - bx r0 - .align 2, 0 -_08116318: .4byte gUnknown_8457E44 - thumb_func_end sub_81162E0 - - thumb_func_start sub_811631C -sub_811631C: @ 811631C - push {lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r1, 24 - subs r0, r1, 0x1 - cmp r0, 0x15 - bhi _081163A8 - lsls r0, 2 - ldr r1, _08116334 @ =_08116338 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08116334: .4byte _08116338 - .align 2, 0 -_08116338: - .4byte _08116390 - .4byte _08116390 - .4byte _081163A0 - .4byte _08116390 - .4byte _081163A8 - .4byte _081163A8 - .4byte _081163A8 - .4byte _081163A8 - .4byte _081163A0 - .4byte _081163A0 - .4byte _081163A0 - .4byte _081163A8 - .4byte _081163A8 - .4byte _081163A8 - .4byte _081163A8 - .4byte _081163A8 - .4byte _081163A8 - .4byte _081163A8 - .4byte _081163A8 - .4byte _081163A8 - .4byte _08116390 - .4byte _08116390 -_08116390: - ldr r1, _0811639C @ =gUnknown_8459238 - adds r0, r2, 0 - bl StringExpandPlaceholders - b _081163A8 - .align 2, 0 -_0811639C: .4byte gUnknown_8459238 -_081163A0: - ldr r1, _081163AC @ =gUnknown_8459250 - adds r0, r2, 0 - bl StringExpandPlaceholders -_081163A8: - pop {r0} - bx r0 - .align 2, 0 -_081163AC: .4byte gUnknown_8459250 - thumb_func_end sub_811631C - - thumb_func_start sub_81163B0 -sub_81163B0: @ 81163B0 - push {lr} - adds r2, r0, 0 - lsls r1, 24 - lsrs r1, 24 - subs r0, r1, 0x1 - cmp r0, 0x15 - bhi _0811643C - lsls r0, 2 - ldr r1, _081163C8 @ =_081163CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081163C8: .4byte _081163CC - .align 2, 0 -_081163CC: - .4byte _08116424 - .4byte _08116424 - .4byte _08116434 - .4byte _08116424 - .4byte _0811643C - .4byte _0811643C - .4byte _0811643C - .4byte _0811643C - .4byte _08116434 - .4byte _08116434 - .4byte _08116434 - .4byte _0811643C - .4byte _0811643C - .4byte _0811643C - .4byte _0811643C - .4byte _0811643C - .4byte _0811643C - .4byte _0811643C - .4byte _0811643C - .4byte _0811643C - .4byte _08116424 - .4byte _08116424 -_08116424: - ldr r1, _08116430 @ =gUnknown_84576AC - adds r0, r2, 0 - bl StringExpandPlaceholders - b _0811643C - .align 2, 0 -_08116430: .4byte gUnknown_84576AC -_08116434: - ldr r1, _08116440 @ =gUnknown_84576C4 - adds r0, r2, 0 - bl StringExpandPlaceholders -_0811643C: - pop {r0} - bx r0 - .align 2, 0 -_08116440: .4byte gUnknown_84576C4 - thumb_func_end sub_81163B0 - - thumb_func_start sub_8116444 -sub_8116444: @ 8116444 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - adds r4, r2, 0 - ldr r0, [r5] - bl sub_8116524 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08116460 - cmp r0, 0x2 - beq _081164AC - b _081164C0 -_08116460: - movs r0, 0x2 - bl PlaySE - ldrb r0, [r5, 0x12] - bl RedrawListMenu - ldr r4, _081164A0 @ =gStringVar2 - ldrb r0, [r5, 0x13] - lsls r0, 5 - ldr r1, [r5] - adds r1, r0 - adds r1, 0x10 - adds r0, r4, 0 - bl StringCopy7 - ldr r1, [r5] - ldrb r0, [r5, 0x13] - lsls r0, 5 - adds r1, r0 - ldrb r1, [r1] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - ldr r0, _081164A4 @ =gStringVar4 - ldr r1, _081164A8 @ =gUnknown_203B058 - ldrb r1, [r1] - bl sub_8116244 - strb r6, [r5, 0xC] - b _081164C0 - .align 2, 0 -_081164A0: .4byte gStringVar2 -_081164A4: .4byte gStringVar4 -_081164A8: .4byte gUnknown_203B058 -_081164AC: - movs r0, 0 - movs r1, 0 - bl sub_80FB9E4 - ldrb r0, [r5, 0x12] - bl RedrawListMenu - strb r4, [r5, 0xC] - movs r0, 0x1 - b _081164C2 -_081164C0: - movs r0, 0 -_081164C2: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8116444 - - thumb_func_start sub_81164C8 -sub_81164C8: @ 81164C8 - push {r4-r6,lr} - sub sp, 0x8 - adds r4, r1, 0 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r2, 24 - lsrs r6, r2, 24 - ldr r0, _081164F4 @ =gUnknown_203B05C - ldr r3, [r0] - movs r2, 0 - ldr r1, [r3] - lsls r0, r4, 5 - adds r1, r0 - ldrb r0, [r1, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - beq _081164F8 - cmp r0, 0x2 - beq _08116502 - b _08116504 - .align 2, 0 -_081164F4: .4byte gUnknown_203B05C -_081164F8: - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _08116504 - movs r2, 0x2 - b _08116504 -_08116502: - movs r2, 0x1 -_08116504: - lsls r0, r4, 5 - ldr r3, [r3] - adds r3, r0 - str r2, [sp] - lsls r0, r4, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0 - adds r2, r6, 0 - bl sub_811A910 - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81164C8 - - thumb_func_start sub_8116524 -sub_8116524: @ 8116524 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - ldr r0, _0811657C @ =gUnknown_203B05C - ldr r5, [r0] - movs r0, 0 - mov r8, r0 - movs r3, 0x1 -_08116538: - ldr r0, [r5] - lsls r6, r3, 5 - adds r2, r0, r6 - ldrb r0, [r2, 0x1A] - lsls r0, 30 - lsrs r0, 30 - mov r9, r0 - cmp r0, 0x1 - bne _08116598 - ldr r1, [r5, 0x4] - adds r0, r2, 0 - str r3, [sp] - bl sub_811A748 - adds r4, r0, 0 - ldr r3, [sp] - cmp r4, 0xFF - beq _08116580 - ldr r1, [r5] - ldr r0, [r5, 0x4] - lsls r2, r4, 3 - subs r2, r4 - lsls r2, 2 - adds r1, r6 - adds r0, r2 - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - ldr r0, [r5] - adds r0, r6 - mov r1, r9 - strh r1, [r0, 0x18] - b _08116598 - .align 2, 0 -_0811657C: .4byte gUnknown_203B05C -_08116580: - ldr r2, [r5] - adds r2, r6 - ldrb r1, [r2, 0x1A] - movs r4, 0x4 - negs r4, r4 - adds r0, r4, 0 - ands r1, r0 - movs r0, 0x2 - orrs r1, r0 - strb r1, [r2, 0x1A] - movs r7, 0x2 - mov r8, r7 -_08116598: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x4 - bls _08116538 - movs r6, 0 - movs r4, 0x3 -_081165A6: - ldr r0, [r5] - ldr r1, [r5, 0x4] - adds r1, r6 - movs r2, 0x5 - bl sub_811A798 - adds r6, 0x1C - subs r4, 0x1 - ldr r0, [r5] - cmp r4, 0 - bge _081165A6 - mov r1, r8 - cmp r1, 0x2 - beq _081165D8 - adds r1, r0, 0 - movs r4, 0x4 -_081165C6: - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _081165D0 - movs r2, 0x1 - mov r8, r2 -_081165D0: - adds r1, 0x20 - subs r4, 0x1 - cmp r4, 0 - bge _081165C6 -_081165D8: - mov r0, r8 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8116524 - - thumb_func_start sub_81165E8 -sub_81165E8: @ 81165E8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r0, _081166BC @ =gUnknown_203B05C - ldr r4, [r0] - movs r3, 0 -_081165F8: - ldr r0, [r4, 0x8] - lsls r2, r3, 5 - ldr r1, [r4] - adds r0, r2 - adds r1, r2 - ldm r1!, {r2,r5,r6} - stm r0!, {r2,r5,r6} - ldm r1!, {r2,r5,r7} - stm r0!, {r2,r5,r7} - ldm r1!, {r6,r7} - stm r0!, {r6,r7} - adds r3, 0x1 - ldr r0, [r4, 0x8] - ldr r1, [r4] - cmp r3, 0x4 - ble _081165F8 - movs r5, 0 - mov r8, r1 - mov r9, r0 - movs r3, 0x4 -_08116620: - mov r1, r9 - ldrb r0, [r1, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08116642 - lsls r0, r5, 5 - add r0, r8 - ldm r1!, {r2,r6,r7} - stm r0!, {r2,r6,r7} - ldm r1!, {r2,r6,r7} - stm r0!, {r2,r6,r7} - ldm r1!, {r2,r6} - stm r0!, {r2,r6} - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 -_08116642: - movs r7, 0x20 - add r9, r7 - subs r3, 0x1 - cmp r3, 0 - bge _08116620 - mov r10, r5 - cmp r5, 0x4 - bhi _081166A4 - ldr r0, _081166C0 @ =gUnknown_8457034 - mov r9, r0 - movs r1, 0 - mov r12, r1 - movs r2, 0x4 - negs r2, r2 - mov r8, r2 -_08116660: - ldr r1, [r4] - lsls r3, r5, 5 - adds r1, r3 - mov r0, r9 - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldm r0!, {r2,r6,r7} - stm r1!, {r2,r6,r7} - ldr r0, [r4] - adds r0, r3 - movs r1, 0 - strh r1, [r0, 0x18] - ldr r1, [r4] - adds r1, r3 - ldrb r2, [r1, 0x1A] - mov r0, r8 - ands r0, r2 - strb r0, [r1, 0x1A] - ldr r1, [r4] - adds r1, r3 - ldrb r2, [r1, 0x1A] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1A] - ldr r0, [r4] - adds r0, r3 - mov r6, r12 - strb r6, [r0, 0x1B] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _08116660 -_081166A4: - movs r3, 0 - ldr r1, [r4] - ldrb r0, [r1, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _081166C4 - ldrb r0, [r1, 0x1B] - cmp r0, 0x40 - bne _081166C4 - mov r10, r3 - b _081166E4 - .align 2, 0 -_081166BC: .4byte gUnknown_203B05C -_081166C0: .4byte gUnknown_8457034 -_081166C4: - adds r3, 0x1 - cmp r3, 0x4 - bgt _081166E4 - lsls r0, r3, 5 - adds r2, r1, r0 - ldrb r0, [r2, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _081166C4 - ldrb r0, [r2, 0x1B] - cmp r0, 0x40 - bne _081166C4 - lsls r0, r3, 24 - lsrs r0, 24 - mov r10, r0 -_081166E4: - mov r0, r10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_81165E8 - - thumb_func_start TryJoinLinkGroup -TryJoinLinkGroup: @ 81166F4 - push {lr} - ldr r0, _08116724 @ =sub_8116738 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08116728 @ =gUnknown_203B05C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0811672C @ =gTasks+0x8 - adds r1, r0 - str r1, [r2] - ldr r0, _08116730 @ =gUnknown_3002028 - str r1, [r0] - movs r0, 0 - strb r0, [r1, 0x8] - strb r0, [r1, 0x9] - ldr r1, _08116734 @ =gSpecialVar_Result - strh r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_08116724: .4byte sub_8116738 -_08116728: .4byte gUnknown_203B05C -_0811672C: .4byte gTasks+0x8 -_08116730: .4byte gUnknown_3002028 -_08116734: .4byte gSpecialVar_Result - thumb_func_end TryJoinLinkGroup - - thumb_func_start sub_8116738 -sub_8116738: @ 8116738 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08116758 @ =gUnknown_203B05C - ldr r6, [r0] - ldrb r0, [r6, 0x8] - cmp r0, 0x17 - bls _0811674C - b _08116D06 -_0811674C: - lsls r0, 2 - ldr r1, _0811675C @ =_08116760 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08116758: .4byte gUnknown_203B05C -_0811675C: .4byte _08116760 - .align 2, 0 -_08116760: - .4byte _081167C0 - .4byte _0811680C - .4byte _08116838 - .4byte _08116904 - .4byte _08116D06 - .4byte _081169B4 - .4byte _08116A08 - .4byte _08116B94 - .4byte _08116BB0 - .4byte _08116BFE - .4byte _08116C10 - .4byte _08116C98 - .4byte _08116C10 - .4byte _08116C68 - .4byte _08116C10 - .4byte _08116CA8 - .4byte _08116D06 - .4byte _08116D06 - .4byte _08116C10 - .4byte _08116CC8 - .4byte _08116C10 - .4byte _08116CFC - .4byte _08116D06 - .4byte _08116CEC -_081167C0: - ldr r5, _08116800 @ =gUnknown_84570C8 - ldr r4, _08116804 @ =gSpecialVar_0x8004 - ldrh r0, [r4] - adds r0, r5 - ldrb r0, [r0] - movs r1, 0 - movs r2, 0 - bl sub_80FAF58 - ldr r1, _08116808 @ =gUnknown_203B058 - ldrh r0, [r4] - adds r0, r5 - ldrb r0, [r0] - strb r0, [r1] - bl sub_800B1F4 - bl OpenLink - bl sub_80FBBD8 - movs r0, 0x70 - bl AllocZeroed - str r0, [r6, 0x4] - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r6] - movs r0, 0x1 - strb r0, [r6, 0x8] - b _08116D06 - .align 2, 0 -_08116800: .4byte gUnknown_84570C8 -_08116804: .4byte gSpecialVar_0x8004 -_08116808: .4byte gUnknown_203B058 -_0811680C: - adds r0, r6, 0 - adds r0, 0x9 - ldr r2, _08116830 @ =gUnknown_84591B8 - ldr r1, _08116834 @ =gSpecialVar_0x8004 - ldrh r1, [r1] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _08116828 - b _08116D06 -_08116828: - movs r0, 0x2 - strb r0, [r6, 0x8] - b _08116D06 - .align 2, 0 -_08116830: .4byte gUnknown_84591B8 -_08116834: .4byte gSpecialVar_0x8004 -_08116838: - ldr r0, [r6, 0x4] - movs r1, 0x4 - bl sub_811A650 - ldr r0, [r6] - movs r1, 0x10 - bl sub_811A5E4 - ldr r0, [r6, 0x4] - ldr r1, _081168E8 @ =gSpecialVar_0x8004 - ldrh r1, [r1] - bl sub_811A054 - movs r4, 0 - strb r0, [r6, 0x11] - ldr r0, _081168EC @ =gUnknown_8456CD0 - bl AddWindow - strb r0, [r6, 0xC] - ldr r0, _081168F0 @ =gUnknown_8456D4C - bl AddWindow - strb r0, [r6, 0xB] - ldr r0, _081168F4 @ =gUnknown_8456D54 - bl AddWindow - strb r0, [r6, 0xD] - ldrb r0, [r6, 0xC] - movs r1, 0x22 - bl FillWindowPixelBuffer - ldrb r0, [r6, 0xC] - ldr r2, _081168F8 @ =gUnknown_8458FC8 - movs r1, 0x2 - str r1, [sp] - movs r1, 0x4 - str r1, [sp, 0x4] - movs r1, 0 - movs r3, 0x8 - bl sub_811A444 - ldrb r0, [r6, 0xC] - bl PutWindowTilemap - ldrb r0, [r6, 0xC] - movs r1, 0x2 - bl CopyWindowToVram - ldrb r0, [r6, 0xB] - movs r1, 0 - bl DrawStdWindowFrame - ldr r0, _081168FC @ =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, _08116900 @ =gUnknown_8456DDC - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldm r1!, {r3,r5,r7} - stm r2!, {r3,r5,r7} - ldrb r1, [r6, 0xB] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r6, 0xE] - ldrb r0, [r6, 0xD] - movs r1, 0 - bl DrawStdWindowFrame - ldrb r0, [r6, 0xD] - bl PutWindowTilemap - ldrb r0, [r6, 0xD] - bl sub_8115924 - ldrb r0, [r6, 0xD] - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - strb r4, [r6, 0xF] - movs r0, 0x3 - strb r0, [r6, 0x8] - b _08116D06 - .align 2, 0 -_081168E8: .4byte gSpecialVar_0x8004 -_081168EC: .4byte gUnknown_8456CD0 -_081168F0: .4byte gUnknown_8456D4C -_081168F4: .4byte gUnknown_8456D54 -_081168F8: .4byte gUnknown_8458FC8 -_081168FC: .4byte gMultiuseListMenuTemplate -_08116900: .4byte gUnknown_8456DDC -_08116904: - bl sub_8116FE4 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - beq _0811691E - cmp r4, 0x1 - beq _08116916 - b _08116BF6 -_08116916: - movs r0, 0x2 - bl PlaySE - b _08116BF6 -_0811691E: - ldrb r0, [r6, 0xE] - bl ListMenu_ProcessInput - adds r4, r0, 0 - ldr r0, _0811696C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811699C - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _0811699C - ldr r0, [r6] - lsls r1, r4, 5 - adds r0, r1 - ldrb r1, [r0, 0xA] - ldrb r0, [r0, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08116994 - lsrs r0, r1, 7 - cmp r0, 0 - bne _08116994 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8116D10 - adds r1, r0, 0 - cmp r1, 0 - bne _08116970 - adds r0, r6, 0 - adds r1, r4, 0 - bl sub_8116D60 - movs r0, 0x5 - b _08116982 - .align 2, 0 -_0811696C: .4byte gMain -_08116970: - ldr r0, _0811698C @ =gStringVar4 - ldr r2, _08116990 @ =gUnknown_8457608 - subs r1, 0x1 - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - movs r0, 0x12 -_08116982: - strb r0, [r6, 0x8] - movs r0, 0x67 - bl PlaySE - b _08116D06 - .align 2, 0 -_0811698C: .4byte gStringVar4 -_08116990: .4byte gUnknown_8457608 -_08116994: - movs r0, 0x7 - bl PlaySE - b _08116D06 -_0811699C: - ldr r0, _081169B0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081169AA - b _08116D06 -_081169AA: - movs r0, 0xA - strb r0, [r6, 0x8] - b _08116D06 - .align 2, 0 -_081169B0: .4byte gMain -_081169B4: - ldr r4, _081169FC @ =gStringVar4 - ldr r0, _08116A00 @ =gUnknown_203B058 - ldrb r1, [r0] - adds r0, r4, 0 - bl sub_811631C - adds r0, r6, 0 - adds r0, 0x9 - adds r1, r4, 0 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _081169D2 - b _08116D06 -_081169D2: - ldr r4, _08116A04 @ =gStringVar1 - ldrb r0, [r6, 0xF] - lsls r0, 5 - ldr r1, [r6] - adds r1, r0 - adds r1, 0x10 - adds r0, r4, 0 - bl StringCopy7 - ldr r1, [r6] - ldrb r0, [r6, 0xF] - lsls r0, 5 - adds r1, r0 - ldrb r1, [r1] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - b _08116C0A - .align 2, 0 -_081169FC: .4byte gStringVar4 -_08116A00: .4byte gUnknown_203B058 -_08116A04: .4byte gStringVar1 -_08116A08: - ldr r0, _08116A3C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08116AA4 - ldr r4, _08116A40 @ =gUnknown_203B058 - ldr r1, [r6] - ldrb r0, [r6, 0xF] - lsls r0, 5 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 25 - lsrs r0, 25 - strb r0, [r4] - movs r0, 0 - movs r1, 0 - bl sub_80FB9E4 - ldrb r0, [r4] - subs r0, 0x1 - cmp r0, 0x15 - bhi _08116AA4 - lsls r0, 2 - ldr r1, _08116A44 @ =_08116A48 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08116A3C: .4byte gReceivedRemoteLinkPlayers -_08116A40: .4byte gUnknown_203B058 -_08116A44: .4byte _08116A48 - .align 2, 0 -_08116A48: - .4byte _08116AA0 - .4byte _08116AA0 - .4byte _08116AA0 - .4byte _08116AA0 - .4byte _08116AA0 - .4byte _08116AA4 - .4byte _08116AA4 - .4byte _08116AA4 - .4byte _08116AA0 - .4byte _08116AA0 - .4byte _08116AA0 - .4byte _08116AA4 - .4byte _08116AA0 - .4byte _08116AA0 - .4byte _08116AA4 - .4byte _08116AA4 - .4byte _08116AA4 - .4byte _08116AA4 - .4byte _08116AA4 - .4byte _08116AA4 - .4byte _08116AA0 - .4byte _08116AA0 -_08116AA0: - movs r0, 0x14 - strb r0, [r6, 0x8] -_08116AA4: - bl sub_80FB9F4 - lsls r0, 24 - lsrs r0, 24 - subs r0, 0x1 - cmp r0, 0x8 - bhi _08116B70 - lsls r0, 2 - ldr r1, _08116ABC @ =_08116AC0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08116ABC: .4byte _08116AC0 - .align 2, 0 -_08116AC0: - .4byte _08116AE4 - .4byte _08116AEA - .4byte _08116B70 - .4byte _08116B70 - .4byte _08116AF0 - .4byte _08116AEA - .4byte _08116B44 - .4byte _08116B70 - .4byte _08116AEA -_08116AE4: - movs r0, 0xC - strb r0, [r6, 0x8] - b _08116B70 -_08116AEA: - movs r0, 0xE - strb r0, [r6, 0x8] - b _08116B70 -_08116AF0: - ldr r4, _08116B30 @ =gStringVar4 - ldr r5, _08116B34 @ =gUnknown_203B058 - ldrb r1, [r5] - adds r0, r4, 0 - bl sub_81163B0 - adds r0, r6, 0 - adds r0, 0x9 - adds r1, r4, 0 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - beq _08116B70 - movs r0, 0x7 - movs r1, 0 - bl sub_80FB9E4 - ldr r0, _08116B38 @ =gStringVar1 - ldr r2, _08116B3C @ =gUnknown_8456C74 - ldrb r1, [r5] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r1, _08116B40 @ =gUnknown_8457700 - adds r0, r4, 0 - bl StringExpandPlaceholders - b _08116B70 - .align 2, 0 -_08116B30: .4byte gStringVar4 -_08116B34: .4byte gUnknown_203B058 -_08116B38: .4byte gStringVar1 -_08116B3C: .4byte gUnknown_8456C74 -_08116B40: .4byte gUnknown_8457700 -_08116B44: - ldrb r0, [r6, 0x15] - cmp r0, 0xF0 - bls _08116B6C - adds r0, r6, 0 - adds r0, 0x9 - ldr r1, _08116B68 @ =gStringVar4 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - beq _08116B70 - movs r0, 0xC - movs r1, 0 - bl sub_80FB9E4 - movs r0, 0 - b _08116B6E - .align 2, 0 -_08116B68: .4byte gStringVar4 -_08116B6C: - adds r0, 0x1 -_08116B6E: - strb r0, [r6, 0x15] -_08116B70: - bl sub_80FB9F4 - lsls r0, 24 - cmp r0, 0 - beq _08116B7C - b _08116D06 -_08116B7C: - ldr r0, _08116B90 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08116B8A - b _08116D06 -_08116B8A: - movs r0, 0x7 - strb r0, [r6, 0x8] - b _08116D06 - .align 2, 0 -_08116B90: .4byte gMain -_08116B94: - adds r0, r6, 0 - adds r0, 0x9 - ldr r1, _08116BAC @ =gUnknown_845771C - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _08116BA6 - b _08116D06 -_08116BA6: - movs r0, 0x8 - strb r0, [r6, 0x8] - b _08116D06 - .align 2, 0 -_08116BAC: .4byte gUnknown_845771C -_08116BB0: - adds r4, r6, 0 - adds r4, 0x9 - bl sub_80FB9F4 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_811A14C - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08116BEE - cmp r1, r0 - bgt _08116BDC - subs r0, 0x2 - cmp r1, r0 - beq _08116BF2 - b _08116D06 -_08116BDC: - cmp r1, 0 - beq _08116BE6 - cmp r1, 0x1 - beq _08116BEE - b _08116D06 -_08116BE6: - bl sub_80FA6BC - movs r0, 0x9 - b _08116BF4 -_08116BEE: - movs r0, 0x5 - b _08116BF4 -_08116BF2: - movs r0, 0x6 -_08116BF4: - strb r0, [r6, 0x8] -_08116BF6: - ldrb r0, [r6, 0xE] - bl RedrawListMenu - b _08116D06 -_08116BFE: - bl sub_80FB9F4 - lsls r0, 24 - cmp r0, 0 - bne _08116C0A - b _08116D06 -_08116C0A: - movs r0, 0x6 - strb r0, [r6, 0x8] - b _08116D06 -_08116C10: - ldrb r0, [r6, 0xD] - bl ClearWindowTilemap - ldrb r0, [r6, 0xD] - movs r1, 0 - bl ClearStdWindowAndFrame - ldrb r0, [r6, 0xE] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldrb r0, [r6, 0xC] - bl ClearWindowTilemap - ldrb r0, [r6, 0xB] - movs r1, 0 - bl ClearStdWindowAndFrame - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r6, 0xD] - bl RemoveWindow - ldrb r0, [r6, 0xB] - bl RemoveWindow - ldrb r0, [r6, 0xC] - bl RemoveWindow - ldrb r0, [r6, 0x11] - bl DestroyTask - ldr r0, [r6] - bl Free - ldr r0, [r6, 0x4] - bl Free - ldrb r0, [r6, 0x8] - adds r0, 0x1 - strb r0, [r6, 0x8] - b _08116D06 -_08116C68: - bl DestroyWirelessStatusIndicatorSprite - adds r5, r6, 0 - adds r5, 0x9 - ldr r4, _08116C90 @ =gUnknown_8457754 - bl sub_80FB9F4 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - beq _08116D06 - ldr r0, _08116C94 @ =gSpecialVar_Result - movs r1, 0x6 - b _08116CDC - .align 2, 0 -_08116C90: .4byte gUnknown_8457754 -_08116C94: .4byte gSpecialVar_Result -_08116C98: - bl DestroyWirelessStatusIndicatorSprite - ldr r0, _08116CA4 @ =gSpecialVar_Result - movs r1, 0x5 - b _08116CDC - .align 2, 0 -_08116CA4: .4byte gSpecialVar_Result -_08116CA8: - bl DestroyWirelessStatusIndicatorSprite - adds r5, r6, 0 - adds r5, 0x9 - ldr r4, _08116CC4 @ =gUnknown_8457754 - bl sub_80FB9F4 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - b _08116CCE - .align 2, 0 -_08116CC4: .4byte gUnknown_8457754 -_08116CC8: - adds r0, r6, 0 - adds r0, 0x9 - ldr r1, _08116CE4 @ =gStringVar4 -_08116CCE: - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - beq _08116D06 - ldr r0, _08116CE8 @ =gSpecialVar_Result - movs r1, 0x8 -_08116CDC: - strh r1, [r0] - movs r0, 0x17 - strb r0, [r6, 0x8] - b _08116D06 - .align 2, 0 -_08116CE4: .4byte gStringVar4 -_08116CE8: .4byte gSpecialVar_Result -_08116CEC: - adds r0, r4, 0 - bl DestroyTask - bl sub_811A41C - bl sub_80F8DC0 - b _08116D06 -_08116CFC: - bl sub_8117990 - adds r0, r4, 0 - bl DestroyTask -_08116D06: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8116738 - - thumb_func_start sub_8116D10 -sub_8116D10: @ 8116D10 - push {lr} - lsls r1, 5 - ldr r0, [r0] - adds r3, r0, r1 - ldr r0, _08116D44 @ =gUnknown_203B058 - ldrb r0, [r0] - cmp r0, 0x4 - bne _08116D56 - ldrb r0, [r3, 0x1] - movs r1, 0x3C - ands r1, r0 - cmp r1, 0x10 - beq _08116D56 - cmp r1, 0x14 - beq _08116D56 - ldr r0, _08116D48 @ =gSaveBlock2Ptr - ldr r0, [r0] - ldrb r1, [r0, 0x9] - movs r2, 0x80 - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _08116D4C - movs r0, 0x1 - b _08116D5C - .align 2, 0 -_08116D44: .4byte gUnknown_203B058 -_08116D48: .4byte gSaveBlock2Ptr -_08116D4C: - ldrb r1, [r3] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - beq _08116D5A -_08116D56: - movs r0, 0 - b _08116D5C -_08116D5A: - movs r0, 0x2 -_08116D5C: - pop {r1} - bx r1 - thumb_func_end sub_8116D10 - - thumb_func_start sub_8116D60 -sub_8116D60: @ 8116D60 - push {r4,r5,lr} - adds r4, r0, 0 - strb r1, [r4, 0xF] - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldrb r0, [r4, 0xE] - bl RedrawListMenu - ldr r5, _08116DD4 @ =gStringVar1 - ldrb r0, [r4, 0xF] - lsls r0, 5 - ldr r1, [r4] - adds r1, r0 - adds r1, 0x10 - adds r0, r5, 0 - bl StringCopy7 - ldr r1, [r4] - ldrb r0, [r4, 0xF] - lsls r0, 5 - adds r1, r0 - ldrb r1, [r1] - lsls r1, 28 - lsrs r1, 28 - adds r0, r5, 0 - bl ConvertInternationalString - ldr r1, _08116DD8 @ =gUnknown_84570C8 - ldr r0, _08116DDC @ =gSpecialVar_0x8004 - ldrh r0, [r0] - adds r0, r1 - ldrb r0, [r0] - movs r1, 0 - movs r2, 0x1 - bl sub_80FB008 - ldrb r1, [r4, 0xF] - lsls r1, 5 - ldr r0, [r4] - adds r0, r1 - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8118658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_80FBF54 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08116DD4: .4byte gStringVar1 -_08116DD8: .4byte gUnknown_84570C8 -_08116DDC: .4byte gSpecialVar_0x8004 - thumb_func_end sub_8116D60 - - thumb_func_start sub_8116DE0 -sub_8116DE0: @ 8116DE0 - push {lr} - ldr r0, _08116E0C @ =sub_8116E1C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r3, _08116E10 @ =gUnknown_203B05C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, _08116E14 @ =gTasks+0x8 - adds r1, r2 - str r1, [r3] - movs r2, 0 - strb r2, [r1, 0x8] - strb r2, [r1, 0x9] - ldr r2, _08116E18 @ =gUnknown_3002028 - str r1, [r2] - pop {r1} - bx r1 - .align 2, 0 -_08116E0C: .4byte sub_8116E1C -_08116E10: .4byte gUnknown_203B05C -_08116E14: .4byte gTasks+0x8 -_08116E18: .4byte gUnknown_3002028 - thumb_func_end sub_8116DE0 - - thumb_func_start sub_8116E1C -sub_8116E1C: @ 8116E1C - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, _08116E38 @ =gUnknown_203B05C - ldr r4, [r0] - ldrb r0, [r4, 0x8] - cmp r0, 0xB - bhi _08116F20 - lsls r0, 2 - ldr r1, _08116E3C @ =_08116E40 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08116E38: .4byte gUnknown_203B05C -_08116E3C: .4byte _08116E40 - .align 2, 0 -_08116E40: - .4byte _08116E70 - .4byte _08116F20 - .4byte _08116EA4 - .4byte _08116EC8 - .4byte _08116F20 - .4byte _08116F20 - .4byte _08116F20 - .4byte _08116F20 - .4byte _08116F20 - .4byte _08116F20 - .4byte _08116EF8 - .4byte _08116F16 -_08116E70: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_80FAF58 - bl sub_800B1F4 - bl OpenLink - bl sub_80FBBD8 - movs r0, 0x1 - bl sub_80FB128 - movs r0, 0x70 - bl AllocZeroed - str r0, [r4, 0x4] - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - movs r0, 0x2 - strb r0, [r4, 0x8] - b _08116F20 -_08116EA4: - ldr r0, [r4, 0x4] - movs r1, 0x4 - bl sub_811A650 - ldr r0, [r4] - movs r1, 0x10 - bl sub_811A5E4 - ldr r0, [r4, 0x4] - movs r1, 0xFF - bl sub_811A054 - movs r1, 0 - strb r0, [r4, 0x11] - strb r1, [r4, 0xF] - movs r0, 0x3 - strb r0, [r4, 0x8] - b _08116F20 -_08116EC8: - bl sub_8116FE4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08116EDA - movs r0, 0x2 - bl PlaySE -_08116EDA: - ldr r0, _08116EF4 @ =gTasks - lsls r1, r5, 2 - adds r1, r5 - lsls r1, 3 - adds r1, r0 - movs r2, 0x26 - ldrsh r0, [r1, r2] - cmp r0, 0xFF - bne _08116F20 - movs r0, 0xA - strb r0, [r4, 0x8] - b _08116F20 - .align 2, 0 -_08116EF4: .4byte gTasks -_08116EF8: - ldrb r0, [r4, 0x11] - bl DestroyTask - ldr r0, [r4] - bl Free - ldr r0, [r4, 0x4] - bl Free - bl sub_80F8DC0 - ldrb r0, [r4, 0x8] - adds r0, 0x1 - strb r0, [r4, 0x8] - b _08116F20 -_08116F16: - bl sub_80F8DC0 - adds r0, r5, 0 - bl DestroyTask -_08116F20: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8116E1C - - thumb_func_start sub_8116F28 -sub_8116F28: @ 8116F28 - push {lr} - adds r2, r0, 0 - cmp r1, 0xFF - bne _08116F34 -_08116F30: - movs r0, 0x1 - b _08116F58 -_08116F34: - cmp r1, 0xD - bhi _08116F56 - ldr r0, _08116F44 @ =gUnknown_8457094 - lsls r1, 2 - adds r1, r0 - ldr r1, [r1] - b _08116F50 - .align 2, 0 -_08116F44: .4byte gUnknown_8457094 -_08116F48: - ldrb r0, [r1] - cmp r0, r2 - beq _08116F30 - adds r1, 0x1 -_08116F50: - ldrb r0, [r1] - cmp r0, 0xFF - bne _08116F48 -_08116F56: - movs r0, 0 -_08116F58: - pop {r1} - bx r1 - thumb_func_end sub_8116F28 - - thumb_func_start sub_8116F5C -sub_8116F5C: @ 8116F5C - push {lr} - ldr r0, [r0] - lsls r1, 5 - adds r1, r0, r1 - ldrb r2, [r1, 0x1A] - lsls r0, r2, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08116F8E - ldrb r0, [r1, 0xA] - lsrs r0, 7 - cmp r0, 0 - beq _08116F7A - movs r0, 0x3 - b _08116F90 -_08116F7A: - lsls r0, r2, 29 - cmp r0, 0 - bge _08116F84 - movs r0, 0x1 - b _08116F90 -_08116F84: - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _08116F8E - movs r0, 0x2 - b _08116F90 -_08116F8E: - movs r0, 0 -_08116F90: - pop {r1} - bx r1 - thumb_func_end sub_8116F5C - - thumb_func_start sub_8116F94 -sub_8116F94: @ 8116F94 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r5, r0, 0 - adds r4, r1, 0 - adds r6, r2, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - ldr r0, _08116FE0 @ =gUnknown_203B05C - ldr r0, [r0] - mov r8, r0 - bl sub_8116F5C - lsls r0, 24 - lsrs r0, 24 - lsls r1, r4, 5 - mov r2, r8 - ldr r3, [r2] - adds r3, r1 - str r0, [sp] - lsls r4, 24 - lsrs r4, 24 - str r4, [sp, 0x4] - adds r0, r5, 0 - movs r1, 0x8 - adds r2, r6, 0 - bl sub_811A81C - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08116FE0: .4byte gUnknown_203B05C - thumb_func_end sub_8116F94 - - thumb_func_start sub_8116FE4 -sub_8116FE4: @ 8116FE4 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - ldr r0, _0811704C @ =gUnknown_203B05C - ldr r6, [r0] - movs r7, 0 - movs r3, 0 -_08116FF4: - ldr r0, [r6] - lsls r5, r3, 5 - adds r2, r0, r5 - ldrb r0, [r2, 0x1A] - lsls r0, 30 - mov r8, r5 - cmp r0, 0 - beq _081170C0 - ldr r1, [r6, 0x4] - adds r0, r2, 0 - str r3, [sp] - bl sub_811A748 - adds r4, r0, 0 - ldr r3, [sp] - cmp r4, 0xFF - beq _0811708E - ldr r0, [r6] - adds r2, r0, r5 - ldrb r1, [r2, 0x1A] - lsls r0, r1, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _0811706C - lsls r0, r4, 3 - subs r0, r4 - lsls r4, r0, 2 - ldr r1, [r6, 0x4] - adds r1, r4 - adds r0, r2, 0 - bl sub_811A6DC - ldr r3, [sp] - cmp r0, 0 - beq _08117050 - ldr r1, [r6] - ldr r0, [r6, 0x4] - adds r1, r5 - adds r0, r4 - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - b _0811707A - .align 2, 0 -_0811704C: .4byte gUnknown_203B05C -_08117050: - ldr r0, [r6] - adds r1, r0, r5 - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _08117084 - subs r0, 0x1 - strb r0, [r1, 0x1B] - ldr r0, [r6] - adds r0, r5 - ldrb r0, [r0, 0x1B] - cmp r0, 0 - bne _08117084 - movs r7, 0x2 - b _08117084 -_0811706C: - movs r4, 0x4 - negs r4, r4 - adds r0, r4, 0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1A] -_0811707A: - ldr r0, [r6] - adds r0, r5 - movs r1, 0x40 - strb r1, [r0, 0x1B] - movs r7, 0x1 -_08117084: - ldr r0, [r6] - add r0, r8 - movs r1, 0 - strh r1, [r0, 0x18] - b _081170C0 -_0811708E: - ldr r0, [r6] - adds r1, r0, r5 - ldrb r0, [r1, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x2 - beq _081170C0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] - ldr r0, [r6] - adds r2, r0, r5 - ldrh r1, [r2, 0x18] - ldr r0, _081170FC @ =0x0000012b - cmp r1, r0 - bls _081170C0 - ldrb r0, [r2, 0x1A] - movs r7, 0x4 - negs r7, r7 - adds r1, r7, 0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x1A] - movs r7, 0x2 -_081170C0: - adds r0, r3, 0x1 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0xF - bls _08116FF4 - movs r5, 0 - movs r4, 0x3 -_081170CE: - ldr r0, [r6] - ldr r1, [r6, 0x4] - adds r1, r5 - movs r2, 0x10 - bl sub_811A798 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _081170E4 - movs r7, 0x1 -_081170E4: - adds r5, 0x1C - subs r4, 0x1 - cmp r4, 0 - bge _081170CE - adds r0, r7, 0 - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_081170FC: .4byte 0x0000012b - thumb_func_end sub_8116FE4 - - thumb_func_start sub_8117100 -sub_8117100: @ 8117100 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl CB2_ReturnFromLinkTrade - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8117100 - - thumb_func_start sub_8117118 -sub_8117118: @ 8117118 - push {lr} - ldr r0, _0811712C @ =sub_8117100 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - .align 2, 0 -_0811712C: .4byte sub_8117100 - thumb_func_end sub_8117118 - - thumb_func_start sub_8117130 -sub_8117130: @ 8117130 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _0811716C @ =gUnknown_203B06C - mov r8, r0 - bl GetMultiplayerId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - mov r0, r8 - bl sub_811B1EC - adds r7, r0, 0 - ldr r1, _08117170 @ =gTasks - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - adds r5, r0, r1 - movs r1, 0x8 - ldrsh r0, [r5, r1] - cmp r0, 0x1 - beq _0811719C - cmp r0, 0x1 - bgt _08117174 - cmp r0, 0 - beq _0811717E - b _0811725C - .align 2, 0 -_0811716C: .4byte gUnknown_203B06C -_08117170: .4byte gTasks -_08117174: - cmp r0, 0x2 - beq _081171D8 - cmp r0, 0x3 - beq _08117210 - b _0811725C -_0811717E: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, _08117198 @ =gPlayerParty - adds r1, r0 - movs r0, 0 - movs r2, 0x64 - bl SendBlock - b _0811725C - .align 2, 0 -_08117198: .4byte gPlayerParty -_0811719C: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0811725C - bl GetMultiplayerId - adds r1, r0, 0 - ldr r0, _081171D0 @ =gEnemyParty - movs r2, 0x1 - eors r1, r2 - lsls r1, 24 - lsrs r1, 16 - ldr r2, _081171D4 @ =gBlockRecvBuffer - adds r1, r2 - movs r2, 0x64 - bl memcpy - movs r0, 0x32 - bl IncrementGameStat - bl ResetBlockReceivedFlags - b _081171FA - .align 2, 0 -_081171D0: .4byte gEnemyParty -_081171D4: .4byte gBlockRecvBuffer -_081171D8: - ldr r4, _08117204 @ =gBlockSendBuffer - ldr r0, _08117208 @ =gSaveBlock1Ptr - ldr r1, [r0] - ldr r0, _0811720C @ =0x00002cd0 - adds r1, r0 - adds r0, r4, 0 - movs r2, 0xDC - bl memcpy - movs r0, 0 - adds r1, r4, 0 - movs r2, 0xDC - bl SendBlock - lsls r0, 24 - cmp r0, 0 - beq _0811725C -_081171FA: - ldrh r0, [r5, 0x8] - adds r0, 0x1 - strh r0, [r5, 0x8] - b _0811725C - .align 2, 0 -_08117204: .4byte gBlockSendBuffer -_08117208: .4byte gSaveBlock1Ptr -_0811720C: .4byte 0x00002cd0 -_08117210: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - bne _0811725C - ldr r4, _08117268 @ =gLinkPartnerMail - bl GetMultiplayerId - adds r1, r0, 0 - movs r0, 0x1 - eors r1, r0 - lsls r1, 24 - lsrs r1, 16 - ldr r0, _0811726C @ =gBlockRecvBuffer - adds r1, r0 - adds r0, r4, 0 - movs r2, 0xD8 - bl memcpy - bl ResetBlockReceivedFlags - ldr r1, _08117270 @ =gSelectedTradeMonPositions - strb r7, [r1] - movs r0, 0x6 - strb r0, [r1, 0x1] - ldr r1, _08117274 @ =gMain - ldr r0, _08117278 @ =CB2_ReturnToField - str r0, [r1, 0x8] - ldr r0, _0811727C @ =CB2_InitTradeAnim_LinkTrade - bl SetMainCallback2 - mov r0, r8 - bl sub_811B148 - adds r0, r6, 0 - bl DestroyTask -_0811725C: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08117268: .4byte gLinkPartnerMail -_0811726C: .4byte gBlockRecvBuffer -_08117270: .4byte gSelectedTradeMonPositions -_08117274: .4byte gMain -_08117278: .4byte CB2_ReturnToField -_0811727C: .4byte CB2_InitTradeAnim_LinkTrade - thumb_func_end sub_8117130 - - thumb_func_start sub_8117280 -sub_8117280: @ 8117280 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, _081172A4 @ =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _081172A8 - cmp r0, 0x1 - beq _081172C0 - b _0811734A - .align 2, 0 -_081172A4: .4byte gTasks -_081172A8: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _081172B8 - movs r0, 0x2 - bl sub_800A474 -_081172B8: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0811734A -_081172C0: - bl GetBlockReceivedStatus - adds r4, r0, 0 - bl sub_800A8D4 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bne _0811734A - movs r4, 0 - ldr r0, _081172E0 @ =gTrainerCards - adds r7, r0, 0 - adds r7, 0x38 - ldr r6, _081172E4 @ =gLinkPlayers - adds r5, r0, 0 - b _08117302 - .align 2, 0 -_081172E0: .4byte gTrainerCards -_081172E4: .4byte gLinkPlayers -_081172E8: - lsls r0, r4, 8 - ldr r1, _08117338 @ =gBlockRecvBuffer - adds r1, r0, r1 - adds r0, r5, 0 - movs r2, 0x60 - bl memcpy - ldrh r0, [r6] - strb r0, [r7] - adds r7, 0x60 - adds r6, 0x1C - adds r5, 0x60 - adds r4, 0x1 -_08117302: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - blt _081172E8 - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _0811733C - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 16 - ldr r1, _08117338 @ =gBlockRecvBuffer - adds r1, r0, r1 - adds r0, r1, 0 - adds r0, 0x60 - ldrh r0, [r0] - bl sub_81446D0 - b _08117340 - .align 2, 0 -_08117338: .4byte gBlockRecvBuffer -_0811733C: - bl sub_81446C4 -_08117340: - bl ResetBlockReceivedFlags - mov r0, r8 - bl DestroyTask -_0811734A: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8117280 - - thumb_func_start sub_8117354 -sub_8117354: @ 8117354 - push {r4,lr} - ldr r0, _0811736C @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - beq _08117370 - cmp r0, 0x1 - beq _08117384 - b _081173A2 - .align 2, 0 -_0811736C: .4byte gMain -_08117370: - ldr r0, _08117380 @ =sub_8117280 - movs r1, 0x5 - bl CreateTask - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _081173A2 - .align 2, 0 -_08117380: .4byte sub_8117280 -_08117384: - ldr r0, _081173B8 @ =sub_8117280 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _081173A2 - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - ldr r1, _081173BC @ =CB2_ReturnToField - bl ShowTrainerCardInLink -_081173A2: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081173B8: .4byte sub_8117280 -_081173BC: .4byte CB2_ReturnToField - thumb_func_end sub_8117354 - - thumb_func_start sub_81173C0 -sub_81173C0: @ 81173C0 - push {r4-r6,lr} - adds r6, r0, 0 - lsls r6, 16 - lsrs r6, 16 - bl HealPlayerParty - bl SavePlayerParty - bl LoadPlayerBag - ldr r5, _0811742C @ =gLinkPlayers - ldr r0, _08117430 @ =0x00002211 - str r0, [r5, 0x14] - bl GetMultiplayerId - adds r4, r0, 0 - bl GetMultiplayerId - lsls r4, 24 - lsrs r4, 24 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - adds r1, r5 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x18] - bl GetMultiplayerId - adds r4, r0, 0 - bl GetMultiplayerId - movs r2, 0x1 - eors r4, r2 - lsls r4, 24 - lsrs r4, 24 - lsls r1, r4, 3 - subs r1, r4 - lsls r1, 2 - adds r1, r5 - eors r0, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x18] - ldr r1, _08117434 @ =gMain - ldr r0, _08117438 @ =sub_8081668 - str r0, [r1, 0x8] - ldr r0, _0811743C @ =gBattleTypeFlags - str r6, [r0] - bl PlayBattleBGM - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811742C: .4byte gLinkPlayers -_08117430: .4byte 0x00002211 -_08117434: .4byte gMain -_08117438: .4byte sub_8081668 -_0811743C: .4byte gBattleTypeFlags - thumb_func_end sub_81173C0 - - thumb_func_start sub_8117440 -sub_8117440: @ 8117440 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x8 - adds r3, r0, 0 - adds r4, r1, 0 - adds r5, r2, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r4, 16 - lsrs r4, 16 - lsls r5, 16 - lsrs r5, 16 - ldr r0, _081174AC @ =0x0000406f - adds r1, r3, 0 - bl VarSet - ldr r6, _081174B0 @ =gSaveBlock1Ptr - ldr r1, [r6] - movs r0, 0x4 - ldrsb r0, [r1, r0] - ldrb r1, [r1, 0x5] - lsls r1, 24 - asrs r1, 24 - movs r2, 0x1 - negs r2, r2 - mov r8, r2 - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - str r5, [sp] - adds r3, r4, 0 - bl SetWarpDestination - ldr r0, [r6] - movs r1, 0x4 - ldrsb r1, [r0, r1] - movs r2, 0x5 - ldrsb r2, [r0, r2] - str r4, [sp] - str r5, [sp, 0x4] - movs r0, 0 - mov r3, r8 - bl SetDynamicWarpWithCoords - bl WarpIntoMap - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081174AC: .4byte 0x0000406f -_081174B0: .4byte gSaveBlock1Ptr - thumb_func_end sub_8117440 - - thumb_func_start sub_81174B4 -sub_81174B4: @ 81174B4 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0x4 - adds r4, r0, 0 - adds r5, r1, 0 - mov r8, r2 - adds r6, r3, 0 - ldr r1, [sp, 0x18] - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r1, 16 - lsrs r1, 16 - ldr r0, _08117524 @ =gSpecialVar_0x8004 - strh r1, [r0] - ldr r0, _08117528 @ =0x0000406f - bl VarSet - bl GetLinkPlayerCount - ldr r1, _0811752C @ =gUnknown_3005030 - strb r0, [r1] - bl GetMultiplayerId - ldr r1, _08117530 @ =gUnknown_300502C - strb r0, [r1] - bl SetCableClubWarp - lsls r4, 24 - asrs r4, 24 - lsls r5, 24 - asrs r5, 24 - movs r2, 0x1 - negs r2, r2 - mov r0, r8 - lsls r0, 24 - asrs r0, 24 - mov r8, r0 - lsls r6, 24 - asrs r6, 24 - str r6, [sp] - adds r0, r4, 0 - adds r1, r5, 0 - mov r3, r8 - bl SetWarpDestination - bl WarpIntoMap - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08117524: .4byte gSpecialVar_0x8004 -_08117528: .4byte 0x0000406f -_0811752C: .4byte gUnknown_3005030 -_08117530: .4byte gUnknown_300502C - thumb_func_end sub_81174B4 - - thumb_func_start sub_8117534 -sub_8117534: @ 8117534 - push {r4,lr} - ldr r0, _0811754C @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r4, r0, r1 - ldrb r0, [r4] - cmp r0, 0 - beq _08117550 - cmp r0, 0x1 - beq _08117564 - b _08117576 - .align 2, 0 -_0811754C: .4byte gMain -_08117550: - ldr r0, _08117560 @ =sub_8117280 - movs r1, 0x5 - bl CreateTask - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _08117576 - .align 2, 0 -_08117560: .4byte sub_8117280 -_08117564: - ldr r0, _0811758C @ =sub_8117280 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - bne _08117576 - ldr r0, _08117590 @ =sub_8056788 - bl SetMainCallback2 -_08117576: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811758C: .4byte sub_8117280 -_08117590: .4byte sub_8056788 - thumb_func_end sub_8117534 - - thumb_func_start sub_8117594 -sub_8117594: @ 8117594 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - bl TrainerCard_GenerateCardForLinkPlayer - cmp r5, 0 - beq _081175AE - bl sub_81440E8 - adds r1, r4, 0 - adds r1, 0x60 - strh r0, [r1] - b _081175B4 -_081175AE: - adds r0, r4, 0 - adds r0, 0x60 - strh r5, [r0] -_081175B4: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8117594 - - thumb_func_start sub_81175BC -sub_81175BC: @ 81175BC - push {r4,lr} - sub sp, 0x4 - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_81446C4 - ldr r0, _081175DC @ =gUnknown_203B058 - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0xD - bhi _08117620 - lsls r0, 2 - ldr r1, _081175E0 @ =_081175E4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081175DC: .4byte gUnknown_203B058 -_081175E0: .4byte _081175E4 - .align 2, 0 -_081175E4: - .4byte _0811761C - .4byte _0811761C - .4byte _0811761C - .4byte _0811761C - .4byte _08117620 - .4byte _08117620 - .4byte _08117620 - .4byte _08117620 - .4byte _0811761C - .4byte _0811761C - .4byte _0811761C - .4byte _08117620 - .4byte _0811761C - .4byte _0811761C -_0811761C: - bl RecordMixTrainerNames -_08117620: - ldr r0, _08117638 @ =gUnknown_203B058 - ldrb r0, [r0] - subs r0, 0x1 - cmp r0, 0x50 - bls _0811762C - b _081178E0 -_0811762C: - lsls r0, 2 - ldr r1, _0811763C @ =_08117640 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08117638: .4byte gUnknown_203B058 -_0811763C: .4byte _08117640 - .align 2, 0 -_08117640: - .4byte _081177A0 - .4byte _081177C8 - .4byte _081177F0 - .4byte _08117818 - .4byte _08117854 - .4byte _081178E0 - .4byte _081178E0 - .4byte _08117878 - .4byte _08117890 - .4byte _081178B0 - .4byte _081178C8 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _08117784 - .4byte _081178E0 - .4byte _081178E0 - .4byte _08117844 - .4byte _08117854 - .4byte _081178E0 - .4byte _081178E0 - .4byte _08117878 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _081178E0 - .4byte _08117784 -_08117784: - bl CleanupOverworldWindowsAndTilemaps - ldr r1, _08117798 @ =gMain - ldr r0, _0811779C @ =sub_811C1C8 - str r0, [r1, 0x8] - movs r0, 0x2 - bl InitChooseHalfPartyForBattle - b _081178E0 - .align 2, 0 -_08117798: .4byte gMain -_0811779C: .4byte sub_811C1C8 -_081177A0: - bl CleanupOverworldWindowsAndTilemaps - ldr r0, _081177C4 @ =gBlockSendBuffer - movs r1, 0x1 - bl sub_8117594 - bl HealPlayerParty - bl SavePlayerParty - bl LoadPlayerBag - movs r0, 0x1 - str r0, [sp] - movs r0, 0 - movs r1, 0 - movs r2, 0x6 - b _0811782E - .align 2, 0 -_081177C4: .4byte gBlockSendBuffer -_081177C8: - bl CleanupOverworldWindowsAndTilemaps - bl HealPlayerParty - bl SavePlayerParty - bl LoadPlayerBag - ldr r0, _081177EC @ =gBlockSendBuffer - movs r1, 0x1 - bl sub_8117594 - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - movs r1, 0 - movs r2, 0x6 - b _0811782E - .align 2, 0 -_081177EC: .4byte gBlockSendBuffer -_081177F0: - bl CleanupOverworldWindowsAndTilemaps - bl HealPlayerParty - bl SavePlayerParty - bl LoadPlayerBag - ldr r0, _08117814 @ =gBlockSendBuffer - movs r1, 0x1 - bl sub_8117594 - movs r0, 0x5 - str r0, [sp] - movs r0, 0 - movs r1, 0x3 - b _0811782C - .align 2, 0 -_08117814: .4byte gBlockSendBuffer -_08117818: - ldr r0, _0811783C @ =gBlockSendBuffer - movs r1, 0x1 - bl sub_8117594 - bl CleanupOverworldWindowsAndTilemaps - movs r0, 0x3 - str r0, [sp] - movs r0, 0 - movs r1, 0x1 -_0811782C: - movs r2, 0x5 -_0811782E: - movs r3, 0x8 - bl sub_81174B4 - ldr r0, _08117840 @ =sub_8117534 - bl SetMainCallback2 - b _081178E0 - .align 2, 0 -_0811783C: .4byte gBlockSendBuffer -_08117840: .4byte sub_8117534 -_08117844: - ldr r0, _08117850 @ =sub_8117130 - movs r1, 0 - bl CreateTask - b _081178E0 - .align 2, 0 -_08117850: .4byte sub_8117130 -_08117854: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _08117864 - bl sub_80F8CFC - b _08117872 -_08117864: - bl sub_80F8D14 - movs r0, 0x45 - movs r1, 0 - movs r2, 0x1 - bl sub_80FAF58 -_08117872: - bl sub_8128420 - b _081178E0 -_08117878: - ldr r0, _08117888 @ =gBlockSendBuffer - movs r1, 0 - bl sub_8117594 - ldr r0, _0811788C @ =sub_8117354 - bl SetMainCallback2 - b _081178E0 - .align 2, 0 -_08117888: .4byte gBlockSendBuffer -_0811788C: .4byte sub_8117354 -_08117890: - movs r0, 0x8 - movs r1, 0x5 - movs r2, 0x1 - bl sub_8117440 - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - ldr r1, _081178AC @ =CB2_LoadMap - bl sub_8147AA8 - b _081178E0 - .align 2, 0 -_081178AC: .4byte CB2_LoadMap -_081178B0: - movs r0, 0x7 - movs r1, 0x9 - movs r2, 0x1 - bl sub_8117440 - ldr r0, _081178C4 @ =CB2_LoadMap - bl sub_814B754 - b _081178E0 - .align 2, 0 -_081178C4: .4byte CB2_LoadMap -_081178C8: - movs r0, 0x8 - movs r1, 0x5 - movs r2, 0x1 - bl sub_8117440 - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - ldr r1, _081178F8 @ =CB2_LoadMap - bl sub_81507FC -_081178E0: - adds r0, r4, 0 - bl DestroyTask - ldr r1, _081178FC @ =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - bl ScriptContext2_Disable - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081178F8: .4byte CB2_LoadMap -_081178FC: .4byte gSpecialVar_Result - thumb_func_end sub_81175BC - - thumb_func_start sub_8117900 -sub_8117900: @ 8117900 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _08117924 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08117944 - cmp r0, 0x1 - bgt _08117928 - cmp r0, 0 - beq _08117932 - b _08117988 - .align 2, 0 -_08117924: .4byte gTasks+0x8 -_08117928: - cmp r0, 0x2 - beq _08117958 - cmp r0, 0x3 - beq _08117974 - b _08117988 -_08117932: - ldr r1, _08117940 @ =gSpecialVar_Result - movs r0, 0x1 - strh r0, [r1] - bl EnableBothScriptContexts - b _08117968 - .align 2, 0 -_08117940: .4byte gSpecialVar_Result -_08117944: - bl ScriptContext1_IsScriptSetUp - lsls r0, 24 - cmp r0, 0 - bne _08117988 - movs r0, 0x1 - movs r1, 0 - bl fade_screen - b _08117968 -_08117958: - ldr r0, _08117970 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08117988 - bl sub_800AB9C -_08117968: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _08117988 - .align 2, 0 -_08117970: .4byte gPaletteFade -_08117974: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08117988 - adds r0, r5, 0 - bl DestroyTask - bl sub_81179A4 -_08117988: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8117900 - - thumb_func_start sub_8117990 -sub_8117990: @ 8117990 - push {lr} - ldr r0, _081179A0 @ =sub_8117900 - movs r1, 0 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_081179A0: .4byte sub_8117900 - thumb_func_end sub_8117990 - - thumb_func_start sub_81179A4 -sub_81179A4: @ 81179A4 - push {lr} - ldr r0, _081179C4 @ =sub_81175BC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _081179C8 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0 - strh r0, [r1, 0x8] - pop {r0} - bx r0 - .align 2, 0 -_081179C4: .4byte sub_81175BC -_081179C8: .4byte gTasks - thumb_func_end sub_81179A4 - - thumb_func_start MEvent_CreateTask_Leader -MEvent_CreateTask_Leader: @ 81179CC - push {r4,lr} - adds r4, r0, 0 - ldr r0, _081179FC @ =sub_8117A0C - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08117A00 @ =gUnknown_203B05C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08117A04 @ =gTasks+0x8 - adds r1, r0 - str r1, [r2] - movs r2, 0 - strb r2, [r1, 0xC] - strb r2, [r1, 0xD] - strb r4, [r1, 0x18] - ldr r0, _08117A08 @ =gSpecialVar_Result - strh r2, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081179FC: .4byte sub_8117A0C -_08117A00: .4byte gUnknown_203B05C -_08117A04: .4byte gTasks+0x8 -_08117A08: .4byte gSpecialVar_Result - thumb_func_end MEvent_CreateTask_Leader - - thumb_func_start sub_8117A0C -sub_8117A0C: @ 8117A0C - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08117A2C @ =gUnknown_203B05C - ldr r5, [r0] - ldrb r0, [r5, 0xC] - cmp r0, 0x11 - bls _08117A20 - b _08117ECA -_08117A20: - lsls r0, 2 - ldr r1, _08117A30 @ =_08117A34 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08117A2C: .4byte gUnknown_203B05C -_08117A30: .4byte _08117A34 - .align 2, 0 -_08117A34: - .4byte _08117A7C - .4byte _08117AB8 - .4byte _08117B7C - .4byte _08117BAC - .4byte _08117BBC - .4byte _08117C0C - .4byte _08117BE4 - .4byte _08117C12 - .4byte _08117CB2 - .4byte _08117D94 - .4byte _08117DA4 - .4byte _08117DBA - .4byte _08117DD2 - .4byte _08117DEE - .4byte _08117E26 - .4byte _08117E4C - .4byte _08117E80 - .4byte _08117EBA -_08117A7C: - ldr r1, _08117AB0 @ =gUnknown_203B058 - ldrb r0, [r5, 0x18] - strb r0, [r1] - ldr r1, _08117AB4 @ =gUnknown_203B059 - movs r0, 0x2 - strb r0, [r1] - ldrb r0, [r5, 0x18] - movs r1, 0 - movs r2, 0 - bl sub_80FAF58 - movs r0, 0 - movs r1, 0 - bl sub_80FAF74 - bl sub_800B1F4 - bl OpenLink - movs r0, 0x2 - bl sub_80FBB8C - movs r0, 0x1 - strb r0, [r5, 0xC] - b _08117ECA - .align 2, 0 -_08117AB0: .4byte gUnknown_203B058 -_08117AB4: .4byte gUnknown_203B059 -_08117AB8: - movs r0, 0x70 - bl AllocZeroed - str r0, [r5, 0x4] - movs r0, 0xA0 - bl AllocZeroed - str r0, [r5] - movs r0, 0xA0 - bl AllocZeroed - str r0, [r5, 0x8] - ldr r0, [r5, 0x4] - movs r1, 0x4 - bl sub_811A650 - ldr r0, [r5] - movs r1, 0x5 - bl sub_811A5E4 - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0x10 - bl sub_80FCD50 - ldr r1, [r5] - movs r3, 0 - movs r0, 0 - strh r0, [r1, 0x18] - ldr r2, [r5] - ldrb r1, [r2, 0x1A] - subs r0, 0x4 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1A] - ldr r2, [r5] - ldrb r1, [r2, 0x1A] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0x1A] - ldr r0, [r5] - strb r3, [r0, 0x1B] - ldr r0, [r5, 0x4] - movs r1, 0xFF - bl sub_811A054 - strb r0, [r5, 0x17] - ldr r0, _08117B6C @ =gUnknown_8456CFC - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - bl GetMysteryGiftBaseBlock - lsls r0, 16 - ldr r2, _08117B70 @ =0x0000ffff - ldr r1, [sp, 0x4] - ands r1, r2 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl AddWindow - strb r0, [r5, 0xF] - ldrb r0, [r5, 0xF] - bl MG_DrawTextBorder - ldr r0, _08117B74 @ =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, _08117B78 @ =gUnknown_8456D34 - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldrb r1, [r5, 0xF] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r5, 0x12] - movs r0, 0 - bl CopyBgTilemapBufferToVram - movs r0, 0x1 - strb r0, [r5, 0x13] - b _08117C02 - .align 2, 0 -_08117B6C: .4byte gUnknown_8456CFC -_08117B70: .4byte 0x0000ffff -_08117B74: .4byte gMultiuseListMenuTemplate -_08117B78: .4byte gUnknown_8456D34 -_08117B7C: - ldr r0, _08117B9C @ =gStringVar1 - ldr r2, _08117BA0 @ =gUnknown_8456C74 - ldr r4, _08117BA4 @ =gUnknown_203B058 - ldrb r1, [r4] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - ldr r0, _08117BA8 @ =gStringVar4 - ldrb r1, [r4] - bl sub_811599C - movs r0, 0x3 - strb r0, [r5, 0xC] - b _08117ECA - .align 2, 0 -_08117B9C: .4byte gStringVar1 -_08117BA0: .4byte gUnknown_8456C74 -_08117BA4: .4byte gUnknown_203B058 -_08117BA8: .4byte gStringVar4 -_08117BAC: - ldr r0, _08117BB8 @ =gStringVar4 - bl AddTextPrinterToWindow1 - movs r0, 0x4 - strb r0, [r5, 0xC] - b _08117ECA - .align 2, 0 -_08117BB8: .4byte gStringVar4 -_08117BBC: - adds r0, r5, 0 - movs r1, 0x5 - movs r2, 0x6 - bl sub_8116444 - ldr r0, _08117BE0 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08117BD4 - b _08117ECA -_08117BD4: - movs r0, 0xD - strb r0, [r5, 0xC] - bl DestroyWirelessStatusIndicatorSprite - b _08117ECA - .align 2, 0 -_08117BE0: .4byte gMain -_08117BE4: - adds r0, r5, 0 - adds r0, 0xD - ldr r1, _08117C08 @ =gUnknown_84577F8 - bl MG_PrintTextOnWindow1AndWaitButton - cmp r0, 0 - bne _08117BF4 - b _08117ECA -_08117BF4: - ldr r0, [r5] - bl sub_81165E8 - strb r0, [r5, 0x13] - ldrb r0, [r5, 0x12] - bl RedrawListMenu -_08117C02: - movs r0, 0x2 - strb r0, [r5, 0xC] - b _08117ECA - .align 2, 0 -_08117C08: .4byte gUnknown_84577F8 -_08117C0C: - movs r0, 0x7 - strb r0, [r5, 0xC] - b _08117ECA -_08117C12: - adds r0, r5, 0 - adds r0, 0xD - adds r1, r5, 0 - adds r1, 0x14 - ldr r3, _08117C38 @ =gStringVar4 - movs r2, 0 - bl mevent_message_print_and_prompt_yes_no - lsls r0, 24 - asrs r4, r0, 24 - cmp r4, 0 - beq _08117C42 - cmp r4, 0 - bgt _08117C3C - movs r0, 0x1 - negs r0, r0 - cmp r4, r0 - beq _08117C84 - b _08117ECA - .align 2, 0 -_08117C38: .4byte gStringVar4 -_08117C3C: - cmp r4, 0x1 - beq _08117C84 - b _08117ECA -_08117C42: - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldr r1, [r5] - ldrb r0, [r5, 0x13] - lsls r0, 5 - adds r1, r0 - strb r4, [r1, 0x1B] - ldrb r0, [r5, 0x12] - bl RedrawListMenu - movs r0, 0x5 - strb r0, [r5, 0x19] - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x2 - bl sub_8118658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r5, 0x13] - lsls r0, 5 - ldr r2, [r5] - adds r2, r0 - adds r2, 0x10 - movs r0, 0x5 - b _08117CA8 -_08117C84: - movs r0, 0x6 - strb r0, [r5, 0x19] - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x2 - bl sub_8118658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - ldrb r0, [r5, 0x13] - lsls r0, 5 - ldr r2, [r5] - adds r2, r0 - adds r2, 0x10 - movs r0, 0x6 -_08117CA8: - bl sub_80FA670 - movs r0, 0x8 - strb r0, [r5, 0xC] - b _08117ECA -_08117CB2: - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r0, 0x2 - bl sub_8118658 - lsls r0, 16 - lsrs r0, 16 - ldrb r2, [r5, 0x13] - lsls r2, 5 - ldr r1, [r5] - adds r1, r2 - adds r1, 0x10 - bl sub_80FA6FC - adds r4, r0, 0 - cmp r4, 0x1 - bne _08117D82 - ldrb r0, [r5, 0x19] - cmp r0, 0x5 - bne _08117D3C - ldr r1, [r5] - ldrb r0, [r5, 0x13] - lsls r0, 5 - adds r1, r0 - movs r0, 0 - strb r0, [r1, 0x1B] - ldrb r0, [r5, 0x12] - bl RedrawListMenu - ldrb r0, [r5, 0x13] - adds r0, 0x1 - strb r0, [r5, 0x13] - ldr r4, _08117D30 @ =gStringVar1 - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r1, r0 - subs r1, 0x10 - adds r0, r4, 0 - bl StringCopy7 - ldr r1, [r5] - ldrb r0, [r5, 0x13] - subs r0, 0x1 - lsls r0, 5 - adds r1, r0 - ldrb r1, [r1] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - ldr r0, _08117D34 @ =gStringVar4 - ldr r1, _08117D38 @ =gUnknown_8457554 - bl StringExpandPlaceholders - movs r0, 0x9 - strb r0, [r5, 0xC] - bl sub_80F8F5C - b _08117D7C - .align 2, 0 -_08117D30: .4byte gStringVar1 -_08117D34: .4byte gStringVar4 -_08117D38: .4byte gUnknown_8457554 -_08117D3C: - ldrb r1, [r5, 0x13] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8118658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_80FBD4C - ldr r1, [r5] - ldrb r0, [r5, 0x13] - lsls r0, 5 - adds r1, r0 - ldrb r2, [r1, 0x1A] - movs r0, 0x4 - negs r0, r0 - ands r0, r2 - strb r0, [r1, 0x1A] - ldr r0, [r5] - bl sub_81165E8 - ldrb r0, [r5, 0x12] - bl RedrawListMenu - movs r0, 0x2 - strb r0, [r5, 0xC] -_08117D7C: - movs r0, 0 - strb r0, [r5, 0x19] - b _08117ECA -_08117D82: - cmp r4, 0x2 - beq _08117D88 - b _08117ECA -_08117D88: - movs r0, 0 - movs r1, 0 - bl sub_80FB9E4 - strb r4, [r5, 0xC] - b _08117ECA -_08117D94: - ldr r0, _08117DA0 @ =gStringVar4 - bl AddTextPrinterToWindow1 - movs r0, 0xA - strb r0, [r5, 0xC] - b _08117ECA - .align 2, 0 -_08117DA0: .4byte gStringVar4 -_08117DA4: - ldrb r0, [r5, 0xE] - adds r0, 0x1 - strb r0, [r5, 0xE] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x78 - bhi _08117DB4 - b _08117ECA -_08117DB4: - movs r0, 0xB - strb r0, [r5, 0xC] - b _08117ECA -_08117DBA: - adds r0, r5, 0 - movs r1, 0x5 - movs r2, 0x6 - bl sub_8116444 - lsls r0, 24 - cmp r0, 0 - beq _08117DCC - b _08117ECA -_08117DCC: - movs r0, 0xC - strb r0, [r5, 0xC] - b _08117ECA -_08117DD2: - bl sub_80F8F40 - lsls r0, 24 - cmp r0, 0 - beq _08117DE8 - movs r0, 0 - bl sub_80F8F7C - movs r0, 0xF - strb r0, [r5, 0xC] - b _08117ECA -_08117DE8: - movs r0, 0x6 - strb r0, [r5, 0xC] - b _08117ECA -_08117DEE: - bl DestroyWirelessStatusIndicatorSprite - bl sub_80F8DC0 - ldrb r0, [r5, 0x12] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r5, 0xF] - bl RemoveWindow - ldrb r0, [r5, 0x17] - bl DestroyTask - ldr r0, [r5, 0x8] - bl Free - ldr r0, [r5] - bl Free - ldr r0, [r5, 0x4] - bl Free - b _08117EB2 -_08117E26: - adds r0, r5, 0 - adds r0, 0xD - ldr r1, _08117E44 @ =gUnknown_84571B8 - bl MG_PrintTextOnWindow1AndWaitButton - cmp r0, 0 - beq _08117ECA - adds r0, r4, 0 - bl DestroyTask - ldr r1, _08117E48 @ =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - b _08117ECA - .align 2, 0 -_08117E44: .4byte gUnknown_84571B8 -_08117E48: .4byte gSpecialVar_Result -_08117E4C: - bl sub_80FB9F4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08117E64 - bl sub_80FB9F4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - bne _08117E6A -_08117E64: - movs r0, 0xD - strb r0, [r5, 0xC] - b _08117ECA -_08117E6A: - ldr r0, _08117E7C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08117ECA - movs r0, 0x1 - bl sub_80FAFE0 - b _08117EB2 - .align 2, 0 -_08117E7C: .4byte gReceivedRemoteLinkPlayers -_08117E80: - ldrb r0, [r5, 0x12] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r5, 0xF] - bl RemoveWindow - ldrb r0, [r5, 0x17] - bl DestroyTask - ldr r0, [r5, 0x8] - bl Free - ldr r0, [r5] - bl Free - ldr r0, [r5, 0x4] - bl Free - bl sub_800AB9C -_08117EB2: - ldrb r0, [r5, 0xC] - adds r0, 0x1 - strb r0, [r5, 0xC] - b _08117ECA -_08117EBA: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08117ECA - adds r0, r4, 0 - bl DestroyTask -_08117ECA: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_8117A0C - - thumb_func_start MEvent_CreateTask_CardOrNewsWithFriend -MEvent_CreateTask_CardOrNewsWithFriend: @ 8117ED4 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _08117F0C @ =sub_8117F20 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _08117F10 @ =gUnknown_203B05C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _08117F14 @ =gTasks+0x8 - adds r1, r0 - str r1, [r2] - ldr r0, _08117F18 @ =gUnknown_3002028 - str r1, [r0] - movs r2, 0 - strb r2, [r1, 0x8] - strb r2, [r1, 0x9] - subs r4, 0x15 - strb r4, [r1, 0x12] - ldr r0, _08117F1C @ =gSpecialVar_Result - strh r2, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08117F0C: .4byte sub_8117F20 -_08117F10: .4byte gUnknown_203B05C -_08117F14: .4byte gTasks+0x8 -_08117F18: .4byte gUnknown_3002028 -_08117F1C: .4byte gSpecialVar_Result - thumb_func_end MEvent_CreateTask_CardOrNewsWithFriend - - thumb_func_start sub_8117F20 -sub_8117F20: @ 8117F20 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r0, _08117F40 @ =gUnknown_203B05C - ldr r5, [r0] - ldrb r0, [r5, 0x8] - cmp r0, 0xC - bls _08117F34 - b _08118288 -_08117F34: - lsls r0, 2 - ldr r1, _08117F44 @ =_08117F48 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08117F40: .4byte gUnknown_203B05C -_08117F44: .4byte _08117F48 - .align 2, 0 -_08117F48: - .4byte _08117F7C - .4byte _08117FB0 - .4byte _08117FC0 - .4byte _08118070 - .4byte _08118150 - .4byte _0811818C - .4byte _081181EC - .4byte _08118248 - .4byte _081181EC - .4byte _08118222 - .4byte _081181EC - .4byte _0811826C - .4byte _08118278 -_08117F7C: - ldrb r0, [r5, 0x12] - adds r0, 0x15 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0 - movs r2, 0 - bl sub_80FAF58 - bl sub_800B1F4 - bl OpenLink - bl sub_80FBBD8 - movs r0, 0x70 - bl AllocZeroed - str r0, [r5, 0x4] - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r5] - movs r0, 0x1 - strb r0, [r5, 0x8] - b _08118288 -_08117FB0: - ldr r0, _08117FBC @ =gUnknown_8458FE4 - bl AddTextPrinterToWindow1 - movs r0, 0x2 - strb r0, [r5, 0x8] - b _08118288 - .align 2, 0 -_08117FBC: .4byte gUnknown_8458FE4 -_08117FC0: - ldr r0, [r5, 0x4] - movs r1, 0x4 - bl sub_811A650 - ldr r0, [r5] - movs r1, 0x10 - bl sub_811A5E4 - ldr r0, [r5, 0x4] - ldrb r1, [r5, 0x12] - adds r1, 0x7 - bl sub_811A054 - movs r4, 0 - strb r0, [r5, 0x11] - ldr r0, _0811805C @ =gUnknown_8456D4C - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - bl GetMysteryGiftBaseBlock - lsls r0, 16 - ldr r2, _08118060 @ =0x0000ffff - ldr r1, [sp, 0x4] - ands r1, r2 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl AddWindow - strb r0, [r5, 0xB] - ldr r0, _08118064 @ =gUnknown_8456D54 - bl AddWindow - strb r0, [r5, 0xD] - ldrb r0, [r5, 0xB] - bl MG_DrawTextBorder - ldr r0, _08118068 @ =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, _0811806C @ =gUnknown_8456DDC - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldrb r1, [r5, 0xB] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r5, 0xE] - ldrb r0, [r5, 0xD] - bl MG_DrawTextBorder - ldrb r0, [r5, 0xD] - movs r1, 0x11 - bl FillWindowPixelBuffer - ldrb r0, [r5, 0xD] - bl PutWindowTilemap - ldrb r0, [r5, 0xD] - bl sub_8115924 - ldrb r0, [r5, 0xD] - movs r1, 0x2 - bl CopyWindowToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - strb r4, [r5, 0xF] - movs r0, 0x3 - strb r0, [r5, 0x8] - b _08118288 - .align 2, 0 -_0811805C: .4byte gUnknown_8456D4C -_08118060: .4byte 0x0000ffff -_08118064: .4byte gUnknown_8456D54 -_08118068: .4byte gMultiuseListMenuTemplate -_0811806C: .4byte gUnknown_8456DDC -_08118070: - bl sub_8116FE4 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0 - beq _0811808E - cmp r2, 0x1 - bne _08118086 - movs r0, 0x2 - bl PlaySE -_08118086: - ldrb r0, [r5, 0xE] - bl RedrawListMenu - b _08118288 -_0811808E: - ldrb r0, [r5, 0xE] - bl ListMenu_ProcessInput - adds r2, r0, 0 - ldr r0, _08118128 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08118138 - movs r0, 0x1 - negs r0, r0 - cmp r2, r0 - beq _08118138 - ldr r0, [r5] - lsls r1, r2, 5 - adds r0, r1 - ldrb r1, [r0, 0xA] - ldrb r0, [r0, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08118130 - lsrs r0, r1, 7 - cmp r0, 0 - bne _08118130 - strb r2, [r5, 0xF] - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldrb r0, [r5, 0xE] - bl RedrawListMenu - ldr r4, _0811812C @ =gStringVar1 - ldrb r0, [r5, 0xF] - lsls r0, 5 - ldr r1, [r5] - adds r1, r0 - adds r1, 0x10 - adds r0, r4, 0 - bl StringCopy - ldr r1, [r5] - ldrb r0, [r5, 0xF] - lsls r0, 5 - adds r1, r0 - ldrb r1, [r1] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - ldrb r1, [r5, 0xF] - lsls r1, 5 - ldr r0, [r5] - adds r0, r1 - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8118658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_80FBF54 - movs r0, 0x67 - bl PlaySE - movs r0, 0x4 - strb r0, [r5, 0x8] - b _08118288 - .align 2, 0 -_08118128: .4byte gMain -_0811812C: .4byte gStringVar1 -_08118130: - movs r0, 0x7 - bl PlaySE - b _08118288 -_08118138: - ldr r0, _0811814C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _08118146 - b _08118288 -_08118146: - movs r0, 0x6 - strb r0, [r5, 0x8] - b _08118288 - .align 2, 0 -_0811814C: .4byte gMain -_08118150: - ldr r0, _08118184 @ =gUnknown_8459238 - bl AddTextPrinterToWindow1 - ldr r4, _08118188 @ =gStringVar1 - ldrb r0, [r5, 0xF] - lsls r0, 5 - ldr r1, [r5] - adds r1, r0 - adds r1, 0x10 - adds r0, r4, 0 - bl StringCopy - ldr r1, [r5] - ldrb r0, [r5, 0xF] - lsls r0, 5 - adds r1, r0 - ldrb r1, [r1] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - movs r0, 0x5 - strb r0, [r5, 0x8] - b _08118288 - .align 2, 0 -_08118184: .4byte gUnknown_8459238 -_08118188: .4byte gStringVar1 -_0811818C: - ldr r0, _081181C4 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _081181AA - ldr r2, _081181C8 @ =gUnknown_203B058 - ldr r1, [r5] - ldrb r0, [r5, 0xF] - lsls r0, 5 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 25 - lsrs r0, 25 - strb r0, [r2] - movs r0, 0xA - strb r0, [r5, 0x8] -_081181AA: - bl sub_80FB9F4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - beq _081181D6 - cmp r0, 0x5 - bgt _081181CC - cmp r0, 0x2 - bgt _08118288 - cmp r0, 0x1 - blt _08118288 - b _081181D0 - .align 2, 0 -_081181C4: .4byte gReceivedRemoteLinkPlayers -_081181C8: .4byte gUnknown_203B058 -_081181CC: - cmp r0, 0x6 - bne _08118288 -_081181D0: - movs r0, 0x8 - strb r0, [r5, 0x8] - b _08118288 -_081181D6: - ldr r0, _081181E8 @ =gUnknown_84576AC - bl AddTextPrinterToWindow1 - movs r0, 0 - movs r1, 0 - bl sub_80FB9E4 - b _08118288 - .align 2, 0 -_081181E8: .4byte gUnknown_84576AC -_081181EC: - ldrb r0, [r5, 0xE] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r5, 0xD] - bl RemoveWindow - ldrb r0, [r5, 0xB] - bl RemoveWindow - ldrb r0, [r5, 0x11] - bl DestroyTask - ldr r0, [r5] - bl Free - ldr r0, [r5, 0x4] - bl Free - ldrb r0, [r5, 0x8] - adds r0, 0x1 - strb r0, [r5, 0x8] - b _08118288 -_08118222: - adds r5, 0x9 - ldr r4, _08118244 @ =gUnknown_8457838 - bl sub_80FB9F4 - lsls r0, 24 - lsrs r0, 22 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl MG_PrintTextOnWindow1AndWaitButton - cmp r0, 0 - beq _08118288 - bl DestroyWirelessStatusIndicatorSprite - b _08118252 - .align 2, 0 -_08118244: .4byte gUnknown_8457838 -_08118248: - bl DestroyWirelessStatusIndicatorSprite - ldr r0, _08118264 @ =gUnknown_84571B8 - bl AddTextPrinterToWindow1 -_08118252: - adds r0, r6, 0 - bl DestroyTask - bl sub_80F8DC0 - ldr r1, _08118268 @ =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - b _08118288 - .align 2, 0 -_08118264: .4byte gUnknown_84571B8 -_08118268: .4byte gSpecialVar_Result -_0811826C: - ldrb r0, [r5, 0x8] - adds r0, 0x1 - strb r0, [r5, 0x8] - bl sub_800AB9C - b _08118288 -_08118278: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08118288 - adds r0, r6, 0 - bl DestroyTask -_08118288: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8117F20 - - thumb_func_start MEvent_CreateTask_CardOrNewsOverWireless -MEvent_CreateTask_CardOrNewsOverWireless: @ 8118290 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _081182C8 @ =sub_81182DC - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _081182CC @ =gUnknown_203B05C - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _081182D0 @ =gTasks+0x8 - adds r1, r0 - str r1, [r2] - ldr r0, _081182D4 @ =gUnknown_3002028 - str r1, [r0] - movs r2, 0 - strb r2, [r1, 0x8] - strb r2, [r1, 0x9] - subs r4, 0x15 - strb r4, [r1, 0x12] - ldr r0, _081182D8 @ =gSpecialVar_Result - strh r2, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_081182C8: .4byte sub_81182DC -_081182CC: .4byte gUnknown_203B05C -_081182D0: .4byte gTasks+0x8 -_081182D4: .4byte gUnknown_3002028 -_081182D8: .4byte gSpecialVar_Result - thumb_func_end MEvent_CreateTask_CardOrNewsOverWireless - - thumb_func_start sub_81182DC -sub_81182DC: @ 81182DC - push {r4-r6,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _081182FC @ =gUnknown_203B05C - ldr r5, [r0] - ldrb r0, [r5, 0x8] - cmp r0, 0xE - bls _081182F0 - b _08118604 -_081182F0: - lsls r0, 2 - ldr r1, _08118300 @ =_08118304 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_081182FC: .4byte gUnknown_203B05C -_08118300: .4byte _08118304 - .align 2, 0 -_08118304: - .4byte _08118340 - .4byte _0811836E - .4byte _08118380 - .4byte _08118408 - .4byte _081184C8 - .4byte _08118504 - .4byte _08118564 - .4byte _081185A8 - .4byte _08118564 - .4byte _0811859A - .4byte _08118564 - .4byte _081185B4 - .4byte _08118564 - .4byte _081185E8 - .4byte _081185F4 -_08118340: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_80FAF58 - bl sub_800B1F4 - bl OpenLink - bl sub_80FBBD8 - movs r0, 0x70 - bl AllocZeroed - str r0, [r5, 0x4] - movs r0, 0x80 - lsls r0, 2 - bl AllocZeroed - str r0, [r5] - movs r0, 0x1 - strb r0, [r5, 0x8] - b _08118604 -_0811836E: - ldr r0, _0811837C @ =gUnknown_84591DC - bl AddTextPrinterToWindow1 - movs r0, 0x2 - strb r0, [r5, 0x8] - b _08118604 - .align 2, 0 -_0811837C: .4byte gUnknown_84591DC -_08118380: - ldr r0, [r5, 0x4] - movs r1, 0x4 - bl sub_811A650 - ldr r0, [r5] - movs r1, 0x10 - bl sub_811A5E4 - ldr r0, [r5, 0x4] - ldrb r1, [r5, 0x12] - adds r1, 0x7 - bl sub_811A084 - strb r0, [r5, 0x11] - ldrb r0, [r5, 0x13] - cmp r0, 0 - beq _081183EC - ldr r0, _081183F8 @ =gUnknown_8456D4C - ldr r1, [r0, 0x4] - ldr r0, [r0] - str r0, [sp] - str r1, [sp, 0x4] - bl GetMysteryGiftBaseBlock - lsls r0, 16 - ldr r2, _081183FC @ =0x0000ffff - ldr r1, [sp, 0x4] - ands r1, r2 - orrs r1, r0 - str r1, [sp, 0x4] - mov r0, sp - bl AddWindow - strb r0, [r5, 0xB] - ldrb r0, [r5, 0xB] - bl MG_DrawTextBorder - ldr r0, _08118400 @ =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, _08118404 @ =gUnknown_8456DDC - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldrb r1, [r5, 0xB] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - strb r0, [r5, 0xE] - movs r0, 0 - bl CopyBgTilemapBufferToVram -_081183EC: - movs r0, 0 - strb r0, [r5, 0xF] - movs r0, 0x3 - strb r0, [r5, 0x8] - b _08118604 - .align 2, 0 -_081183F8: .4byte gUnknown_8456D4C -_081183FC: .4byte 0x0000ffff -_08118400: .4byte gMultiuseListMenuTemplate -_08118404: .4byte gUnknown_8456DDC -_08118408: - bl sub_8116FE4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0811842E - cmp r0, 0x1 - bne _0811841E - movs r0, 0x2 - bl PlaySE -_0811841E: - ldrb r0, [r5, 0x13] - cmp r0, 0 - bne _08118426 - b _08118604 -_08118426: - ldrb r0, [r5, 0xE] - bl RedrawListMenu - b _08118604 -_0811842E: - ldrb r0, [r5, 0x13] - cmp r0, 0 - beq _0811843A - ldrb r0, [r5, 0xE] - bl ListMenu_ProcessInput -_0811843A: - ldrb r0, [r5, 0x14] - cmp r0, 0x78 - bls _081184A8 - ldr r2, [r5] - ldrb r1, [r2, 0x1A] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _081184BC - ldrb r1, [r2, 0xA] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _081184BC - ldrb r1, [r5, 0x12] - adds r1, 0x7 - adds r0, r2, 0 - bl sub_8119FB0 - cmp r0, 0 - beq _0811849C - strb r4, [r5, 0xF] - strb r4, [r5, 0x14] - bl LoadWirelessStatusIndicatorSpriteGfx - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - ldr r0, [r5] - adds r4, r0, 0 - adds r4, 0x10 - adds r0, 0x2 - bl sub_8118658 - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl sub_80FBF54 - movs r0, 0x67 - bl PlaySE - movs r0, 0x4 - strb r0, [r5, 0x8] - b _081184BC -_0811849C: - movs r0, 0x16 - bl PlaySE - movs r0, 0xA - strb r0, [r5, 0x8] - b _081184BC -_081184A8: - ldr r0, _081184C4 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _081184BC - movs r1, 0 - movs r0, 0x6 - strb r0, [r5, 0x8] - strb r1, [r5, 0x14] -_081184BC: - ldrb r0, [r5, 0x14] - adds r0, 0x1 - strb r0, [r5, 0x14] - b _08118604 - .align 2, 0 -_081184C4: .4byte gMain -_081184C8: - ldr r0, _081184FC @ =gUnknown_845928C - bl AddTextPrinterToWindow1 - ldr r4, _08118500 @ =gStringVar1 - ldrb r0, [r5, 0xF] - lsls r0, 5 - ldr r1, [r5] - adds r1, r0 - adds r1, 0x10 - adds r0, r4, 0 - bl StringCopy - ldr r1, [r5] - ldrb r0, [r5, 0xF] - lsls r0, 5 - adds r1, r0 - ldrb r1, [r1] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - movs r0, 0x5 - strb r0, [r5, 0x8] - b _08118604 - .align 2, 0 -_081184FC: .4byte gUnknown_845928C -_08118500: .4byte gStringVar1 -_08118504: - ldr r0, _0811853C @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08118522 - ldr r2, _08118540 @ =gUnknown_203B058 - ldr r1, [r5] - ldrb r0, [r5, 0xF] - lsls r0, 5 - adds r1, r0 - ldrb r0, [r1, 0xA] - lsls r0, 25 - lsrs r0, 25 - strb r0, [r2] - movs r0, 0xC - strb r0, [r5, 0x8] -_08118522: - bl sub_80FB9F4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - beq _0811854E - cmp r0, 0x5 - bgt _08118544 - cmp r0, 0x2 - bgt _08118604 - cmp r0, 0x1 - blt _08118604 - b _08118548 - .align 2, 0 -_0811853C: .4byte gReceivedRemoteLinkPlayers -_08118540: .4byte gUnknown_203B058 -_08118544: - cmp r0, 0x6 - bne _08118604 -_08118548: - movs r0, 0x8 - strb r0, [r5, 0x8] - b _08118604 -_0811854E: - ldr r0, _08118560 @ =gUnknown_845777C - bl AddTextPrinterToWindow1 - movs r0, 0 - movs r1, 0 - bl sub_80FB9E4 - b _08118604 - .align 2, 0 -_08118560: .4byte gUnknown_845777C -_08118564: - ldrb r0, [r5, 0x13] - cmp r0, 0 - beq _08118580 - ldrb r0, [r5, 0xE] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldrb r0, [r5, 0xB] - bl RemoveWindow -_08118580: - ldrb r0, [r5, 0x11] - bl DestroyTask - ldr r0, [r5] - bl Free - ldr r0, [r5, 0x4] - bl Free - ldrb r0, [r5, 0x8] - adds r0, 0x1 - strb r0, [r5, 0x8] - b _08118604 -_0811859A: - adds r0, r5, 0 - adds r0, 0x9 - ldr r1, _081185A4 @ =gUnknown_84577BC - b _081185C2 - .align 2, 0 -_081185A4: .4byte gUnknown_84577BC -_081185A8: - adds r0, r5, 0 - adds r0, 0x9 - ldr r1, _081185B0 @ =gUnknown_84571E0 - b _081185C2 - .align 2, 0 -_081185B0: .4byte gUnknown_84571E0 -_081185B4: - adds r0, r5, 0 - adds r0, 0x9 - ldr r2, _081185E0 @ =gUnknown_845933C - ldrb r1, [r5, 0x12] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] -_081185C2: - bl MG_PrintTextOnWindow1AndWaitButton - cmp r0, 0 - beq _08118604 - bl DestroyWirelessStatusIndicatorSprite - adds r0, r4, 0 - bl DestroyTask - bl sub_80F8DC0 - ldr r1, _081185E4 @ =gSpecialVar_Result - movs r0, 0x5 - strh r0, [r1] - b _08118604 - .align 2, 0 -_081185E0: .4byte gUnknown_845933C -_081185E4: .4byte gSpecialVar_Result -_081185E8: - ldrb r0, [r5, 0x8] - adds r0, 0x1 - strb r0, [r5, 0x8] - bl sub_800AB9C - b _08118604 -_081185F4: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _08118604 - adds r0, r4, 0 - bl DestroyTask -_08118604: - add sp, 0x8 - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81182DC - - thumb_func_start UnionRoomSpecial -UnionRoomSpecial: @ 811860C - push {r4,lr} - bl ClearAndInitHostRFUtgtGname - ldr r0, _08118648 @ =sub_81186E0 - movs r1, 0xA - bl CreateTask - ldr r4, _0811864C @ =gUnknown_203B05C - movs r0, 0x96 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - ldr r1, _08118650 @ =gUnknown_300202C - str r0, [r1] - movs r1, 0 - strb r1, [r0, 0x14] - strb r1, [r0, 0x16] - strh r1, [r0, 0x10] - strh r1, [r0, 0x12] - ldr r0, _08118654 @ =gSpecialVar_Result - strh r1, [r0] - movs r0, 0xD0 - movs r1, 0x1 - bl sub_8107D38 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_08118648: .4byte sub_81186E0 -_0811864C: .4byte gUnknown_203B05C -_08118650: .4byte gUnknown_300202C -_08118654: .4byte gSpecialVar_Result - thumb_func_end UnionRoomSpecial - - thumb_func_start sub_8118658 -sub_8118658: @ 8118658 - ldrb r1, [r0, 0x1] - lsls r1, 8 - ldrb r0, [r0] - orrs r0, r1 - bx lr - thumb_func_end sub_8118658 - - thumb_func_start sub_8118664 -sub_8118664: @ 8118664 - push {lr} - adds r3, r1, 0 - ldr r1, _08118684 @ =gUnknown_203B05C - ldr r2, [r1] - movs r1, 0x8 - strb r1, [r2, 0x14] - strb r0, [r2, 0x15] - ldr r0, _08118688 @ =gStringVar4 - cmp r3, r0 - beq _0811867E - adds r1, r3, 0 - bl StringExpandPlaceholders -_0811867E: - pop {r0} - bx r0 - .align 2, 0 -_08118684: .4byte gUnknown_203B05C -_08118688: .4byte gStringVar4 - thumb_func_end sub_8118664 - - thumb_func_start sub_811868C -sub_811868C: @ 811868C - push {lr} - adds r2, r0, 0 - ldr r0, _081186A8 @ =gUnknown_203B05C - ldr r1, [r0] - movs r0, 0x1A - strb r0, [r1, 0x14] - ldr r0, _081186AC @ =gStringVar4 - cmp r2, r0 - beq _081186A4 - adds r1, r2, 0 - bl StringExpandPlaceholders -_081186A4: - pop {r0} - bx r0 - .align 2, 0 -_081186A8: .4byte gUnknown_203B05C -_081186AC: .4byte gStringVar4 - thumb_func_end sub_811868C - - thumb_func_start sub_81186B0 -sub_81186B0: @ 81186B0 - push {lr} - ldr r3, _081186C4 @ =gDecompressionBuffer + 0x3F00 - ldr r1, [r0] - movs r2, 0x80 - lsls r2, 1 - adds r0, r3, 0 - bl memcpy - pop {r0} - bx r0 - .align 2, 0 -_081186C4: .4byte gDecompressionBuffer + 0x3F00 - thumb_func_end sub_81186B0 - - thumb_func_start sub_81186C8 -sub_81186C8: @ 81186C8 - push {lr} - ldr r0, [r0] - ldr r1, _081186DC @ =gDecompressionBuffer + 0x3F00 - movs r2, 0x80 - lsls r2, 1 - bl memcpy - pop {r0} - bx r0 - .align 2, 0 -_081186DC: .4byte gDecompressionBuffer + 0x3F00 - thumb_func_end sub_81186C8 - - thumb_func_start sub_81186E0 -sub_81186E0: @ 81186E0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0xC - lsls r0, 24 - lsrs r4, r0, 24 - movs r5, 0 - ldr r0, _08118710 @ =gUnknown_203B05C - ldr r6, [r0] - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _08118714 @ =gTasks+0x8 - adds r7, r0, r1 - ldrb r0, [r6, 0x14] - cmp r0, 0x38 - bls _08118706 - bl _081198DC -_08118706: - lsls r0, 2 - ldr r1, _08118718 @ =_0811871C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08118710: .4byte gUnknown_203B05C -_08118714: .4byte gTasks+0x8 -_08118718: .4byte _0811871C - .align 2, 0 -_0811871C: - .4byte _08118800 - .4byte _08118858 - .4byte _0811887C - .4byte _081188CC - .4byte _081189AA - .4byte _08118E60 - .4byte _08118C58 - .4byte _08118E60 - .4byte _081198C8 - .4byte _081191D4 - .4byte _081192E0 - .4byte _081190B0 - .4byte _081190CA - .4byte _08119330 - .4byte _08119354 - .4byte _0811935C - .4byte _0811936C - .4byte _0811939A - .4byte _081193AE - .4byte _08118F36 - .4byte _08118FBC - .4byte _08118FDA - .4byte _0811904E - .4byte _08118ADE - .4byte _08118B04 - .4byte _08118B7C - .4byte _0811989C - .4byte _08118D50 - .4byte _08118D38 - .4byte _08118DD4 - .4byte _08118C2E - .4byte _08118DAA - .4byte _08118DA0 - .4byte _08119164 - .4byte _08119184 - .4byte _081191C4 - .4byte _081192E8 - .4byte _08119324 - .4byte _08118BF8 - .4byte _0811910C - .4byte _08118E98 - .4byte _08118EC8 - .4byte _081193D8 - .4byte _08119468 - .4byte _081195B8 - .4byte _08119620 - .4byte _0811963C - .4byte _08119484 - .4byte _08119644 - .4byte _08119784 - .4byte _081197B8 - .4byte _08119840 - .4byte _0811953C - .4byte _081194F0 - .4byte _08119504 - .4byte _0811959C - .4byte _081195EC -_08118800: - movs r0, 0x70 - bl AllocZeroed - str r0, [r6, 0x4] - movs r0, 0x70 - bl AllocZeroed - str r0, [r6, 0xC] - movs r0, 0x80 - lsls r0, 1 - bl AllocZeroed - str r0, [r6] - movs r0, 0x20 - bl AllocZeroed - str r0, [r6, 0x8] - ldr r0, [r6] - movs r1, 0x8 - bl sub_811A5E4 - ldr r1, _08118854 @ =gUnknown_203B058 - movs r0, 0x40 - strb r0, [r1] - ldr r0, [r6, 0xC] - ldr r1, [r6, 0x4] - movs r2, 0x9 - bl sub_8119E84 - adds r1, r6, 0 - adds r1, 0x20 - strb r0, [r1] - adds r0, r6, 0 - adds r0, 0x8C - bl sub_811B754 - bl sub_811BB68 - movs r0, 0x1 - bl _081198DA - .align 2, 0 -_08118854: .4byte gUnknown_203B058 -_08118858: - adds r0, r6, 0 - adds r0, 0x21 - movs r2, 0 - ldrsh r1, [r7, r2] - bl sub_811BAAC - ldrh r0, [r7] - adds r0, 0x1 - strh r0, [r7] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x8 - beq _08118876 - bl _081198DC -_08118876: - movs r0, 0x2 - bl _081198DA -_0811887C: - movs r0, 0x40 - movs r1, 0 - movs r2, 0 - bl sub_80FAF58 - ldr r2, _081188C4 @ =gUnknown_203B06C - ldrh r0, [r2, 0x2] - ldrh r1, [r2, 0xA] - ldrh r2, [r2, 0xC] - bl sub_80FAFA0 - bl sub_800B1F4 - bl OpenLink - bl sub_80FBC00 - ldr r0, [r6, 0x8] - movs r1, 0x1 - bl sub_811A5E4 - ldr r0, [r6, 0x4] - movs r1, 0x4 - bl sub_811A650 - ldr r0, [r6, 0xC] - movs r1, 0x4 - bl sub_811A650 - ldr r1, _081188C8 @ =gSpecialVar_Result - movs r0, 0 - strh r0, [r1] - movs r0, 0x3 - bl _081198DA - .align 2, 0 -_081188C4: .4byte gUnknown_203B06C -_081188C8: .4byte gSpecialVar_Result -_081188CC: - bl GetPartyMenuType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x8 - beq _081188E4 - bl GetPartyMenuType - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x9 - bne _081189A4 -_081188E4: - ldr r4, _08118900 @ =gUnknown_203B06C - ldrh r0, [r4] - cmp r0, 0 - beq _081189A4 - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r5, r0, 24 - ldrh r0, [r4] - cmp r0, 0x1 - beq _08118904 - cmp r0, 0x2 - beq _08118954 - b _08118992 - .align 2, 0 -_08118900: .4byte gUnknown_203B06C -_08118904: - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_80FB008 - cmp r5, 0x5 - bls _08118930 - adds r0, r4, 0 - bl sub_811B148 - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_80FAFA0 - ldr r0, _0811892C @ =gUnknown_8458D54 - bl sub_811868C - b _08118992 - .align 2, 0 -_0811892C: .4byte gUnknown_8458D54 -_08118930: - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_811B16C - cmp r0, 0 - bne _08118950 - ldr r1, _0811894C @ =gUnknown_8458CD4 - movs r0, 0x34 - bl sub_8118664 - b _08118992 - .align 2, 0 -_0811894C: .4byte gUnknown_8458CD4 -_08118950: - movs r0, 0x37 - b _08118990 -_08118954: - adds r0, r6, 0 - bl sub_81186C8 - ldrb r0, [r4, 0x8] - strh r0, [r7, 0x2] - cmp r5, 0x5 - bls _08118970 - ldr r0, _0811896C @ =gUnknown_8458D9C - bl sub_811868C - b _08118992 - .align 2, 0 -_0811896C: .4byte gUnknown_8458D9C -_08118970: - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_80FB008 - ldr r1, _0811899C @ =gUnknown_203B058 - movs r0, 0x44 - strb r0, [r1] - bl GetCursorSelectionMonId - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_811B1B4 - movs r0, 0x33 -_08118990: - strb r0, [r6, 0x14] -_08118992: - ldr r1, _081189A0 @ =gUnknown_203B06C - movs r0, 0 - strh r0, [r1] - bl _081198DC - .align 2, 0 -_0811899C: .4byte gUnknown_203B058 -_081189A0: .4byte gUnknown_203B06C -_081189A4: - movs r0, 0x4 - bl _081198DA -_081189AA: - ldr r4, _081189D8 @ =gSpecialVar_Result - ldrh r0, [r4] - cmp r0, 0 - beq _08118A0E - cmp r0, 0x9 - bne _081189E4 - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_80FB008 - movs r0, 0x2 - bl PlaySE - ldr r0, _081189DC @ =gStringVar1 - ldr r1, _081189E0 @ =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - movs r1, 0 - movs r0, 0x2A - b _08118A06 - .align 2, 0 -_081189D8: .4byte gSpecialVar_Result -_081189DC: .4byte gStringVar1 -_081189E0: .4byte gSaveBlock2Ptr -_081189E4: - cmp r0, 0xB - bne _081189F8 - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_80FB008 - movs r1, 0 - movs r0, 0x17 - b _08118A06 -_081189F8: - movs r0, 0 - strh r0, [r7] - ldrh r0, [r4] - subs r0, 0x1 - strh r0, [r7, 0x2] - movs r1, 0 - movs r0, 0x18 -_08118A06: - strb r0, [r6, 0x14] - strh r1, [r4] - bl _081198DC -_08118A0E: - bl ScriptContext2_IsEnabled - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08118A1E - bl _081198DC -_08118A1E: - ldr r0, _08118A4C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08118A84 - ldr r0, [r6] - adds r2, r7, 0x2 - adds r3, r6, 0 - adds r3, 0x21 - adds r1, r7, 0 - bl sub_811BF00 - cmp r0, 0 - beq _08118A50 - movs r0, 0x5 - bl PlaySE - bl sub_811B298 - movs r0, 0x18 - bl _081198DA - .align 2, 0 -_08118A4C: .4byte gMain -_08118A50: - bl sub_811A9B8 - cmp r0, 0 - beq _08118A84 - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_80FB008 - movs r0, 0x2 - bl PlaySE - bl sub_811B298 - ldr r0, _08118A7C @ =gStringVar1 - ldr r1, _08118A80 @ =gSaveBlock2Ptr - ldr r1, [r1] - bl StringCopy - movs r0, 0x2D - bl _081198DA - .align 2, 0 -_08118A7C: .4byte gStringVar1 -_08118A80: .4byte gSaveBlock2Ptr -_08118A84: - bl sub_8119B94 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x2 - beq _08118AA6 - cmp r0, 0x2 - bgt _08118A9A - cmp r0, 0x1 - beq _08118AA0 - b _08118AD4 -_08118A9A: - cmp r0, 0x4 - beq _08118AAE - b _08118AD4 -_08118AA0: - movs r0, 0x37 - bl PlaySE -_08118AA6: - adds r0, r6, 0 - bl sub_811BECC - b _08118AD4 -_08118AAE: - movs r0, 0xB - strb r0, [r6, 0x14] - bl sub_811B298 - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_80FAFA0 - adds r0, r6, 0 - bl sub_811B2D8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x53 - movs r2, 0 - bl sub_80FB008 -_08118AD4: - adds r0, r6, 0 - bl sub_811BEDC - bl _081198DC -_08118ADE: - ldr r0, _08118B00 @ =Task_StartMenuHandleInput - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08118AEE - bl _081198DC -_08118AEE: - movs r0, 0x40 - movs r1, 0 - movs r2, 0 - bl sub_80FB008 - movs r0, 0x4 - bl _081198DA - .align 2, 0 -_08118B00: .4byte Task_StartMenuHandleInput -_08118B04: - bl sub_811A0E0 - movs r3, 0x2 - ldrsh r0, [r7, r3] - ldr r1, [r6] - bl sub_811ADC4 - adds r4, r0, 0 - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_80FB008 - ldr r0, [r6] - ldrb r1, [r7] - ldrb r2, [r7, 0x2] - adds r3, r4, 0 - bl sub_811AA5C - cmp r0, 0x1 - beq _08118B48 - cmp r0, 0x1 - bgt _08118B3A - cmp r0, 0 - beq _08118B42 - bl _081198DC -_08118B3A: - cmp r0, 0x2 - beq _08118B6C - bl _081198DC -_08118B42: - movs r0, 0x1A - bl _081198DA -_08118B48: - movs r1, 0x2 - ldrsh r0, [r7, r1] - lsls r0, 5 - ldr r1, [r6] - adds r1, r0 - adds r0, r1, 0 - adds r0, 0x10 - ldr r2, _08118B68 @ =gUnknown_203B058 - ldrb r2, [r2] - bl sub_80FC114 - strh r5, [r6, 0x12] - movs r0, 0x19 - bl _081198DA - .align 2, 0 -_08118B68: .4byte gUnknown_203B058 -_08118B6C: - ldr r1, _08118B78 @ =gStringVar4 - movs r0, 0x13 - bl sub_8118664 - bl _081198DC - .align 2, 0 -_08118B78: .4byte gStringVar4 -_08118B7C: - bl sub_811A0E0 - bl sub_80FB9F4 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - blt _08118BC2 - cmp r4, 0x2 - ble _08118B9E - cmp r4, 0x4 - bne _08118BC2 - movs r0, 0x1 - bl sub_811B258 - strb r4, [r6, 0x14] - b _08118BC2 -_08118B9E: - bl sub_80FBB0C - cmp r0, 0x1 - bne _08118BB4 - ldr r0, _08118BB0 @ =gUnknown_8457F90 - bl sub_811868C - b _08118BBC - .align 2, 0 -_08118BB0: .4byte gUnknown_8457F90 -_08118BB4: - ldr r1, _08118BE4 @ =gUnknown_8457F90 - movs r0, 0x1E - bl sub_8118664 -_08118BBC: - ldr r1, _08118BE8 @ =gUnknown_203B058 - movs r0, 0x40 - strb r0, [r1] -_08118BC2: - ldr r0, _08118BEC @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08118BCE - bl _081198DC -_08118BCE: - ldr r0, _08118BF0 @ =gBlockSendBuffer - movs r1, 0x1 - bl sub_8117594 - ldr r0, _08118BF4 @ =sub_8117280 - movs r1, 0x5 - bl CreateTask - movs r0, 0x26 - bl _081198DA - .align 2, 0 -_08118BE4: .4byte gUnknown_8457F90 -_08118BE8: .4byte gUnknown_203B058 -_08118BEC: .4byte gReceivedRemoteLinkPlayers -_08118BF0: .4byte gBlockSendBuffer -_08118BF4: .4byte sub_8117280 -_08118BF8: - ldr r0, _08118C1C @ =sub_8117280 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08118C08 - bl _081198DC -_08118C08: - ldr r0, _08118C20 @ =gUnknown_203B058 - ldrb r0, [r0] - cmp r0, 0x44 - bne _08118C28 - ldr r1, _08118C24 @ =gUnknown_84578BC - movs r0, 0x1F - bl sub_8118664 - bl _081198DC - .align 2, 0 -_08118C1C: .4byte sub_8117280 -_08118C20: .4byte gUnknown_203B058 -_08118C24: .4byte gUnknown_84578BC -_08118C28: - movs r0, 0x5 - bl _081198DA -_08118C2E: - ldr r0, _08118C54 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _08118C3A - bl _081198DC -_08118C3A: - movs r0, 0 - bl sub_811B258 - movs r2, 0 - ldrsh r0, [r7, r2] - movs r3, 0x2 - ldrsh r1, [r7, r3] - ldr r2, [r6] - bl sub_811C028 - movs r0, 0x2 - bl _081198DA - .align 2, 0 -_08118C54: .4byte gReceivedRemoteLinkPlayers -_08118C58: - adds r0, r6, 0 - adds r0, 0x16 - adds r1, r6, 0 - adds r1, 0x1B - adds r2, r6, 0 - adds r2, 0x1C - ldr r3, _08118C8C @ =gUnknown_8456DF4 - ldr r4, _08118C90 @ =gUnknown_8456E1C - str r4, [sp] - bl sub_811A218 - adds r5, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - bne _08118C7C - bl _081198DC -_08118C7C: - ldr r0, _08118C94 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08118C98 - movs r0, 0x1C - bl _081198DA - .align 2, 0 -_08118C8C: .4byte gUnknown_8456DF4 -_08118C90: .4byte gUnknown_8456E1C -_08118C94: .4byte gReceivedRemoteLinkPlayers -_08118C98: - adds r1, r6, 0 - adds r1, 0x84 - movs r0, 0 - strh r0, [r1] - movs r2, 0x2 - ldrsh r0, [r7, r2] - ldr r1, [r6] - bl sub_811ADC4 - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _08118CB6 - cmp r5, 0x40 - bne _08118CE8 -_08118CB6: - adds r0, r6, 0 - adds r0, 0x4C - movs r1, 0x40 - strh r1, [r0] - bl sub_80F9E2C - ldr r0, _08118CDC @ =gStringVar4 - ldr r2, _08118CE0 @ =gUnknown_845842C - ldr r1, _08118CE4 @ =gLinkPlayers - ldrb r1, [r1, 0x13] - lsls r1, 2 - adds r1, r2 - ldr r1, [r1] - bl StringCopy - movs r0, 0x20 - bl _081198DA - .align 2, 0 -_08118CDC: .4byte gStringVar4 -_08118CE0: .4byte gUnknown_845842C -_08118CE4: .4byte gLinkPlayers -_08118CE8: - ldr r0, _08118D10 @ =gUnknown_203B058 - strb r5, [r0] - ldr r1, _08118D14 @ =gUnknown_203B059 - lsrs r0, r5, 8 - strb r0, [r1] - lsls r0, r5, 24 - lsrs r0, 24 - cmp r0, 0x41 - bne _08118D1C - bl sub_811B0F0 - cmp r0, 0 - bne _08118D1C - ldr r1, _08118D18 @ =gUnknown_845847C - movs r0, 0x5 - bl sub_8118664 - bl _081198DC - .align 2, 0 -_08118D10: .4byte gUnknown_203B058 -_08118D14: .4byte gUnknown_203B059 -_08118D18: .4byte gUnknown_845847C -_08118D1C: - ldr r0, _08118D34 @ =gUnknown_203B058 - ldrb r0, [r0] - movs r1, 0x40 - orrs r1, r0 - adds r0, r6, 0 - adds r0, 0x4C - strh r1, [r0] - bl sub_80F9E2C - movs r0, 0x1B - bl _081198DA - .align 2, 0 -_08118D34: .4byte gUnknown_203B058 -_08118D38: - ldr r0, _08118D48 @ =gStringVar4 - ldr r1, _08118D4C @ =gUnknown_8458434 - bl StringCopy - movs r0, 0x24 - bl _081198DA - .align 2, 0 -_08118D48: .4byte gStringVar4 -_08118D4C: .4byte gUnknown_8458434 -_08118D50: - adds r0, r6, 0 - bl sub_811B0A4 - movs r3, 0x2 - ldrsh r0, [r7, r3] - ldr r1, [r6] - bl sub_811ADC4 - adds r4, r0, 0 - adds r0, r6, 0 - adds r0, 0x4C - ldrh r1, [r0] - movs r0, 0x3F - ands r0, r1 - bl sub_811A9FC - adds r5, r0, 0 - adds r0, r6, 0 - adds r0, 0x16 - ldr r3, _08118D9C @ =gUnknown_84580F4 - lsls r1, r5, 2 - lsls r2, r4, 4 - adds r1, r2 - adds r1, r3 - ldr r1, [r1] - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _08118D90 - bl _081198DC -_08118D90: - movs r0, 0 - strh r0, [r7, 0x6] - movs r0, 0x1D - bl _081198DA - .align 2, 0 -_08118D9C: .4byte gUnknown_84580F4 -_08118DA0: - bl sub_800AAC0 - movs r0, 0x24 - bl _081198DA -_08118DAA: - adds r0, r6, 0 - adds r0, 0x4C - movs r1, 0x44 - strh r1, [r0] - ldr r2, _08118DD0 @ =gUnknown_203B06C - ldrh r1, [r2, 0xE] - adds r3, r6, 0 - adds r3, 0x4E - strh r1, [r3] - ldrh r2, [r2, 0x10] - adds r1, r6, 0 - adds r1, 0x50 - strh r2, [r1] - bl sub_80F9E2C - movs r0, 0x1D - bl _081198DA - .align 2, 0 -_08118DD0: .4byte gUnknown_203B06C -_08118DD4: - ldr r0, _08118DEC @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _08118DF8 - ldr r0, _08118DF0 @ =gStringVar4 - ldr r1, _08118DF4 @ =gUnknown_8458434 - bl StringCopy - movs r0, 0x1C - bl _081198DA - .align 2, 0 -_08118DEC: .4byte gReceivedRemoteLinkPlayers -_08118DF0: .4byte gStringVar4 -_08118DF4: .4byte gUnknown_8458434 -_08118DF8: - adds r0, r6, 0 - bl sub_811B0A4 - adds r0, r6, 0 - adds r0, 0x84 - ldrh r0, [r0] - cmp r0, 0x51 - bne _08118E2E - ldr r0, _08118E20 @ =gUnknown_203B058 - ldrb r0, [r0] - cmp r0, 0x8 - bne _08118E28 - ldr r0, _08118E24 @ =gStringVar4 - adds r1, r6, 0 - movs r2, 0 - bl sub_811B31C - movs r0, 0x28 - bl _081198DA - .align 2, 0 -_08118E20: .4byte gUnknown_203B058 -_08118E24: .4byte gStringVar4 -_08118E28: - movs r0, 0xD - bl _081198DA -_08118E2E: - cmp r0, 0x52 - beq _08118E36 - bl _081198DC -_08118E36: - movs r5, 0 - movs r0, 0x20 - strb r0, [r6, 0x14] - ldr r0, _08118E54 @ =gStringVar4 - ldr r4, _08118E58 @ =gUnknown_203B058 - ldrb r2, [r4] - movs r1, 0x40 - orrs r1, r2 - ldr r2, _08118E5C @ =gLinkPlayers - ldrb r2, [r2, 0x13] - bl sub_811AE68 - strb r5, [r4] - bl _081198DC - .align 2, 0 -_08118E54: .4byte gStringVar4 -_08118E58: .4byte gUnknown_203B058 -_08118E5C: .4byte gLinkPlayers -_08118E60: - movs r0, 0x2 - ldrsh r1, [r7, r0] - lsls r1, 5 - ldr r0, [r6] - adds r0, r1 - bl sub_811AA24 - adds r5, r0, 0 - movs r1, 0x2 - ldrsh r0, [r7, r1] - ldr r1, [r6] - bl sub_811ADC4 - adds r4, r0, 0 - ldr r2, _08118E94 @ =gUnknown_8457B04 - lsls r0, r4, 2 - lsls r1, r5, 3 - adds r0, r1 - adds r0, r2 - ldr r1, [r0] - movs r0, 0x6 - bl sub_8118664 - bl _081198DC - .align 2, 0 -_08118E94: .4byte gUnknown_8457B04 -_08118E98: - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, _08118EC4 @ =gStringVar4 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _08118EAC - bl _081198DC -_08118EAC: - movs r4, 0 - movs r0, 0x29 - strb r0, [r6, 0x14] - bl sub_800AB9C - adds r0, r6, 0 - adds r0, 0x84 - strh r4, [r0] - adds r0, 0x2 - strh r4, [r0] - bl _081198DC - .align 2, 0 -_08118EC4: .4byte gStringVar4 -_08118EC8: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - bne _08118ED6 - bl _081198DC -_08118ED6: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _08118F30 - ldr r5, _08118F20 @ =gStringVar1 - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - ldr r4, _08118F24 @ =gLinkPlayers + 8 - adds r1, r4 - adds r0, r5, 0 - bl StringCopy - ldrh r0, [r4, 0x18] - adds r4, 0x1C - adds r1, r4, 0 - bl sub_80FD338 - adds r5, r0, 0 - ldr r0, _08118F28 @ =gStringVar4 - ldr r2, _08118F2C @ =gUnknown_8457C20 - lsls r1, r5, 2 - adds r1, r2 - ldr r1, [r1] - bl StringExpandPlaceholders - movs r0, 0x21 - bl _081198DA - .align 2, 0 -_08118F20: .4byte gStringVar1 -_08118F24: .4byte gLinkPlayers + 8 -_08118F28: .4byte gStringVar4 -_08118F2C: .4byte gUnknown_8457C20 -_08118F30: - movs r0, 0x7 - bl _081198DA -_08118F36: - adds r0, r6, 0 - adds r0, 0x16 - movs r1, 0 - bl sub_811A14C - lsls r0, 24 - asrs r5, r0, 24 - cmp r5, 0 - beq _08118F60 - cmp r5, 0 - bgt _08118F58 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - beq _08118F9C - bl _081198DC -_08118F58: - cmp r5, 0x1 - beq _08118F9C - bl _081198DC -_08118F60: - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r4, _08118F98 @ =gUnknown_203B058 - movs r0, 0x45 - strb r0, [r4] - movs r0, 0x45 - movs r1, 0 - movs r2, 0x1 - bl sub_80FB008 - movs r2, 0x2 - ldrsh r0, [r7, r2] - lsls r0, 5 - ldr r1, [r6] - adds r1, r0 - adds r0, r1, 0 - adds r0, 0x10 - ldrb r2, [r4] - bl sub_80FC114 - ldrh r0, [r7, 0x2] - strh r0, [r6, 0x12] - movs r0, 0x14 - strb r0, [r6, 0x14] - strh r5, [r7, 0x6] - bl _081198DC - .align 2, 0 -_08118F98: .4byte gUnknown_203B058 -_08118F9C: - movs r3, 0x2 - ldrsh r0, [r7, r3] - ldr r1, [r6] - bl sub_811ADC4 - adds r4, r0, 0 - ldr r1, _08118FB8 @ =gUnknown_8458548 - lsls r0, r4, 2 - adds r0, r1 - ldr r0, [r0] - bl sub_811868C - bl _081198DC - .align 2, 0 -_08118FB8: .4byte gUnknown_8458548 -_08118FBC: - ldrh r0, [r7, 0x4] - adds r0, 0x1 - strh r0, [r7, 0x4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x3C - bgt _08118FCE - bl _081198DC -_08118FCE: - movs r1, 0 - movs r0, 0x15 - strb r0, [r6, 0x14] - strh r1, [r7, 0x4] - bl _081198DC -_08118FDA: - bl sub_80FB9F4 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x3 - beq _08119040 - cmp r4, 0x3 - ble _08118FF8 - cmp r4, 0x4 - bne _08119044 - movs r0, 0x1 - bl sub_811B258 - strb r4, [r6, 0x14] - b _08119044 -_08118FF8: - cmp r4, 0x1 - blt _08119044 - movs r1, 0x2 - ldrsh r0, [r7, r1] - ldr r1, [r6] - bl sub_811ADC4 - adds r4, r0, 0 - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_80FB008 - bl sub_80FBB0C - cmp r0, 0x1 - bne _0811902C - ldr r0, _08119028 @ =gUnknown_84585E8 - lsls r1, r4, 2 - adds r1, r0 - ldr r0, [r1] - bl sub_811868C - b _08119044 - .align 2, 0 -_08119028: .4byte gUnknown_84585E8 -_0811902C: - ldr r0, _0811903C @ =gUnknown_84585E8 - lsls r1, r4, 2 - adds r1, r0 - ldr r1, [r1] - movs r0, 0x1E - bl sub_8118664 - b _08119044 - .align 2, 0 -_0811903C: .4byte gUnknown_84585E8 -_08119040: - movs r0, 0x16 - strb r0, [r6, 0x14] -_08119044: - ldrh r0, [r7, 0x6] - adds r0, 0x1 - strh r0, [r7, 0x6] - bl _081198DC -_0811904E: - bl sub_80FBA00 - cmp r0, 0 - beq _08119096 - movs r2, 0x2 - ldrsh r0, [r7, r2] - ldr r1, [r6] - bl sub_811ADC4 - adds r4, r0, 0 - movs r0, 0x54 - movs r1, 0 - movs r2, 0x1 - bl sub_80FB008 - bl sub_80FBB0C - cmp r0, 0x1 - bne _08119088 - ldr r0, _08119084 @ =gUnknown_84585E8 - lsls r1, r4, 2 - adds r1, r0 - ldr r0, [r1] - bl sub_811868C - b _08119096 - .align 2, 0 -_08119084: .4byte gUnknown_84585E8 -_08119088: - ldr r0, _081190A8 @ =gUnknown_84585E8 - lsls r1, r4, 2 - adds r1, r0 - ldr r1, [r1] - movs r0, 0x1E - bl sub_8118664 -_08119096: - ldr r0, _081190AC @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _081190A2 - bl _081198DC -_081190A2: - movs r0, 0x10 - bl _081198DA - .align 2, 0 -_081190A8: .4byte gUnknown_84585E8 -_081190AC: .4byte gReceivedRemoteLinkPlayers -_081190B0: - movs r0, 0x42 - bl PlaySE - bl sub_80F8FA0 - movs r0, 0 - movs r1, 0xC - strb r1, [r6, 0x14] - adds r1, r6, 0 - adds r1, 0x86 - strh r0, [r1] - bl _081198DC -_081190CA: - bl sub_80FBA00 - cmp r0, 0 - beq _081190DE - movs r0, 0 - bl sub_811B258 - movs r0, 0x2 - bl _081198DA -_081190DE: - ldr r0, _08119100 @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _081190EA - bl _081198DC -_081190EA: - ldr r0, _08119104 @ =gBlockSendBuffer - movs r1, 0x1 - bl sub_8117594 - ldr r0, _08119108 @ =sub_8117280 - movs r1, 0x5 - bl CreateTask - movs r0, 0x27 - bl _081198DA - .align 2, 0 -_08119100: .4byte gReceivedRemoteLinkPlayers -_08119104: .4byte gBlockSendBuffer -_08119108: .4byte sub_8117280 -_0811910C: - adds r0, r6, 0 - bl sub_8119904 - ldr r0, _08119150 @ =sub_8117280 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _08119122 - bl _081198DC -_08119122: - movs r0, 0x21 - strb r0, [r6, 0x14] - ldr r0, _08119154 @ =gStringVar1 - ldr r4, _08119158 @ =gLinkPlayers + 0x24 - adds r1, r4, 0 - bl StringCopy - adds r0, r4, 0 - subs r0, 0x24 - ldrh r0, [r0, 0x20] - adds r1, r4, 0 - bl sub_80FD338 - adds r5, r0, 0 - ldr r0, _0811915C @ =gStringVar4 - ldr r2, _08119160 @ =gUnknown_8457BCC - lsls r1, r5, 2 - adds r1, r2 - ldr r1, [r1] - bl StringExpandPlaceholders - b _081198DC - .align 2, 0 -_08119150: .4byte sub_8117280 -_08119154: .4byte gStringVar1 -_08119158: .4byte gLinkPlayers + 0x24 -_0811915C: .4byte gStringVar4 -_08119160: .4byte gUnknown_8457BCC -_08119164: - adds r0, r6, 0 - bl sub_8119904 - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, _08119180 @ =gStringVar4 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _0811917C - b _081198DC -_0811917C: - movs r0, 0x22 - b _081198DA - .align 2, 0 -_08119180: .4byte gStringVar4 -_08119184: - adds r0, r6, 0 - bl sub_8119904 - adds r0, r6, 0 - bl sub_8119944 - cmp r0, 0 - bne _08119196 - b _081198DC -_08119196: - ldr r0, _081191B8 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - bne _081191A4 - b _081198DC -_081191A4: - movs r0, 0x1 - bl sub_80FBD6C - ldr r0, _081191BC @ =gStringVar4 - ldr r1, _081191C0 @ =gUnknown_8457E60 - bl StringCopy - movs r0, 0x24 - b _081198DA - .align 2, 0 -_081191B8: .4byte gMain -_081191BC: .4byte gStringVar4 -_081191C0: .4byte gUnknown_8457E60 -_081191C4: - ldr r1, _081191D0 @ =gStringVar4 - movs r0, 0x9 - bl sub_8118664 - b _081198DC - .align 2, 0 -_081191D0: .4byte gStringVar4 -_081191D4: - adds r0, r6, 0 - adds r0, 0x16 - movs r1, 0 - bl sub_811A14C - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081191FA - cmp r1, 0 - bgt _081191F4 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081192BA - b _081198DC -_081191F4: - cmp r1, 0x1 - beq _081192BA - b _081198DC -_081191FA: - adds r0, r6, 0 - adds r0, 0x4C - movs r1, 0x51 - strh r1, [r0] - ldr r1, _08119228 @ =gUnknown_203B058 - ldrb r1, [r1] - adds r5, r0, 0 - cmp r1, 0x45 - bne _0811922C - movs r4, 0x40 - orrs r4, r1 - movs r0, 0x1 - bl sub_811B2A8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0 - bl sub_80FB008 - b _0811924A - .align 2, 0 -_08119228: .4byte gUnknown_203B058 -_0811922C: - movs r0, 0x40 - adds r4, r1, 0 - orrs r4, r0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x1 - bl sub_811B2A8 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - movs r2, 0x1 - bl sub_80FB008 -_0811924A: - ldr r1, [r6, 0x8] - movs r0, 0 - strb r0, [r1, 0x1B] - strh r0, [r7, 0x6] - ldr r0, _0811927C @ =gUnknown_203B058 - ldrb r0, [r0] - cmp r0, 0x41 - bne _08119292 - bl sub_811B0F0 - cmp r0, 0 - bne _08119288 - movs r0, 0x52 - strh r0, [r5] - adds r0, r5, 0 - bl sub_80F9E2C - movs r0, 0xA - strb r0, [r6, 0x14] - ldr r0, _08119280 @ =gStringVar4 - ldr r1, _08119284 @ =gUnknown_84584C0 - bl StringCopy - b _081198DC - .align 2, 0 -_0811927C: .4byte gUnknown_203B058 -_08119280: .4byte gStringVar4 -_08119284: .4byte gUnknown_84584C0 -_08119288: - adds r0, r5, 0 - bl sub_80F9E2C - movs r0, 0xD - b _081198DA -_08119292: - cmp r0, 0x48 - bne _081192B0 - adds r0, r5, 0 - bl sub_80F9E2C - ldr r0, _081192AC @ =gStringVar4 - adds r1, r6, 0 - movs r2, 0x1 - bl sub_811B31C - movs r0, 0x28 - b _081198DA - .align 2, 0 -_081192AC: .4byte gStringVar4 -_081192B0: - adds r0, r5, 0 - bl sub_80F9E2C - movs r0, 0xD - b _081198DA -_081192BA: - adds r0, r6, 0 - adds r0, 0x4C - movs r1, 0x52 - strh r1, [r0] - bl sub_80F9E2C - movs r0, 0xA - strb r0, [r6, 0x14] - ldr r0, _081192D8 @ =gStringVar4 - ldr r1, _081192DC @ =gUnknown_203B058 - ldrb r1, [r1] - bl sub_81162E0 - b _081198DC - .align 2, 0 -_081192D8: .4byte gStringVar4 -_081192DC: .4byte gUnknown_203B058 -_081192E0: - bl sub_800AAC0 - movs r0, 0x24 - b _081198DA -_081192E8: - ldr r0, _08119318 @ =gReceivedRemoteLinkPlayers - ldrb r4, [r0] - cmp r4, 0 - beq _081192F2 - b _081198DC -_081192F2: - ldr r1, _0811931C @ =gUnknown_203B058 - movs r0, 0x40 - strb r0, [r1] - ldr r1, _08119320 @ =gStringVar4 - movs r0, 0x25 - bl sub_8118664 - adds r0, r6, 0 - adds r0, 0x4C - movs r1, 0 - movs r2, 0xC - bl memset - adds r0, r6, 0 - adds r0, 0x86 - strh r4, [r0] - subs r0, 0x2 - strh r4, [r0] - b _081198DC - .align 2, 0 -_08119318: .4byte gReceivedRemoteLinkPlayers -_0811931C: .4byte gUnknown_203B058 -_08119320: .4byte gStringVar4 -_08119324: - movs r0, 0x2 - strb r0, [r6, 0x14] - movs r0, 0 - bl sub_811B258 - b _081198DC -_08119330: - ldr r4, _0811934C @ =gStringVar4 - ldr r0, _08119350 @ =gUnknown_203B058 - ldrb r0, [r0] - movs r1, 0x40 - orrs r1, r0 - adds r0, r4, 0 - bl sub_811AECC - movs r0, 0xE - adds r1, r4, 0 - bl sub_8118664 - b _081198DC - .align 2, 0 -_0811934C: .4byte gStringVar4 -_08119350: .4byte gUnknown_203B058 -_08119354: - bl sub_800AB9C - movs r0, 0xF - b _081198DA -_0811935C: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - bne _08119368 - b _081198DC -_08119368: - movs r0, 0x10 - b _081198DA -_0811936C: - ldr r0, [r6, 0x8] - bl Free - ldr r0, [r6] - bl Free - ldr r0, [r6, 0xC] - bl Free - ldr r0, [r6, 0x4] - bl Free - adds r0, r6, 0 - adds r0, 0x20 - ldrb r0, [r0] - bl DestroyTask - adds r0, r6, 0 - adds r0, 0x21 - bl sub_811BB40 - movs r0, 0x11 - b _081198DA -_0811939A: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x12 - b _081198DA -_081193AE: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - beq _081193BA - b _081198DC -_081193BA: - bl sub_811BA78 - adds r0, r4, 0 - bl DestroyTask - ldr r0, _081193D4 @ =gUnknown_203B05C - ldr r0, [r0] - bl Free - bl sub_81179A4 - b _081198DC - .align 2, 0 -_081193D4: .4byte gUnknown_203B05C -_081193D8: - bl sub_80F9800 - ldrh r1, [r0, 0x8] - ldr r4, _081193EC @ =0x000003ff - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _081193F0 - movs r0, 0x2B - b _081198DA - .align 2, 0 -_081193EC: .4byte 0x000003ff -_081193F0: - bl sub_80F9800 - ldrh r1, [r0, 0x8] - adds r0, r4, 0 - ands r0, r1 - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - bne _08119414 - ldr r0, _0811940C @ =gStringVar4 - ldr r1, _08119410 @ =gUnknown_8458DE8 - bl StringCopy - b _0811944A - .align 2, 0 -_0811940C: .4byte gStringVar4 -_08119410: .4byte gUnknown_8458DE8 -_08119414: - ldr r4, _08119454 @ =gStringVar1 - bl sub_80F9800 - ldrh r0, [r0, 0x8] - lsls r0, 22 - lsrs r0, 22 - movs r1, 0xB - muls r1, r0 - ldr r0, _08119458 @ =gSpeciesNames - adds r1, r0 - adds r0, r4, 0 - bl StringCopy - ldr r4, _0811945C @ =gStringVar2 - bl sub_80F9800 - ldrb r1, [r0, 0xB] - lsrs r1, 1 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r0, _08119460 @ =gStringVar4 - ldr r1, _08119464 @ =gUnknown_8458DBC - bl StringExpandPlaceholders -_0811944A: - ldr r1, _08119460 @ =gStringVar4 - movs r0, 0x2C - bl sub_8118664 - b _081198DC - .align 2, 0 -_08119454: .4byte gStringVar1 -_08119458: .4byte gSpeciesNames -_0811945C: .4byte gStringVar2 -_08119460: .4byte gStringVar4 -_08119464: .4byte gUnknown_8458DBC -_08119468: - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, _08119480 @ =gUnknown_8458AB8 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _0811947A - b _081198DC -_0811947A: - movs r0, 0x2F - b _081198DA - .align 2, 0 -_08119480: .4byte gUnknown_8458AB8 -_08119484: - adds r0, r6, 0 - adds r0, 0x16 - adds r1, r6, 0 - adds r1, 0x1D - adds r2, r6, 0 - adds r2, 0x1E - ldr r3, _081194BC @ =gUnknown_8456E34 - ldr r4, _081194C0 @ =gUnknown_8456E54 - str r4, [sp] - bl sub_811A218 - adds r5, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - bne _081194A6 - b _081198DC -_081194A6: - subs r0, 0x1 - cmp r5, r0 - beq _081194B0 - cmp r5, 0x3 - bne _081194C4 -_081194B0: - movs r0, 0x4 - strb r0, [r6, 0x14] - movs r0, 0x1 - bl sub_811B258 - b _081194E4 - .align 2, 0 -_081194BC: .4byte gUnknown_8456E34 -_081194C0: .4byte gUnknown_8456E54 -_081194C4: - cmp r5, 0x1 - beq _081194CE - cmp r5, 0x2 - beq _081194DC - b _081194E4 -_081194CE: - ldr r1, _081194D8 @ =gUnknown_8458D1C - movs r0, 0x35 - bl sub_8118664 - b _081194E4 - .align 2, 0 -_081194D8: .4byte gUnknown_8458D1C -_081194DC: - ldr r1, _081194EC @ =gUnknown_8458B44 - movs r0, 0x2F - bl sub_8118664 -_081194E4: - bl DestroyHelpMessageWindow_ - b _081198DC - .align 2, 0 -_081194EC: .4byte gUnknown_8458B44 -_081194F0: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x36 - b _081198DA -_08119504: - ldr r0, _08119528 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08119512 - b _081198DC -_08119512: - ldr r1, _0811952C @ =gUnknown_203B06C - movs r0, 0x1 - strh r0, [r1] - ldr r1, _08119530 @ =gFieldCallback - ldr r0, _08119534 @ =sub_807DCE4 - str r0, [r1] - ldr r1, _08119538 @ =CB2_ReturnToField - movs r0, 0x8 - bl sub_81277F4 - b _081198DC - .align 2, 0 -_08119528: .4byte gPaletteFade -_0811952C: .4byte gUnknown_203B06C -_08119530: .4byte gFieldCallback -_08119534: .4byte sub_807DCE4 -_08119538: .4byte CB2_ReturnToField -_0811953C: - adds r0, r6, 0 - adds r0, 0x16 - adds r1, r6, 0 - adds r1, 0x1D - adds r2, r6, 0 - adds r2, 0x1E - ldr r3, _08119580 @ =gUnknown_8456E6C - ldr r4, _08119584 @ =gUnknown_8456F04 - str r4, [sp] - bl sub_811A218 - adds r5, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - bne _0811955E - b _081198DC -_0811955E: - subs r0, 0x1 - cmp r5, r0 - beq _08119568 - cmp r5, 0x12 - bne _08119590 -_08119568: - ldr r0, _08119588 @ =gUnknown_203B06C - bl sub_811B148 - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_80FAFA0 - ldr r0, _0811958C @ =gUnknown_8458D54 - bl sub_811868C - b _081198DC - .align 2, 0 -_08119580: .4byte gUnknown_8456E6C -_08119584: .4byte gUnknown_8456F04 -_08119588: .4byte gUnknown_203B06C -_0811958C: .4byte gUnknown_8458D54 -_08119590: - ldr r0, _08119598 @ =gUnknown_203B06C - strh r5, [r0, 0x2] - movs r0, 0x37 - b _081198DA - .align 2, 0 -_08119598: .4byte gUnknown_203B06C -_0811959C: - ldr r2, _081195B0 @ =gUnknown_203B06C - ldrh r0, [r2, 0x2] - ldrh r1, [r2, 0xA] - ldrh r2, [r2, 0xC] - bl sub_80FAFA0 - ldr r0, _081195B4 @ =gUnknown_8458D78 - bl sub_811868C - b _081198DC - .align 2, 0 -_081195B0: .4byte gUnknown_203B06C -_081195B4: .4byte gUnknown_8458D78 -_081195B8: - adds r0, r6, 0 - adds r0, 0x16 - movs r1, 0 - bl sub_811A14C - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081195DE - cmp r1, 0 - bgt _081195D8 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081195E2 - b _081198DC -_081195D8: - cmp r1, 0x1 - beq _081195E2 - b _081198DC -_081195DE: - movs r0, 0x38 - b _081198DA -_081195E2: - movs r0, 0x1 - bl sub_811B258 - movs r0, 0x4 - b _081198DA -_081195EC: - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, _08119618 @ =gUnknown_8458E10 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _081195FE - b _081198DC -_081195FE: - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl sub_80FAFA0 - ldr r0, _0811961C @ =gUnknown_203B06C - bl sub_811B148 - movs r0, 0x1 - bl sub_811B258 - movs r0, 0x4 - b _081198DA - .align 2, 0 -_08119618: .4byte gUnknown_8458E10 -_0811961C: .4byte gUnknown_203B06C -_08119620: - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, _08119638 @ =gUnknown_8458A98 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _08119632 - b _081198DC -_08119632: - movs r0, 0x2E - b _081198DA - .align 2, 0 -_08119638: .4byte gUnknown_8458A98 -_0811963C: - bl sub_811A3F8 - movs r0, 0x30 - b _081198DA -_08119644: - adds r0, r6, 0 - adds r0, 0x16 - adds r1, r6, 0 - adds r1, 0x1D - adds r2, r6, 0 - adds r2, 0x4A - adds r3, r6, 0 - adds r3, 0x1E - ldr r4, _08119688 @ =gUnknown_8456F24 - str r4, [sp] - ldr r4, _0811968C @ =gUnknown_8456F7C - str r4, [sp, 0x4] - ldr r4, [r6] - str r4, [sp, 0x8] - bl sub_811A2EC - adds r5, r0, 0 - movs r0, 0x1 - negs r0, r0 - cmp r5, r0 - bne _08119670 - b _081198DC -_08119670: - subs r0, 0x1 - cmp r5, r0 - beq _0811967A - cmp r5, 0x8 - bne _08119690 -_0811967A: - movs r0, 0x1 - bl sub_811B258 - bl DestroyHelpMessageWindow_ - movs r0, 0x4 - b _081198DA - .align 2, 0 -_08119688: .4byte gUnknown_8456F24 -_0811968C: .4byte gUnknown_8456F7C -_08119690: - ldr r1, [r6] - lsls r3, r5, 5 - mov r8, r3 - add r1, r8 - ldrb r0, [r1, 0x9] - lsrs r0, 2 - ldrh r1, [r1, 0x8] - lsls r1, 22 - lsrs r1, 22 - bl sub_811ADD0 - cmp r0, 0x1 - beq _081196EC - cmp r0, 0x1 - bgt _081196B4 - cmp r0, 0 - beq _081196BA - b _081198DC -_081196B4: - cmp r0, 0x2 - beq _08119734 - b _081198DC -_081196BA: - ldr r4, _081196E4 @ =gStringVar1 - ldr r1, [r6] - add r1, r8 - adds r1, 0x10 - adds r0, r4, 0 - bl StringCopy - ldr r0, [r6] - add r0, r8 - ldrb r1, [r0] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - ldr r1, _081196E8 @ =gUnknown_8458E70 - movs r0, 0x31 - bl sub_8118664 - strh r5, [r7, 0x2] - b _081198DC - .align 2, 0 -_081196E4: .4byte gStringVar1 -_081196E8: .4byte gUnknown_8458E70 -_081196EC: - ldr r4, _08119724 @ =gStringVar1 - ldr r1, [r6] - add r1, r8 - adds r1, 0x10 - adds r0, r4, 0 - bl StringCopy - ldr r0, [r6] - add r0, r8 - ldrb r1, [r0] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - ldr r0, _08119728 @ =gStringVar2 - ldr r1, [r6] - add r1, r8 - ldrb r2, [r1, 0x9] - lsrs r2, 2 - lsls r1, r2, 3 - subs r1, r2 - ldr r2, _0811972C @ =gTypeNames - adds r1, r2 - bl StringCopy - ldr r1, _08119730 @ =gUnknown_8458ED0 - b _0811976A - .align 2, 0 -_08119724: .4byte gStringVar1 -_08119728: .4byte gStringVar2 -_0811972C: .4byte gTypeNames -_08119730: .4byte gUnknown_8458ED0 -_08119734: - ldr r4, _08119774 @ =gStringVar1 - ldr r1, [r6] - add r1, r8 - adds r1, 0x10 - adds r0, r4, 0 - bl StringCopy - ldr r0, [r6] - add r0, r8 - ldrb r1, [r0] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - ldr r0, _08119778 @ =gStringVar2 - ldr r1, [r6] - add r1, r8 - ldrb r2, [r1, 0x9] - lsrs r2, 2 - lsls r1, r2, 3 - subs r1, r2 - ldr r2, _0811977C @ =gTypeNames - adds r1, r2 - bl StringCopy - ldr r1, _08119780 @ =gUnknown_8458F04 -_0811976A: - movs r0, 0x2E - bl sub_8118664 - b _081198DC - .align 2, 0 -_08119774: .4byte gStringVar1 -_08119778: .4byte gStringVar2 -_0811977C: .4byte gTypeNames -_08119780: .4byte gUnknown_8458F04 -_08119784: - adds r0, r6, 0 - adds r0, 0x16 - movs r1, 0 - bl sub_811A14C - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _081197AA - cmp r1, 0 - bgt _081197A4 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _081197AE - b _081198DC -_081197A4: - cmp r1, 0x1 - beq _081197AE - b _081198DC -_081197AA: - movs r0, 0x32 - b _081198DA -_081197AE: - movs r0, 0x1 - bl sub_811B258 - movs r0, 0x4 - b _081198DA -_081197B8: - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, _08119820 @ =gUnknown_8458D1C - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - bne _081197CA - b _081198DC -_081197CA: - ldr r4, _08119824 @ =gUnknown_203B06C - movs r0, 0x2 - strh r0, [r4] - ldr r2, _08119828 @ =gUnknown_203B064 - movs r1, 0x2 - ldrsh r0, [r7, r1] - ldr r1, [r6] - lsls r0, 5 - adds r0, r1 - ldr r0, [r0] - str r0, [r2] - ldr r2, _0811982C @ =gUnionRoomRequestedMonType - ldr r1, [r6] - movs r3, 0x2 - ldrsh r0, [r7, r3] - lsls r0, 5 - adds r1, r0 - ldrb r0, [r1, 0x9] - lsrs r0, 2 - strb r0, [r2] - ldr r2, _08119830 @ =gUnionRoomOfferedSpecies - ldr r1, [r6] - movs r3, 0x2 - ldrsh r0, [r7, r3] - lsls r0, 5 - adds r1, r0 - ldrh r0, [r1, 0x8] - lsls r0, 22 - lsrs r0, 22 - strh r0, [r2] - ldr r1, _08119834 @ =gFieldCallback - ldr r0, _08119838 @ =sub_807DCE4 - str r0, [r1] - ldr r1, _0811983C @ =CB2_ReturnToField - movs r0, 0x9 - bl sub_81277F4 - adds r0, r6, 0 - bl sub_81186B0 - ldrh r0, [r7, 0x2] - strb r0, [r4, 0x8] - b _081198DC - .align 2, 0 -_08119820: .4byte gUnknown_8458D1C -_08119824: .4byte gUnknown_203B06C -_08119828: .4byte gUnknown_203B064 -_0811982C: .4byte gUnionRoomRequestedMonType -_08119830: .4byte gUnionRoomOfferedSpecies -_08119834: .4byte gFieldCallback -_08119838: .4byte sub_807DCE4 -_0811983C: .4byte CB2_ReturnToField -_08119840: - ldr r1, _08119890 @ =gUnknown_203B058 - movs r0, 0x44 - strb r0, [r1] - movs r1, 0x2 - ldrsh r0, [r7, r1] - lsls r0, 5 - ldr r1, [r6] - adds r1, r0 - adds r0, r1, 0 - adds r0, 0x10 - movs r2, 0x44 - bl sub_80FC114 - ldr r4, _08119894 @ =gStringVar1 - movs r2, 0x2 - ldrsh r0, [r7, r2] - lsls r0, 5 - ldr r1, [r6] - adds r1, r0 - adds r1, 0x10 - adds r0, r4, 0 - bl StringCopy - ldr r1, [r6] - movs r3, 0x2 - ldrsh r0, [r7, r3] - lsls r0, 5 - adds r1, r0 - ldrb r1, [r1] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - ldr r0, _08119898 @ =gUnknown_8457A34 - ldr r0, [r0, 0x8] - bl sub_811A0B4 - movs r0, 0x19 - b _081198DA - .align 2, 0 -_08119890: .4byte gUnknown_203B058 -_08119894: .4byte gStringVar1 -_08119898: .4byte gUnknown_8457A34 -_0811989C: - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, _081198C4 @ =gStringVar4 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - beq _081198DC - movs r0, 0x1 - bl sub_811B258 - movs r1, 0 - ldrsh r0, [r7, r1] - movs r2, 0x2 - ldrsh r1, [r7, r2] - ldr r2, [r6] - bl sub_811C028 - movs r0, 0x4 - b _081198DA - .align 2, 0 -_081198C4: .4byte gStringVar4 -_081198C8: - adds r0, r6, 0 - adds r0, 0x16 - ldr r1, _081198E8 @ =gStringVar4 - bl sub_811A0F8 - lsls r0, 24 - cmp r0, 0 - beq _081198DC - ldrb r0, [r6, 0x15] -_081198DA: - strb r0, [r6, 0x14] -_081198DC: - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_081198E8: .4byte gStringVar4 - thumb_func_end sub_81186E0 - - thumb_func_start var_800D_set_xB -var_800D_set_xB: @ 81198EC - push {lr} - bl InUnionRoom - cmp r0, 0x1 - bne _081198FC - ldr r1, _08119900 @ =gSpecialVar_Result - movs r0, 0xB - strh r0, [r1] -_081198FC: - pop {r0} - bx r0 - .align 2, 0 -_08119900: .4byte gSpecialVar_Result - thumb_func_end var_800D_set_xB - - thumb_func_start sub_8119904 -sub_8119904: @ 8119904 - push {r4,r5,lr} - adds r2, r0, 0 - ldr r3, _08119940 @ =gRecvCmds - ldrh r5, [r3, 0x12] - adds r4, r5, 0 - cmp r4, 0 - beq _08119938 - ldrh r0, [r3, 0x10] - movs r1, 0xFF - lsls r1, 8 - ands r1, r0 - movs r0, 0xBC - lsls r0, 6 - cmp r1, r0 - bne _08119938 - adds r0, r2, 0 - adds r0, 0x86 - strh r5, [r0] - cmp r4, 0x44 - bne _08119938 - ldrh r1, [r3, 0x14] - adds r0, 0x2 - strh r1, [r0] - ldrh r1, [r3, 0x16] - adds r0, 0x2 - strh r1, [r0] -_08119938: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_08119940: .4byte gRecvCmds - thumb_func_end sub_8119904 - - thumb_func_start sub_8119944 -sub_8119944: @ 8119944 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r4, 0 - adds r5, 0x86 - ldrh r0, [r5] - cmp r0, 0 - beq _08119994 - ldr r0, _08119978 @ =gStringVar4 - ldr r1, _0811997C @ =gLinkPlayers - adds r1, 0x2F - ldrb r1, [r1] - adds r2, r5, 0 - adds r3, r4, 0 - bl sub_811AF6C - cmp r0, 0 - beq _08119994 - cmp r0, 0x1 - bne _08119984 - movs r0, 0x23 - strb r0, [r4, 0x14] - ldr r1, _08119980 @ =gUnknown_203B058 - ldrh r0, [r5] - strb r0, [r1] - movs r0, 0 - b _08119996 - .align 2, 0 -_08119978: .4byte gStringVar4 -_0811997C: .4byte gLinkPlayers -_08119980: .4byte gUnknown_203B058 -_08119984: - cmp r0, 0x2 - bne _08119994 - movs r0, 0x24 - strb r0, [r4, 0x14] - bl sub_800AAC0 - movs r0, 0 - b _08119996 -_08119994: - movs r0, 0x1 -_08119996: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8119944 - - thumb_func_start InitUnionRoom -InitUnionRoom: @ 811999C - push {r4-r6,lr} - ldr r5, _081199E8 @ =gUnknown_203B04C - movs r0, 0x1 - negs r0, r0 - adds r6, r0, 0 - movs r0, 0xFF - strb r0, [r5] - ldr r0, _081199EC @ =gQuestLogState - ldrb r0, [r0] - subs r0, 0x2 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bls _081199E0 - ldr r0, _081199F0 @ =sub_81199FC - movs r1, 0 - bl CreateTask - ldr r4, _081199F4 @ =gUnknown_203B05C - movs r0, 0x96 - lsls r0, 2 - bl AllocZeroed - str r0, [r4] - ldr r1, _081199F8 @ =gUnknown_300202C - str r0, [r1] - movs r1, 0 - strb r1, [r0, 0x14] - strb r1, [r0, 0x16] - strh r1, [r0, 0x10] - strh r1, [r0, 0x12] - ldrb r0, [r5] - orrs r0, r6 - strb r0, [r5] -_081199E0: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_081199E8: .4byte gUnknown_203B04C -_081199EC: .4byte gQuestLogState -_081199F0: .4byte sub_81199FC -_081199F4: .4byte gUnknown_203B05C -_081199F8: .4byte gUnknown_300202C - thumb_func_end InitUnionRoom - - thumb_func_start sub_81199FC -sub_81199FC: @ 81199FC - push {r4-r6,lr} - sub sp, 0x20 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _08119A1C @ =gUnknown_203B05C - ldr r5, [r0] - ldrb r0, [r5, 0x14] - cmp r0, 0x4 - bls _08119A10 - b _08119B5C -_08119A10: - lsls r0, 2 - ldr r1, _08119A20 @ =_08119A24 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_08119A1C: .4byte gUnknown_203B05C -_08119A20: .4byte _08119A24 - .align 2, 0 -_08119A24: - .4byte _08119A38 - .4byte _08119A3E - .4byte _08119A60 - .4byte _08119AB0 - .4byte _08119B28 -_08119A38: - movs r0, 0x1 - strb r0, [r5, 0x14] - b _08119B5C -_08119A3E: - movs r0, 0xC - movs r1, 0 - movs r2, 0 - bl sub_80FAF58 - bl sub_800B1F4 - bl OpenLink - bl sub_80FBC00 - movs r0, 0x1 - bl sub_80FB128 - movs r0, 0x2 - strb r0, [r5, 0x14] - b _08119B5C -_08119A60: - movs r0, 0x70 - bl AllocZeroed - str r0, [r5, 0x4] - movs r1, 0x4 - bl sub_811A650 - movs r0, 0x70 - bl AllocZeroed - str r0, [r5, 0xC] - movs r1, 0x4 - bl sub_811A650 - movs r0, 0x80 - lsls r0, 1 - bl AllocZeroed - str r0, [r5] - movs r1, 0x8 - bl sub_811A5E4 - movs r0, 0x20 - bl AllocZeroed - str r0, [r5, 0x8] - movs r1, 0x1 - bl sub_811A5E4 - ldr r0, [r5, 0xC] - ldr r1, [r5, 0x4] - movs r2, 0xA - bl sub_8119E84 - adds r1, r5, 0 - adds r1, 0x20 - strb r0, [r1] - movs r0, 0x3 - strb r0, [r5, 0x14] - b _08119B5C -_08119AB0: - bl sub_8119B94 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - blt _08119B5C - cmp r0, 0x2 - bgt _08119B5C - ldr r0, _08119B14 @ =gUnknown_203B04C - ldrb r0, [r0] - cmp r0, 0xFF - bne _08119B5C - movs r6, 0 -_08119ACA: - ldr r0, [r5] - lsls r4, r6, 5 - adds r1, r0, r4 - ldrb r0, [r1, 0x1A] - lsls r0, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08119B0A - adds r1, 0x10 - mov r0, sp - bl StringCopy - ldr r0, [r5] - adds r0, r4 - ldrb r1, [r0] - lsls r1, 28 - lsrs r1, 28 - mov r0, sp - bl ConvertInternationalString - ldr r0, [r5] - adds r0, r4 - adds r0, 0x2 - bl sub_8118658 - lsls r0, 16 - lsrs r0, 16 - mov r1, sp - bl sub_80FD338 - cmp r0, 0 - bne _08119B18 -_08119B0A: - adds r6, 0x1 - cmp r6, 0x7 - ble _08119ACA - b _08119B5C - .align 2, 0 -_08119B14: .4byte gUnknown_203B04C -_08119B18: - ldr r0, _08119B24 @ =gUnknown_203B04C - mov r1, sp - bl StringCopy - b _08119B5C - .align 2, 0 -_08119B24: .4byte gUnknown_203B04C -_08119B28: - ldr r0, [r5, 0x8] - bl Free - ldr r0, [r5] - bl Free - ldr r0, [r5, 0xC] - bl Free - ldr r0, [r5, 0x4] - bl Free - adds r0, r5, 0 - adds r0, 0x20 - ldrb r0, [r0] - bl DestroyTask - ldr r0, _08119B64 @ =gUnknown_203B05C - ldr r0, [r0] - bl Free - bl sub_80F8DC0 - adds r0, r4, 0 - bl DestroyTask -_08119B5C: - add sp, 0x20 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_08119B64: .4byte gUnknown_203B05C - thumb_func_end sub_81199FC - - thumb_func_start BufferUnionRoomPlayerName -BufferUnionRoomPlayerName: @ 8119B68 - push {r4,lr} - ldr r4, _08119B78 @ =gUnknown_203B04C - ldrb r0, [r4] - cmp r0, 0xFF - bne _08119B7C - movs r0, 0 - b _08119B8A - .align 2, 0 -_08119B78: .4byte gUnknown_203B04C -_08119B7C: - ldr r0, _08119B90 @ =gStringVar1 - adds r1, r4, 0 - bl StringCopy - movs r0, 0xFF - strb r0, [r4] - movs r0, 0x1 -_08119B8A: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_08119B90: .4byte gStringVar1 - thumb_func_end BufferUnionRoomPlayerName - - thumb_func_start sub_8119B94 -sub_8119B94: @ 8119B94 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - ldr r0, _08119BE8 @ =gUnknown_203B05C - ldr r4, [r0] - movs r7, 0 - movs r6, 0 - movs r5, 0 -_08119BA6: - ldr r0, [r4, 0xC] - adds r0, r5 - ldr r1, _08119BEC @ =gUnknown_8457034 - bl sub_811A694 - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x1 - bne _08119BF0 - ldr r1, [r4, 0xC] - ldr r0, [r4, 0x8] - adds r1, r5 - ldm r1!, {r2,r5,r6} - stm r0!, {r2,r5,r6} - ldm r1!, {r2,r5,r6} - stm r0!, {r2,r5,r6} - ldr r1, [r4, 0x8] - movs r0, 0 - strh r0, [r1, 0x18] - ldr r2, [r4, 0x8] - ldrb r1, [r2, 0x1A] - movs r5, 0x4 - negs r5, r5 - adds r0, r5, 0 - ands r1, r0 - movs r0, 0x1 - orrs r1, r0 - strb r1, [r2, 0x1A] - ldr r0, [r4, 0x8] - strb r3, [r0, 0x1B] - movs r0, 0x4 - b _08119D24 - .align 2, 0 -_08119BE8: .4byte gUnknown_203B05C -_08119BEC: .4byte gUnknown_8457034 -_08119BF0: - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _08119BA6 - movs r6, 0 - mov r9, r6 -_08119BFC: - ldr r0, [r4] - mov r1, r9 - lsls r5, r1, 5 - adds r2, r0, r5 - ldrb r0, [r2, 0x1A] - lsls r0, 30 - mov r8, r5 - cmp r0, 0 - beq _08119CF0 - ldr r1, [r4, 0x4] - adds r0, r2, 0 - bl sub_811A748 - adds r6, r0, 0 - cmp r6, 0xFF - beq _08119C96 - ldr r0, [r4] - adds r2, r0, r5 - ldrb r1, [r2, 0x1A] - lsls r0, r1, 30 - lsrs r0, 30 - cmp r0, 0x1 - bne _08119C74 - lsls r0, r6, 3 - subs r0, r6 - lsls r6, r0, 2 - ldr r1, [r4, 0x4] - adds r1, r6 - adds r0, r2, 0 - bl sub_811A6DC - cmp r0, 0 - beq _08119C5A - ldr r1, [r4] - ldr r0, [r4, 0x4] - adds r1, r5 - adds r0, r6 - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldm r0!, {r2,r3,r6} - stm r1!, {r2,r3,r6} - ldr r0, [r4] - adds r0, r5 - movs r1, 0x40 - strb r1, [r0, 0x1B] - movs r7, 0x1 - b _08119C8C -_08119C5A: - ldr r0, [r4] - adds r1, r0, r5 - ldrb r0, [r1, 0x1B] - cmp r0, 0 - beq _08119C8C - subs r0, 0x1 - strb r0, [r1, 0x1B] - ldr r0, [r4] - adds r0, r5 - ldrb r0, [r0, 0x1B] - cmp r0, 0 - bne _08119C8C - b _08119C8A -_08119C74: - movs r3, 0x4 - negs r3, r3 - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x1A] - ldr r0, [r4] - adds r0, r5 - movs r1, 0 - strb r1, [r0, 0x1B] -_08119C8A: - movs r7, 0x2 -_08119C8C: - ldr r0, [r4] - add r0, r8 - movs r1, 0 - strh r1, [r0, 0x18] - b _08119CF0 -_08119C96: - ldr r0, [r4] - adds r1, r0, r5 - ldrb r0, [r1, 0x1A] - lsls r2, r0, 30 - lsrs r0, r2, 30 - cmp r0, 0x2 - beq _08119CD0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] - ldr r0, [r4] - adds r2, r0, r5 - ldrh r1, [r2, 0x18] - ldr r0, _08119CCC @ =0x00000257 - cmp r1, r0 - bls _08119CF0 - ldrb r0, [r2, 0x1A] - movs r5, 0x4 - negs r5, r5 - adds r1, r5, 0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0x1A] - movs r7, 0x2 - b _08119CF0 - .align 2, 0 -_08119CCC: .4byte 0x00000257 -_08119CD0: - lsrs r0, r2, 30 - cmp r0, 0x2 - bne _08119CF0 - ldrh r0, [r1, 0x18] - adds r0, 0x1 - strh r0, [r1, 0x18] - ldr r0, [r4] - adds r2, r0, r5 - ldrh r1, [r2, 0x18] - ldr r0, _08119D30 @ =0x00000383 - cmp r1, r0 - bls _08119CF0 - adds r0, r2, 0 - movs r1, 0x1 - bl sub_811A5E4 -_08119CF0: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - cmp r0, 0x7 - bhi _08119D00 - b _08119BFC -_08119D00: - movs r5, 0 - movs r6, 0x3 -_08119D04: - ldr r0, [r4] - ldr r1, [r4, 0x4] - adds r1, r5 - movs r2, 0x8 - bl sub_811A798 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xFF - beq _08119D1A - movs r7, 0x1 -_08119D1A: - adds r5, 0x1C - subs r6, 0x1 - cmp r6, 0 - bge _08119D04 - adds r0, r7, 0 -_08119D24: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_08119D30: .4byte 0x00000383 - thumb_func_end sub_8119B94 - - thumb_func_start sub_8119D34 -sub_8119D34: @ 8119D34 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r0, 2 - add r0, r10 - lsls r0, 3 - ldr r1, _08119E24 @ =gTasks+0x8 - adds r6, r0, r1 - movs r7, 0 - mov r0, sp - adds r0, 0x10 - str r0, [sp, 0x18] -_08119D58: - lsls r2, r7, 24 - lsrs r2, 24 - mov r0, sp - ldr r1, [sp, 0x18] - bl sub_80FCC3C - lsls r0, 24 - lsrs r4, r0, 24 - mov r0, sp - ldrb r0, [r0, 0xA] - lsls r0, 25 - lsrs r0, 25 - mov r2, r10 - lsls r1, r2, 2 - add r1, r10 - lsls r1, 3 - ldr r3, _08119E28 @ =gTasks - adds r1, r3 - movs r5, 0x10 - ldrsh r1, [r1, r5] - bl sub_8116F28 - cmp r0, 0 - bne _08119D94 - mov r1, sp - ldr r0, _08119E2C @ =gUnknown_8457034 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} -_08119D94: - mov r0, sp - ldrb r1, [r0] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - bne _08119DAC - mov r1, sp - ldr r0, _08119E2C @ =gUnknown_8457034 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} -_08119DAC: - cmp r4, 0 - bne _08119E30 - lsls r0, r7, 3 - mov r8, r0 - adds r1, r7, 0x1 - mov r9, r1 - cmp r7, 0 - ble _08119DEC - movs r2, 0 - str r2, [sp, 0x1C] - adds r4, r7, 0 -_08119DC2: - ldr r0, [r6, 0x4] - ldr r3, [sp, 0x1C] - adds r0, r3 - mov r1, sp - bl sub_811A694 - lsls r0, 24 - cmp r0, 0 - bne _08119DE0 - mov r1, sp - ldr r0, _08119E2C @ =gUnknown_8457034 - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} -_08119DE0: - ldr r5, [sp, 0x1C] - adds r5, 0x1C - str r5, [sp, 0x1C] - subs r4, 0x1 - cmp r4, 0 - bne _08119DC2 -_08119DEC: - ldr r1, [r6, 0x4] - mov r0, r8 - subs r4, r0, r7 - lsls r4, 2 - adds r1, r4 - mov r0, sp - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r6, 0x4] - adds r0, r4 - ldr r1, _08119E2C @ =gUnknown_8457034 - bl sub_811A694 - ldr r3, [r6, 0x4] - adds r3, r4 - movs r2, 0x1 - ands r2, r0 - ldrb r0, [r3, 0x18] - movs r4, 0x2 - negs r4, r4 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0x18] - b _08119E68 - .align 2, 0 -_08119E24: .4byte gTasks+0x8 -_08119E28: .4byte gTasks -_08119E2C: .4byte gUnknown_8457034 -_08119E30: - ldr r1, [r6] - lsls r4, r7, 3 - subs r4, r7 - lsls r4, 2 - adds r1, r4 - mov r0, sp - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldm r0!, {r2,r3,r5} - stm r1!, {r2,r3,r5} - ldr r0, [r6] - adds r0, r4 - ldr r1, _08119E80 @ =gUnknown_8457034 - bl sub_811A694 - ldr r3, [r6] - adds r3, r4 - movs r2, 0x1 - ands r2, r0 - ldrb r0, [r3, 0x18] - movs r4, 0x2 - negs r4, r4 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0x18] - adds r7, 0x1 - mov r9, r7 -_08119E68: - mov r7, r9 - cmp r7, 0x3 - bgt _08119E70 - b _08119D58 -_08119E70: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08119E80: .4byte gUnknown_8457034 - thumb_func_end sub_8119D34 - - thumb_func_start sub_8119E84 -sub_8119E84: @ 8119E84 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - ldr r0, _08119EB0 @ =sub_8119D34 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r2, _08119EB4 @ =gTasks+0x8 - adds r3, r1, r2 - str r4, [r3] - str r5, [r3, 0x4] - adds r2, r1 - strh r6, [r2, 0x8] - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_08119EB0: .4byte sub_8119D34 -_08119EB4: .4byte gTasks+0x8 - thumb_func_end sub_8119E84 - - thumb_func_start sub_8119EB8 -sub_8119EB8: @ 8119EB8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - lsls r0, 2 - add r0, r10 - lsls r0, 3 - ldr r1, _08119FA4 @ =gTasks+0x8 - adds r6, r0, r1 - movs r3, 0 -_08119ED6: - lsls r4, r3, 3 - subs r0, r4, r3 - lsls r5, r0, 2 - ldr r0, [r6] - adds r0, r5 - adds r1, r0, 0 - adds r1, 0x10 - lsls r2, r3, 24 - lsrs r2, 24 - str r3, [sp] - bl sub_80FCC3C - ldr r0, [r6] - adds r0, r5 - ldrb r0, [r0, 0xA] - lsls r0, 25 - lsrs r0, 25 - mov r2, r10 - lsls r1, r2, 2 - add r1, r10 - lsls r1, 3 - ldr r7, _08119FA8 @ =gTasks - adds r1, r7 - movs r2, 0xC - ldrsh r1, [r1, r2] - bl sub_8116F28 - mov r8, r4 - ldr r3, [sp] - cmp r0, 0 - bne _08119F22 - ldr r1, [r6] - adds r1, r5 - ldr r0, _08119FAC @ =gUnknown_8457034 - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} - ldm r0!, {r2,r4,r7} - stm r1!, {r2,r4,r7} -_08119F22: - adds r4, r3, 0x1 - mov r9, r4 - cmp r3, 0 - ble _08119F66 - str r5, [sp, 0x4] - movs r5, 0 - str r5, [sp, 0x8] - adds r4, r3, 0 -_08119F32: - ldr r1, [r6] - ldr r7, [sp, 0x8] - adds r0, r1, r7 - ldr r2, [sp, 0x4] - adds r1, r2 - str r3, [sp] - bl sub_811A694 - lsls r0, 24 - ldr r3, [sp] - cmp r0, 0 - bne _08119F5A - ldr r1, [r6] - ldr r5, [sp, 0x4] - adds r1, r5 - ldr r0, _08119FAC @ =gUnknown_8457034 - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} -_08119F5A: - ldr r7, [sp, 0x8] - adds r7, 0x1C - str r7, [sp, 0x8] - subs r4, 0x1 - cmp r4, 0 - bne _08119F32 -_08119F66: - mov r0, r8 - subs r4, r0, r3 - lsls r4, 2 - ldr r0, [r6] - adds r0, r4 - ldr r1, _08119FAC @ =gUnknown_8457034 - bl sub_811A694 - ldr r3, [r6] - adds r3, r4 - movs r2, 0x1 - ands r2, r0 - ldrb r0, [r3, 0x18] - movs r4, 0x2 - negs r4, r4 - adds r1, r4, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0x18] - mov r3, r9 - cmp r3, 0x3 - ble _08119ED6 - add sp, 0xC - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_08119FA4: .4byte gTasks+0x8 -_08119FA8: .4byte gTasks -_08119FAC: .4byte gUnknown_8457034 - thumb_func_end sub_8119EB8 - - thumb_func_start sub_8119FB0 -sub_8119FB0: @ 8119FB0 - push {lr} - lsls r1, 16 - asrs r1, 16 - cmp r1, 0x7 - bne _08119FC0 - ldrb r1, [r0] - movs r0, 0x20 - b _08119FC8 -_08119FC0: - cmp r1, 0x8 - bne _08119FD2 - ldrb r1, [r0] - movs r0, 0x10 -_08119FC8: - ands r0, r1 - cmp r0, 0 - beq _08119FD2 - movs r0, 0x1 - b _08119FD4 -_08119FD2: - movs r0, 0 -_08119FD4: - pop {r1} - bx r1 - thumb_func_end sub_8119FB0 - - thumb_func_start sub_8119FD8 -sub_8119FD8: @ 8119FD8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, _0811A04C @ =gTasks+0x8 - adds r4, r1, r0 - movs r6, 0 - subs r0, 0x8 - movs r5, 0 - adds r1, r0 - mov r8, r1 -_08119FF6: - ldr r0, [r4] - adds r0, r5 - adds r1, r0, 0 - adds r1, 0x10 - lsls r2, r6, 24 - lsrs r2, 24 - bl sub_80FCCF4 - lsls r0, 24 - cmp r0, 0 - beq _0811A01A - ldr r0, [r4] - adds r0, r5 - mov r2, r8 - movs r3, 0xC - ldrsh r1, [r2, r3] - bl sub_8119FB0 -_0811A01A: - ldr r0, [r4] - adds r0, r5 - ldr r1, _0811A050 @ =gUnknown_8457034 - bl sub_811A694 - ldr r3, [r4] - adds r3, r5 - movs r2, 0x1 - ands r2, r0 - ldrb r0, [r3, 0x18] - movs r7, 0x2 - negs r7, r7 - adds r1, r7, 0 - ands r0, r1 - orrs r0, r2 - strb r0, [r3, 0x18] - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _08119FF6 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811A04C: .4byte gTasks+0x8 -_0811A050: .4byte gUnknown_8457034 - thumb_func_end sub_8119FD8 - - thumb_func_start sub_811A054 -sub_811A054: @ 811A054 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, _0811A07C @ =sub_8119EB8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - ldr r1, _0811A080 @ =gTasks+0x8 - adds r3, r2, r1 - str r4, [r3] - adds r1, r2 - strh r5, [r1, 0x4] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0811A07C: .4byte sub_8119EB8 -_0811A080: .4byte gTasks+0x8 - thumb_func_end sub_811A054 - - thumb_func_start sub_811A084 -sub_811A084: @ 811A084 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldr r0, _0811A0AC @ =sub_8119FD8 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 2 - adds r2, r0 - lsls r2, 3 - ldr r1, _0811A0B0 @ =gTasks+0x8 - adds r3, r2, r1 - str r4, [r3] - adds r1, r2 - strh r5, [r1, 0x4] - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0811A0AC: .4byte sub_8119FD8 -_0811A0B0: .4byte gTasks+0x8 - thumb_func_end sub_811A084 - - thumb_func_start sub_811A0B4 -sub_811A0B4: @ 811A0B4 - push {r4,lr} - adds r4, r0, 0 - bl LoadStdWindowFrameGfx - movs r0, 0 - movs r1, 0x1 - bl DrawDialogueFrame - ldr r0, _0811A0DC @ =gStringVar4 - adds r1, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - movs r1, 0x1 - bl AddTextPrinterWithCustomSpeedForMessage - movs r0, 0 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0811A0DC: .4byte gStringVar4 - thumb_func_end sub_811A0B4 - - thumb_func_start sub_811A0E0 -sub_811A0E0: @ 811A0E0 - push {lr} - bl RunTextPrinters_CheckPrinter0Active - lsls r0, 16 - cmp r0, 0 - beq _0811A0F0 - movs r0, 0 - b _0811A0F2 -_0811A0F0: - movs r0, 0x1 -_0811A0F2: - pop {r1} - bx r1 - thumb_func_end sub_811A0E0 - - thumb_func_start sub_811A0F8 -sub_811A0F8: @ 811A0F8 - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0811A10A - cmp r0, 0x1 - beq _0811A130 - b _0811A142 -_0811A10A: - bl LoadStdWindowFrameGfx - movs r0, 0 - movs r1, 0x1 - bl DrawDialogueFrame - ldr r0, _0811A12C @ =gStringVar4 - adds r1, r5, 0 - bl StringExpandPlaceholders - movs r0, 0x1 - bl AddTextPrinterForMessage - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0811A142 - .align 2, 0 -_0811A12C: .4byte gStringVar4 -_0811A130: - bl RunTextPrinters_CheckPrinter0Active - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0811A142 - strb r0, [r4] - movs r0, 0x1 - b _0811A144 -_0811A142: - movs r0, 0 -_0811A144: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_811A0F8 - - thumb_func_start sub_811A14C -sub_811A14C: @ 811A14C - push {r4,r5,lr} - adds r4, r0, 0 - adds r5, r1, 0 - ldrb r0, [r4] - cmp r0, 0 - beq _0811A15E - cmp r0, 0x1 - beq _0811A174 - b _0811A1A0 -_0811A15E: - cmp r5, 0 - beq _0811A168 - movs r0, 0x3 - negs r0, r0 - b _0811A1A4 -_0811A168: - bl DisplayYesNoMenuDefaultYes - ldrb r0, [r4] - adds r0, 0x1 - strb r0, [r4] - b _0811A1A0 -_0811A174: - cmp r5, 0 - beq _0811A186 - bl DestroyYesNoMenu - movs r0, 0 - strb r0, [r4] - movs r0, 0x3 - negs r0, r0 - b _0811A1A4 -_0811A186: - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - movs r2, 0x80 - lsls r2, 17 - adds r0, r2 - lsrs r0, 24 - cmp r0, 0x2 - bhi _0811A1A0 - strb r5, [r4] - adds r0, r1, 0 - b _0811A1A4 -_0811A1A0: - movs r0, 0x2 - negs r0, r0 -_0811A1A4: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_811A14C - - thumb_func_start sub_811A1AC -sub_811A1AC: @ 811A1AC - push {r4,lr} - sub sp, 0x8 - bl AddWindow - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl DrawStdWindowFrame - adds r0, r4, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - ldr r2, _0811A1F8 @ =gUnknown_8459378 - movs r0, 0x1 - str r0, [sp] - movs r0, 0x6 - str r0, [sp, 0x4] - adds r0, r4, 0 - movs r1, 0 - movs r3, 0x8 - bl sub_811A444 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x2 - bl CopyWindowToVram - adds r0, r4, 0 - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0811A1F8: .4byte gUnknown_8459378 - thumb_func_end sub_811A1AC - - thumb_func_start sub_811A1FC -sub_811A1FC: @ 811A1FC - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0x1 - bl ClearStdWindowAndFrame - adds r0, r4, 0 - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_811A1FC - - thumb_func_start sub_811A218 -sub_811A218: @ 811A218 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r7, r0, 0 - adds r5, r1, 0 - mov r9, r2 - adds r0, r3, 0 - ldrb r4, [r7] - cmp r4, 0 - beq _0811A234 - cmp r4, 0x1 - beq _0811A274 - b _0811A2DA -_0811A234: - bl AddWindow - strb r0, [r5] - ldrb r0, [r5] - movs r1, 0 - bl DrawStdWindowFrame - ldr r0, _0811A270 @ =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, [sp, 0x1C] - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldm r1!, {r3,r4,r6} - stm r2!, {r3,r4,r6} - ldrb r1, [r5] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0 - bl ListMenuInit - mov r1, r9 - strb r0, [r1] - ldrb r0, [r5] - movs r1, 0x1 - bl CopyWindowToVram - ldrb r0, [r7] - adds r0, 0x1 - strb r0, [r7] - b _0811A2DA - .align 2, 0 -_0811A270: .4byte gMultiuseListMenuTemplate -_0811A274: - mov r3, r9 - ldrb r0, [r3] - bl ListMenu_ProcessInput - mov r8, r0 - ldr r0, _0811A2AC @ =gMain - ldrh r1, [r0, 0x2E] - ands r4, r1 - cmp r4, 0 - beq _0811A2B0 - mov r4, r9 - ldrb r0, [r4] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldrb r0, [r5] - movs r1, 0x1 - bl ClearStdWindowAndFrame - ldrb r0, [r5] - bl RemoveWindow - movs r0, 0 - strb r0, [r7] - mov r0, r8 - b _0811A2DE - .align 2, 0 -_0811A2AC: .4byte gMain -_0811A2B0: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0811A2DA - mov r6, r9 - ldrb r0, [r6] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldrb r0, [r5] - movs r1, 0x1 - bl ClearStdWindowAndFrame - ldrb r0, [r5] - bl RemoveWindow - strb r4, [r7] - movs r0, 0x2 - negs r0, r0 - b _0811A2DE -_0811A2DA: - movs r0, 0x1 - negs r0, r0 -_0811A2DE: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_811A218 - - thumb_func_start sub_811A2EC -sub_811A2EC: @ 811A2EC - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - mov r9, r0 - adds r4, r1, 0 - adds r5, r2, 0 - adds r7, r3, 0 - ldrb r0, [r0] - cmp r0, 0 - beq _0811A308 - cmp r0, 0x1 - beq _0811A358 - b _0811A3E6 -_0811A308: - ldr r0, _0811A350 @ =gUnknown_8456F1C - bl sub_811A1AC - strb r0, [r7] - ldr r0, [sp, 0x1C] - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl DrawStdWindowFrame - ldr r0, _0811A354 @ =gMultiuseListMenuTemplate - adds r2, r0, 0 - ldr r1, [sp, 0x20] - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldm r1!, {r3,r6,r7} - stm r2!, {r3,r6,r7} - ldrb r1, [r4] - strb r1, [r0, 0x10] - movs r1, 0 - movs r2, 0x1 - bl ListMenuInit - strb r0, [r5] - ldrb r0, [r4] - movs r1, 0x1 - bl CopyWindowToVram - mov r1, r9 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0811A3E6 - .align 2, 0 -_0811A350: .4byte gUnknown_8456F1C -_0811A354: .4byte gMultiuseListMenuTemplate -_0811A358: - ldrb r0, [r5] - bl ListMenu_ProcessInput - adds r1, r0, 0 - ldr r0, _0811A3A8 @ =gMain - ldrh r2, [r0, 0x2E] - movs r0, 0x3 - ands r0, r2 - cmp r0, 0 - beq _0811A3E6 - cmp r1, 0x8 - beq _0811A37E - movs r0, 0x2 - ands r0, r2 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r0, 0 - beq _0811A3AC -_0811A37E: - ldrb r0, [r5] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldrb r0, [r4] - movs r1, 0x1 - bl ClearStdWindowAndFrame - ldrb r0, [r4] - bl RemoveWindow - ldrb r0, [r7] - bl sub_811A1FC - movs r0, 0 - mov r3, r9 - strb r0, [r3] - movs r0, 0x2 - negs r0, r0 - b _0811A3EA - .align 2, 0 -_0811A3A8: .4byte gMain -_0811A3AC: - ldr r0, [sp, 0x24] - bl sub_811AD7C - adds r6, r0, 0 - cmp r6, 0 - blt _0811A3E0 - ldrb r0, [r5] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - ldrb r0, [r4] - movs r1, 0x1 - bl ClearStdWindowAndFrame - ldrb r0, [r4] - bl RemoveWindow - ldrb r0, [r7] - bl sub_811A1FC - mov r0, r8 - mov r7, r9 - strb r0, [r7] - adds r0, r6, 0 - b _0811A3EA -_0811A3E0: - movs r0, 0x7 - bl PlaySE -_0811A3E6: - movs r0, 0x1 - negs r0, r0 -_0811A3EA: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_811A2EC - - thumb_func_start sub_811A3F8 -sub_811A3F8: @ 811A3F8 - push {lr} - sub sp, 0xC - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_811A3F8 - - thumb_func_start sub_811A41C -sub_811A41C: @ 811A41C - push {lr} - sub sp, 0xC - movs r0, 0x20 - str r0, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0 - bl CopyBgTilemapBufferToVram - bl EnableBothScriptContexts - add sp, 0xC - pop {r0} - bx r0 - thumb_func_end sub_811A41C - - thumb_func_start sub_811A444 -sub_811A444: @ 811A444 - push {r4,r5,lr} - sub sp, 0x10 - ldr r5, [sp, 0x1C] - ldr r4, [sp, 0x20] - lsls r3, 24 - lsrs r3, 24 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - str r2, [sp] - mov r2, sp - strb r0, [r2, 0x4] - mov r0, sp - strb r1, [r0, 0x5] - strb r3, [r0, 0x6] - strb r5, [r0, 0x7] - strb r3, [r0, 0x8] - strb r5, [r0, 0x9] - ldrb r1, [r2, 0xC] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - strb r0, [r2, 0xC] - ldr r2, _0811A490 @ =gTextFlags - ldrb r1, [r2] - movs r0, 0x3 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - cmp r4, 0x6 - bls _0811A486 - b _0811A5D2 -_0811A486: - lsls r0, r4, 2 - ldr r1, _0811A494 @ =_0811A498 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0811A490: .4byte gTextFlags -_0811A494: .4byte _0811A498 - .align 2, 0 -_0811A498: - .4byte _0811A4B4 - .4byte _0811A4E0 - .4byte _0811A50C - .4byte _0811A538 - .4byte _0811A564 - .4byte _0811A590 - .4byte _0811A5A8 -_0811A4B4: - mov r0, sp - movs r1, 0 - strb r1, [r0, 0xA] - strb r1, [r0, 0xB] - mov r2, sp - ldrb r1, [r2, 0xC] - movs r3, 0xF - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x20 - orrs r0, r1 - strb r0, [r2, 0xC] - ldrb r1, [r2, 0xD] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0xD] - ands r0, r3 - movs r1, 0x30 - b _0811A5CE -_0811A4E0: - mov r0, sp - movs r1, 0 - strb r1, [r0, 0xA] - strb r1, [r0, 0xB] - mov r2, sp - ldrb r1, [r2, 0xC] - movs r3, 0xF - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x40 - orrs r0, r1 - strb r0, [r2, 0xC] - ldrb r1, [r2, 0xD] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0xD] - ands r0, r3 - movs r1, 0x50 - b _0811A5CE -_0811A50C: - mov r0, sp - movs r1, 0 - strb r1, [r0, 0xA] - strb r1, [r0, 0xB] - mov r2, sp - ldrb r1, [r2, 0xC] - movs r3, 0xF - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x60 - orrs r0, r1 - strb r0, [r2, 0xC] - ldrb r1, [r2, 0xD] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0xD] - ands r0, r3 - movs r1, 0x70 - b _0811A5CE -_0811A538: - mov r0, sp - movs r1, 0 - strb r1, [r0, 0xA] - strb r1, [r0, 0xB] - mov r2, sp - ldrb r1, [r2, 0xC] - movs r3, 0xF - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r2, 0xC] - ldrb r1, [r2, 0xD] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0xD] - ands r0, r3 - movs r1, 0x30 - b _0811A5CE -_0811A564: - mov r0, sp - movs r1, 0 - strb r1, [r0, 0xA] - strb r1, [r0, 0xB] - mov r2, sp - ldrb r1, [r2, 0xC] - movs r3, 0xF - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r2, 0xC] - ldrb r1, [r2, 0xD] - movs r0, 0x10 - negs r0, r0 - ands r0, r1 - movs r1, 0x2 - orrs r0, r1 - strb r0, [r2, 0xD] - ands r0, r3 - movs r1, 0x30 - b _0811A5CE -_0811A590: - mov r0, sp - movs r1, 0 - strb r1, [r0, 0xA] - strb r1, [r0, 0xB] - mov r2, sp - ldrb r1, [r2, 0xC] - movs r4, 0xF - movs r3, 0xF - adds r0, r3, 0 - ands r0, r1 - movs r1, 0x70 - b _0811A5BE -_0811A5A8: - mov r0, sp - movs r1, 0 - strb r1, [r0, 0xA] - strb r1, [r0, 0xB] - mov r2, sp - ldrb r1, [r2, 0xC] - movs r4, 0xF - movs r3, 0xF - adds r0, r3, 0 - ands r0, r1 - movs r1, 0xE0 -_0811A5BE: - orrs r0, r1 - strb r0, [r2, 0xC] - mov r1, sp - ldrb r0, [r1, 0xD] - orrs r0, r4 - strb r0, [r1, 0xD] - ands r0, r3 - movs r1, 0x90 -_0811A5CE: - orrs r0, r1 - strb r0, [r2, 0xD] -_0811A5D2: - mov r0, sp - movs r1, 0xFF - movs r2, 0 - bl AddTextPrinter - add sp, 0x10 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811A444 - - thumb_func_start sub_811A5E4 -sub_811A5E4: @ 811A5E4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0 - beq _0811A63C - ldr r2, _0811A64C @ =gUnknown_8457034 - mov r8, r2 - movs r5, 0 - mov r9, r5 - movs r6, 0x4 - negs r6, r6 - mov r12, r6 - adds r2, r0, 0 - adds r2, 0x18 - adds r4, r0, 0 - movs r7, 0xFF - mov r10, r7 - adds r3, r1, 0 -_0811A610: - adds r1, r4, 0 - mov r0, r8 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - mov r0, r10 - strh r0, [r2] - ldrb r1, [r2, 0x2] - mov r0, r12 - ands r0, r1 - movs r1, 0x5 - negs r1, r1 - ands r0, r1 - strb r0, [r2, 0x2] - mov r5, r9 - strb r5, [r2, 0x3] - adds r2, 0x20 - adds r4, 0x20 - subs r3, 0x1 - cmp r3, 0 - bne _0811A610 -_0811A63C: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811A64C: .4byte gUnknown_8457034 - thumb_func_end sub_811A5E4 - - thumb_func_start sub_811A650 -sub_811A650: @ 811A650 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r1, _0811A690 @ =gUnknown_8457034 - mov r12, r1 - movs r5, 0x2 - negs r5, r5 - mov r8, r5 - adds r2, r0, 0 - adds r2, 0x18 - adds r3, r0, 0 - movs r4, 0x3 -_0811A668: - adds r1, r3, 0 - mov r0, r12 - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldm r0!, {r5-r7} - stm r1!, {r5-r7} - ldrb r1, [r2] - mov r0, r8 - ands r0, r1 - strb r0, [r2] - adds r2, 0x1C - adds r3, 0x1C - subs r4, 0x1 - cmp r4, 0 - bge _0811A668 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811A690: .4byte gUnknown_8457034 - thumb_func_end sub_811A650 - - thumb_func_start sub_811A694 -sub_811A694: @ 811A694 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - movs r2, 0 - adds r4, r5, 0x2 - adds r3, r6, 0x2 -_0811A6A0: - adds r0, r4, r2 - adds r1, r3, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _0811A6C8 - adds r2, 0x1 - cmp r2, 0x1 - ble _0811A6A0 - movs r2, 0 - adds r4, r5, 0 - adds r4, 0x10 - adds r3, r6, 0 - adds r3, 0x10 -_0811A6BC: - adds r0, r4, r2 - adds r1, r3, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - beq _0811A6CC -_0811A6C8: - movs r0, 0x1 - b _0811A6D4 -_0811A6CC: - adds r2, 0x1 - cmp r2, 0x7 - ble _0811A6BC - movs r0, 0 -_0811A6D4: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_811A694 - - thumb_func_start sub_811A6DC -sub_811A6DC: @ 811A6DC - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldrb r3, [r5, 0xA] - movs r0, 0x7F - ldrb r2, [r6, 0xA] - adds r1, r0, 0 - ands r1, r3 - ands r0, r2 - cmp r1, r0 - bne _0811A740 - movs r0, 0x80 - adds r1, r0, 0 - ands r1, r3 - ands r0, r2 - cmp r1, r0 - bne _0811A740 - movs r2, 0 - adds r4, r5, 0x4 - adds r3, r6, 0x4 -_0811A704: - adds r0, r4, r2 - adds r1, r3, r2 - ldrb r0, [r0] - ldrb r1, [r1] - cmp r0, r1 - bne _0811A740 - adds r2, 0x1 - cmp r2, 0x3 - ble _0811A704 - ldrh r2, [r5, 0x8] - ldr r0, _0811A73C @ =0x000003ff - ldrh r3, [r6, 0x8] - adds r1, r0, 0 - ands r1, r2 - ands r0, r3 - cmp r1, r0 - bne _0811A740 - ldrb r2, [r5, 0x9] - movs r0, 0xFC - ldrb r3, [r6, 0x9] - adds r1, r0, 0 - ands r1, r2 - ands r0, r3 - cmp r1, r0 - bne _0811A740 - movs r0, 0 - b _0811A742 - .align 2, 0 -_0811A73C: .4byte 0x000003ff -_0811A740: - movs r0, 0x1 -_0811A742: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_811A6DC - - thumb_func_start sub_811A748 -sub_811A748: @ 811A748 - push {r4-r7,lr} - mov r7, r8 - push {r7} - mov r8, r0 - movs r7, 0xFF - movs r6, 0 - adds r4, r1, 0 - adds r4, 0x18 - adds r5, r1, 0 -_0811A75A: - ldrb r1, [r4] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811A782 - mov r0, r8 - adds r1, r5, 0 - bl sub_811A694 - lsls r0, 24 - cmp r0, 0 - bne _0811A782 - lsls r0, r6, 24 - lsrs r7, r0, 24 - ldrb r0, [r4] - movs r2, 0x2 - negs r2, r2 - adds r1, r2, 0 - ands r0, r1 - strb r0, [r4] -_0811A782: - adds r4, 0x1C - adds r5, 0x1C - adds r6, 0x1 - cmp r6, 0x3 - ble _0811A75A - adds r0, r7, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_811A748 - - thumb_func_start sub_811A798 -sub_811A798: @ 811A798 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - adds r3, r0, 0 - mov r8, r1 - lsls r2, 24 - lsrs r6, r2, 24 - ldrb r1, [r1, 0x18] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0811A80C - movs r5, 0 - cmp r5, r6 - bge _0811A80C - movs r0, 0x4 - negs r0, r0 - mov r9, r0 - movs r1, 0x2 - negs r1, r1 - mov r12, r1 - adds r2, r3, 0 - adds r2, 0x18 - adds r1, r3, 0 -_0811A7CA: - ldrb r0, [r2, 0x2] - movs r3, 0x3 - ands r3, r0 - cmp r3, 0 - bne _0811A802 - mov r0, r8 - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - ldm r0!, {r4,r6,r7} - stm r1!, {r4,r6,r7} - strh r3, [r2] - ldrb r1, [r2, 0x2] - mov r0, r9 - ands r0, r1 - movs r1, 0x1 - orrs r0, r1 - strb r0, [r2, 0x2] - movs r0, 0x40 - strb r0, [r2, 0x3] - mov r0, r8 - ldrb r1, [r0, 0x18] - mov r0, r12 - ands r0, r1 - mov r1, r8 - strb r0, [r1, 0x18] - lsls r0, r5, 24 - lsrs r0, 24 - b _0811A80E -_0811A802: - adds r2, 0x20 - adds r1, 0x20 - adds r5, 0x1 - cmp r5, r6 - blt _0811A7CA -_0811A80C: - movs r0, 0xFF -_0811A80E: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_811A798 - - thumb_func_start sub_811A81C -sub_811A81C: @ 811A81C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x30 - adds r4, r1, 0 - adds r5, r3, 0 - ldr r3, [sp, 0x50] - ldr r1, [sp, 0x54] - lsls r0, 24 - lsrs r7, r0, 24 - lsls r4, 24 - lsrs r4, 24 - lsls r2, 24 - lsrs r6, r2, 24 - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - lsls r1, 24 - lsrs r1, 24 - ldr r0, _0811A904 @ =gStringVar4 - mov r8, r0 - adds r1, 0x1 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r1, _0811A908 @ =gUnknown_84571B0 - mov r0, r8 - bl StringAppend - str r6, [sp] - movs r0, 0 - str r0, [sp, 0x4] - adds r0, r7, 0 - movs r1, 0 - mov r2, r8 - adds r3, r4, 0 - bl sub_811A444 - adds r4, 0x12 - lsls r4, 24 - lsrs r4, 24 - mov r9, r4 - ldrb r0, [r5, 0xA] - lsls r0, 25 - lsrs r2, r0, 25 - ldrb r1, [r5, 0x1A] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _0811A8F2 - movs r0, 0x40 - ands r2, r0 - cmp r2, 0 - bne _0811A8F2 - add r4, sp, 0x10 - adds r1, r5, 0 - adds r1, 0x10 - adds r0, r4, 0 - bl StringCopy - ldrb r1, [r5] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - str r6, [sp] - mov r0, r10 - str r0, [sp, 0x4] - adds r0, r7, 0 - movs r1, 0x2 - adds r2, r4, 0 - mov r3, r9 - bl sub_811A444 - ldrb r1, [r5, 0x2] - ldrb r0, [r5, 0x3] - lsls r0, 8 - orrs r1, r0 - add r0, sp, 0x8 - movs r2, 0x2 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - ldr r1, _0811A90C @ =gUnknown_84571B4 - mov r0, r8 - bl StringCopy - mov r0, r8 - add r1, sp, 0x8 - bl StringAppend - mov r3, r9 - adds r3, 0x4D - lsls r3, 24 - lsrs r3, 24 - str r6, [sp] - mov r0, r10 - str r0, [sp, 0x4] - adds r0, r7, 0 - movs r1, 0 - mov r2, r8 - bl sub_811A444 -_0811A8F2: - add sp, 0x30 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811A904: .4byte gStringVar4 -_0811A908: .4byte gUnknown_84571B0 -_0811A90C: .4byte gUnknown_84571B4 - thumb_func_end sub_811A81C - - thumb_func_start sub_811A910 -sub_811A910: @ 811A910 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x30 - adds r5, r3, 0 - ldr r3, [sp, 0x4C] - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r3, 24 - lsrs r7, r3, 24 - ldrb r1, [r5, 0x1A] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - bne _0811A9A2 - add r4, sp, 0x10 - adds r1, r5, 0 - adds r1, 0x10 - adds r0, r4, 0 - bl StringCopy - ldrb r1, [r5] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - mov r0, r8 - str r0, [sp] - str r7, [sp, 0x4] - mov r0, r9 - movs r1, 0x2 - adds r2, r4, 0 - adds r3, r6, 0 - bl sub_811A444 - ldrb r1, [r5, 0x2] - ldrb r0, [r5, 0x3] - lsls r0, 8 - orrs r1, r0 - add r0, sp, 0x8 - movs r2, 0x2 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - ldr r4, _0811A9B0 @ =gStringVar4 - ldr r1, _0811A9B4 @ =gUnknown_84571B4 - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - add r1, sp, 0x8 - bl StringAppend - adds r3, r6, 0 - adds r3, 0x47 - lsls r3, 24 - lsrs r3, 24 - mov r0, r8 - str r0, [sp] - str r7, [sp, 0x4] - mov r0, r9 - movs r1, 0 - adds r2, r4, 0 - bl sub_811A444 -_0811A9A2: - add sp, 0x30 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811A9B0: .4byte gStringVar4 -_0811A9B4: .4byte gUnknown_84571B4 - thumb_func_end sub_811A910 - - thumb_func_start sub_811A9B8 -sub_811A9B8: @ 811A9B8 - push {r4,lr} - sub sp, 0x4 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - cmp r0, 0x9 - bne _0811A9F0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x8 - bne _0811A9F0 - ldr r0, _0811A9EC @ =gPlayerAvatar - ldrb r0, [r0, 0x3] - cmp r0, 0x2 - beq _0811A9E6 - cmp r0, 0 - bne _0811A9F0 -_0811A9E6: - movs r0, 0x1 - b _0811A9F2 - .align 2, 0 -_0811A9EC: .4byte gPlayerAvatar -_0811A9F0: - movs r0, 0 -_0811A9F2: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811A9B8 - - thumb_func_start sub_811A9FC -sub_811A9FC: @ 811A9FC - push {lr} - cmp r0, 0x4 - beq _0811AA14 - cmp r0, 0x4 - ble _0811AA1C - cmp r0, 0x5 - beq _0811AA10 - cmp r0, 0x8 - beq _0811AA18 - b _0811AA1C -_0811AA10: - movs r0, 0x1 - b _0811AA1E -_0811AA14: - movs r0, 0x2 - b _0811AA1E -_0811AA18: - movs r0, 0x3 - b _0811AA1E -_0811AA1C: - movs r0, 0 -_0811AA1E: - pop {r1} - bx r1 - thumb_func_end sub_811A9FC - - thumb_func_start sub_811AA24 -sub_811AA24: @ 811AA24 - push {r4,lr} - sub sp, 0x20 - adds r4, r0, 0 - adds r1, r4, 0 - adds r1, 0x10 - mov r0, sp - bl StringCopy - ldrb r1, [r4] - lsls r1, 28 - lsrs r1, 28 - mov r0, sp - bl ConvertInternationalString - adds r4, 0x2 - adds r0, r4, 0 - bl sub_8118658 - lsls r0, 16 - lsrs r0, 16 - mov r1, sp - bl sub_80FD338 - add sp, 0x20 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811AA24 - - thumb_func_start sub_811AA5C -sub_811AA5C: @ 811AA5C - push {r4-r7,lr} - adds r7, r3, 0 - lsls r1, 24 - lsrs r6, r1, 24 - lsls r2, 24 - lsrs r2, 19 - adds r5, r0, r2 - ldrb r1, [r5, 0xA] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0811AAE4 - cmp r6, 0 - bne _0811AAE4 - ldr r4, _0811AAC4 @ =gStringVar1 - adds r1, r5, 0 - adds r1, 0x10 - adds r0, r4, 0 - bl StringCopy - ldrb r1, [r5] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - adds r0, r5, 0x2 - bl sub_8118658 - lsls r0, 16 - lsrs r0, 16 - adds r1, r4, 0 - bl sub_80FD338 - adds r2, r0, 0 - ldrb r1, [r5, 0xA] - movs r0, 0x7F - ands r0, r1 - cmp r0, 0x45 - bne _0811AAD0 - ldr r0, _0811AAC8 @ =gStringVar4 - ldr r3, _0811AACC @ =gUnknown_8457F80 - lsls r1, r7, 2 - lsls r2, 3 - adds r1, r2 - adds r1, r3 - ldr r1, [r1] - bl StringExpandPlaceholders - movs r0, 0x2 - b _0811ABD2 - .align 2, 0 -_0811AAC4: .4byte gStringVar1 -_0811AAC8: .4byte gStringVar4 -_0811AACC: .4byte gUnknown_8457F80 -_0811AAD0: - ldr r0, _0811AAE0 @ =gUnknown_8457A34 - lsls r1, r2, 2 - adds r1, r0 - ldr r0, [r1] - bl sub_811A0B4 - movs r0, 0x1 - b _0811ABD2 - .align 2, 0 -_0811AAE0: .4byte gUnknown_8457A34 -_0811AAE4: - ldr r4, _0811AB24 @ =gStringVar1 - adds r1, r5, 0 - adds r1, 0x10 - adds r0, r4, 0 - bl StringCopy - ldrb r1, [r5] - lsls r1, 28 - lsrs r1, 28 - adds r0, r4, 0 - bl ConvertInternationalString - cmp r6, 0 - beq _0811AB0A - adds r0, r5, r6 - ldrb r0, [r0, 0x3] - lsrs r7, r0, 3 - movs r0, 0x1 - ands r7, r0 -_0811AB0A: - ldrb r0, [r5, 0xA] - lsls r0, 25 - lsrs r0, 25 - movs r1, 0x3F - ands r1, r0 - cmp r1, 0x4 - beq _0811AB58 - cmp r1, 0x4 - bgt _0811AB28 - cmp r1, 0x1 - beq _0811AB32 - b _0811ABC8 - .align 2, 0 -_0811AB24: .4byte gStringVar1 -_0811AB28: - cmp r1, 0x5 - beq _0811AB78 - cmp r1, 0x8 - beq _0811AB9C - b _0811ABC8 -_0811AB32: - ldr r5, _0811AB50 @ =gStringVar4 - ldr r4, _0811AB54 @ =gUnknown_8458758 - bl Random - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - lsrs r1, 14 - lsls r0, r7, 4 - adds r1, r0 - adds r1, r4 - ldr r1, [r1] - b _0811ABB6 - .align 2, 0 -_0811AB50: .4byte gStringVar4 -_0811AB54: .4byte gUnknown_8458758 -_0811AB58: - ldr r5, _0811AB70 @ =gStringVar4 - ldr r4, _0811AB74 @ =gUnknown_8458A78 - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - lsls r0, 2 - lsls r1, r7, 4 - b _0811ABB0 - .align 2, 0 -_0811AB70: .4byte gStringVar4 -_0811AB74: .4byte gUnknown_8458A78 -_0811AB78: - ldr r5, _0811AB94 @ =gStringVar4 - ldr r4, _0811AB98 @ =gUnknown_84588BC - bl Random - lsls r0, 16 - movs r1, 0xC0 - lsls r1, 10 - ands r1, r0 - lsrs r1, 14 - lsls r0, r7, 4 - adds r1, r0 - adds r1, r4 - ldr r1, [r1] - b _0811ABB6 - .align 2, 0 -_0811AB94: .4byte gStringVar4 -_0811AB98: .4byte gUnknown_84588BC -_0811AB9C: - ldr r5, _0811ABC0 @ =gStringVar4 - ldr r4, _0811ABC4 @ =gUnknown_84589AC - bl Random - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1 - ands r0, r1 - lsls r0, 2 - lsls r1, r7, 3 -_0811ABB0: - adds r0, r1 - adds r0, r4 - ldr r1, [r0] -_0811ABB6: - adds r0, r5, 0 - bl StringExpandPlaceholders - b _0811ABD0 - .align 2, 0 -_0811ABC0: .4byte gStringVar4 -_0811ABC4: .4byte gUnknown_84589AC -_0811ABC8: - ldr r0, _0811ABD8 @ =gStringVar4 - ldr r1, _0811ABDC @ =gUnknown_8457F90 - bl StringExpandPlaceholders -_0811ABD0: - movs r0, 0 -_0811ABD2: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0811ABD8: .4byte gStringVar4 -_0811ABDC: .4byte gUnknown_8457F90 - thumb_func_end sub_811AA5C - - thumb_func_start nullsub_92 -nullsub_92: @ 811ABE0 - bx lr - thumb_func_end nullsub_92 - - thumb_func_start sub_811ABE4 -sub_811ABE4: @ 811ABE4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - ldr r4, [sp, 0x28] - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - lsls r4, 24 - lsrs r4, 24 - ldrh r0, [r2, 0x8] - lsls r0, 22 - lsrs r0, 22 - mov r8, r0 - ldrb r0, [r2, 0x9] - lsrs r7, r0, 2 - ldrb r0, [r2, 0xB] - lsrs r0, 1 - mov r9, r0 - str r5, [sp] - str r4, [sp, 0x4] - adds r0, r6, 0 - movs r1, 0x2 - adds r2, r3, 0 - movs r3, 0x8 - bl sub_811A444 - movs r0, 0xCE - lsls r0, 1 - cmp r8, r0 - bne _0811AC3C - ldr r2, _0811AC38 @ =gUnknown_8458FBC - str r5, [sp] - str r4, [sp, 0x4] - adds r0, r6, 0 - movs r1, 0x2 - movs r3, 0x44 - bl sub_811A444 - b _0811AC90 - .align 2, 0 -_0811AC38: .4byte gUnknown_8458FBC -_0811AC3C: - adds r1, r7, 0x1 - adds r0, r6, 0 - movs r2, 0x44 - adds r3, r5, 0 - bl BlitMoveInfoIcon - movs r0, 0xB - mov r2, r8 - muls r2, r0 - ldr r0, _0811ACA0 @ =gSpeciesNames - adds r2, r0 - str r5, [sp] - str r4, [sp, 0x4] - adds r0, r6, 0 - movs r1, 0x2 - movs r3, 0x76 - bl sub_811A444 - add r0, sp, 0x8 - mov r1, r9 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0x2 - add r1, sp, 0x8 - movs r2, 0 - bl GetStringWidth - lsls r0, 16 - lsrs r0, 16 - movs r3, 0xDA - subs r3, r0 - lsls r3, 24 - lsrs r3, 24 - str r5, [sp] - str r4, [sp, 0x4] - adds r0, r6, 0 - movs r1, 0x2 - add r2, sp, 0x8 - bl sub_811A444 -_0811AC90: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811ACA0: .4byte gSpeciesNames - thumb_func_end sub_811ABE4 - - thumb_func_start sub_811ACA4 -sub_811ACA4: @ 811ACA4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0xC - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - ldr r0, _0811ACF8 @ =gUnknown_203B05C - ldr r6, [r0] - movs r0, 0x3 - negs r0, r0 - cmp r4, r0 - bne _0811AD38 - ldr r0, _0811ACFC @ =gUnknown_8456F7C - ldrb r0, [r0, 0x14] - lsls r0, 28 - lsrs r0, 28 - cmp r8, r0 - bne _0811AD38 - bl sub_80F9800 - adds r2, r0, 0 - ldrh r1, [r2, 0x8] - ldr r0, _0811AD00 @ =0x000003ff - ands r0, r1 - cmp r0, 0 - beq _0811AD6C - ldr r0, _0811AD04 @ =gSaveBlock2Ptr - ldr r3, [r0] - movs r0, 0x5 - str r0, [sp] - mov r0, r9 - mov r1, r8 - bl sub_811ABE4 - b _0811AD6C - .align 2, 0 -_0811ACF8: .4byte gUnknown_203B05C -_0811ACFC: .4byte gUnknown_8456F7C -_0811AD00: .4byte 0x000003ff -_0811AD04: .4byte gSaveBlock2Ptr -_0811AD08: - mov r0, r12 - adds r1, r0, r4 - adds r1, 0x10 - add r0, sp, 0x4 - bl StringCopy - ldr r0, [r6] - adds r0, r4 - ldrb r1, [r0] - lsls r1, 28 - lsrs r1, 28 - add r0, sp, 0x4 - bl ConvertInternationalString - ldr r2, [r6] - adds r2, r4 - movs r0, 0x6 - str r0, [sp] - mov r0, r9 - mov r1, r8 - add r3, sp, 0x4 - bl sub_811ABE4 - b _0811AD6C -_0811AD38: - movs r5, 0 - movs r1, 0 - ldr r0, [r6] - mov r12, r0 - mov r2, r12 - adds r2, 0x8 - movs r3, 0 - adds r7, r4, 0x1 -_0811AD48: - ldrb r0, [r2, 0x12] - lsls r0, 30 - lsrs r0, 30 - adds r4, r3, 0 - cmp r0, 0x1 - bne _0811AD5E - ldrh r0, [r2] - lsls r0, 22 - cmp r0, 0 - beq _0811AD5E - adds r5, 0x1 -_0811AD5E: - cmp r5, r7 - beq _0811AD08 - adds r2, 0x20 - adds r3, 0x20 - adds r1, 0x1 - cmp r1, 0x7 - ble _0811AD48 -_0811AD6C: - add sp, 0xC - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_811ACA4 - - thumb_func_start sub_811AD7C -sub_811AD7C: @ 811AD7C - push {r4-r7,lr} - movs r4, 0 - movs r3, 0 - movs r7, 0x3 - ldr r6, _0811ADAC @ =0x000003ff - adds r2, r0, 0 - adds r2, 0x8 - adds r5, r1, 0x1 -_0811AD8C: - ldrb r1, [r2, 0x12] - adds r0, r7, 0 - ands r0, r1 - cmp r0, 0x1 - bne _0811ADA2 - ldrh r1, [r2] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0811ADA2 - adds r4, 0x1 -_0811ADA2: - cmp r4, r5 - bne _0811ADB0 - adds r0, r3, 0 - b _0811ADBC - .align 2, 0 -_0811ADAC: .4byte 0x000003ff -_0811ADB0: - adds r2, 0x20 - adds r3, 0x1 - cmp r3, 0x7 - ble _0811AD8C - movs r0, 0x1 - negs r0, r0 -_0811ADBC: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_811AD7C - - thumb_func_start sub_811ADC4 -sub_811ADC4: @ 811ADC4 - lsls r0, 5 - adds r0, r1 - ldrb r0, [r0, 0xB] - lsls r0, 31 - lsrs r0, 31 - bx lr - thumb_func_end sub_811ADC4 - - thumb_func_start sub_811ADD0 -sub_811ADD0: @ 811ADD0 - push {r4-r6,lr} - adds r5, r0, 0 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _0811AE10 - movs r4, 0 - b _0811ADFA -_0811ADE0: - movs r0, 0x64 - muls r0, r4 - ldr r1, _0811AE08 @ =gPlayerParty - adds r0, r1 - movs r1, 0x41 - bl GetMonData - adds r1, r0, 0 - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _0811AE40 - adds r4, 0x1 -_0811ADFA: - ldr r0, _0811AE0C @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r4, r0 - blt _0811ADE0 - movs r0, 0x2 - b _0811AE5C - .align 2, 0 -_0811AE08: .4byte gPlayerParty -_0811AE0C: .4byte gPlayerPartyCount -_0811AE10: - movs r4, 0 - ldr r0, _0811AE44 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r4, r0 - bge _0811AE5A - ldr r6, _0811AE48 @ =gBaseStats -_0811AE1C: - movs r0, 0x64 - muls r0, r4 - ldr r1, _0811AE4C @ =gPlayerParty - adds r0, r1 - movs r1, 0x41 - bl GetMonData - adds r1, r0, 0 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r1, r0, r6 - ldrb r0, [r1, 0x6] - cmp r0, r5 - beq _0811AE40 - ldrb r0, [r1, 0x7] - cmp r0, r5 - bne _0811AE50 -_0811AE40: - movs r0, 0 - b _0811AE5C - .align 2, 0 -_0811AE44: .4byte gPlayerPartyCount -_0811AE48: .4byte gBaseStats -_0811AE4C: .4byte gPlayerParty -_0811AE50: - adds r4, 0x1 - ldr r0, _0811AE64 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r4, r0 - blt _0811AE1C -_0811AE5A: - movs r0, 0x1 -_0811AE5C: - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0811AE64: .4byte gPlayerPartyCount - thumb_func_end sub_811ADD0 - - thumb_func_start sub_811AE68 -sub_811AE68: @ 811AE68 - push {lr} - adds r3, r0, 0 - cmp r1, 0x44 - beq _0811AEA4 - cmp r1, 0x44 - bgt _0811AE7A - cmp r1, 0x41 - beq _0811AE84 - b _0811AEC2 -_0811AE7A: - cmp r1, 0x45 - beq _0811AE94 - cmp r1, 0x48 - beq _0811AEB4 - b _0811AEC2 -_0811AE84: - ldr r0, _0811AE90 @ =gUnknown_8458314 - lsls r1, r2, 2 - adds r1, r0 - ldr r1, [r1] - b _0811AEA6 - .align 2, 0 -_0811AE90: .4byte gUnknown_8458314 -_0811AE94: - ldr r0, _0811AEA0 @ =gUnknown_84585E8 - lsls r1, r2, 2 - adds r1, r0 - ldr r1, [r1] - b _0811AEA6 - .align 2, 0 -_0811AEA0: .4byte gUnknown_84585E8 -_0811AEA4: - ldr r1, _0811AEB0 @ =gUnknown_8458F9C -_0811AEA6: - adds r0, r3, 0 - bl StringExpandPlaceholders - b _0811AEC2 - .align 2, 0 -_0811AEB0: .4byte gUnknown_8458F9C -_0811AEB4: - ldr r0, _0811AEC8 @ =gUnknown_84583B4 - lsls r1, r2, 2 - adds r1, r0 - ldr r1, [r1] - adds r0, r3, 0 - bl StringExpandPlaceholders -_0811AEC2: - pop {r0} - bx r0 - .align 2, 0 -_0811AEC8: .4byte gUnknown_84583B4 - thumb_func_end sub_811AE68 - - thumb_func_start sub_811AECC -sub_811AECC: @ 811AECC - push {r4-r6,lr} - adds r5, r0, 0 - lsls r1, 24 - lsrs r4, r1, 24 - adds r6, r4, 0 - bl GetMultiplayerId - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, _0811AF00 @ =gLinkPlayers - movs r0, 0x1 - adds r1, r3, 0 - eors r1, r0 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x13] - cmp r4, 0x44 - beq _0811AF20 - cmp r4, 0x44 - bgt _0811AF04 - cmp r4, 0x41 - beq _0811AF0A - b _0811AF60 - .align 2, 0 -_0811AF00: .4byte gLinkPlayers -_0811AF04: - cmp r6, 0x45 - beq _0811AF44 - b _0811AF60 -_0811AF0A: - ldr r2, _0811AF1C @ =gUnknown_8458230 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 3 - adds r1, r0 - b _0811AF32 - .align 2, 0 -_0811AF1C: .4byte gUnknown_8458230 -_0811AF20: - ldr r2, _0811AF40 @ =gUnknown_8458230 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 3 - adds r1, r0 - adds r2, 0x8 -_0811AF32: - adds r1, r2 - ldr r1, [r1] - adds r0, r5, 0 - bl StringCopy - b _0811AF60 - .align 2, 0 -_0811AF40: .4byte gUnknown_8458230 -_0811AF44: - ldr r2, _0811AF68 @ =gUnknown_8458230 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 2 - lsls r0, r3, 1 - adds r0, r3 - lsls r0, 3 - adds r1, r0 - adds r2, 0x4 - adds r1, r2 - ldr r1, [r1] - adds r0, r5, 0 - bl StringCopy -_0811AF60: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811AF68: .4byte gUnknown_8458230 - thumb_func_end sub_811AECC - - thumb_func_start sub_811AF6C -sub_811AF6C: @ 811AF6C - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r7, r0, 0 - adds r5, r2, 0 - adds r6, r3, 0 - movs r2, 0 - mov r8, r2 - ldrh r0, [r5] - subs r0, 0x40 - cmp r0, 0x8 - bls _0811AF86 - b _0811B092 -_0811AF86: - lsls r0, 2 - ldr r1, _0811AF90 @ =_0811AF94 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0811AF90: .4byte _0811AF94 - .align 2, 0 -_0811AF94: - .4byte _0811B088 - .4byte _0811AFB8 - .4byte _0811B092 - .4byte _0811B092 - .4byte _0811AFC8 - .4byte _0811AFC0 - .4byte _0811B092 - .4byte _0811B092 - .4byte _0811B078 -_0811AFB8: - ldr r1, _0811AFBC @ =gUnknown_8457CA4 - b _0811B07A - .align 2, 0 -_0811AFBC: .4byte gUnknown_8457CA4 -_0811AFC0: - ldr r1, _0811AFC4 @ =gUnknown_8457CF8 - b _0811B07A - .align 2, 0 -_0811AFC4: .4byte gUnknown_8457CF8 -_0811AFC8: - adds r0, r6, 0 - adds r0, 0x58 - ldr r4, _0811AFF0 @ =gUnknown_203B06C - ldrh r1, [r4, 0xC] - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - adds r0, r6, 0 - adds r0, 0x63 - ldrh r2, [r4, 0xA] - movs r1, 0xB - muls r1, r2 - ldr r2, _0811AFF4 @ =gSpeciesNames - adds r1, r2 - bl StringCopy - movs r4, 0 - b _0811AFFA - .align 2, 0 -_0811AFF0: .4byte gUnknown_203B06C -_0811AFF4: .4byte gSpeciesNames -_0811AFF8: - adds r4, 0x1 -_0811AFFA: - cmp r4, 0x3 - bgt _0811B030 - ldr r0, _0811B044 @ =gRfuLinkStatus - ldr r0, [r0] - lsls r1, r4, 5 - adds r0, r1 - ldrh r0, [r0, 0x18] - cmp r0, 0x2 - bne _0811AFF8 - ldrh r1, [r5, 0x4] - adds r0, r6, 0 - adds r0, 0x6E - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldrh r1, [r5, 0x2] - movs r0, 0xB - muls r1, r0 - ldr r0, _0811B048 @ =gSpeciesNames - adds r1, r0 - adds r0, r6, 0 - adds r0, 0x79 - bl StringCopy - ldrh r5, [r5, 0x2] - mov r8, r5 -_0811B030: - movs r0, 0xCE - lsls r0, 1 - cmp r8, r0 - bne _0811B050 - ldr r1, _0811B04C @ =gUnknown_8457DB8 - adds r0, r7, 0 - bl StringCopy - b _0811B080 - .align 2, 0 -_0811B044: .4byte gRfuLinkStatus -_0811B048: .4byte gSpeciesNames -_0811B04C: .4byte gUnknown_8457DB8 -_0811B050: - movs r4, 0 - adds r5, r6, 0 - adds r5, 0x58 -_0811B056: - lsls r0, r4, 24 - lsrs r0, 24 - adds r1, r5, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - adds r5, 0xB - adds r4, 0x1 - cmp r4, 0x3 - ble _0811B056 - ldr r1, _0811B074 @ =gUnknown_8457D44 - adds r0, r7, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - b _0811B080 - .align 2, 0 -_0811B074: .4byte gUnknown_8457D44 -_0811B078: - ldr r1, _0811B084 @ =gUnknown_8457C48 -_0811B07A: - adds r0, r7, 0 - bl StringExpandPlaceholders -_0811B080: - movs r2, 0x1 - b _0811B092 - .align 2, 0 -_0811B084: .4byte gUnknown_8457C48 -_0811B088: - ldr r1, _0811B0A0 @ =gUnknown_8457E0C - adds r0, r7, 0 - bl StringExpandPlaceholders - movs r2, 0x2 -_0811B092: - adds r0, r2, 0 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0811B0A0: .4byte gUnknown_8457E0C - thumb_func_end sub_811AF6C - - thumb_func_start sub_811B0A4 -sub_811B0A4: @ 811B0A4 - push {lr} - adds r2, r0, 0 - ldr r0, _0811B0C4 @ =gRecvCmds - ldrh r1, [r0, 0x2] - cmp r1, 0 - beq _0811B0C8 - cmp r1, 0x51 - beq _0811B0B8 - cmp r1, 0x52 - bne _0811B0C8 -_0811B0B8: - adds r0, r2, 0 - adds r0, 0x84 - strh r1, [r0] - movs r0, 0x1 - b _0811B0CA - .align 2, 0 -_0811B0C4: .4byte gRecvCmds -_0811B0C8: - movs r0, 0 -_0811B0CA: - pop {r1} - bx r1 - thumb_func_end sub_811B0A4 - - thumb_func_start InUnionRoom -InUnionRoom: @ 811B0D0 - push {lr} - movs r2, 0 - ldr r0, _0811B0EC @ =gSaveBlock1Ptr - ldr r0, [r0] - ldrh r1, [r0, 0x4] - movs r0, 0x80 - lsls r0, 3 - cmp r1, r0 - bne _0811B0E4 - movs r2, 0x1 -_0811B0E4: - adds r0, r2, 0 - pop {r1} - bx r1 - .align 2, 0 -_0811B0EC: .4byte gSaveBlock1Ptr - thumb_func_end InUnionRoom - - thumb_func_start sub_811B0F0 -sub_811B0F0: @ 811B0F0 - push {r4-r6,lr} - movs r6, 0 - movs r5, 0 - ldr r0, _0811B138 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r6, r0 - bge _0811B130 -_0811B0FE: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0811B13C @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - cmp r0, 0x1E - bhi _0811B126 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - beq _0811B126 - adds r6, 0x1 -_0811B126: - adds r5, 0x1 - ldr r0, _0811B138 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r5, r0 - blt _0811B0FE -_0811B130: - cmp r6, 0x1 - bgt _0811B140 - movs r0, 0 - b _0811B142 - .align 2, 0 -_0811B138: .4byte gPlayerPartyCount -_0811B13C: .4byte gPlayerParty -_0811B140: - movs r0, 0x1 -_0811B142: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_811B0F0 - - thumb_func_start sub_811B148 -sub_811B148: @ 811B148 - movs r1, 0 - strh r1, [r0] - strh r1, [r0, 0x2] - str r1, [r0, 0x4] - strh r1, [r0, 0xA] - strh r1, [r0, 0xC] - strh r1, [r0, 0xE] - strh r1, [r0, 0x10] - str r1, [r0, 0x14] - bx lr - thumb_func_end sub_811B148 - - thumb_func_start Script_ResetUnionRoomTrade -Script_ResetUnionRoomTrade: @ 811B15C - push {lr} - ldr r0, _0811B168 @ =gUnknown_203B06C - bl sub_811B148 - pop {r0} - bx r0 - .align 2, 0 -_0811B168: .4byte gUnknown_203B06C - thumb_func_end Script_ResetUnionRoomTrade - - thumb_func_start sub_811B16C -sub_811B16C: @ 811B16C - push {r4,r5,lr} - adds r5, r1, 0 - movs r1, 0x64 - adds r4, r0, 0 - muls r4, r1 - ldr r0, _0811B1A8 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - strh r0, [r5, 0xA] - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - strh r0, [r5, 0xC] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [r5, 0x4] - ldrh r1, [r5, 0xA] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _0811B1AC - movs r0, 0 - b _0811B1AE - .align 2, 0 -_0811B1A8: .4byte gPlayerParty -_0811B1AC: - movs r0, 0x1 -_0811B1AE: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_811B16C - - thumb_func_start sub_811B1B4 -sub_811B1B4: @ 811B1B4 - push {r4,r5,lr} - adds r5, r1, 0 - movs r1, 0x64 - adds r4, r0, 0 - muls r4, r1 - ldr r0, _0811B1E8 @ =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - strh r0, [r5, 0xE] - adds r0, r4, 0 - movs r1, 0x38 - bl GetMonData - strh r0, [r5, 0x10] - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - str r0, [r5, 0x14] - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0811B1E8: .4byte gPlayerParty - thumb_func_end sub_811B1B4 - - thumb_func_start sub_811B1EC -sub_811B1EC: @ 811B1EC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r1, 24 - movs r2, 0 - mov r8, r2 - cmp r1, 0 - bne _0811B20A - ldrh r7, [r0, 0xA] - ldr r6, [r0, 0x4] - b _0811B20E -_0811B202: - lsls r0, r5, 16 - lsrs r0, 16 - mov r8, r0 - b _0811B242 -_0811B20A: - ldrh r7, [r0, 0xE] - ldr r6, [r0, 0x14] -_0811B20E: - movs r5, 0 - b _0811B23A -_0811B212: - movs r0, 0x64 - adds r1, r5, 0 - muls r1, r0 - ldr r0, _0811B250 @ =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - cmp r0, r6 - bne _0811B238 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, r7 - beq _0811B202 -_0811B238: - adds r5, 0x1 -_0811B23A: - ldr r0, _0811B254 @ =gPlayerPartyCount - ldrb r0, [r0] - cmp r5, r0 - blt _0811B212 -_0811B242: - mov r0, r8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0811B250: .4byte gPlayerParty -_0811B254: .4byte gPlayerPartyCount - thumb_func_end sub_811B1EC - - thumb_func_start sub_811B258 -sub_811B258: @ 811B258 - push {r4,lr} - adds r4, r0, 0 - bl sub_811A3F8 - bl ScriptContext2_Disable - bl sub_80696F0 - ldr r1, _0811B290 @ =gUnknown_203B058 - movs r0, 0 - strb r0, [r1] - cmp r4, 0 - beq _0811B288 - ldr r2, _0811B294 @ =gUnknown_203B06C - ldrh r0, [r2, 0x2] - ldrh r1, [r2, 0xA] - ldrh r2, [r2, 0xC] - bl sub_80FAFA0 - movs r0, 0x40 - movs r1, 0 - movs r2, 0 - bl sub_80FB008 -_0811B288: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811B290: .4byte gUnknown_203B058 -_0811B294: .4byte gUnknown_203B06C - thumb_func_end sub_811B258 - - thumb_func_start sub_811B298 -sub_811B298: @ 811B298 - push {lr} - bl ScriptContext2_Enable - bl ScriptFreezeObjectEvents - pop {r0} - bx r0 - thumb_func_end sub_811B298 - - thumb_func_start sub_811B2A8 -sub_811B2A8: @ 811B2A8 - push {r4,lr} - movs r4, 0x80 - ldr r3, _0811B2D4 @ =gLinkPlayers - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r0, r1, r3 - ldrb r2, [r0, 0x13] - lsls r2, 3 - orrs r2, r4 - adds r3, 0x4 - adds r1, r3 - ldr r0, [r1] - movs r1, 0x7 - ands r0, r1 - orrs r0, r2 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0811B2D4: .4byte gLinkPlayers - thumb_func_end sub_811B2A8 - - thumb_func_start sub_811B2D8 -sub_811B2D8: @ 811B2D8 - push {r4,lr} - movs r3, 0x80 - movs r2, 0 - ldr r4, [r0, 0xC] -_0811B2E0: - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r1, r4, r0 - ldrb r0, [r1, 0x18] - lsls r0, 31 - cmp r0, 0 - beq _0811B308 - ldrb r0, [r1, 0xB] - lsls r0, 31 - lsrs r0, 31 - lsls r0, 3 - orrs r3, r0 - ldrb r1, [r1, 0x2] - movs r0, 0x7 - ands r0, r1 - orrs r3, r0 - lsls r0, r3, 24 - lsrs r3, r0, 24 - b _0811B312 -_0811B308: - adds r0, r2, 0x1 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x3 - bls _0811B2E0 -_0811B312: - adds r0, r3, 0 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811B2D8 - - thumb_func_start sub_811B31C -sub_811B31C: @ 811B31C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - mov r9, r1 - lsls r2, 24 - lsrs r2, 24 - str r2, [sp] - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 5 - ldr r0, _0811B4B0 @ =gTrainerCards - adds r1, r0 - mov r8, r1 - bl DynamicPlaceholderTextUtil_Reset - mov r6, r9 - adds r6, 0xAC - bl sub_80447F0 - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, _0811B4B4 @ =gTrainerClassNames - adds r1, r0 - adds r0, r6, 0 - bl StringCopy - movs r0, 0 - adds r1, r6, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - mov r1, r8 - adds r1, 0x30 - movs r0, 0x1 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - movs r4, 0xB0 - lsls r4, 1 - add r4, r9 - ldr r1, _0811B4B8 @ =gUnknown_84594B0 - mov r2, r8 - ldrb r0, [r2, 0x1] - lsls r0, 2 - adds r0, r1 - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - movs r0, 0x2 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - mov r5, r9 - adds r5, 0xCA - mov r0, r8 - ldrh r1, [r0, 0xC] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - movs r0, 0x3 - adds r1, r5, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - movs r2, 0xD9 - add r2, r9 - mov r10, r2 - mov r0, r8 - ldrh r1, [r0, 0x10] - mov r0, r10 - movs r2, 0 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - mov r4, r9 - adds r4, 0xE8 - mov r2, r8 - ldrh r1, [r2, 0x12] - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - movs r0, 0x4 - mov r1, r10 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - movs r0, 0x5 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - movs r4, 0xC8 - lsls r4, 1 - add r4, r9 - ldr r1, _0811B4BC @ =gUnknown_84594C4 - adds r0, r4, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - ldr r0, _0811B4C0 @ =gStringVar4 - adds r1, r4, 0 - bl StringCopy - mov r0, r8 - ldrh r1, [r0, 0x14] - ldr r4, _0811B4C4 @ =0x0000270f - cmp r1, r4 - ble _0811B40A - adds r1, r4, 0 -_0811B40A: - adds r0, r6, 0 - movs r2, 0 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - movs r0, 0 - adds r1, r6, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - mov r2, r8 - ldrh r1, [r2, 0x16] - cmp r1, r4 - ble _0811B426 - adds r1, r4, 0 -_0811B426: - mov r4, r9 - adds r4, 0xBB - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - movs r0, 0x2 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - mov r0, r8 - ldrh r1, [r0, 0x20] - adds r0, r5, 0 - movs r2, 0 - movs r3, 0x5 - bl ConvertIntToDecimalStringN - movs r0, 0x3 - adds r1, r5, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - movs r7, 0 - movs r6, 0x80 - lsls r6, 19 - mov r5, r8 - adds r5, 0x28 - mov r4, r10 -_0811B45E: - ldrh r1, [r5] - adds r0, r4, 0 - bl CopyEasyChatWord - lsrs r0, r6, 24 - adds r1, r4, 0 - bl DynamicPlaceholderTextUtil_SetPlaceholderPtr - movs r2, 0x80 - lsls r2, 17 - adds r6, r2 - adds r5, 0x2 - adds r4, 0xF - adds r7, 0x1 - cmp r7, 0x3 - ble _0811B45E - movs r4, 0xC8 - lsls r4, 1 - add r4, r9 - ldr r1, _0811B4C8 @ =gUnknown_8459504 - adds r0, r4, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - ldr r5, _0811B4C0 @ =gStringVar4 - adds r0, r5, 0 - adds r1, r4, 0 - bl StringAppend - ldr r0, [sp] - cmp r0, 0x1 - bne _0811B4D0 - ldr r1, _0811B4CC @ =gUnknown_8459588 - adds r0, r4, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - adds r0, r5, 0 - adds r1, r4, 0 - bl StringAppend - b _0811B4F0 - .align 2, 0 -_0811B4B0: .4byte gTrainerCards -_0811B4B4: .4byte gTrainerClassNames -_0811B4B8: .4byte gUnknown_84594B0 -_0811B4BC: .4byte gUnknown_84594C4 -_0811B4C0: .4byte gStringVar4 -_0811B4C4: .4byte 0x0000270f -_0811B4C8: .4byte gUnknown_8459504 -_0811B4CC: .4byte gUnknown_8459588 -_0811B4D0: - ldr r2, [sp] - cmp r2, 0 - bne _0811B4F0 - ldr r0, _0811B500 @ =gUnknown_8459580 - mov r2, r8 - ldrb r1, [r2] - lsls r1, 2 - adds r1, r0 - ldr r1, [r1] - adds r0, r4, 0 - bl DynamicPlaceholderTextUtil_ExpandPlaceholders - adds r0, r5, 0 - adds r1, r4, 0 - bl StringAppend -_0811B4F0: - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811B500: .4byte gUnknown_8459580 - thumb_func_end sub_811B31C - - .align 2, 0 @ Don't pad with nop. diff --git a/asm/union_room_player_avatar.s b/asm/union_room_player_avatar.s deleted file mode 100644 index 5c6786ae6..000000000 --- a/asm/union_room_player_avatar.s +++ /dev/null @@ -1,2064 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start is_walking_or_running -is_walking_or_running: @ 811B504 - push {lr} - ldr r0, _0811B518 @ =gPlayerAvatar - ldrb r0, [r0, 0x3] - cmp r0, 0x2 - beq _0811B512 - cmp r0, 0 - bne _0811B51C -_0811B512: - movs r0, 0x1 - b _0811B51E - .align 2, 0 -_0811B518: .4byte gPlayerAvatar -_0811B51C: - movs r0, 0 -_0811B51E: - pop {r1} - bx r1 - thumb_func_end is_walking_or_running - - thumb_func_start sub_811B524 -sub_811B524: @ 811B524 - ldr r3, _0811B538 @ =gUnknown_84570D8 - movs r2, 0x7 - ands r2, r1 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 1 - adds r2, r1 - adds r2, r3 - ldrb r0, [r2] - bx lr - .align 2, 0 -_0811B538: .4byte gUnknown_84570D8 - thumb_func_end sub_811B524 - - thumb_func_start sub_811B53C -sub_811B53C: @ 811B53C - push {r4-r6,lr} - mov r6, r8 - push {r6} - ldr r4, _0811B584 @ =gUnknown_84570EC - mov r8, r4 - lsls r0, 2 - adds r4, r0, r4 - movs r6, 0 - ldrsh r5, [r4, r6] - ldr r6, _0811B588 @ =gUnknown_845710C - lsls r1, 1 - adds r4, r1, r6 - ldrb r4, [r4] - lsls r4, 24 - asrs r4, 24 - adds r5, r4 - adds r5, 0x7 - str r5, [r2] - movs r2, 0x2 - add r8, r2 - add r0, r8 - movs r4, 0 - ldrsh r0, [r0, r4] - adds r6, 0x1 - adds r1, r6 - ldrb r1, [r1] - lsls r1, 24 - asrs r1, 24 - adds r0, r1 - adds r0, 0x7 - str r0, [r3] - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811B584: .4byte gUnknown_84570EC -_0811B588: .4byte gUnknown_845710C - thumb_func_end sub_811B53C - - thumb_func_start sub_811B58C -sub_811B58C: @ 811B58C - push {r4-r7,lr} - mov r12, r3 - ldr r7, _0811B5CC @ =gUnknown_84570EC - lsls r5, r0, 2 - adds r0, r5, r7 - movs r4, 0 - ldrsh r3, [r0, r4] - ldr r6, _0811B5D0 @ =gUnknown_845710C - lsls r4, r1, 1 - adds r0, r4, r6 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r3, r0 - adds r3, 0x7 - cmp r3, r2 - bne _0811B5D4 - adds r0, r7, 0x2 - adds r0, r5, r0 - movs r2, 0 - ldrsh r1, [r0, r2] - adds r0, r6, 0x1 - adds r0, r4, r0 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - adds r1, r0 - adds r1, 0x7 - cmp r1, r12 - bne _0811B5D4 - movs r0, 0x1 - b _0811B5D6 - .align 2, 0 -_0811B5CC: .4byte gUnknown_84570EC -_0811B5D0: .4byte gUnknown_845710C -_0811B5D4: - movs r0, 0 -_0811B5D6: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_811B58C - - thumb_func_start sub_811B5DC -sub_811B5DC: @ 811B5DC - push {lr} - adds r0, 0x63 - lsls r0, 16 - lsrs r0, 16 - bl FlagGet - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_811B5DC - - thumb_func_start sub_811B5F0 -sub_811B5F0: @ 811B5F0 - push {lr} - adds r0, 0x63 - lsls r0, 16 - lsrs r0, 16 - bl FlagSet - pop {r0} - bx r0 - thumb_func_end sub_811B5F0 - - thumb_func_start sub_811B600 -sub_811B600: @ 811B600 - push {lr} - adds r0, 0x63 - lsls r0, 16 - lsrs r0, 16 - bl FlagClear - pop {r0} - bx r0 - thumb_func_end sub_811B600 - - thumb_func_start sub_811B610 -sub_811B610: @ 811B610 - push {lr} - ldr r2, _0811B628 @ =0x00004010 - adds r0, r2 - lsls r0, 16 - lsrs r0, 16 - lsls r1, 16 - lsrs r1, 16 - bl VarSet - pop {r0} - bx r0 - .align 2, 0 -_0811B628: .4byte 0x00004010 - thumb_func_end sub_811B610 - - thumb_func_start sub_811B62C -sub_811B62C: @ 811B62C - push {lr} - ldr r1, _0811B644 @ =gUnknown_8457120 - adds r0, r1 - ldrb r0, [r0] - ldr r1, _0811B648 @ =gSaveBlock1Ptr - ldr r2, [r1] - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - bl show_sprite - pop {r0} - bx r0 - .align 2, 0 -_0811B644: .4byte gUnknown_8457120 -_0811B648: .4byte gSaveBlock1Ptr - thumb_func_end sub_811B62C - - thumb_func_start sub_811B64C -sub_811B64C: @ 811B64C - push {lr} - ldr r1, _0811B664 @ =gUnknown_8457120 - adds r0, r1 - ldrb r0, [r0] - ldr r1, _0811B668 @ =gSaveBlock1Ptr - ldr r2, [r1] - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - bl RemoveObjectEventByLocalIdAndMap - pop {r0} - bx r0 - .align 2, 0 -_0811B664: .4byte gUnknown_8457120 -_0811B668: .4byte gSaveBlock1Ptr - thumb_func_end sub_811B64C - - thumb_func_start sub_811B66C -sub_811B66C: @ 811B66C - push {r4,r5,lr} - sub sp, 0x4 - adds r5, r1, 0 - ldr r1, _0811B6B8 @ =gUnknown_8457120 - adds r0, r1 - ldrb r0, [r0] - ldr r1, _0811B6BC @ =gSaveBlock1Ptr - ldr r2, [r1] - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0811B6D0 - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0811B6C0 @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventIsMovementOverridden - lsls r0, 24 - cmp r0, 0 - bne _0811B6D0 - ldrb r1, [r5] - adds r0, r4, 0 - bl ObjectEventSetHeldMovement - lsls r0, 24 - cmp r0, 0 - bne _0811B6C4 - movs r0, 0x1 - b _0811B6D2 - .align 2, 0 -_0811B6B8: .4byte gUnknown_8457120 -_0811B6BC: .4byte gSaveBlock1Ptr -_0811B6C0: .4byte gObjectEvents -_0811B6C4: - ldr r0, _0811B6DC @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c" - ldr r1, _0811B6E0 @ =0x00000183 - ldr r2, _0811B6E4 @ =gUnknown_8457174 "0" - movs r3, 0x1 - bl AGBAssert -_0811B6D0: - movs r0, 0 -_0811B6D2: - add sp, 0x4 - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0811B6DC: .4byte gUnknown_8457138 -_0811B6E0: .4byte 0x00000183 -_0811B6E4: .4byte gUnknown_8457174 - thumb_func_end sub_811B66C - - thumb_func_start sub_811B6E8 -sub_811B6E8: @ 811B6E8 - push {r4,lr} - sub sp, 0x4 - ldr r1, _0811B724 @ =gUnknown_8457120 - adds r0, r1 - ldrb r0, [r0] - ldr r1, _0811B728 @ =gSaveBlock1Ptr - ldr r2, [r1] - ldrb r1, [r2, 0x5] - ldrb r2, [r2, 0x4] - mov r3, sp - bl TryGetObjectEventIdByLocalIdAndMap - lsls r0, 24 - cmp r0, 0 - bne _0811B748 - mov r0, sp - ldrb r1, [r0] - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - ldr r1, _0811B72C @ =gObjectEvents - adds r4, r0, r1 - adds r0, r4, 0 - bl ObjectEventClearHeldMovementIfFinished - lsls r0, 24 - cmp r0, 0 - bne _0811B730 - movs r0, 0 - b _0811B74A - .align 2, 0 -_0811B724: .4byte gUnknown_8457120 -_0811B728: .4byte gSaveBlock1Ptr -_0811B72C: .4byte gObjectEvents -_0811B730: - bl ScriptContext2_IsEnabled - lsls r0, 24 - cmp r0, 0 - bne _0811B742 - adds r0, r4, 0 - bl npc_sync_anim_pause_bits - b _0811B748 -_0811B742: - adds r0, r4, 0 - bl FreezeObjectEvent -_0811B748: - movs r0, 0x1 -_0811B74A: - add sp, 0x4 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811B6E8 - - thumb_func_start sub_811B754 -sub_811B754: @ 811B754 - push {r4,lr} - adds r4, r0, 0 - ldr r0, _0811B798 @ =gUnknown_203B088 - movs r1, 0 - str r1, [r0] - ldr r0, _0811B79C @ =gUnknown_203B084 - str r4, [r0] - cmp r4, 0 - bne _0811B774 - ldr r0, _0811B7A0 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c" - movs r1, 0xDD - lsls r1, 1 - ldr r2, _0811B7A4 @ =gUnknown_8457178 "UnionObjWork != NULL" - movs r3, 0x1 - bl AGBAssert -_0811B774: - movs r1, 0 - adds r0, r4, 0 - movs r2, 0x7 -_0811B77A: - strb r1, [r0] - strb r1, [r0, 0x1] - strb r1, [r0, 0x2] - strb r1, [r0, 0x3] - adds r0, 0x4 - subs r2, 0x1 - cmp r2, 0 - bge _0811B77A - bl sub_811BA18 - lsls r0, 24 - lsrs r0, 24 - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0811B798: .4byte gUnknown_203B088 -_0811B79C: .4byte gUnknown_203B084 -_0811B7A0: .4byte gUnknown_8457138 -_0811B7A4: .4byte gUnknown_8457178 - thumb_func_end sub_811B754 - - thumb_func_start sub_811B7A8 -sub_811B7A8: @ 811B7A8 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r0, 0 - ldrsb r0, [r5, r0] - cmp r0, 0 - beq _0811B7BC - cmp r0, 0x1 - beq _0811B7DC - b _0811B7FA -_0811B7BC: - ldr r1, _0811B7D8 @ =gUnknown_845718D - adds r0, r4, 0 - bl sub_811B66C - cmp r0, 0x1 - bne _0811B7FA - adds r0, r4, 0 - bl sub_811B5F0 - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] - b _0811B7FA - .align 2, 0 -_0811B7D8: .4byte gUnknown_845718D -_0811B7DC: - adds r0, r4, 0 - bl sub_811B6E8 - cmp r0, 0 - beq _0811B7FA - adds r0, r4, 0 - bl sub_811B64C - adds r0, r4, 0 - bl sub_811B5F0 - movs r0, 0 - strb r0, [r5] - movs r0, 0x1 - b _0811B7FC -_0811B7FA: - movs r0, 0 -_0811B7FC: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_811B7A8 - - thumb_func_start sub_811B804 -sub_811B804: @ 811B804 - push {r4-r7,lr} - sub sp, 0x4 - adds r6, r0, 0 - adds r5, r1, 0 - adds r7, r2, 0 - movs r0, 0 - ldrsb r0, [r6, r0] - cmp r0, 0x2 - beq _0811B8A0 - cmp r0, 0x2 - bgt _0811B820 - cmp r0, 0 - beq _0811B826 - b _0811B8B2 -_0811B820: - cmp r0, 0x3 - beq _0811B888 - b _0811B8B2 -_0811B826: - bl is_walking_or_running - cmp r0, 0 - beq _0811B8B2 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl PlayerGetDestCoords - mov r0, sp - movs r1, 0 - ldrsh r2, [r0, r1] - movs r0, 0 - ldrsh r3, [r4, r0] - adds r0, r5, 0 - movs r1, 0 - bl sub_811B58C - cmp r0, 0x1 - beq _0811B8B2 - mov r0, sp - adds r1, r4, 0 - bl plaer_get_pos_including_state_based_drift - mov r0, sp - movs r1, 0 - ldrsh r2, [r0, r1] - movs r0, 0 - ldrsh r3, [r4, r0] - adds r0, r5, 0 - movs r1, 0 - bl sub_811B58C - cmp r0, 0x1 - beq _0811B8B2 - ldrb r1, [r7, 0x1] - adds r0, r5, 0 - bl sub_811B610 - adds r0, r5, 0 - bl sub_811B62C - adds r0, r5, 0 - bl sub_811B600 - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] -_0811B888: - ldr r1, _0811B89C @ =gUnknown_845718F - adds r0, r5, 0 - bl sub_811B66C - cmp r0, 0x1 - bne _0811B8B2 - ldrb r0, [r6] - adds r0, 0x1 - strb r0, [r6] - b _0811B8B2 - .align 2, 0 -_0811B89C: .4byte gUnknown_845718F -_0811B8A0: - adds r0, r5, 0 - bl sub_811B6E8 - cmp r0, 0 - beq _0811B8B2 - movs r0, 0 - strb r0, [r6] - movs r0, 0x1 - b _0811B8B4 -_0811B8B2: - movs r0, 0 -_0811B8B4: - add sp, 0x4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_811B804 - - thumb_func_start sub_811B8BC -sub_811B8BC: @ 811B8BC - push {r4-r6,lr} - adds r5, r1, 0 - adds r6, r2, 0 - ldr r1, _0811B8F4 @ =gUnknown_203B084 - lsls r0, 2 - ldr r1, [r1] - adds r4, r1, r0 - cmp r1, 0 - bne _0811B8DA - ldr r0, _0811B8F8 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c" - ldr r1, _0811B8FC @ =0x00000231 - ldr r2, _0811B900 @ =gUnknown_8457178 "UnionObjWork != NULL" - movs r3, 0x1 - bl AGBAssert -_0811B8DA: - movs r0, 0x1 - strb r0, [r4, 0x3] - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_811B524 - strb r0, [r4, 0x1] - ldrb r0, [r4] - cmp r0, 0 - beq _0811B904 - movs r0, 0 - b _0811B906 - .align 2, 0 -_0811B8F4: .4byte gUnknown_203B084 -_0811B8F8: .4byte gUnknown_8457138 -_0811B8FC: .4byte 0x00000231 -_0811B900: .4byte gUnknown_8457178 -_0811B904: - movs r0, 0x1 -_0811B906: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_811B8BC - - thumb_func_start sub_811B90C -sub_811B90C: @ 811B90C - push {r4,lr} - ldr r1, _0811B934 @ =gUnknown_203B084 - lsls r0, 2 - ldr r1, [r1] - adds r4, r1, r0 - cmp r1, 0 - bne _0811B926 - ldr r0, _0811B938 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c" - ldr r1, _0811B93C @ =0x00000241 - ldr r2, _0811B940 @ =gUnknown_8457178 "UnionObjWork != NULL" - movs r3, 0x1 - bl AGBAssert -_0811B926: - movs r0, 0x2 - strb r0, [r4, 0x3] - ldrb r0, [r4] - cmp r0, 0x1 - beq _0811B944 - movs r0, 0 - b _0811B946 - .align 2, 0 -_0811B934: .4byte gUnknown_203B084 -_0811B938: .4byte gUnknown_8457138 -_0811B93C: .4byte 0x00000241 -_0811B940: .4byte gUnknown_8457178 -_0811B944: - movs r0, 0x1 -_0811B946: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_811B90C - - thumb_func_start sub_811B94C -sub_811B94C: @ 811B94C - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r1, [r4] - cmp r1, 0x1 - beq _0811B9AE - cmp r1, 0x1 - bgt _0811B962 - cmp r1, 0 - beq _0811B96C - b _0811B9CE -_0811B962: - cmp r1, 0x2 - beq _0811B978 - cmp r1, 0x3 - beq _0811B9BC - b _0811B9CE -_0811B96C: - ldrb r0, [r4, 0x3] - cmp r0, 0x1 - bne _0811B9CE - movs r0, 0x2 - strb r0, [r4] - strb r1, [r4, 0x2] -_0811B978: - adds r0, r5, 0 - movs r1, 0 - bl sub_811BBC8 - adds r1, r0, 0 - cmp r1, 0 - bne _0811B99E - ldrb r0, [r4, 0x3] - cmp r0, 0x2 - bne _0811B99E - strb r1, [r4] - strb r1, [r4, 0x2] - adds r0, r5, 0 - bl sub_811B64C - adds r0, r5, 0 - bl sub_811B5F0 - b _0811B9CE -_0811B99E: - adds r0, r4, 0x2 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_811B804 - cmp r0, 0x1 - bne _0811B9CE - b _0811B9CC -_0811B9AE: - ldrb r0, [r4, 0x3] - cmp r0, 0x2 - bne _0811B9CE - movs r1, 0 - movs r0, 0x3 - strb r0, [r4] - strb r1, [r4, 0x2] -_0811B9BC: - adds r0, r4, 0x2 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_811B7A8 - cmp r0, 0x1 - bne _0811B9CE - movs r0, 0 -_0811B9CC: - strb r0, [r4] -_0811B9CE: - movs r0, 0 - strb r0, [r4, 0x3] - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811B94C - - thumb_func_start sub_811B9D8 -sub_811B9D8: @ 811B9D8 - push {r4,r5,lr} - ldr r5, _0811BA08 @ =gUnknown_203B084 - ldr r0, [r5] - cmp r0, 0 - bne _0811B9EE - ldr r0, _0811BA0C @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c" - ldr r1, _0811BA10 @ =0x00000283 - ldr r2, _0811BA14 @ =gUnknown_8457178 "UnionObjWork != NULL" - movs r3, 0x1 - bl AGBAssert -_0811B9EE: - movs r4, 0 -_0811B9F0: - lsls r0, r4, 2 - ldr r1, [r5] - adds r1, r0 - adds r0, r4, 0 - bl sub_811B94C - adds r4, 0x1 - cmp r4, 0x7 - ble _0811B9F0 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0811BA08: .4byte gUnknown_203B084 -_0811BA0C: .4byte gUnknown_8457138 -_0811BA10: .4byte 0x00000283 -_0811BA14: .4byte gUnknown_8457178 - thumb_func_end sub_811B9D8 - - thumb_func_start sub_811BA18 -sub_811BA18: @ 811BA18 - push {r4,lr} - ldr r4, _0811BA38 @ =sub_811B9D8 - adds r0, r4, 0 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0811BA3C - adds r0, r4, 0 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - b _0811BA4A - .align 2, 0 -_0811BA38: .4byte sub_811B9D8 -_0811BA3C: - ldr r0, _0811BA50 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c" - ldr r1, _0811BA54 @ =0x0000028f - ldr r2, _0811BA58 @ =gUnknown_8457174 "0" - movs r3, 0x1 - bl AGBAssert - movs r0, 0x10 -_0811BA4A: - pop {r4} - pop {r1} - bx r1 - .align 2, 0 -_0811BA50: .4byte gUnknown_8457138 -_0811BA54: .4byte 0x0000028f -_0811BA58: .4byte gUnknown_8457174 - thumb_func_end sub_811BA18 - - thumb_func_start sub_811BA5C -sub_811BA5C: @ 811BA5C - push {lr} - ldr r0, _0811BA74 @ =sub_811B9D8 - bl FindTaskIdByFunc - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xF - bhi _0811BA70 - bl DestroyTask -_0811BA70: - pop {r0} - bx r0 - .align 2, 0 -_0811BA74: .4byte sub_811B9D8 - thumb_func_end sub_811BA5C - - thumb_func_start sub_811BA78 -sub_811BA78: @ 811BA78 - push {r4,lr} - movs r4, 0 -_0811BA7C: - adds r0, r4, 0 - bl sub_811B5DC - cmp r0, 0 - bne _0811BA92 - adds r0, r4, 0 - bl sub_811B64C - adds r0, r4, 0 - bl sub_811B5F0 -_0811BA92: - adds r4, 0x1 - cmp r4, 0x7 - ble _0811BA7C - ldr r1, _0811BAA8 @ =gUnknown_203B084 - movs r0, 0 - str r0, [r1] - bl sub_811BA5C - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811BAA8: .4byte gUnknown_203B084 - thumb_func_end sub_811BA78 - - thumb_func_start sub_811BAAC -sub_811BAAC: @ 811BAAC - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - str r0, [sp, 0x8] - mov r9, r1 - movs r7, 0 - mov r0, r9 - lsls r0, 2 - mov r8, r0 - ldr r0, _0811BB38 @ =gUnknown_84570EC - mov r2, r8 - adds r1, r2, r0 - ldrh r1, [r1] - mov r2, sp - strh r1, [r2, 0xC] - adds r0, 0x2 - add r0, r8 - ldrh r0, [r0] - mov r10, r0 - ldr r6, _0811BB3C @ =gUnknown_845710C -_0811BADA: - mov r5, r8 - add r5, r9 - adds r5, r7 - adds r4, r5, 0 - subs r4, 0x38 - lsls r4, 24 - lsrs r4, 24 - movs r2, 0 - ldrsb r2, [r6, r2] - mov r0, sp - ldrh r0, [r0, 0xC] - adds r2, r0, r2 - lsls r2, 16 - asrs r2, 16 - movs r3, 0x1 - ldrsb r3, [r6, r3] - add r3, r10 - lsls r3, 16 - asrs r3, 16 - movs r0, 0x3 - str r0, [sp] - movs r0, 0x1 - str r0, [sp, 0x4] - movs r0, 0x19 - adds r1, r4, 0 - bl sprite_new - ldr r1, [sp, 0x8] - adds r5, r1, r5 - strb r0, [r5] - adds r0, r4, 0 - movs r1, 0x1 - bl sub_8069124 - adds r6, 0x2 - adds r7, 0x1 - cmp r7, 0x4 - ble _0811BADA - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811BB38: .4byte gUnknown_84570EC -_0811BB3C: .4byte gUnknown_845710C - thumb_func_end sub_811BAAC - - thumb_func_start sub_811BB40 -sub_811BB40: @ 811BB40 - push {r4-r6,lr} - adds r5, r0, 0 - movs r4, 0 - ldr r6, _0811BB64 @ =gSprites -_0811BB48: - adds r0, r5, r4 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - bl DestroySprite - adds r4, 0x1 - cmp r4, 0x27 - ble _0811BB48 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811BB64: .4byte gSprites - thumb_func_end sub_811BB40 - - thumb_func_start sub_811BB68 -sub_811BB68: @ 811BB68 - push {r4-r7,lr} - sub sp, 0x8 - movs r5, 0 - add r7, sp, 0x4 -_0811BB70: - movs r4, 0 - adds r6, r5, 0x1 -_0811BB74: - adds r0, r5, 0 - adds r1, r4, 0 - mov r2, sp - adds r3, r7, 0 - bl sub_811B53C - ldr r0, [sp] - ldr r1, [sp, 0x4] - movs r2, 0 - bl sub_8059024 - adds r4, 0x1 - cmp r4, 0x4 - ble _0811BB74 - adds r5, r6, 0 - cmp r5, 0x7 - ble _0811BB70 - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_811BB68 - - thumb_func_start sub_811BBA0 -sub_811BBA0: @ 811BBA0 - push {lr} - adds r1, r0, 0 - cmp r1, 0 - beq _0811BBB4 - ldr r0, _0811BBB0 @ =gUnknown_845711B - adds r0, r1, r0 - ldrb r0, [r0] - b _0811BBC4 - .align 2, 0 -_0811BBB0: .4byte gUnknown_845711B -_0811BBB4: - ldrb r1, [r2, 0xA] - movs r0, 0x7F - ands r0, r1 - cmp r0, 0x45 - beq _0811BBC2 - movs r0, 0x4 - b _0811BBC4 -_0811BBC2: - movs r0, 0x1 -_0811BBC4: - pop {r1} - bx r1 - thumb_func_end sub_811BBA0 - - thumb_func_start sub_811BBC8 -sub_811BBC8: @ 811BBC8 - push {lr} - adds r2, r0, 0 - lsls r0, r2, 2 - adds r0, r2 - adds r0, r1 - subs r0, 0x38 - lsls r0, 24 - lsrs r0, 24 - bl sub_806916C - pop {r1} - bx r1 - thumb_func_end sub_811BBC8 - - thumb_func_start sub_811BBE0 -sub_811BBE0: @ 811BBE0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r5, r0, 0 - adds r6, r1, 0 - mov r9, r3 - lsls r2, 24 - lsrs r2, 24 - mov r8, r2 - lsls r0, r5, 2 - adds r0, r5 - adds r7, r0, r6 - adds r0, r5, 0 - bl sub_811BBC8 - cmp r0, 0x1 - bne _0811BC1E - adds r4, r7, 0 - subs r4, 0x38 - lsls r4, 24 - lsrs r4, 24 - adds r0, r4, 0 - movs r1, 0 - bl sub_8069124 - adds r0, r4, 0 - movs r1, 0x1 - bl sub_80691A4 -_0811BC1E: - adds r0, r7, 0 - subs r0, 0x38 - lsls r0, 24 - lsrs r0, 24 - mov r1, r8 - bl sub_8069094 - adds r0, r6, 0 - adds r1, r5, 0 - mov r2, r9 - bl sub_811BBA0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r6, 0 - adds r1, r5, 0 - bl sub_811C008 - add r3, sp, 0x4 - adds r0, r5, 0 - adds r1, r6, 0 - mov r2, sp - bl sub_811B53C - ldr r0, [sp] - ldr r1, [sp, 0x4] - movs r2, 0x1 - bl sub_8059024 - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_811BBE0 - - thumb_func_start sub_811BC68 -sub_811BC68: @ 811BC68 - push {r4,r5,lr} - sub sp, 0x8 - adds r4, r0, 0 - adds r5, r1, 0 - lsls r0, r4, 2 - adds r0, r4 - adds r0, r5 - subs r0, 0x38 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x2 - bl sub_80691A4 - add r3, sp, 0x4 - adds r0, r4, 0 - adds r1, r5, 0 - mov r2, sp - bl sub_811B53C - ldr r0, [sp] - ldr r1, [sp, 0x4] - movs r2, 0 - bl sub_8059024 - add sp, 0x8 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811BC68 - - thumb_func_start sub_811BCA0 -sub_811BCA0: @ 811BCA0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r7, r0, 0 - mov r8, r1 - mov r6, sp - adds r6, 0x2 - mov r0, sp - adds r1, r6, 0 - bl PlayerGetDestCoords - add r4, sp, 0x4 - mov r5, sp - adds r5, 0x6 - adds r0, r4, 0 - adds r1, r5, 0 - bl plaer_get_pos_including_state_based_drift - lsls r0, r7, 2 - adds r0, r7 - subs r0, 0x38 - lsls r0, 24 - lsrs r0, 24 - bl sub_806916C - mov r10, r6 - mov r9, r4 - adds r6, r5, 0 - cmp r0, 0x1 - bne _0811BD2C - mov r0, sp - movs r1, 0 - ldrsh r2, [r0, r1] - mov r0, r10 - movs r1, 0 - ldrsh r3, [r0, r1] - adds r0, r7, 0 - movs r1, 0 - bl sub_811B58C - cmp r0, 0x1 - beq _0811BD98 - movs r0, 0 - ldrsh r2, [r4, r0] - movs r1, 0 - ldrsh r3, [r6, r1] - adds r0, r7, 0 - movs r1, 0 - bl sub_811B58C - cmp r0, 0x1 - beq _0811BD98 - mov r2, r8 - ldrb r0, [r2, 0xB] - lsls r0, 31 - lsrs r0, 31 - ldrb r1, [r2, 0x2] - bl sub_811B524 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r7, 0 - movs r1, 0 - mov r3, r8 - bl sub_811BBE0 -_0811BD2C: - movs r5, 0x1 - mov r4, r8 - adds r4, 0x4 -_0811BD32: - ldrb r0, [r4] - cmp r0, 0 - bne _0811BD42 - adds r0, r7, 0 - adds r1, r5, 0 - bl sub_811BC68 - b _0811BD90 -_0811BD42: - mov r0, sp - movs r1, 0 - ldrsh r2, [r0, r1] - mov r0, r10 - movs r1, 0 - ldrsh r3, [r0, r1] - adds r0, r7, 0 - adds r1, r5, 0 - bl sub_811B58C - cmp r0, 0 - bne _0811BD90 - mov r0, r9 - movs r1, 0 - ldrsh r2, [r0, r1] - movs r0, 0 - ldrsh r3, [r6, r0] - adds r0, r7, 0 - adds r1, r5, 0 - bl sub_811B58C - cmp r0, 0 - bne _0811BD90 - ldrb r2, [r4] - lsrs r0, r2, 3 - movs r1, 0x1 - ands r0, r1 - movs r1, 0x7 - ands r1, r2 - bl sub_811B524 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r7, 0 - adds r1, r5, 0 - mov r3, r8 - bl sub_811BBE0 -_0811BD90: - adds r4, 0x1 - adds r5, 0x1 - cmp r5, 0x4 - ble _0811BD32 -_0811BD98: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_811BCA0 - - thumb_func_start sub_811BDA8 -sub_811BDA8: @ 811BDA8 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - ldrb r0, [r4, 0xA] - lsls r0, 25 - lsrs r0, 25 - subs r0, 0x40 - cmp r0, 0x14 - bhi _0811BE4C - lsls r0, 2 - ldr r1, _0811BDC4 @ =_0811BDC8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0811BDC4: .4byte _0811BDC8 - .align 2, 0 -_0811BDC8: - .4byte _0811BE1C - .4byte _0811BE3C - .4byte _0811BE4C - .4byte _0811BE4C - .4byte _0811BE3C - .4byte _0811BE3C - .4byte _0811BE4C - .4byte _0811BE4C - .4byte _0811BE3C - .4byte _0811BE4C - .4byte _0811BE4C - .4byte _0811BE4C - .4byte _0811BE4C - .4byte _0811BE4C - .4byte _0811BE4C - .4byte _0811BE4C - .4byte _0811BE4C - .4byte _0811BE3C - .4byte _0811BE3C - .4byte _0811BE3C - .4byte _0811BE1C -_0811BE1C: - ldrb r1, [r4, 0xB] - lsls r1, 31 - lsrs r1, 31 - ldrb r2, [r4, 0x2] - adds r0, r5, 0 - bl sub_811B8BC - movs r4, 0 -_0811BE2C: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_811BC68 - adds r4, 0x1 - cmp r4, 0x4 - bls _0811BE2C - b _0811BE58 -_0811BE3C: - adds r0, r5, 0 - bl sub_811B90C - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_811BCA0 - b _0811BE58 -_0811BE4C: - ldr r0, _0811BE60 @ =gUnknown_8457138 "C:/WORK/POKeFRLG/src/pm_lgfr_ose/source/rfu_union_tool.c" - ldr r1, _0811BE64 @ =0x000003d3 - ldr r2, _0811BE68 @ =gUnknown_8457174 "0" - movs r3, 0x1 - bl AGBAssert -_0811BE58: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0811BE60: .4byte gUnknown_8457138 -_0811BE64: .4byte 0x000003d3 -_0811BE68: .4byte gUnknown_8457174 - thumb_func_end sub_811BDA8 - - thumb_func_start sub_811BE6C -sub_811BE6C: @ 811BE6C - push {r4,r5,lr} - adds r5, r0, 0 - bl sub_811B90C - movs r4, 0 -_0811BE76: - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_811BC68 - adds r4, 0x1 - cmp r4, 0x4 - ble _0811BE76 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811BE6C - - thumb_func_start sub_811BE8C -sub_811BE8C: @ 811BE8C - push {r4,r5,lr} - ldr r2, _0811BEAC @ =gUnknown_203B088 - movs r1, 0 - str r1, [r2] - movs r5, 0 - ldr r4, [r0] -_0811BE98: - ldrb r0, [r4, 0x1A] - movs r1, 0x3 - ands r1, r0 - cmp r1, 0x1 - bne _0811BEB0 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_811BDA8 - b _0811BEBC - .align 2, 0 -_0811BEAC: .4byte gUnknown_203B088 -_0811BEB0: - cmp r1, 0x2 - bne _0811BEBC - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_811BE6C -_0811BEBC: - adds r4, 0x20 - adds r5, 0x1 - cmp r5, 0x7 - ble _0811BE98 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811BE8C - - thumb_func_start sub_811BECC -sub_811BECC: @ 811BECC - ldr r1, _0811BED8 @ =gUnknown_203B088 - movs r0, 0x96 - lsls r0, 1 - str r0, [r1] - bx lr - .align 2, 0 -_0811BED8: .4byte gUnknown_203B088 - thumb_func_end sub_811BECC - - thumb_func_start sub_811BEDC -sub_811BEDC: @ 811BEDC - push {lr} - adds r2, r0, 0 - ldr r0, _0811BEFC @ =gUnknown_203B088 - ldr r1, [r0] - adds r1, 0x1 - str r1, [r0] - movs r0, 0x96 - lsls r0, 1 - cmp r1, r0 - bls _0811BEF6 - adds r0, r2, 0 - bl sub_811BE8C -_0811BEF6: - pop {r0} - bx r0 - .align 2, 0 -_0811BEFC: .4byte gUnknown_203B088 - thumb_func_end sub_811BEDC - - thumb_func_start sub_811BF00 -sub_811BF00: @ 811BF00 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x18 - adds r5, r0, 0 - str r1, [sp, 0x4] - str r2, [sp, 0x8] - bl is_walking_or_running - cmp r0, 0 - bne _0811BF48 - b _0811BFEE -_0811BF1C: - ldr r4, _0811BF44 @ =gUnknown_8457116 - bl GetPlayerFacingDirection - lsls r0, 24 - lsrs r0, 24 - adds r0, r4 - ldrb r2, [r0] - adds r0, r6, 0 - ldr r1, [sp, 0xC] - bl sub_811C008 - ldr r0, [sp, 0x4] - strh r6, [r0] - mov r1, sp - ldrh r2, [r1, 0xC] - ldr r1, [sp, 0x8] - strh r2, [r1] - movs r0, 0x1 - b _0811BFF0 - .align 2, 0 -_0811BF44: .4byte gUnknown_8457116 -_0811BF48: - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - movs r0, 0 - str r0, [sp, 0xC] - ldr r0, _0811C000 @ =gUnknown_84570EC - adds r7, r5, 0 - movs r1, 0 - mov r10, r1 - adds r2, r0, 0x2 - str r2, [sp, 0x10] - str r0, [sp, 0x14] -_0811BF66: - movs r6, 0 - ldr r4, [sp, 0x14] - movs r0, 0 - ldrsh r4, [r4, r0] - mov r9, r4 - ldr r1, [sp, 0x10] - mov r8, r1 - ldr r5, _0811C004 @ =gUnknown_845710C -_0811BF76: - mov r2, r10 - adds r3, r2, r6 - mov r0, sp - movs r4, 0 - ldrsh r1, [r0, r4] - movs r0, 0 - ldrsb r0, [r5, r0] - add r0, r9 - adds r0, 0x7 - cmp r1, r0 - bne _0811BFCA - mov r1, sp - movs r2, 0x2 - ldrsh r0, [r1, r2] - mov r4, r8 - movs r2, 0 - ldrsh r1, [r4, r2] - movs r2, 0x1 - ldrsb r2, [r5, r2] - adds r1, r2 - adds r1, 0x7 - cmp r0, r1 - bne _0811BFCA - adds r0, r3, 0 - subs r0, 0x38 - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - bl sub_806916C - cmp r0, 0 - bne _0811BFCA - adds r0, r4, 0 - bl sub_8069294 - cmp r0, 0 - bne _0811BFCA - ldrb r1, [r7, 0x1A] - movs r0, 0x3 - ands r0, r1 - cmp r0, 0x1 - beq _0811BF1C -_0811BFCA: - adds r5, 0x2 - adds r6, 0x1 - cmp r6, 0x4 - ble _0811BF76 - adds r7, 0x20 - movs r4, 0x5 - add r10, r4 - ldr r0, [sp, 0x10] - adds r0, 0x4 - str r0, [sp, 0x10] - ldr r1, [sp, 0x14] - adds r1, 0x4 - str r1, [sp, 0x14] - ldr r2, [sp, 0xC] - adds r2, 0x1 - str r2, [sp, 0xC] - cmp r2, 0x7 - ble _0811BF66 -_0811BFEE: - movs r0, 0 -_0811BFF0: - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0811C000: .4byte gUnknown_84570EC -_0811C004: .4byte gUnknown_845710C - thumb_func_end sub_811BF00 - - thumb_func_start sub_811C008 -sub_811C008: @ 811C008 - push {r4,lr} - adds r4, r0, 0 - adds r3, r1, 0 - lsls r1, r2, 24 - lsrs r1, 24 - lsls r0, r3, 2 - adds r0, r3 - subs r0, 0x38 - adds r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl sub_8069058 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_811C008 - - thumb_func_start sub_811C028 -sub_811C028: @ 811C028 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - lsls r3, r4, 5 - adds r3, r2 - adds r2, r3, 0 - bl sub_811BBA0 - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_811C008 - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_811C028 - - thumb_func_start sub_811C04C -sub_811C04C: @ 811C04C - push {r4-r7,lr} - movs r0, 0xA - bl sub_81173C0 - movs r4, 0 - movs r7, 0x64 - ldr r6, _0811C0CC @ =gPlayerParty - ldr r5, _0811C0D0 @ =gEnemyParty -_0811C05C: - ldr r0, _0811C0D4 @ =gSelectedOrderFromParty - adds r0, r4, r0 - ldrb r0, [r0] - subs r0, 0x1 - adds r1, r0, 0 - muls r1, r7 - adds r1, r6 - adds r0, r5, 0 - movs r2, 0x64 - bl memcpy - adds r5, 0x64 - adds r4, 0x1 - cmp r4, 0x1 - ble _0811C05C - ldr r4, _0811C0CC @ =gPlayerParty - movs r0, 0xFA - lsls r0, 1 - adds r5, r4, r0 -_0811C082: - adds r0, r4, 0 - bl ZeroMonData - adds r4, 0x64 - cmp r4, r5 - ble _0811C082 - ldr r4, _0811C0CC @ =gPlayerParty - movs r5, 0 - adds r6, r4, 0 - adds r6, 0x64 -_0811C096: - ldr r1, _0811C0D0 @ =gEnemyParty - adds r1, r5, r1 - adds r0, r4, 0 - movs r2, 0x64 - bl memcpy - adds r4, 0x64 - adds r5, 0x64 - cmp r4, r6 - ble _0811C096 - movs r0, 0x32 - bl IncrementGameStat - bl CalculatePlayerPartyCount - ldr r0, _0811C0D8 @ =gTrainerBattleOpponent_A - movs r2, 0xC0 - lsls r2, 4 - adds r1, r2, 0 - strh r1, [r0] - ldr r0, _0811C0DC @ =CB2_InitBattle - bl SetMainCallback2 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0811C0CC: .4byte gPlayerParty -_0811C0D0: .4byte gEnemyParty -_0811C0D4: .4byte gSelectedOrderFromParty -_0811C0D8: .4byte gTrainerBattleOpponent_A -_0811C0DC: .4byte CB2_InitBattle - thumb_func_end sub_811C04C - - thumb_func_start sub_811C0E0 -sub_811C0E0: @ 811C0E0 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x18 - adds r5, r0, 0 - mov r10, r1 - adds r6, r2, 0 - ldr r4, [sp, 0x34] - lsls r5, 24 - lsrs r5, 24 - lsls r6, 24 - lsrs r6, 24 - lsls r3, 24 - lsrs r3, 24 - movs r0, 0x1 - mov r8, r0 - ldr r1, _0811C14C @ =gUnknown_84571A8 - mov r9, r1 - ldrb r0, [r1] - lsls r1, r0, 4 - orrs r1, r0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r5, 0 - str r3, [sp, 0x14] - bl FillWindowPixelBuffer - mov r0, r8 - str r0, [sp] - str r0, [sp, 0x4] - mov r1, r9 - str r1, [sp, 0x8] - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - mov r0, r10 - str r0, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x3 - adds r2, r6, 0 - ldr r3, [sp, 0x14] - bl AddTextPrinterParameterized4 - add sp, 0x18 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0811C14C: .4byte gUnknown_84571A8 - thumb_func_end sub_811C0E0 - - thumb_func_start sub_811C150 -sub_811C150: @ 811C150 - push {r4-r6,lr} - sub sp, 0x4 - adds r4, r0, 0 - adds r6, r1, 0 - adds r5, r2, 0 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0811C168 - cmp r0, 0x1 - beq _0811C196 - b _0811C1AA -_0811C168: - movs r0, 0 - movs r1, 0x1 - movs r2, 0xD - bl DrawTextBorderOuter - str r5, [sp] - movs r0, 0 - adds r1, r6, 0 - movs r2, 0 - movs r3, 0x2 - bl sub_811C0E0 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - b _0811C1AA -_0811C196: - movs r0, 0 - bl IsTextPrinterActive - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - bne _0811C1AA - strh r0, [r4] - movs r0, 0x1 - b _0811C1AC -_0811C1AA: - movs r0, 0 -_0811C1AC: - add sp, 0x4 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_811C150 - - thumb_func_start sub_811C1B4 -sub_811C1B4: @ 811C1B4 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_811C1B4 - - thumb_func_start sub_811C1C8 -sub_811C1C8: @ 811C1C8 - push {r4,lr} - sub sp, 0xC - ldr r1, _0811C1E8 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x33 - bls _0811C1DE - b _0811C516 -_0811C1DE: - lsls r0, 2 - ldr r1, _0811C1EC @ =_0811C1F0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0811C1E8: .4byte gMain -_0811C1EC: .4byte _0811C1F0 - .align 2, 0 -_0811C1F0: - .4byte _0811C2C0 - .4byte _0811C364 - .4byte _0811C38C - .4byte _0811C3B0 - .4byte _0811C400 - .4byte _0811C516 - .4byte _0811C4E4 - .4byte _0811C4C0 - .4byte _0811C4E4 - .4byte _0811C500 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C516 - .4byte _0811C48C - .4byte _0811C4A8 -_0811C2C0: - movs r0, 0 - movs r1, 0 - bl SetGpuReg - ldr r4, _0811C350 @ =gUnknown_203B08C - movs r0, 0x4 - bl AllocZeroed - str r0, [r4] - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0811C354 @ =gUnknown_8457194 - movs r0, 0 - movs r2, 0x1 - bl InitBgsFromTemplates - bl ResetTempTileDataBuffers - ldr r0, _0811C358 @ =gUnknown_8457198 - bl InitWindows - lsls r0, 16 - cmp r0, 0 - bne _0811C300 - b _0811C52A -_0811C300: - bl DeactivateAllTextPrinters - movs r0, 0 - bl ClearWindowTilemap - movs r0, 0 - movs r1, 0 - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0xF - str r0, [sp, 0x8] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect - movs r0, 0 - movs r1, 0x1 - movs r2, 0xD0 - bl TextWindow_SetStdFrame0_WithPal - bl Menu_LoadStdPal - ldr r0, _0811C35C @ =sub_811C1B4 - bl SetVBlankCallback - ldr r1, _0811C360 @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0811C4F2 - .align 2, 0 -_0811C350: .4byte gUnknown_203B08C -_0811C354: .4byte gUnknown_8457194 -_0811C358: .4byte gUnknown_8457198 -_0811C35C: .4byte sub_811C1B4 -_0811C360: .4byte gMain -_0811C364: - ldr r0, _0811C380 @ =gUnknown_203B08C - ldr r0, [r0] - ldr r1, _0811C384 @ =gUnknown_841E538 - movs r2, 0 - bl sub_811C150 - cmp r0, 0 - bne _0811C376 - b _0811C516 -_0811C376: - ldr r1, _0811C388 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0811C4F2 - .align 2, 0 -_0811C380: .4byte gUnknown_203B08C -_0811C384: .4byte gUnknown_841E538 -_0811C388: .4byte gMain -_0811C38C: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - movs r0, 0 - bl ShowBg - ldr r1, _0811C3AC @ =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0811C4F2 - .align 2, 0 -_0811C3AC: .4byte gMain -_0811C3B0: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - beq _0811C3BC - b _0811C516 -_0811C3BC: - ldr r4, _0811C3D8 @ =gBlockSendBuffer - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x20 - bl memset - ldr r0, _0811C3DC @ =gSelectedOrderFromParty - ldrb r1, [r0] - ldrb r0, [r0, 0x1] - cmn r1, r0 - bne _0811C3E0 - movs r0, 0x52 - b _0811C3E2 - .align 2, 0 -_0811C3D8: .4byte gBlockSendBuffer -_0811C3DC: .4byte gSelectedOrderFromParty -_0811C3E0: - movs r0, 0x51 -_0811C3E2: - strb r0, [r4] - ldr r1, _0811C3F8 @ =gBlockSendBuffer - movs r0, 0 - movs r2, 0x20 - bl SendBlock - ldr r1, _0811C3FC @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0811C4F2 - .align 2, 0 -_0811C3F8: .4byte gBlockSendBuffer -_0811C3FC: .4byte gMain -_0811C400: - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x3 - beq _0811C40E - b _0811C516 -_0811C40E: - ldr r1, _0811C440 @ =gBlockRecvBuffer - ldrh r0, [r1] - cmp r0, 0x51 - bne _0811C448 - movs r2, 0x80 - lsls r2, 1 - adds r0, r1, r2 - ldrh r0, [r0] - cmp r0, 0x51 - bne _0811C448 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, _0811C444 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x32 - b _0811C47E - .align 2, 0 -_0811C440: .4byte gBlockRecvBuffer -_0811C444: .4byte gMain -_0811C448: - bl sub_800AAC0 - ldr r4, _0811C46C @ =gBlockRecvBuffer - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 16 - adds r0, r4 - ldrh r0, [r0] - cmp r0, 0x52 - bne _0811C474 - ldr r0, _0811C470 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x6 - b _0811C47E - .align 2, 0 -_0811C46C: .4byte gBlockRecvBuffer -_0811C470: .4byte gMain -_0811C474: - ldr r0, _0811C488 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x8 -_0811C47E: - strb r1, [r0] - bl ResetBlockReceivedFlags - b _0811C516 - .align 2, 0 -_0811C488: .4byte gMain -_0811C48C: - bl UpdatePaletteFade - lsls r0, 24 - cmp r0, 0 - bne _0811C516 - bl sub_800AB9C - ldr r1, _0811C4A4 @ =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0811C4F2 - .align 2, 0 -_0811C4A4: .4byte gMain -_0811C4A8: - bl IsLinkTaskFinished - lsls r0, 24 - cmp r0, 0 - beq _0811C516 - ldr r0, _0811C4BC @ =sub_811C04C - bl SetMainCallback2 - b _0811C516 - .align 2, 0 -_0811C4BC: .4byte sub_811C04C -_0811C4C0: - ldr r0, _0811C4D8 @ =gUnknown_203B08C - ldr r0, [r0] - ldr r1, _0811C4DC @ =gUnknown_841E58D - movs r2, 0x1 - bl sub_811C150 - cmp r0, 0 - beq _0811C516 - ldr r0, _0811C4E0 @ =CB2_ReturnToField - bl SetMainCallback2 - b _0811C516 - .align 2, 0 -_0811C4D8: .4byte gUnknown_203B08C -_0811C4DC: .4byte gUnknown_841E58D -_0811C4E0: .4byte CB2_ReturnToField -_0811C4E4: - ldr r0, _0811C4FC @ =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0811C516 - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 -_0811C4F2: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0811C516 - .align 2, 0 -_0811C4FC: .4byte gReceivedRemoteLinkPlayers -_0811C500: - ldr r0, _0811C534 @ =gUnknown_203B08C - ldr r0, [r0] - ldr r1, _0811C538 @ =gUnknown_841E572 - movs r2, 0x1 - bl sub_811C150 - cmp r0, 0 - beq _0811C516 - ldr r0, _0811C53C @ =CB2_ReturnToField - bl SetMainCallback2 -_0811C516: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade -_0811C52A: - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0811C534: .4byte gUnknown_203B08C -_0811C538: .4byte gUnknown_841E572 -_0811C53C: .4byte CB2_ReturnToField - thumb_func_end sub_811C1C8 - - .align 2, 0 @ Don't pad with nop. diff --git a/data/event_scripts.s b/data/event_scripts.s index f1d28077f..4cb25db68 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1,6 +1,7 @@ #include "constants/global.h" #include "constants/flags.h" #include "constants/event_objects.h" +#include "constants/event_object_movement.h" #include "constants/decorations.h" #include "constants/items.h" #include "constants/layouts.h" @@ -28,6 +29,7 @@ #include "constants/union_room.h" #include "constants/trade.h" #include "constants/quest_log.h" +#include "constants/daycare.h" .include "asm/macros.inc" .include "asm/macros/event.inc" .set FALSE, 0 @@ -149,10 +151,10 @@ gStdScriptsEnd:: .include "data/maps/SafariZone_East/scripts.inc" .include "data/maps/SafariZone_North/scripts.inc" .include "data/maps/SafariZone_West/scripts.inc" - .include "data/maps/SafariZone_Building1/scripts.inc" - .include "data/maps/SafariZone_Building2/scripts.inc" - .include "data/maps/SafariZone_Building3/scripts.inc" - .include "data/maps/SafariZone_Building4/scripts.inc" + .include "data/maps/SafariZone_Center_RestHouse/scripts.inc" + .include "data/maps/SafariZone_East_RestHouse/scripts.inc" + .include "data/maps/SafariZone_North_RestHouse/scripts.inc" + .include "data/maps/SafariZone_West_RestHouse/scripts.inc" .include "data/maps/SafariZone_SecretHouse/scripts.inc" .include "data/maps/CeruleanCave_1F/scripts.inc" .include "data/maps/CeruleanCave_2F/scripts.inc" @@ -395,12 +397,12 @@ gStdScriptsEnd:: .include "data/maps/CeladonCity_Hotel/scripts.inc" .include "data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc" .include "data/maps/FuchsiaCity_Mart/scripts.inc" - .include "data/maps/FuchsiaCity_ZooBuilding/scripts.inc" + .include "data/maps/FuchsiaCity_SafariZone_Office/scripts.inc" .include "data/maps/FuchsiaCity_Gym/scripts.inc" .include "data/maps/FuchsiaCity_House1/scripts.inc" .include "data/maps/FuchsiaCity_PokemonCenter_1F/scripts.inc" .include "data/maps/FuchsiaCity_PokemonCenter_2F/scripts.inc" - .include "data/maps/FuchsiaCity_Building1/scripts.inc" + .include "data/maps/FuchsiaCity_WardensHouse/scripts.inc" .include "data/maps/FuchsiaCity_House2/scripts.inc" .include "data/maps/FuchsiaCity_House3/scripts.inc" .include "data/maps/CinnabarIsland_Gym/scripts.inc" @@ -562,10 +564,10 @@ gStdScriptsEnd:: .include "data/maps/SafariZone_East/text.inc" .include "data/maps/SafariZone_North/text.inc" .include "data/maps/SafariZone_West/text.inc" - .include "data/maps/SafariZone_Building1/text.inc" - .include "data/maps/SafariZone_Building2/text.inc" - .include "data/maps/SafariZone_Building3/text.inc" - .include "data/maps/SafariZone_Building4/text.inc" + .include "data/maps/SafariZone_Center_RestHouse/text.inc" + .include "data/maps/SafariZone_East_RestHouse/text.inc" + .include "data/maps/SafariZone_North_RestHouse/text.inc" + .include "data/maps/SafariZone_West_RestHouse/text.inc" .include "data/maps/SafariZone_SecretHouse/text.inc" .include "data/maps/CeruleanCave_B1F/text.inc" .include "data/maps/PokemonLeague_LoreleisRoom/text.inc" @@ -710,11 +712,11 @@ gStdScriptsEnd:: .include "data/maps/CeladonCity_Hotel/text.inc" .include "data/maps/FuchsiaCity_SafariZone_Entrance/text.inc" .include "data/maps/FuchsiaCity_Mart/text.inc" - .include "data/maps/FuchsiaCity_ZooBuilding/text.inc" + .include "data/maps/FuchsiaCity_SafariZone_Office/text.inc" .include "data/maps/FuchsiaCity_Gym/text.inc" .include "data/maps/FuchsiaCity_House1/text.inc" .include "data/maps/FuchsiaCity_PokemonCenter_1F/text.inc" - .include "data/maps/FuchsiaCity_Building1/text.inc" + .include "data/maps/FuchsiaCity_WardensHouse/text.inc" .include "data/maps/FuchsiaCity_House2/text.inc" .include "data/maps/FuchsiaCity_House3/text.inc" .include "data/maps/CinnabarIsland_Gym/text.inc" @@ -739,6 +741,7 @@ gStdScriptsEnd:: .include "data/maps/Route2_EastBuilding/text.inc" .include "data/maps/Route2_ViridianForest_NorthEntrance/text.inc" .include "data/maps/Route4_PokemonCenter_1F/text.inc" + .include "data/maps/Route5_PokemonDayCare/text.inc" .include "data/maps/Route5_SouthEntrance/text.inc" .include "data/maps/Route6_NorthEntrance/text.inc" .include "data/maps/Route7_EastEntrance/text.inc" @@ -1117,7 +1120,8 @@ Text_1A641B:: @ 81A641B .string "All right!\n" .string "All aboard SEAGALLOP HI-SPEED {STR_VAR_1}!$" -Text_1A6448:: @ 81A6448 +@ Call for legendary bird trio +Text_Gyaoo:: @ 81A6448 .string "Gyaoo!$" Text_MoveCanOnlyBeLearnedOnce:: @ 81A644F @@ -1375,118 +1379,7 @@ EventScript_1A75D5:: @ 81A75D5 return .include "data/scripts/movement.inc" - -gUnknown_81A7606:: @ 81A7606 - msgbox gUnknown_81C0DB0, MSGBOX_SIGN - end - -gUnknown_81A760F:: @ 81A760F - msgbox gUnknown_81C0DFD, MSGBOX_SIGN - end - -gUnknown_81A7618:: @ 81A7618 - msgbox gUnknown_81C0F99, MSGBOX_SIGN - end - -gUnknown_81A7621:: @ 81A7621 - msgbox gUnknown_81C12A7, MSGBOX_SIGN - end - -gUnknown_81A762A:: @ 81A762A - msgbox gUnknown_81C10C1, MSGBOX_SIGN - end - -gUnknown_81A7633:: @ 81A7633 - msgbox gUnknown_81C1273, MSGBOX_SIGN - end - -gUnknown_81A763C:: @ 81A763C - msgbox gUnknown_81C0FD8, MSGBOX_SIGN - end - -gUnknown_81A7645:: @ 81A7645 - msgbox gUnknown_81C12D6, MSGBOX_SIGN - end - -gUnknown_81A764E:: @ 81A764E - msgbox gUnknown_81C1300, MSGBOX_SIGN - end - -gUnknown_81A7657:: @ 81A7657 - msgbox Text_DishesPlatesNeatlyLinedUp, MSGBOX_SIGN - end - -gUnknown_81A7660:: @ 81A7660 - msgbox gUnknown_81C0E40, MSGBOX_SIGN - end - -gUnknown_81A7669:: @ 81A7669 - msgbox gUnknown_81C0E73, MSGBOX_SIGN - end - -gUnknown_81A7672:: @ 81A7672 - msgbox gUnknown_81C0EAC, MSGBOX_SIGN - end - -gUnknown_81A767B:: @ 81A767B - msgbox gUnknown_81C101B, MSGBOX_SIGN - end - -gUnknown_81A7684:: @ 81A7684 - msgbox gUnknown_81C1060, MSGBOX_SIGN - end - -gUnknown_81A768D:: @ 81A768D - msgbox gUnknown_81C109C, MSGBOX_SIGN - end - -gUnknown_81A7696:: @ 81A7696 - msgbox gUnknown_81C10FC, MSGBOX_SIGN - end - -gUnknown_81A769F:: @ 81A769F - msgbox gUnknown_81C1134, MSGBOX_SIGN - end - -gUnknown_81A76A8:: @ 81A76A8 - msgbox gUnknown_81C116E, MSGBOX_SIGN - end - -gUnknown_81A76B1:: @ 81A76B1 - msgbox gUnknown_81C1194, MSGBOX_SIGN - end - -gUnknown_81A76BA:: @ 81A76BA - msgbox gUnknown_81C11BA, MSGBOX_SIGN - end - -gUnknown_81A76C3:: @ 81A76C3 - msgbox gUnknown_81C11DC, MSGBOX_SIGN - end - -gUnknown_81A76CC:: @ 81A76CC - msgbox gUnknown_81C1217, MSGBOX_SIGN - end - -gUnknown_81A76D5:: @ 81A76D5 - msgbox gUnknown_81C124B, MSGBOX_SIGN - end - -gUnknown_81A76DE:: @ 81A76DE - msgbox gUnknown_81C0ECB, MSGBOX_SIGN - end - -gUnknown_81A76E7:: @ 81A76E7 - msgbox gUnknown_81C0EF7, MSGBOX_SIGN - end - -gUnknown_81A76F0:: @ 81A76F0 - msgbox gUnknown_81C0F19, MSGBOX_SIGN - end - -gUnknown_81A76F9:: @ 81A76F9 - msgbox gUnknown_81C0F59, MSGBOX_SIGN - end + .include "data/scripts/flavor_text.inc" gUnknown_81A7702:: @ 81A7702 lockall @@ -1537,7 +1430,7 @@ EventScript_1A778C:: @ 81A778C releaseall end -gUnknown_81A77A0:: @ 81A77A0 +EventScript_BagItemCanBeRegistered:: @ 81A77A0 msgbox Text_BagItemCanBeRegistered, MSGBOX_SIGN end @@ -1847,23 +1740,23 @@ EventScript_1A8E6F:: @ 81A8E6F end EventScript_1A8EAC:: @ 81A8EAC - getstdstring 2, 24 + getstdstring 2, STDSTRING_ITEMS_POCKET return EventScript_1A8EB1:: @ 81A8EB1 - getstdstring 2, 25 + getstdstring 2, STDSTRING_KEY_ITEMS_POCKET return EventScript_1A8EB6:: @ 81A8EB6 - getstdstring 2, 26 + getstdstring 2, STDSTRING_POKEBALLS_POCKET return EventScript_1A8EBB:: @ 81A8EBB - getstdstring 2, 27 + getstdstring 2, STDSTRING_TM_CASE return EventScript_1A8EC0:: @ 81A8EC0 - getstdstring 2, 28 + getstdstring 2, STDSTRING_BERRY_POUCH return .include "data/scripts/seagallop.inc" @@ -2320,643 +2213,15 @@ EventScript_1B2DF6:: @ 81B2DF6 .include "data/scripts/item_ball_scripts.inc" .include "data/scripts/mystery_event_club.inc" .include "data/scripts/day_care.inc" + .include "data/text/day_care.inc" .include "data/scripts/flash.inc" .include "data/scripts/repel.inc" - -@@ Block below consists of at least safari_zone.inc and flavor_text.inc. JP text making it hard to define boundaries - -EventScript_SafariWarpOut:: @ 81BFB87 - setvar VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 3 - special ExitSafariMode - setwarp MAP_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 255, 4, 1 - end - -EventScript_1BFB98:: @ 81BFB98 - setvar VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 1 - special ExitSafariMode - warp MAP_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 255, 4, 1 - waitstate - end - -EventScript_SafariRetire:: @ 81BFBAA - lockall - msgbox Text_1BFBE9, MSGBOX_YESNO - compare VAR_RESULT, YES - goto_if_eq EventScript_1BFBC0 - releaseall - end - -EventScript_1BFBC0:: @ 81BFBC0 - goto EventScript_1BFB98 - -EventScript_SafariTimesUp:: @ 81BFBC5 - lockall - playse SE_PINPON - msgbox gUnknown_81BFC1B - goto EventScript_1BFB98 - end - -EventScript_SafariOutOfBalls:: @ 81BFBD7 - lockall - playse SE_PINPON - msgbox gUnknown_81BFC53 - goto EventScript_1BFB98 - end - -Text_1BFBE9:: @ 81BFBE9 - .string "Would you like to exit the SAFARI\n" - .string "ZONE right now?$" - -gUnknown_81BFC1B:: @ 81BFC1B - .string "PA: Ding-dong!\p" - .string "Time's up!\p" - .string "PA: Your SAFARI GAME is over!$" - -gUnknown_81BFC53:: @ 81BFC53 - .string "PA: Ding-dong!\p" - .string "You are out of SAFARI BALLS!\p" - .string "PA: Your SAFARI GAME is over!$" - -Text_1BFC9D:: @ 81BFC9D - .string "サファリゾーンへ ようこそ!\p" - .string "ここでは ホウエンでは なかなか\n" - .string "みることの できない ポケモンを\p" - .string "しぜんの すがたの まま\n" - .string "めに することが できます\p" - .string "また ポケモントレーナーの\n" - .string "ようぼうに おこたえ して\p" - .string "ポケモンを\n" - .string "つかまえる ことも できます!\p" - .string "サファリゾーンを たのしんで いってね!$" - -Text_1BFD30:: @ 81BFD30 - .string "サファリゾーンへ ようこそ!\n" - .string "サファリゾーンは はじめて ですか?$" - -Text_1BFD52:: @ 81BFD52 - .string "サファリゾーンを たのしんで いってね!$" - -Text_1BFD67:: @ 81BFD67 - .string "サファリゾーンでは\n" - .string "30この サファリボールを つかって\l" - .string "ポケモンを つかまえる ことが できます\p" - .string "サファリボールを つかいきるか\n" - .string "500ぽ あるくと\p" - .string "ゲームは しゅうりょう です\p" - .string "サファリゾーンを たのしんで いってね!$" - -Text_1BFDD7:: @ 81BFDD7 - .string "サファリゾーンへ ようこそ!\p" - .string "500えんで ポケモン つかまえほうだい!\n" - .string "サファリゲームに さんか しますか?$" - -Text_1BFE0F:: @ 81BFE0F - .string "そうですか\n" - .string "こんど ぜひ さんか してください!$" - -Text_1BFE28:: @ 81BFE28 - .string "おかねが たりませんよ!$" - -Text_1BFE35:: @ 81BFE35 - .string "それでは 500えん いただきます$" - -Text_1BFE47:: @ 81BFE47 - .string "では サファリボールを どうぞ!$" - -Text_1BFE58:: @ 81BFE58 - .string "{PLAYER}は サファリボールを\n" - .string "30こ うけとった!$" - -Text_1BFE70:: @ 81BFE70 - .string "じかんに なりましたら\n" - .string "こちらから おしらせ しますので\p" - .string "ぞんぶんに おたのしみ ください!\n" - .string "では いってらっしゃい!$" - -gUnknown_81BFEAC:: @ 81BFEAC - .string "Excuse me!\n" - .string "Your PC BOX is full.$" - -Text_1BFECC:: @ 81BFECC - .string "あ! おきゃくさん\n" - .string "ポロックケースを おもちで ないですね?\p" - .string "サファリゾーンは ポロックを つかうと\n" - .string "より おたのしみ いただけますので\p" - .string "ぜひ ポロックケースを\n" - .string "おもちに なって おこし ください!$" - -Text_1BFF30:: @ 81BFF30 - .string "まだ じかんが のこっていますが\n" - .string "サファリゾーンを やめますか?$" - -Text_1BFF51:: @ 81BFF51 - .string "では ひきつづき おたのしみ ください!$" - -Text_1BFF66:: @ 81BFF66 - .string "わかりました\p" - .string "それでは のこりの サファリボールを\n" - .string "おあずかり します\p" - .string "おつかれさまでした\n" - .string "また ごりよう ください$" - -Text_1BFFA1:: @ 81BFFA1 - .string "それでは いってらっしゃい!\l" - .string "なにか ありましたら\n" - .string "わたしに こえを かけて くださいね$" - -Text_1BFFCE:: @ 81BFFCE - .string "しってた?\p" - .string "あの しかくい はこに ポロックを おくと\n" - .string "ポケモンが あつまって くるんだよ!$" - -Text_1BFFFD:: @ 81BFFFD - .string "この さきに いきたい けど\n" - .string "じてんしゃ もって くるの わすれた‥‥\p" - .string "おくに めずらしい ポケモンが\n" - .string "いそうな きが するのに!$" - -Text_1C003F:: @ 81C003F - .string "ポケモンに ポロックを なげても\n" - .string "しらんぷり される ときが あるのよ\p" - .string "ポケモンにも すききらいが あるのかしら?$" - -Text_1C0079:: @ 81C0079 - .string "ぜぇ‥‥ ぜぇ‥‥\n" - .string "やっと ここまで きたけど‥‥\p" - .string "つかれちゃって ポケモン つかまえる\n" - .string "げんきも のこって ないよ‥‥$" - -Text_1C00B6:: @ 81C00B6 - .string "ホウエンに いない みずポケモンを\n" - .string "さがしに きたんだけど‥‥\p" - .string "みずうみは どこにあるのか\n" - .string "きみ しってるかい?$" - -Text_1C00EF:: @ 81C00EF - .string "ここで めずらしい ポケモンを\n" - .string "たくさん つかまえて\l" - .string "ともだちと こうかん するんだ!$" - -Text_1C011B:: @ 81C011B - .string "ポロックおきばに おいた ポロックが\n" - .string "いつのまにか なくなっていた‥‥\p" - .string "しらない うちに\n" - .string "ポケモンが たべちゃったのかな?$" - -Text_1C0159:: @ 81C0159 - .string "サファリゾーンの おとくな じょうほう!\p" - .string "であった ポケモンに\n" - .string "ポロックを なげると にげにくく なります!$" - -Text_1C0190:: @ 81C0190 - .string "あるき つかれたら ちょっと ひといき!\n" - .string "‘みんなの きゅうけいじょ'$" - -Text_1C01B4:: @ 81C01B4 - .string "おれ ポロック もってないけど\n" - .string "ポケモン たくさん つかまえたよ\p" - .string "ちかづいて ボールを なげる だけで\n" - .string "けっこう つかまえられる もんだよ!$" - -Text_1C01FB:: @ 81C01FB - .string "ポロックを つかうと いつもより\n" - .string "ちょっぴり にげにくく なるみたい\p" - .string "だから にげにくい ポケモンに つかっても\n" - .string "あんまり いみが ないかもね$" - -Text_1C0243:: @ 81C0243 - .string "ポロックおきばに ポロック おいて\n" - .string "ポケモンを つかまえると\p" - .string "おなじ ような せいかくの ポケモンが\n" - .string "あつまる きが するなあ$" - -Text_1C0283:: @ 81C0283 - .string "わしは おおきな {STR_VAR_1}に\n" - .string "とても きょうみが ある!\p" - .string "ん? きみ {STR_VAR_1} もってるの?\n" - .string "ちょ ちょ ちょっと···\l" - .string "おじさんに みせて おくれ!$" - -Text_1C02CB:: @ 81C02CB - .string "おお! こいつは でかい!\n" - .string "とても すばらしい {STR_VAR_1}だ!\p" - .string "みせて くれて ありがとう\n" - .string "おれいに これを もって いきなさい$" - -Text_1C0309:: @ 81C0309 - .string "{PLAYER}は\n" - .string "{STR_VAR_2}を もらった!$" - -Text_1C0317:: @ 81C0317 - .string "ありゃ?\n" - .string "きみ もちもの いっぱいだね$" - -Text_1C032B:: @ 81C032B - .string "ううむ わしは これより おおきい\n" - .string "{STR_VAR_1}を みたこと あるな···$" - -Text_1C034D:: @ 81C034D - .string "おお こいつは なかなか···って\n" - .string "これ {STR_VAR_1}じゃ ないよ!$" - -Text_1C036C:: @ 81C036C - .string "おおきい {STR_VAR_1} もってないの?\l" - .string "それは ざんねん···\n" - .string "こんど おおきい {STR_VAR_1} みせてね$" - -Text_1C0399:: @ 81C0399 - .string "しじょう さいだいの {STR_VAR_1}!\n" - .string "{STR_VAR_2}の {STR_VAR_3}cmのやつ!$" - -Text_1C03B5:: @ 81C03B5 - .string "パパ“{PLAYER}! よく きたな!\n" - .string "{PLAYER}あての てがみが とどけられたぞ$" - -Text_1C03D7:: @ 81C03D7 - .string "パパ“わたしも みたことのない\n" - .string "ふねの チケット だな‥‥\l" - .string "ミナモに いってみると いいだろう$" - -Text_1C0407:: @ 81C0407 - .string "カイナいき れんらくせん‥‥\p" - .string "あら?\n" - .string "その チケットは‥‥!$" - -Text_1C0426:: @ 81C0426 - .string "ヘンテコな チケットを\n" - .string "もってきたのは おまえさんか?\p" - .string "おまえが いこうと しているのは\n" - .string "みなみの はての ちっぽけな しま‥‥\p" - .string "そこでは なにが おこるのか\n" - .string "だれも わからねえ‥‥\l" - .string "ううむ ふなのりの ちが さわぐぜ!\p" - .string "さあ のりな!$" - -Text_1C049D:: @ 81C049D - .string "なにもねえ ちんけな しま だな‥‥\n" - .string "ミナモへ かえるか?$" - -Text_1C04BB:: @ 81C04BB - .string "ùÏ! ÉÇñÑ ÒñÉ!$" - -Text_1C04C9:: @ 81C04C9 - .string "そうかい\n" - .string "まあ すきにするが いいさ$" - -Text_1C04DC:: @ 81C04DC - .string "すべての ゆめは もうひとつの げんじつ\n" - .string "それを わすれるべからず‥‥$" - -Text_1C0500:: @ 81C0500 - .string "きおく かすみし ものは\n" - .string "こころに きざみつける ことを のぞむ‥‥$" - -Text_1C0523:: @ 81C0523 - .string "パパ“やあ {PLAYER}!\p" - .string "めずらしい きのみを てに いれたから\n" - .string "プレゼント するよ!$" - -Text_1C054C:: @ 81C054C - .string "ふかふかの つちに はえている きのみは\n" - .string "じゆうに とっても よいのじゃが‥\p" - .string "1つだけ きのみを おなじ ばしょに うめる\n" - .string "それが れいぎと いうものじゃ\p" - .string "ほれ これを わけてやろう$" - -Text_1C05A8:: @ 81C05A8 - .string "あんた みたところ トレーナーじゃろ?\p" - .string "トレーナーは よく きのみを ポケモンに\n" - .string "もたせとるわい\p" - .string "ふやすも つかうも あんた しだいじゃ$" - -Text_1C05ED:: @ 81C05ED - .string "いつも みずを あげてたら\n" - .string "たくさん はなが さいたんだ\p" - .string "そしたら きのみも たくさん できた!\p" - .string "はい!\n" - .string "これ あげる$" - -Text_1C0629:: @ 81C0629 - .string "がんばって あかいポロック つくるんだ!\n" - .string "{STR_VAR_1}も がんばってね!$" - -Text_1C064A:: @ 81C064A - .string "きょうは なにいろの きのみを\n" - .string "さがそっかなー$" - -Text_1C0662:: @ 81C0662 - .string "ポケモンコンテストの ゆうしょうを めざして\n" - .string "きのみを あつめているんだ\p" - .string "よかったら きみにも わけて あげるよ!$" - -Text_1C069C:: @ 81C069C - .string "きみも がんばれ!$" - -Text_1C06A6:: @ 81C06A6 - .string "きょうは どの きのみを うめるか‥\n" - .string "そして なにいろの ポロックを つくるか‥\p" - .string "なやむのも また たのしいよ$" - -Text_1C06DE:: @ 81C06DE - .string "ケースを ふると でてくる ポロック‥\p" - .string "そして それを キャッチして\n" - .string "たべてくれる ポケモン‥\p" - .string "これって あい だよね?$" - -Text_1C071B:: @ 81C071B - .string "うん うん!\n" - .string "やっぱ わかるひとには わかるよね\p" - .string "これ あげる$" - -Text_1C073B:: @ 81C073B - .string "そっか‥‥\n" - .string "でも ちがうと かんじることも たいせつだね\p" - .string "これ あげる$" - -Text_1C075F:: @ 81C075F - .string "その きのみは めずらしいもの らしいから\n" - .string "たいせつに そだててね!$" - -Text_1C0782:: @ 81C0782 - .string "また きのみめいじんに もらって こようっと$" - -Text_1C0799:: @ 81C0799 - .string "やっぱり\p" - .string "わたしに スーツが にあうように\n" - .string "うみには しおかぜが にあうな\l" - .string "そして きみには きのみが にあいそうだ‥‥\p" - .string "なんでだろうね?$" - -Text_1C07DF:: @ 81C07DF - .string "やっぱり それは‥‥‥‥\p" - .string "きみが トレーナーだからだ!$" - -Text_1C07FB:: @ 81C07FB - .string "やっぱり\p" - .string "わたしに シンプルさが にあうように\n" - .string "ポケモンには ポロックが にあうな$" - -Text_1C0825:: @ 81C0825 - .string "わしは きのみめいじんと よばれておる\p" - .string "わしは せかいじゅうを うつくしい はなで\n" - .string "うめつくそうと きのみを そだてて\l" - .string "そして くばり まくって おるのじゃ\p" - .string "きみにも きのみを わけて あげよう!$" - -Text_1C0888:: @ 81C0888 - .string "ほれ えんりょ せずに もう ひとつ!$" - -Text_1C089C:: @ 81C089C - .string "カナズミの ちかくにある サン·トウカという\n" - .string "フラワーショップも よろしくの\p" - .string "せかいに はなを さかせましょう!$" - -Text_1C08D5:: @ 81C08D5 - .string "きょうは もう おしまいじゃ\n" - .string "また おいで\p" - .string "せかいに はなを さかせましょう!$" - -Text_1C08FD:: @ 81C08FD - .string "じいさんの きのみの そだてかたは\n" - .string "そりゃあ せかいいちじゃ\p" - .string "わしも はなが たかいわい\p" - .string "ところで あんた\n" - .string "いい ことばを きいたことが ないかい?$" - -Text_1C0948:: @ 81C0948 - .string "おお! とても よい ことばじゃ!\n" - .string "かんどう したわい\p" - .string "ほれ これを もっていきなされ$" - -Text_1C0974:: @ 81C0974 - .string "おお! なかなか よい ことばじゃ\n" - .string "あんたも たいしたもんじゃ\p" - .string "ほれ これを もっていきなされ$" - -Text_1C09A4:: @ 81C09A4 - .string "まごたち 4にんも じいさんを しのぐ\n" - .string "おおものに なるじゃろうて\p" - .string "じんせい たのしいことが つきんのう!$" - -Text_1C09DA:: @ 81C09DA - .string "ほう‥‥$" - -Text_1C09DF:: @ 81C09DF - .string "こんにちは!\p" - .string "はなを せかいに ひろめる\n" - .string "フラワーショップ サン·トウカです!$" - -Text_1C0A07:: @ 81C0A07 - .string "{PLAYER}{KUN} きのみの こと しりたい?$" - -Text_1C0A1A:: @ 81C0A1A - .string "あなたの なまえは‥‥\p" - .string "{PLAYER}{KUN}ね!\n" - .string "とっても いい なまえだね!\l" - .string "{PLAYER}{KUN} きのみのこと しりたい?$" - -Text_1C0A4E:: @ 81C0A4E - .string "きのみはね くろい ふかふかの つちの\n" - .string "ところで たまに とれるの\l" - .string "でね‥‥\p" - .string "とったら その1つを また うめるの!\p" - .string "そうすると その きのみ から\n" - .string "めがでて みきが できて はながさいて\l" - .string "また きのみ が できるの\p" - .string "そうやって はなを ふやして\n" - .string "せかいじゅうを はなに するのが\l" - .string "わたしの ゆめ なんだ!\p" - .string "だから {PLAYER}{KUN}も きのみを うめて\n" - .string "せかいに はなを ふやしてね!$" - -Text_1C0B0B:: @ 81C0B0B - .string "おはなって とっても しあわせな きぶんに\n" - .string "してくれるよね$" - -Text_1C0B29:: @ 81C0B29 - .string "こんにちは!\p" - .string "おはなは せわを すれば するほど\n" - .string "たくさん きれいに さいて くれるの\p" - .string "あなたも せわを したく なった でしょ?\n" - .string "これ あげるわ$" - -Text_1C0B73:: @ 81C0B73 - .string "きのみが そだつ たびに\n" - .string "じょうろで みずを あげてね!\p" - .string "あとね\p" - .string "きのみは ずっと ずっと ほうっておくと\n" - .string "じめんに おちてしまうの\l" - .string "でもね そこから また めがでて くるの!\p" - .string "すごいよね!\n" - .string "いきものの ちからを かんじるよね$" - -Text_1C0BE5:: @ 81C0BE5 - .string "おねーちゃんたちを みならって\n" - .string "がんばって おはなを そだててるの\p" - .string "はい! これあげる!$" - -Text_1C0C12:: @ 81C0C12 - .string "きのみは うめて おおきく したり\n" - .string "ポケモンに もたせたり できるの\p" - .string "でも さいきん きのみを いくつか まぜると\n" - .string "ポケモンの おかしになる きかいが\l" - .string "ある らしいんだ\p" - .string "あたしも おかし ほしー$" - -Text_1C0C74:: @ 81C0C74 - .string "{STR_VAR_1} なまえ なんていうの?\p" - .string "‥‥‥ ‥‥‥ ‥‥‥\n" - .string "へー いいねー\p" - .string "わたしは キリ っていう なまえなの\p" - .string "パパと ママが すくすくと そだって\n" - .string "こころの あたたかい おんなのこに なって\l" - .string "ほしいっていう ねがいを こめたんだって!\p" - .string "{STR_VAR_1}にも これ あげる$" - -Text_1C0CF5:: @ 81C0CF5 - .string "あと {STR_VAR_1}には キリの だいすきな\n" - .string "この きのみも あげちゃう!$" - -Text_1C0D16:: @ 81C0D16 - .string "{STR_VAR_1}の なまえには\n" - .string "どんな ねがいが こめられてるの?$" - -Text_1C0D32:: @ 81C0D32 - .string "はる なつ あき ふゆ\n" - .string "はるに うまれると はるが すきで\l" - .string "なつに うまれると なつが すきなのかな?$" - -Text_1C0D66:: @ 81C0D66 - .string "じゃあ キリは あきに うまれたから\n" - .string "あきが だいすき!\p" - .string "{STR_VAR_1}は いつが すき?$" - -Text_1C0D8F:: @ 81C0D8F - .string "そっか‥\n" - .string "かんけいないのか‥\p" - .string "しりたいことって たくさんあるなー$" - -gUnknown_81C0DB0:: @ 81C0DB0 - .string "It's crammed full of POKéMON\n" - .string "books.$" - -Text_1C0DD4:: @ 81C0DD4 - .string "ほんだなに ならんでいるのは\n" - .string "ポケモンの ほん ばかりだ$" - -Text_ATownMap:: @ 81C0DF1 - .string "A TOWN MAP.$" - -gUnknown_81C0DFD:: @ 81C0DFD - .string "Wow!\n" - .string "Tons of POKéMON stuff!$" - -Text_DishesPlatesNeatlyLinedUp:: @ 81C0E19 - .string "Dishes and plates are neatly\n" - .string "lined up.$" - -gUnknown_81C0E40:: @ 81C0E40 - .string "It smells delicious!\n" - .string "Somebody's been cooking here.$" - -gUnknown_81C0E73:: @ 81C0E73 - .string "It's a nicely made dresser.\n" - .string "It will hold a lot of stuff.$" - -gUnknown_81C0EAC:: @ 81C0EAC - .string "There's a pile of snacks here.$" - -gUnknown_81C0ECB:: @ 81C0ECB - .string "All your item needs fulfilled!\n" - .string "POKéMON MART$" - -gUnknown_81C0EF7:: @ 81C0EF7 - .string "Heal Your POKéMON!\n" - .string "POKéMON CENTER$" - -gUnknown_81C0F19:: @ 81C0F19 - .string "INDIGO PLATEAU\p" - .string "The ultimate goal of TRAINERS!\n" - .string "POKéMON LEAGUE HQ$" - -gUnknown_81C0F59:: @ 81C0F59 - .string "INDIGO PLATEAU\p" - .string "The highest POKéMON authority!\n" - .string "POKéMON LEAGUE HQ$" - -gUnknown_81C0F99:: @ 81C0F99 - .string "It should be packed with all kinds\n" - .string "of delicious things to eat.$" - -gUnknown_81C0FD8:: @ 81C0FD8 - .string "It's a blueprint of some sort.\n" - .string "It's filled with diagrams and text.$" - -gUnknown_81C101B:: @ 81C101B - .string "It's a pretty picture of a POKéMON.\n" - .string "It looks like it's feeling good.$" - -gUnknown_81C1060:: @ 81C1060 - .string "What could this machine be?\n" - .string "Better not mess around with it!$" - -gUnknown_81C109C:: @ 81C109C - .string "It's a telephone.\n" - .string "Better not use it.$" - -gUnknown_81C10C1:: @ 81C10C1 - .string "It's all complicated words and\n" - .string "numbers that make no sense…$" - -gUnknown_81C10FC:: @ 81C10FC - .string "It's an advertising poster about\n" - .string "all kinds of products.$" - -gUnknown_81C1134:: @ 81C1134 - .string "Oh, that smells tasty!\n" - .string "It might get the stomach growling!$" - -gUnknown_81C116E:: @ 81C116E - .string "Inside this…\n" - .string "……\p" - .string "There's nothing here!$" - -gUnknown_81C1194:: @ 81C1194 - .string "It's a cup with a POKéMON mark\n" - .string "on it.$" - -gUnknown_81C11BA:: @ 81C11BA - .string "The window is very well polished.$" - -gUnknown_81C11DC:: @ 81C11DC - .string "Outside the window…\p" - .string "The sky looks fantastically\n" - .string "beautiful.$" - -gUnknown_81C1217:: @ 81C1217 - .string "Lights in different colors are\n" - .string "flashing on and off.$" - -gUnknown_81C124B:: @ 81C124B - .string "All sorts of tools are lined up\n" - .string "neatly.$" - -gUnknown_81C1273:: @ 81C1273 - .string "It's a machine of some sort.\n" - .string "It sure is impressive.$" - -gUnknown_81C12A7:: @ 81C12A7 - .string "It's the latest video game!\n" - .string "It sure looks fun!$" - -gUnknown_81C12D6:: @ 81C12D6 - .string "There are obvious signs of burglary\n" - .string "here…$" - -gUnknown_81C1300:: @ 81C1300 - .string "There's a POKéMON on TV!\n" - .string "It looks like it's having fun.$" - + .include "data/scripts/safari_zone.inc" + .include "data/text/safari_zone.inc" + .include "data/text/competitive_brothers.inc" + .include "data/text/eon_ticket.inc" + .include "data/text/berries.inc" + .include "data/text/flavor_text.inc" .include "data/scripts/hole.inc" .include "data/text/trainers.inc" .include "data/scripts/move_tutors.inc" diff --git a/data/graphics.s b/data/graphics.s index cea2a0ab3..809385e49 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -13476,7 +13476,7 @@ gTrainerBackPic_Leaf:: @ 8E6C6BC .incbin "graphics/trainers/back_pics/leaf_back_pic.4bpp" .align 2 -gTrainerBackPic_PokeDude:: @ 8E6EEBC +gTrainerBackPic_Pokedude:: @ 8E6EEBC .incbin "graphics/trainers/back_pics/pokedude_back_pic.4bpp" .align 2 @@ -13500,7 +13500,7 @@ gTrainerPalette_LeafBackPic:: @ 8E76EE4 .incbin "graphics/trainers/palettes/red_back_pic.gbapal.lz" .align 2 -gTrainerPalette_PokeDudeBackPic:: @ 8E76F0C +gTrainerPalette_PokedudeBackPic:: @ 8E76F0C .incbin "graphics/trainers/palettes/pokedude_back_pic.gbapal.lz" .align 2 @@ -14004,11 +14004,11 @@ gUnknown_8E83444:: @ 8E83444 .incbin "graphics/item_menu/bag_tilemap2.bin.lz" @ PC deposit items .align 2 -gUnknown_8E835B4:: @ 8E835B4 +gBagBgPalette:: @ 8E835B4 .incbin "graphics/item_menu/bag_pal1.gbapal.lz" @ palette 1 (Boy + misc Pal) .align 2 -gUnknown_8E83604:: @ 8E83604 +gBagBgPalette_FemaleOverride:: @ 8E83604 .incbin "graphics/item_menu/bag_pal2.gbapal.lz" @ palette 2 (Girl) gUnknown_8E8362C:: @ 8E8362C diff --git a/data/item_menu.s b/data/item_menu.s deleted file mode 100644 index b5cc492e3..000000000 --- a/data/item_menu.s +++ /dev/null @@ -1,116 +0,0 @@ -#include "constants/region_map.h" -#include "constants/flags.h" -#include "constants/moves.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - .section .rodata - .align 2 - -gUnknown_8452CF4:: @ 8452CF4 - .4byte 0x000001f0 - @ { - @ .bg = 0, - @ .charBaseIndex = 0, - @ .mapBaseIndex = 31, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 0, - @ .baseTile = 0x0000 - @ } - .4byte 0x000011ed - @ { - @ .bg = 1, - @ .charBaseIndex = 3, - @ .mapBaseIndex = 30, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 1, - @ .baseTile = 0x0000 - @ } - -gUnknown_8452CFC:: @ 8452CFC - .4byte gUnknown_84162CD - .4byte gUnknown_84162DE - .4byte gUnknown_84162D3 - -gUnknown_8452D08:: @ 8452D08 - .incbin "graphics/item_menu/bagmap_0.bin" - .incbin "graphics/item_menu/bagmap_1.bin" - .incbin "graphics/item_menu/bagmap_2.bin" - .incbin "graphics/item_menu/bagmap_3.bin" - .incbin "graphics/item_menu/bagmap_4.bin" - .incbin "graphics/item_menu/bagmap_5.bin" - .incbin "graphics/item_menu/bagmap_6.bin" - .incbin "graphics/item_menu/bagmap_7.bin" - .incbin "graphics/item_menu/bagmap_8.bin" - .incbin "graphics/item_menu/bagmap_9.bin" - .incbin "graphics/item_menu/bagmap_A.bin" - .incbin "graphics/item_menu/bagmap_B.bin" - -gUnknown_8452EB8:: @ 8452EB8 - .4byte gOtherText_Use, sub_8109C50 - .4byte gOtherText_Toss, sub_8109CC0 - .4byte gUnknown_84161A9, sub_810A000 - .4byte gOtherText_Give, sub_810A0A8 - .4byte gFameCheckerText_Cancel, sub_810A2DC - .4byte gOtherText_Use, sub_810A324 - .4byte gUnknown_84161E9, sub_8109C50 - .4byte gUnknown_84161F4, sub_8109C50 - .4byte gUnknown_84161F4, sub_810A324 - .4byte gUnknown_84161BC, sub_8109C50 - .4byte gUnknown_84161F9, sub_810A000 - .4byte gString_Dummy, NULL - -gUnknown_8452F18:: @ 8452F18 - .byte 0x00, 0x03, 0x01, 0x04 - .byte 0x00, 0x02, 0x04, 0x0b - .byte 0x03, 0x01, 0x04, 0x0b - -gUnknown_8452F24:: @ 8452F24 - .byte 0x06, 0x03, 0x01, 0x04 - -gUnknown_8452F28:: @ 8452F28 - .byte 0x03, 0x04 - .byte 0x04, 0x0b - .byte 0x03, 0x04 - -gUnknown_8452F2E:: @ 8452F2E - .byte 0x07, 0x04 - -gUnknown_8452F30:: @ 8452F30 - .byte 0x05, 0x04 - -gUnknown_8452F32:: @ 8452F32 - .byte 0x04, 0x0b - -gUnknown_8452F34:: @ 8452F34 - .4byte sub_8109BB8 - .4byte sub_810A370 - .4byte sub_810A568 - .4byte sub_810AB40 - .4byte sub_810A468 - .4byte sub_8109BB8 - .4byte NULL - -gUnknown_8452F50:: @ 8452F50 - .4byte sub_8109EA8 - .4byte sub_8109DB0 - -gUnknown_8452F58:: @ 8452F58 - .4byte sub_810A940 - .4byte sub_810A720 - -gUnknown_8452F60:: @ 8452F60 - .string "{COLOR_HIGHLIGHT_SHADOW RED TRANSPARENT GREEN}$" - -gUnknown_8452F66:: @ 8452F66 - .string "{COLOR_HIGHLIGHT_SHADOW LIGHT_GRAY TRANSPARENT BLACK}$" - -gUnknown_8452F6C:: @ 8452F6C - .byte 0, 8, 72, 1, 72, 72 - .2byte 0, 2, 111, 111 - .byte 0 - .align 2 - -gUnknown_8452F7C:: @ 8452F7C - .incbin "graphics/interface/select_button.4bpp" diff --git a/data/layouts/FuchsiaCity_Building1/border.bin b/data/layouts/FuchsiaCity_SafariZone_Office/border.bin Binary files differindex a886cd764..a886cd764 100644 --- a/data/layouts/FuchsiaCity_Building1/border.bin +++ b/data/layouts/FuchsiaCity_SafariZone_Office/border.bin diff --git a/data/layouts/FuchsiaCity_ZooBuilding/map.bin b/data/layouts/FuchsiaCity_SafariZone_Office/map.bin index d18ddbd61..d18ddbd61 100644 --- a/data/layouts/FuchsiaCity_ZooBuilding/map.bin +++ b/data/layouts/FuchsiaCity_SafariZone_Office/map.bin diff --git a/data/layouts/FuchsiaCity_ZooBuilding/border.bin b/data/layouts/FuchsiaCity_WardensHouse/border.bin Binary files differindex a886cd764..a886cd764 100644 --- a/data/layouts/FuchsiaCity_ZooBuilding/border.bin +++ b/data/layouts/FuchsiaCity_WardensHouse/border.bin diff --git a/data/layouts/FuchsiaCity_Building1/map.bin b/data/layouts/FuchsiaCity_WardensHouse/map.bin index 4efd7d891..4efd7d891 100644 --- a/data/layouts/FuchsiaCity_Building1/map.bin +++ b/data/layouts/FuchsiaCity_WardensHouse/map.bin diff --git a/data/layouts/SafariZone_Building/border.bin b/data/layouts/SafariZone_RestHouse/border.bin Binary files differindex a886cd764..a886cd764 100644 --- a/data/layouts/SafariZone_Building/border.bin +++ b/data/layouts/SafariZone_RestHouse/border.bin diff --git a/data/layouts/SafariZone_Building/map.bin b/data/layouts/SafariZone_RestHouse/map.bin index caec48cdc..caec48cdc 100644 --- a/data/layouts/SafariZone_Building/map.bin +++ b/data/layouts/SafariZone_RestHouse/map.bin diff --git a/data/layouts/UnusedLayout_833B6EC/border.bin b/data/layouts/SeafoamIslands_B3F_CurrentStopped/border.bin index a021ddd4e..a021ddd4e 100644 --- a/data/layouts/UnusedLayout_833B6EC/border.bin +++ b/data/layouts/SeafoamIslands_B3F_CurrentStopped/border.bin diff --git a/data/layouts/UnusedLayout_833B6EC/map.bin b/data/layouts/SeafoamIslands_B3F_CurrentStopped/map.bin index d1385e8cb..d1385e8cb 100644 --- a/data/layouts/UnusedLayout_833B6EC/map.bin +++ b/data/layouts/SeafoamIslands_B3F_CurrentStopped/map.bin diff --git a/data/layouts/UnusedLayout_833BE30/border.bin b/data/layouts/SeafoamIslands_B4F_CurrentStopped/border.bin index a021ddd4e..a021ddd4e 100644 --- a/data/layouts/UnusedLayout_833BE30/border.bin +++ b/data/layouts/SeafoamIslands_B4F_CurrentStopped/border.bin diff --git a/data/layouts/UnusedLayout_833BE30/map.bin b/data/layouts/SeafoamIslands_B4F_CurrentStopped/map.bin index 13a635e49..13a635e49 100644 --- a/data/layouts/UnusedLayout_833BE30/map.bin +++ b/data/layouts/SeafoamIslands_B4F_CurrentStopped/map.bin diff --git a/data/layouts/layouts.json b/data/layouts/layouts.json index 04727aaa7..63fc06562 100644 --- a/data/layouts/layouts.json +++ b/data/layouts/layouts.json @@ -2168,16 +2168,16 @@ "blockdata_filepath": "data/layouts/CeladonCity_DepartmentStore_Roof/map.bin" }, { - "id": "LAYOUT_SAFARI_ZONE_BUILDING", - "name": "SafariZone_Building_Layout", + "id": "LAYOUT_SAFARI_ZONE_REST_HOUSE", + "name": "SafariZone_RestHouse_Layout", "width": 13, "height": 11, "border_width": 2, "border_height": 2, "primary_tileset": "gTileset_82D4BB4", "secondary_tileset": "gTileset_82D4F14", - "border_filepath": "data/layouts/SafariZone_Building/border.bin", - "blockdata_filepath": "data/layouts/SafariZone_Building/map.bin" + "border_filepath": "data/layouts/SafariZone_RestHouse/border.bin", + "blockdata_filepath": "data/layouts/SafariZone_RestHouse/map.bin" }, { "id": "LAYOUT_SAFARI_ZONE_SECRET_HOUSE", @@ -2192,28 +2192,28 @@ "blockdata_filepath": "data/layouts/SafariZone_SecretHouse/map.bin" }, { - "id": "LAYOUT_FUCHSIA_CITY_ZOO_BUILDING", - "name": "FuchsiaCity_ZooBuilding_Layout", + "id": "LAYOUT_FUCHSIA_CITY_SAFARI_ZONE_OFFICE", + "name": "FuchsiaCity_SafariZone_Office_Layout", "width": 20, "height": 11, "border_width": 2, "border_height": 2, "primary_tileset": "gTileset_82D4BB4", "secondary_tileset": "gTileset_82D4F14", - "border_filepath": "data/layouts/FuchsiaCity_ZooBuilding/border.bin", - "blockdata_filepath": "data/layouts/FuchsiaCity_ZooBuilding/map.bin" + "border_filepath": "data/layouts/FuchsiaCity_SafariZone_Office/border.bin", + "blockdata_filepath": "data/layouts/FuchsiaCity_SafariZone_Office/map.bin" }, { - "id": "LAYOUT_FUCHSIA_CITY_BUILDING1", - "name": "FuchsiaCity_Building1_Layout", + "id": "LAYOUT_FUCHSIA_CITY_WARDENS_HOUSE", + "name": "FuchsiaCity_WardensHouse_Layout", "width": 13, "height": 11, "border_width": 2, "border_height": 2, "primary_tileset": "gTileset_82D4BB4", "secondary_tileset": "gTileset_82D4C2C", - "border_filepath": "data/layouts/FuchsiaCity_Building1/border.bin", - "blockdata_filepath": "data/layouts/FuchsiaCity_Building1/map.bin" + "border_filepath": "data/layouts/FuchsiaCity_WardensHouse/border.bin", + "blockdata_filepath": "data/layouts/FuchsiaCity_WardensHouse/map.bin" }, { "id": "LAYOUT_FUCHSIA_CITY_HOUSE2", @@ -3128,28 +3128,28 @@ "blockdata_filepath": "data/layouts/FourIsland_PokemonDayCare/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_833B6EC", - "name": "UnusedLayout_833B6EC_Layout", + "id": "LAYOUT_SEAFOAM_ISLANDS_B3F_CURRENT_STOPPED", + "name": "SeafoamIslands_B3F_CurrentStopped_Layout", "width": 38, "height": 24, "border_width": 2, "border_height": 2, "primary_tileset": "gTileset_82D4A94", "secondary_tileset": "gTileset_82D4E24", - "border_filepath": "data/layouts/UnusedLayout_833B6EC/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_833B6EC/map.bin" + "border_filepath": "data/layouts/SeafoamIslands_B3F_CurrentStopped/border.bin", + "blockdata_filepath": "data/layouts/SeafoamIslands_B3F_CurrentStopped/map.bin" }, { - "id": "LAYOUT_UNUSED_LAYOUT_833BE30", - "name": "UnusedLayout_833BE30_Layout", + "id": "LAYOUT_SEAFOAM_ISLANDS_B4F_CURRENT_STOPPED", + "name": "SeafoamIslands_B4F_CurrentStopped_Layout", "width": 38, "height": 24, "border_width": 2, "border_height": 2, "primary_tileset": "gTileset_82D4A94", "secondary_tileset": "gTileset_82D4E24", - "border_filepath": "data/layouts/UnusedLayout_833BE30/border.bin", - "blockdata_filepath": "data/layouts/UnusedLayout_833BE30/map.bin" + "border_filepath": "data/layouts/SeafoamIslands_B4F_CurrentStopped/border.bin", + "blockdata_filepath": "data/layouts/SeafoamIslands_B4F_CurrentStopped/map.bin" }, { "id": "LAYOUT_MT_EMBER_EXTERIOR", diff --git a/data/maps/CeruleanCave_B1F/map.json b/data/maps/CeruleanCave_B1F/map.json index a5c9110e4..0df4d1d5f 100644 --- a/data/maps/CeruleanCave_B1F/map.json +++ b/data/maps/CeruleanCave_B1F/map.json @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "CeruleanCave_B1F_EventScript_1624F5", + "script": "CeruleanCave_B1F_EventScript_Mewtwo", "flag": "FLAG_HIDE_MEWTWO" }, { diff --git a/data/maps/CeruleanCave_B1F/scripts.inc b/data/maps/CeruleanCave_B1F/scripts.inc index 8fcf7cbf1..b0452c3b1 100644 --- a/data/maps/CeruleanCave_B1F/scripts.inc +++ b/data/maps/CeruleanCave_B1F/scripts.inc @@ -4,10 +4,10 @@ CeruleanCave_B1F_MapScripts:: @ 81624BE .byte 0 CeruleanCave_B1F_OnResume:: @ 81624C9 - call_if_set FLAG_SYS_SPECIAL_WILD_BATTLE, EventScript_1624D3 + call_if_set FLAG_SYS_SPECIAL_WILD_BATTLE, CeruleanCave_B1F_EventScript_TryRemoveMewtwo end -EventScript_1624D3:: @ 81624D3 +CeruleanCave_B1F_EventScript_TryRemoveMewtwo:: @ 81624D3 specialvar VAR_RESULT, Special_GetBattleOutcome compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne EventScript_Return @@ -15,21 +15,21 @@ EventScript_1624D3:: @ 81624D3 return CeruleanCave_B1F_OnTransition:: @ 81624E7 - call_if_unset FLAG_FOUGHT_MEWTWO, EventScript_1624F1 + call_if_unset FLAG_FOUGHT_MEWTWO, CeruleanCave_B1F_EventScript_ShowMewtwo end -EventScript_1624F1:: @ 81624F1 +CeruleanCave_B1F_EventScript_ShowMewtwo:: @ 81624F1 clearflag FLAG_HIDE_MEWTWO return -CeruleanCave_B1F_EventScript_1624F5:: @ 81624F5 +CeruleanCave_B1F_EventScript_Mewtwo:: @ 81624F5 goto_if_questlog EventScript_ReleaseEnd special sub_8112364 lock faceplayer waitse playmoncry SPECIES_MEWTWO, 2 - message Text_177F9F + message CeruleanCave_B1F_Text_Mew waitmessage waitmoncry delay 20 @@ -42,25 +42,21 @@ CeruleanCave_B1F_EventScript_1624F5:: @ 81624F5 clearflag FLAG_SYS_SPECIAL_WILD_BATTLE specialvar VAR_RESULT, Special_GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON - goto_if_eq EventScript_162558 + goto_if_eq CeruleanCave_B1F_EventScript_DefeatedMewtwo compare VAR_RESULT, B_OUTCOME_RAN - goto_if_eq EventScript_162561 + goto_if_eq CeruleanCave_B1F_EventScript_RanFromMewtwo compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED - goto_if_eq EventScript_162561 + goto_if_eq CeruleanCave_B1F_EventScript_RanFromMewtwo setflag FLAG_FOUGHT_MEWTWO release end -EventScript_162558:: @ 8162558 +CeruleanCave_B1F_EventScript_DefeatedMewtwo:: @ 8162558 setflag FLAG_FOUGHT_MEWTWO goto EventScript_RemoveStaticMon - -EventScript_162560:: @ 8162560 end -EventScript_162561:: @ 8162561 +CeruleanCave_B1F_EventScript_RanFromMewtwo:: @ 8162561 setvar VAR_0x8004, SPECIES_MEWTWO goto EventScript_MonFlewAway - -EventScript_16256B:: @ 816256B end diff --git a/data/maps/CeruleanCave_B1F/text.inc b/data/maps/CeruleanCave_B1F/text.inc index 2358efe24..a743238cb 100644 --- a/data/maps/CeruleanCave_B1F/text.inc +++ b/data/maps/CeruleanCave_B1F/text.inc @@ -1,3 +1,3 @@ -Text_177F9F:: @ 8177F9F +CeruleanCave_B1F_Text_Mew:: @ 8177F9F .string "Mew!$" diff --git a/data/maps/DiglettsCave_NorthEntrance/map.json b/data/maps/DiglettsCave_NorthEntrance/map.json index b3571f8da..fa87e6f8a 100644 --- a/data/maps/DiglettsCave_NorthEntrance/map.json +++ b/data/maps/DiglettsCave_NorthEntrance/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "DiglettsCave_NorthEntrance_EventScript_160EE8", + "script": "DiglettsCave_NorthEntrance_EventScript_Hiker", "flag": "0" } ], diff --git a/data/maps/DiglettsCave_NorthEntrance/scripts.inc b/data/maps/DiglettsCave_NorthEntrance/scripts.inc index a11fa4c3a..3bd05f5fd 100644 --- a/data/maps/DiglettsCave_NorthEntrance/scripts.inc +++ b/data/maps/DiglettsCave_NorthEntrance/scripts.inc @@ -1,6 +1,6 @@ DiglettsCave_NorthEntrance_MapScripts:: @ 8160EE7 .byte 0 -DiglettsCave_NorthEntrance_EventScript_160EE8:: @ 8160EE8 - msgbox gUnknown_817462C, MSGBOX_NPC +DiglettsCave_NorthEntrance_EventScript_Hiker:: @ 8160EE8 + msgbox DiglettsCave_NorthEntrance_RockTunnelPitchBlack, MSGBOX_NPC end diff --git a/data/maps/DiglettsCave_NorthEntrance/text.inc b/data/maps/DiglettsCave_NorthEntrance/text.inc index 89dcb5a38..ac9c80755 100644 --- a/data/maps/DiglettsCave_NorthEntrance/text.inc +++ b/data/maps/DiglettsCave_NorthEntrance/text.inc @@ -1,4 +1,4 @@ -gUnknown_817462C:: @ 817462C +DiglettsCave_NorthEntrance_RockTunnelPitchBlack:: @ 817462C .string "I went inside ROCK TUNNEL, but it's\n" .string "pitch-black and scary in there.\p" .string "If I could get a POKéMON to use\n" diff --git a/data/maps/DiglettsCave_SouthEntrance/map.json b/data/maps/DiglettsCave_SouthEntrance/map.json index d713ceb6c..64f78c4bc 100644 --- a/data/maps/DiglettsCave_SouthEntrance/map.json +++ b/data/maps/DiglettsCave_SouthEntrance/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "DiglettsCave_SouthEntrance_EventScript_160EFC", + "script": "DiglettsCave_SouthEntrance_EventScript_OldMan", "flag": "0" } ], diff --git a/data/maps/DiglettsCave_SouthEntrance/scripts.inc b/data/maps/DiglettsCave_SouthEntrance/scripts.inc index 2ee397c02..5851336cc 100644 --- a/data/maps/DiglettsCave_SouthEntrance/scripts.inc +++ b/data/maps/DiglettsCave_SouthEntrance/scripts.inc @@ -1,6 +1,6 @@ DiglettsCave_SouthEntrance_MapScripts:: @ 8160EFB .byte 0 -DiglettsCave_SouthEntrance_EventScript_160EFC:: @ 8160EFC - msgbox gUnknown_81746A7, MSGBOX_NPC +DiglettsCave_SouthEntrance_EventScript_OldMan:: @ 8160EFC + msgbox DiglettsCave_SouthEntrance_Text_DiglettDugThisTunnel, MSGBOX_NPC end diff --git a/data/maps/DiglettsCave_SouthEntrance/text.inc b/data/maps/DiglettsCave_SouthEntrance/text.inc index 4c97cdc0b..c0e8a86c0 100644 --- a/data/maps/DiglettsCave_SouthEntrance/text.inc +++ b/data/maps/DiglettsCave_SouthEntrance/text.inc @@ -1,4 +1,4 @@ -gUnknown_81746A7:: @ 81746A7 +DiglettsCave_SouthEntrance_Text_DiglettDugThisTunnel:: @ 81746A7 .string "Well, isn't this a surprise!\n" .string "DIGLETT dug this long tunnel!\p" .string "It goes right to VIRIDIAN CITY,\n" diff --git a/data/maps/FourIsland/map.json b/data/maps/FourIsland/map.json index f88bce64e..0a8842419 100644 --- a/data/maps/FourIsland/map.json +++ b/data/maps/FourIsland/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_EventScript_167D55", + "script": "FourIsland_EventScript_DaycareMan", "flag": "0" }, { diff --git a/data/maps/FourIsland/scripts.inc b/data/maps/FourIsland/scripts.inc index 576e16390..85e1db283 100644 --- a/data/maps/FourIsland/scripts.inc +++ b/data/maps/FourIsland/scripts.inc @@ -69,66 +69,66 @@ Movement_167D52:: @ 8167D52 walk_in_place_fastest_right step_end -FourIsland_EventScript_167D55:: @ 8167D55 +FourIsland_EventScript_DaycareMan:: @ 8167D55 goto_if_questlog EventScript_ReleaseEnd special sub_8112364 lock faceplayer special GetDaycareMonNicknames specialvar VAR_RESULT, GetDaycareState - compare VAR_RESULT, 1 - goto_if_eq EventScript_167D9B - compare VAR_RESULT, 2 - goto_if_eq EventScript_167E0C - compare VAR_RESULT, 3 - goto_if_eq EventScript_167E19 - msgbox gUnknown_81BF555 + compare VAR_RESULT, DAYCARE_EGG_WAITING + goto_if_eq FourIsland_EventScript_DaycareEggWaiting + compare VAR_RESULT, DAYCARE_ONE_MON + goto_if_eq FourIsland_EventScript_CheckOnOneMon + compare VAR_RESULT, DAYCARE_TWO_MONS + goto_if_eq FourIsland_EventScript_CheckOnTwoMons + msgbox DayCare_Text_ImDaycareManSpeakToMyWife release end -EventScript_167D9B:: @ 8167D9B - msgbox gUnknown_81BF5E3, MSGBOX_YESNO +FourIsland_EventScript_DaycareEggWaiting:: @ 8167D9B + msgbox DayCare_Text_DoYouWantEgg, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_167DD1 - msgbox gUnknown_81BF7B6, MSGBOX_YESNO + goto_if_eq FourIsland_EventScript_DaycareAcceptEgg + msgbox DayCare_Text_IWillKeepDoYouWantIt, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_167DD1 - msgbox gUnknown_81BF6CF + goto_if_eq FourIsland_EventScript_DaycareAcceptEgg + msgbox DayCare_Text_IllKeepIt clearflag FLAG_PENDING_DAYCARE_EGG special RejectEggFromDayCare release end -EventScript_167DD1:: @ 8167DD1 +FourIsland_EventScript_DaycareAcceptEgg:: @ 8167DD1 specialvar VAR_RESULT, CalculatePlayerPartyCount - compare VAR_RESULT, 6 - goto_if_ne EventScript_167DEB - msgbox gUnknown_81BF6F0 + compare VAR_RESULT, PARTY_SIZE + goto_if_ne FourIsland_EventScript_DaycareReceivedEgg + msgbox DayCare_Text_YouHaveNoRoomForIt release end -EventScript_167DEB:: @ 8167DEB +FourIsland_EventScript_DaycareReceivedEgg:: @ 8167DEB textcolor 3 - message Text_1BF72A + message DayCare_Text_ReceivedEgg call EventScript_1A6675 playfanfare MUS_FANFA1 waitfanfare waitbuttonpress - msgbox gUnknown_81BF755 + msgbox DayCare_Text_TakeGoodCareOfIt special GiveEggFromDaycare clearflag FLAG_PENDING_DAYCARE_EGG release end -EventScript_167E0C:: @ 8167E0C +FourIsland_EventScript_CheckOnOneMon:: @ 8167E0C special GetDaycareMonNicknames - msgbox gUnknown_81BF69A + msgbox DayCare_Text_YourMonIsDoingFine release end -EventScript_167E19:: @ 8167E19 +FourIsland_EventScript_CheckOnTwoMons:: @ 8167E19 special GetDaycareMonNicknames - msgbox gUnknown_81BF789 + msgbox DayCare_Text_YourMonsAreDoingFine special SetDaycareCompatibilityString special Special_ShowStringVar4AsFieldMessage waitmessage diff --git a/data/maps/FourIsland_PokemonDayCare/map.json b/data/maps/FourIsland_PokemonDayCare/map.json index d6fd3c4f3..38520cc63 100644 --- a/data/maps/FourIsland_PokemonDayCare/map.json +++ b/data/maps/FourIsland_PokemonDayCare/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FourIsland_PokemonDayCare_EventScript_171940", + "script": "FourIsland_PokemonDayCare_EventScript_DaycareWoman", "flag": "0" } ], diff --git a/data/maps/FourIsland_PokemonDayCare/scripts.inc b/data/maps/FourIsland_PokemonDayCare/scripts.inc index d158be282..c6cf95b20 100644 --- a/data/maps/FourIsland_PokemonDayCare/scripts.inc +++ b/data/maps/FourIsland_PokemonDayCare/scripts.inc @@ -1,164 +1,164 @@ FourIsland_PokemonDayCare_MapScripts:: @ 817193F .byte 0 -FourIsland_PokemonDayCare_EventScript_171940:: @ 8171940 +FourIsland_PokemonDayCare_EventScript_DaycareWoman:: @ 8171940 goto_if_questlog EventScript_ReleaseEnd lock faceplayer specialvar VAR_RESULT, GetDaycareState - compare VAR_RESULT, 1 - goto_if_eq EventScript_171A2E - compare VAR_RESULT, 2 - goto_if_eq EventScript_171A52 - compare VAR_RESULT, 3 - goto_if_eq EventScript_171B86 - msgbox gUnknown_81BF7E4, MSGBOX_YESNO + compare VAR_RESULT, DAYCARE_EGG_WAITING + goto_if_eq FourIsland_PokemonDayCare_EggWaiting + compare VAR_RESULT, DAYCARE_ONE_MON + goto_if_eq FourIsland_PokemonDayCare_OneMonInDaycare + compare VAR_RESULT, DAYCARE_TWO_MONS + goto_if_eq FourIsland_PokemonDayCare_TwoMonsInDaycare + msgbox DayCare_Text_WouldYouLikeUsToRaiseMon, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_171993 - msgbox gUnknown_81BF916 + goto_if_eq FourIsland_PokemonDayCare_GiveMonToRaise + msgbox DayCare_Text_FineThenComeAgain release end -EventScript_171993:: @ 8171993 +FourIsland_PokemonDayCare_GiveMonToRaise:: @ 8171993 specialvar VAR_RESULT, CountPartyNonEggMons compare VAR_RESULT, 1 - goto_if_eq EventScript_171A1A - msgbox gUnknown_81BF839 + goto_if_eq FourIsland_PokemonDayCare_OnlyOneMonInParty + msgbox DayCare_Text_WhichMonShouldWeRaise fadescreen FADE_TO_BLACK special ChooseSendDaycareMon waitstate - compare VAR_0x8004, 6 - goto_if_ge EventScript_1719F7 + compare VAR_0x8004, PARTY_SIZE + goto_if_ge FourIsland_PokemonDayCare_ComeAgain specialvar VAR_RESULT, CountPartyAliveNonEggMons_IgnoreVar0x8004Slot compare VAR_RESULT, 0 - goto_if_eq EventScript_171A24 - specialvar VAR_0x8005, GetSelectedMonNickAndSpecies + goto_if_eq FourIsland_PokemonDayCare_OnlyOneAliveMonInParty + specialvar VAR_0x8005, GetSelectedMonNicknameAndSpecies waitse playmoncry VAR_0x8005, 0 - msgbox gUnknown_81BF860 + msgbox DayCare_Text_WellRaiseYourMon waitmoncry special StoreSelectedPokemonInDaycare incrementgamestat GAME_STAT_USED_DAYCARE specialvar VAR_RESULT, GetDaycareState - compare VAR_RESULT, 2 - goto_if_eq EventScript_171A01 + compare VAR_RESULT, DAYCARE_ONE_MON + goto_if_eq FourIsland_PokemonDayCare_CanRaiseOneMore release end -EventScript_1719F7:: @ 81719F7 - msgbox gUnknown_81BF976 +FourIsland_PokemonDayCare_ComeAgain:: @ 81719F7 + msgbox DayCare_Text_ComeAgain release end -EventScript_171A01:: @ 8171A01 - msgbox gUnknown_81BF89F, MSGBOX_YESNO +FourIsland_PokemonDayCare_CanRaiseOneMore:: @ 8171A01 + msgbox DayCare_Text_WeCanRaiseOneMore, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_171993 - goto EventScript_1719F7 + goto_if_eq FourIsland_PokemonDayCare_GiveMonToRaise + goto FourIsland_PokemonDayCare_ComeAgain end -EventScript_171A1A:: @ 8171A1A - msgbox gUnknown_81BFAAD +FourIsland_PokemonDayCare_OnlyOneMonInParty:: @ 8171A1A + msgbox DayCare_Text_YouHaveJustOneMon release end -EventScript_171A24:: @ 8171A24 - msgbox gUnknown_81BFB09 +FourIsland_PokemonDayCare_OnlyOneAliveMonInParty:: @ 8171A24 + msgbox DayCare_Text_WhatWillYouBattleWith release end -EventScript_171A2E:: @ 8171A2E - msgbox gUnknown_81BF8F6 +FourIsland_PokemonDayCare_EggWaiting:: @ 8171A2E + msgbox DayCare_Text_HusbandWasLookingForYou release end -EventScript_171A38:: @ 8171A38 - msgbox gUnknown_81BF9CC +FourIsland_PokemonDayCare_MonHasGrownXLevels:: @ 8171A38 + msgbox DayCare_Text_YourMonHasGrownXLevels return -EventScript_171A41:: @ 8171A41 +FourIsland_PokemonDayCare_DisplayLevelsGained:: @ 8171A41 specialvar VAR_RESULT, GetNumLevelsGainedFromDaycare compare VAR_RESULT, 0 - call_if_ne EventScript_171A38 + call_if_ne FourIsland_PokemonDayCare_MonHasGrownXLevels return -EventScript_171A52:: @ 8171A52 - msgbox gUnknown_81BF988 +FourIsland_PokemonDayCare_OneMonInDaycare:: @ 8171A52 + msgbox DayCare_Text_GoodToSeeYou setvar VAR_0x8004, 0 - call EventScript_171A41 - msgbox gUnknown_81BF89F, MSGBOX_YESNO + call FourIsland_PokemonDayCare_DisplayLevelsGained + msgbox DayCare_Text_WeCanRaiseOneMore, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_171993 - msgbox gUnknown_81BFAE8, MSGBOX_YESNO + goto_if_eq FourIsland_PokemonDayCare_GiveMonToRaise + msgbox DayCare_Text_TakeYourMonBack, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_171A90 - goto EventScript_1719F7 + goto_if_eq FourIsland_PokemonDayCare_TryRetrieveMon + goto FourIsland_PokemonDayCare_ComeAgain end -EventScript_171A90:: @ 8171A90 +FourIsland_PokemonDayCare_TryRetrieveMon:: @ 8171A90 specialvar VAR_RESULT, CalculatePlayerPartyCount - compare VAR_RESULT, 6 - goto_if_eq EventScript_171B67 + compare VAR_RESULT, PARTY_SIZE + goto_if_eq FourIsland_PokemonDayCare_NoRoomInParty specialvar VAR_RESULT, GetDaycareState setvar VAR_0x8004, 0 - compare VAR_RESULT, 2 - goto_if_eq EventScript_171ACF + compare VAR_RESULT, DAYCARE_ONE_MON + goto_if_eq FourIsland_PokemonDayCare_CostPrompt special ShowDaycareLevelMenu waitstate copyvar VAR_0x8004, VAR_RESULT - compare VAR_RESULT, 2 - goto_if_eq EventScript_1719F7 - goto EventScript_171ACF + compare VAR_RESULT, DAYCARE_EXITED_LEVEL_MENU + goto_if_eq FourIsland_PokemonDayCare_ComeAgain + goto FourIsland_PokemonDayCare_CostPrompt end -EventScript_171ACF:: @ 8171ACF +FourIsland_PokemonDayCare_CostPrompt:: @ 8171ACF special GetDaycareCost - msgbox gUnknown_81BFA3B, MSGBOX_YESNO + msgbox DayCare_Text_ItWillCostX, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_171AEB - goto EventScript_1719F7 + goto_if_eq FourIsland_PokemonDayCare_CheckEnoughMoney + goto FourIsland_PokemonDayCare_ComeAgain end -EventScript_171AEB:: @ 8171AEB +FourIsland_PokemonDayCare_CheckEnoughMoney:: @ 8171AEB specialvar VAR_RESULT, IsEnoughForCostInVar0x8005 - compare VAR_RESULT, 1 - goto_if_eq EventScript_171B05 - msgbox gUnknown_81BF932 + compare VAR_RESULT, TRUE + goto_if_eq FourIsland_PokemonDayCare_RetrieveMon + msgbox DayCare_Text_NotEnoughMoney release end -EventScript_171B05:: @ 8171B05 - applymovement 1, Movement_171B71 +FourIsland_PokemonDayCare_RetrieveMon:: @ 8171B05 + applymovement 1, FourIsland_PokemonDayCare_Movement_RetrieveMon waitmovement 0 specialvar VAR_RESULT, TakePokemonFromDaycare special SubtractMoneyFromVar0x8005 playse SE_REGI - msgbox gUnknown_81BFA67 + msgbox DayCare_Text_HeresYourMon waitse playmoncry VAR_RESULT, 0 textcolor 3 - msgbox gUnknown_81BFA85 + msgbox DayCare_Text_TookBackMon call EventScript_1A6675 waitmoncry specialvar VAR_RESULT, GetDaycareState - compare VAR_RESULT, 2 - goto_if_eq EventScript_171B4E - goto EventScript_1719F7 + compare VAR_RESULT, DAYCARE_ONE_MON + goto_if_eq FourIsland_PokemonDayCare_AskRetrieveOtherMon + goto FourIsland_PokemonDayCare_ComeAgain end -EventScript_171B4E:: @ 8171B4E - msgbox gUnknown_81BF94F, MSGBOX_YESNO +FourIsland_PokemonDayCare_AskRetrieveOtherMon:: @ 8171B4E + msgbox DayCare_Text_TakeOtherOneBackToo, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_171A90 - goto EventScript_1719F7 + goto_if_eq FourIsland_PokemonDayCare_TryRetrieveMon + goto FourIsland_PokemonDayCare_ComeAgain end -EventScript_171B67:: @ 8171B67 - msgbox gUnknown_81BF9EF +FourIsland_PokemonDayCare_NoRoomInParty:: @ 8171B67 + msgbox DayCare_Text_YourPartyIsFull release end -Movement_171B71:: @ 8171B71 +FourIsland_PokemonDayCare_Movement_RetrieveMon:: @ 8171B71 delay_16 delay_16 face_right @@ -180,30 +180,32 @@ Movement_171B71:: @ 8171B71 walk_slowest_down step_end -EventScript_171B85:: @ 8171B85 +@ Unused. Possibly a commented script, or a typo end added to the above Movement script +FourIsland_PokemonDayCare_EventScript_UnusedEnd:: @ 8171B85 end -EventScript_171B86:: @ 8171B86 - msgbox gUnknown_81BF988 +FourIsland_PokemonDayCare_TwoMonsInDaycare:: @ 8171B86 + msgbox DayCare_Text_GoodToSeeYou setvar VAR_0x8004, 0 - call EventScript_171A41 + call FourIsland_PokemonDayCare_DisplayLevelsGained setvar VAR_0x8004, 1 - call EventScript_171A41 - msgbox gUnknown_81BFAE8, MSGBOX_YESNO + call FourIsland_PokemonDayCare_DisplayLevelsGained + msgbox DayCare_Text_TakeYourMonBack, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_171A90 - msgbox gUnknown_81BF976 + goto_if_eq FourIsland_PokemonDayCare_TryRetrieveMon + msgbox DayCare_Text_ComeAgain release end -EventScript_171BBF:: @ 8171BBF +@ Unused +FourIsland_PokemonDayCare_EventScript_UnusedRetrieveMon:: @ 8171BBF special ShowDaycareLevelMenu waitstate compare VAR_RESULT, 2 - goto_if_eq EventScript_1719F7 + goto_if_eq FourIsland_PokemonDayCare_ComeAgain copyvar VAR_0x8004, VAR_RESULT specialvar VAR_RESULT, TakePokemonFromDaycare - msgbox gUnknown_81BFA67 - msgbox gUnknown_81BF976 + msgbox DayCare_Text_HeresYourMon + msgbox DayCare_Text_ComeAgain release end diff --git a/data/maps/FuchsiaCity/map.json b/data/maps/FuchsiaCity/map.json index c142ff4c1..710940882 100644 --- a/data/maps/FuchsiaCity/map.json +++ b/data/maps/FuchsiaCity/map.json @@ -39,7 +39,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_EventScript_166DAF", + "script": "FuchsiaCity_EventScript_Erik", "flag": "0" }, { @@ -78,7 +78,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_EventScript_166DB8", + "script": "FuchsiaCity_EventScript_Youngster", "flag": "0" }, { @@ -104,7 +104,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_EventScript_166D9D", + "script": "FuchsiaCity_EventScript_LittleBoy", "flag": "0" }, { @@ -130,7 +130,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_EventScript_166DA6", + "script": "FuchsiaCity_EventScript_OldMan", "flag": "0" }, { @@ -234,7 +234,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_EventScript_166DC1", + "script": "FuchsiaCity_EventScript_Lass", "flag": "FLAG_HIDE_POSTGAME_GOSSIPERS" } ], @@ -250,7 +250,7 @@ "x": 33, "y": 31, "elevation": 0, - "dest_map": "MAP_FUCHSIA_CITY_BUILDING1", + "dest_map": "MAP_FUCHSIA_CITY_WARDENS_HOUSE", "dest_warp_id": 1 }, { @@ -264,7 +264,7 @@ "x": 28, "y": 16, "elevation": 0, - "dest_map": "MAP_FUCHSIA_CITY_ZOO_BUILDING", + "dest_map": "MAP_FUCHSIA_CITY_SAFARI_ZONE_OFFICE", "dest_warp_id": 1 }, { @@ -324,77 +324,77 @@ "x": 31, "y": 18, "elevation": 3, - "script": "FuchsiaCity_EventScript_166DDA" + "script": "FuchsiaCity_EventScript_CitySign" }, { "type": "bg_event_type_0", "x": 26, "y": 18, "elevation": 0, - "script": "FuchsiaCity_EventScript_166DE3" + "script": "FuchsiaCity_EventScript_SafariZoneSign" }, { "type": "bg_event_type_0", "x": 5, "y": 32, "elevation": 0, - "script": "FuchsiaCity_EventScript_166E07" + "script": "FuchsiaCity_EventScript_GymSign" }, { "type": "bg_event_type_0", "x": 31, "y": 31, "elevation": 0, - "script": "FuchsiaCity_EventScript_166DF5" + "script": "FuchsiaCity_EventScript_WardensHomeSign" }, { "type": "bg_event_type_0", "x": 35, "y": 10, "elevation": 0, - "script": "FuchsiaCity_EventScript_166E38" + "script": "FuchsiaCity_EventScript_VoltorbSign" }, { "type": "bg_event_type_0", "x": 38, "y": 16, "elevation": 3, - "script": "FuchsiaCity_EventScript_166E6A" + "script": "FuchsiaCity_EventScript_SlowpokeSign" }, { "type": "bg_event_type_0", "x": 41, "y": 10, "elevation": 0, - "script": "FuchsiaCity_EventScript_166E1F" + "script": "FuchsiaCity_EventScript_ChanseySign" }, { "type": "bg_event_type_0", "x": 17, "y": 10, "elevation": 0, - "script": "FuchsiaCity_EventScript_166E51" + "script": "FuchsiaCity_EventScript_KangaskhanSign" }, { "type": "bg_event_type_0", "x": 11, "y": 10, "elevation": 0, - "script": "FuchsiaCity_EventScript_166E9C" + "script": "FuchsiaCity_EventScript_FossilMonSign" }, { "type": "bg_event_type_0", "x": 17, "y": 18, "elevation": 3, - "script": "FuchsiaCity_EventScript_166E83" + "script": "FuchsiaCity_EventScript_LaprasSign" }, { "type": "bg_event_type_0", "x": 22, "y": 7, "elevation": 0, - "script": "FuchsiaCity_EventScript_166DEC" + "script": "FuchsiaCity_EventScript_SafariGameSign" }, { "type": "hidden_item", diff --git a/data/maps/FuchsiaCity/scripts.inc b/data/maps/FuchsiaCity/scripts.inc index cde08dd9b..5f0875db8 100644 --- a/data/maps/FuchsiaCity/scripts.inc +++ b/data/maps/FuchsiaCity/scripts.inc @@ -4,135 +4,136 @@ FuchsiaCity_MapScripts:: @ 8166D75 FuchsiaCity_OnTransition:: @ 8166D7B setworldmapflag FLAG_WORLD_MAP_FUCHSIA_CITY - call_if_set FLAG_GOT_DOME_FOSSIL, EventScript_166D91 - call_if_unset FLAG_GOT_DOME_FOSSIL, EventScript_166D97 + call_if_set FLAG_GOT_DOME_FOSSIL, FuchsicaCity_EventScript_SetOmanyteGfx + call_if_unset FLAG_GOT_DOME_FOSSIL, FuchsiaCity_EventScript_SetKabutoGfx end -EventScript_166D91:: @ 8166D91 +FuchsicaCity_EventScript_SetOmanyteGfx:: @ 8166D91 setvar VAR_OBJ_GFX_ID_0, OBJECT_EVENT_GFX_OMANYTE return -EventScript_166D97:: @ 8166D97 +FuchsiaCity_EventScript_SetKabutoGfx:: @ 8166D97 setvar VAR_OBJ_GFX_ID_0, OBJECT_EVENT_GFX_KABUTO return -FuchsiaCity_EventScript_166D9D:: @ 8166D9D - msgbox gUnknown_818056E, MSGBOX_NPC +FuchsiaCity_EventScript_LittleBoy:: @ 8166D9D + msgbox FuchsiaCity_Text_DidYouTrySafariGame, MSGBOX_NPC end -FuchsiaCity_EventScript_166DA6:: @ 8166DA6 - msgbox gUnknown_81805C6, MSGBOX_NPC +FuchsiaCity_EventScript_OldMan:: @ 8166DA6 + msgbox FuchsiaCity_Text_SafariZoneZooInFront, MSGBOX_NPC end -FuchsiaCity_EventScript_166DAF:: @ 8166DAF - msgbox gUnknown_818062C, MSGBOX_NPC +FuchsiaCity_EventScript_Erik:: @ 8166DAF + msgbox FuchsiaCity_Text_WheresSara, MSGBOX_NPC end -FuchsiaCity_EventScript_166DB8:: @ 8166DB8 - msgbox gUnknown_818065A, MSGBOX_NPC +FuchsiaCity_EventScript_Youngster:: @ 8166DB8 + msgbox FuchsiaCity_Text_ItemBallInThere, MSGBOX_NPC end -FuchsiaCity_EventScript_166DC1:: @ 8166DC1 +FuchsiaCity_EventScript_Lass:: @ 8166DC1 lock faceplayer famechecker FAMECHECKER_KOGA, 3 - msgbox gUnknown_8180ABD + msgbox FuchsiaCity_Text_MyFatherIsGymLeader release end -FuchsiaCity_EventScript_166DDA:: @ 8166DDA - msgbox gUnknown_81806AB, MSGBOX_SIGN +FuchsiaCity_EventScript_CitySign:: @ 8166DDA + msgbox FuchsiaCity_Text_CitySign, MSGBOX_SIGN end -FuchsiaCity_EventScript_166DE3:: @ 8166DE3 - msgbox gUnknown_81806D3, MSGBOX_SIGN +FuchsiaCity_EventScript_SafariZoneSign:: @ 8166DE3 + msgbox FuchsiaCity_Text_SafariZoneSign, MSGBOX_SIGN end -FuchsiaCity_EventScript_166DEC:: @ 8166DEC - msgbox gUnknown_81806F0, MSGBOX_SIGN +FuchsiaCity_EventScript_SafariGameSign:: @ 8166DEC + msgbox FuchsiaCity_Text_SafariGameSign, MSGBOX_SIGN end -FuchsiaCity_EventScript_166DF5:: @ 8166DF5 - msgbox gUnknown_818070D, MSGBOX_SIGN +FuchsiaCity_EventScript_WardensHomeSign:: @ 8166DF5 + msgbox FuchsiaCity_Text_WardensHomeSign, MSGBOX_SIGN end -EventScript_166DFE:: @ 8166DFE - msgbox gUnknown_8180727, MSGBOX_SIGN +@ Unused +FuchsiaCity_EventScript_SafariZoneOfficeSign:: @ 8166DFE + msgbox FuchsiaCity_Text_SafariZoneOfficeSign, MSGBOX_SIGN end -FuchsiaCity_EventScript_166E07:: @ 8166E07 +FuchsiaCity_EventScript_GymSign:: @ 8166E07 lockall famechecker FAMECHECKER_KOGA, 0 - msgbox gUnknown_8180768 + msgbox FuchsiaCity_Text_GymSign releaseall end -FuchsiaCity_EventScript_166E1F:: @ 8166E1F +FuchsiaCity_EventScript_ChanseySign:: @ 8166E1F lockall setvar VAR_0x8004, SPECIES_CHANSEY special Special_SetSeenMon drawmonpic SPECIES_CHANSEY, 10, 3 - msgbox gUnknown_81807A9 + msgbox FuchsiaCity_Text_ChanseySign erasemonpic releaseall end -FuchsiaCity_EventScript_166E38:: @ 8166E38 +FuchsiaCity_EventScript_VoltorbSign:: @ 8166E38 lockall setvar VAR_0x8004, SPECIES_VOLTORB special Special_SetSeenMon drawmonpic SPECIES_VOLTORB, 10, 3 - msgbox gUnknown_81807D9 + msgbox FuchsiaCity_Text_VoltorbSign erasemonpic releaseall end -FuchsiaCity_EventScript_166E51:: @ 8166E51 +FuchsiaCity_EventScript_KangaskhanSign:: @ 8166E51 lockall setvar VAR_0x8004, SPECIES_KANGASKHAN special Special_SetSeenMon drawmonpic SPECIES_KANGASKHAN, 10, 3 - msgbox gUnknown_8180806 + msgbox FuchsiaCity_Text_KangaskhanSign erasemonpic releaseall end -FuchsiaCity_EventScript_166E6A:: @ 8166E6A +FuchsiaCity_EventScript_SlowpokeSign:: @ 8166E6A lockall setvar VAR_0x8004, SPECIES_SLOWPOKE special Special_SetSeenMon drawmonpic SPECIES_SLOWPOKE, 10, 3 - msgbox gUnknown_8180859 + msgbox FuchsiaCity_Text_SlowpokeSign erasemonpic releaseall end -FuchsiaCity_EventScript_166E83:: @ 8166E83 +FuchsiaCity_EventScript_LaprasSign:: @ 8166E83 lockall setvar VAR_0x8004, SPECIES_LAPRAS special Special_SetSeenMon drawmonpic SPECIES_LAPRAS, 10, 3 - msgbox gUnknown_8180887 + msgbox FuchsiaCity_Text_LaprasSign erasemonpic releaseall end -FuchsiaCity_EventScript_166E9C:: @ 8166E9C +FuchsiaCity_EventScript_FossilMonSign:: @ 8166E9C lockall - goto_if_set FLAG_GOT_DOME_FOSSIL, EventScript_166EBE + goto_if_set FLAG_GOT_DOME_FOSSIL, FuchsiaCity_EventScript_OmanyteSign setvar VAR_0x8004, SPECIES_KABUTO special Special_SetSeenMon drawmonpic SPECIES_KABUTO, 10, 3 - msgbox gUnknown_81808FA + msgbox FuchsiaCity_Text_KabutoSign erasemonpic releaseall end -EventScript_166EBE:: @ 8166EBE +FuchsiaCity_EventScript_OmanyteSign:: @ 8166EBE setvar VAR_0x8004, SPECIES_OMANYTE special Special_SetSeenMon drawmonpic SPECIES_OMANYTE, 10, 3 - msgbox gUnknown_81808AE + msgbox FuchsiaCity_Text_OmanyteSign erasemonpic releaseall end diff --git a/data/maps/FuchsiaCity/text.inc b/data/maps/FuchsiaCity/text.inc index 969846706..84b49f63c 100644 --- a/data/maps/FuchsiaCity/text.inc +++ b/data/maps/FuchsiaCity/text.inc @@ -1,82 +1,83 @@ -gUnknown_818056E:: @ 818056E +FuchsiaCity_Text_DidYouTrySafariGame:: @ 818056E .string "Did you try the SAFARI GAME?\p" .string "There are some rare POKéMON that\n" .string "can only be caught there.$" -gUnknown_81805C6:: @ 81805C6 +FuchsiaCity_Text_SafariZoneZooInFront:: @ 81805C6 .string "The SAFARI ZONE has a zoo in front\n" .string "of the entrance.\p" .string "Out back is the SAFARI GAME for\n" .string "catching POKéMON.$" -gUnknown_818062C:: @ 818062C +FuchsiaCity_Text_WheresSara:: @ 818062C .string "ERIK: Where's SARA?\n" .string "I said I'd meet her here.$" -gUnknown_818065A:: @ 818065A +FuchsiaCity_Text_ItemBallInThere:: @ 818065A .string "That item ball in there…\n" .string "Were you wanting that?\p" .string "Me, too!\n" .string "…Huh? That's a POKéMON?$" -gUnknown_81806AB:: @ 81806AB +FuchsiaCity_Text_CitySign:: @ 81806AB .string "FUCHSIA CITY\n" .string "Behold! It's Passion Pink!$" -gUnknown_81806D3:: @ 81806D3 +FuchsiaCity_Text_SafariZoneSign:: @ 81806D3 .string "POKéMON PARADISE\n" .string "SAFARI ZONE$" -gUnknown_81806F0:: @ 81806F0 +FuchsiaCity_Text_SafariGameSign:: @ 81806F0 .string "SAFARI GAME\n" .string "POKéMON-U-CATCH!$" -gUnknown_818070D:: @ 818070D +FuchsiaCity_Text_WardensHomeSign:: @ 818070D .string "SAFARI ZONE\n" .string "WARDEN'S HOME$" -gUnknown_8180727:: @ 8180727 +FuchsiaCity_Text_SafariZoneOfficeSign:: @ 8180727 .string "POKéMON PARADISE!\n" .string "Welcome to the SAFARI ZONE!\l" .string "SAFARI ZONE OFFICE$" -gUnknown_8180768:: @ 8180768 +FuchsiaCity_Text_GymSign:: @ 8180768 .string "FUCHSIA CITY POKéMON GYM\n" .string "LEADER: KOGA\l" .string "The Poisonous Ninja Master$" -gUnknown_81807A9:: @ 81807A9 +FuchsiaCity_Text_ChanseySign:: @ 81807A9 .string "Name: CHANSEY\n" .string "Catching one is all up to chance.$" -gUnknown_81807D9:: @ 81807D9 +FuchsiaCity_Text_VoltorbSign:: @ 81807D9 .string "Name: VOLTORB\n" .string "The very image of a POKé BALL.$" -gUnknown_8180806:: @ 8180806 +FuchsiaCity_Text_KangaskhanSign:: @ 8180806 .string "Name: KANGASKHAN\p" .string "A maternal POKéMON that raises its\n" .string "young in a pouch on its belly.$" -gUnknown_8180859:: @ 8180859 +FuchsiaCity_Text_SlowpokeSign:: @ 8180859 .string "Name: SLOWPOKE\n" .string "Friendly and very slow moving.$" -gUnknown_8180887:: @ 8180887 +FuchsiaCity_Text_LaprasSign:: @ 8180887 .string "Name: LAPRAS\n" .string "AKA the king of the seas.$" -gUnknown_81808AE:: @ 81808AE +FuchsiaCity_Text_OmanyteSign:: @ 81808AE .string "Name: OMANYTE\n" .string "An extremely rare POKéMON that was\l" .string "regenerated from a fossil.$" -gUnknown_81808FA:: @ 81808FA +FuchsiaCity_Text_KabutoSign:: @ 81808FA .string "Name: KABUTO\n" .string "An extremely rare POKéMON that was\l" .string "regenerated from a fossil.$" -Text_180945:: @ 8180945 +@ Unused. May have been meant to be the placeholder text for the zoo mons, similar to RB's "!" text +FuchsiaCity_Text_Ellipsis:: @ 8180945 .string "……$" Text_SubstituteTeach:: @ 8180948 @@ -103,7 +104,7 @@ Text_SubstituteTaught:: @ 8180A80 .string "Boy, what I'd give to crawl inside\n" .string "a KANGASKHAN belly pouch…$" -gUnknown_8180ABD:: @ 8180ABD +FuchsiaCity_Text_MyFatherIsGymLeader:: @ 8180ABD .string "My father is the GYM LEADER of\n" .string "this town.\p" .string "I'm training to use POISON POKéMON\n" diff --git a/data/maps/FuchsiaCity_Building1/scripts.inc b/data/maps/FuchsiaCity_Building1/scripts.inc deleted file mode 100644 index 0011190dc..000000000 --- a/data/maps/FuchsiaCity_Building1/scripts.inc +++ /dev/null @@ -1,63 +0,0 @@ -FuchsiaCity_Building1_MapScripts:: @ 816D74B - .byte 0 - -FuchsiaCity_Building1_EventScript_16D74C:: @ 816D74C - lock - faceplayer - goto_if_set FLAG_GOT_HM04, EventScript_16D7FA - goto_if_set FLAG_HIDE_SAFARI_ZONE_WEST_GOLD_TEETH, EventScript_16D780 - msgbox gUnknown_8198DF9, MSGBOX_YESNO - compare VAR_RESULT, YES - call_if_eq EventScript_16D7E8 - compare VAR_RESULT, NO - call_if_eq EventScript_16D7F1 - release - end - -EventScript_16D780:: @ 816D780 - textcolor 3 - playfanfare MUS_ME_WAZA - message Text_198E84 - waitmessage - waitfanfare - msgbox gUnknown_8198EAA - call EventScript_1A6675 - checkplayergender - compare VAR_RESULT, MALE - call_if_eq EventScript_16D7D6 - compare VAR_RESULT, FEMALE - call_if_eq EventScript_16D7DF - giveitem_msg gUnknown_8199068, ITEM_HM04 - setflag FLAG_GOT_HM04 - removeitem ITEM_GOLD_TEETH, 1 - release - end - -EventScript_16D7D6:: @ 816D7D6 - msgbox gUnknown_8198ECA - return - -EventScript_16D7DF:: @ 816D7DF - msgbox gUnknown_8198F96 - return - -EventScript_16D7E8:: @ 816D7E8 - msgbox gUnknown_8198E3F - return - -EventScript_16D7F1:: @ 816D7F1 - msgbox gUnknown_8198E63 - return - -EventScript_16D7FA:: @ 816D7FA - msgbox gUnknown_819908A - release - end - -FuchsiaCity_Building1_EventScript_16D804:: @ 816D804 - msgbox gUnknown_819913C, MSGBOX_SIGN - end - -FuchsiaCity_Building1_EventScript_16D80D:: @ 816D80D - msgbox gUnknown_8199167, MSGBOX_SIGN - end diff --git a/data/maps/FuchsiaCity_Gym/map.json b/data/maps/FuchsiaCity_Gym/map.json index 3ca93c166..9054b5df0 100644 --- a/data/maps/FuchsiaCity_Gym/map.json +++ b/data/maps/FuchsiaCity_Gym/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "FuchsiaCity_Gym_EventScript_16D65A", + "script": "FuchsiaCity_Gym_EventScript_Kayden", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "FuchsiaCity_Gym_EventScript_16D643", + "script": "FuchsiaCity_Gym_EventScript_Shawn", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "FuchsiaCity_Gym_EventScript_16D61F", + "script": "FuchsiaCity_Gym_EventScript_Kirk", "flag": "0" }, { @@ -62,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "FuchsiaCity_Gym_EventScript_16D608", + "script": "FuchsiaCity_Gym_EventScript_Edgar", "flag": "0" }, { @@ -75,7 +75,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 2, - "script": "FuchsiaCity_Gym_EventScript_16D5F1", + "script": "FuchsiaCity_Gym_EventScript_Phil", "flag": "0" }, { @@ -88,7 +88,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 4, - "script": "FuchsiaCity_Gym_EventScript_16D671", + "script": "FuchsiaCity_Gym_EventScript_Nate", "flag": "0" }, { @@ -101,7 +101,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_Gym_EventScript_16D54E", + "script": "FuchsiaCity_Gym_EventScript_Koga", "flag": "0" }, { @@ -114,7 +114,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_Gym_EventScript_16D688", + "script": "FuchsiaCity_Gym_EventScript_GymGuy", "flag": "0" } ], @@ -148,14 +148,14 @@ "x": 4, "y": 19, "elevation": 0, - "script": "FuchsiaCity_Gym_EventScript_16D6A7" + "script": "FuchsiaCity_Gym_EventScript_GymStatue" }, { "type": "bg_event_type_0", "x": 10, "y": 19, "elevation": 0, - "script": "FuchsiaCity_Gym_EventScript_16D6A7" + "script": "FuchsiaCity_Gym_EventScript_GymStatue" } ] } diff --git a/data/maps/FuchsiaCity_Gym/scripts.inc b/data/maps/FuchsiaCity_Gym/scripts.inc index d20eeb409..6486c36eb 100644 --- a/data/maps/FuchsiaCity_Gym/scripts.inc +++ b/data/maps/FuchsiaCity_Gym/scripts.inc @@ -1,91 +1,91 @@ FuchsiaCity_Gym_MapScripts:: @ 816D54D .byte 0 -FuchsiaCity_Gym_EventScript_16D54E:: @ 816D54E +FuchsiaCity_Gym_EventScript_Koga:: @ 816D54E famechecker FAMECHECKER_KOGA, FCPICKSTATE_COLORED, UpdatePickStateFromSpecialVar8005 - trainerbattle_single TRAINER_LEADER_KOGA, Text_19832E, Text_198444, EventScript_16D580, NO_MUSIC - goto_if_unset FLAG_GOT_TM06_FROM_KOGA, EventScript_16D5A6 - msgbox gUnknown_8198481 + trainerbattle_single TRAINER_LEADER_KOGA, FuchsiaCity_Gym_Text_KogaIntro, FuchsiaCity_Gym_Text_KogaDefeat, FuchsiaCity_Gym_EventScript_DefeatedKoga, NO_MUSIC + goto_if_unset FLAG_GOT_TM06_FROM_KOGA, FuchsiaCity_Gym_EventScript_GiveTM06 + msgbox FuchsiaCity_Gym_Text_KogaPostBattle release end -EventScript_16D580:: @ 816D580 +FuchsiaCity_Gym_EventScript_DefeatedKoga:: @ 816D580 famechecker FAMECHECKER_KOGA, 1 clearflag FLAG_HIDE_FAME_CHECKER_KOGA_JOURNAL setflag FLAG_DEFEATED_KOGA setflag FLAG_BADGE05_GET set_gym_trainers 5 - goto EventScript_16D5A6 + goto FuchsiaCity_Gym_EventScript_GiveTM06 end -EventScript_16D5A6:: @ 816D5A6 - msgbox gUnknown_819850E +FuchsiaCity_Gym_EventScript_GiveTM06:: @ 816D5A6 + msgbox FuchsiaCity_Gym_Text_KogaExplainSoulBadge checkitemspace ITEM_TM06, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16D5E7 - giveitem_msg gUnknown_819858F, ITEM_TM06 + goto_if_eq FuchsiaCity_Gym_EventScript_NoRoomForTM06 + giveitem_msg FuchsiaCity_Gym_Text_ReceivedTM06FromKoga, ITEM_TM06 setflag FLAG_GOT_TM06_FROM_KOGA - msgbox gUnknown_81985AB + msgbox FuchsiaCity_Gym_Text_KogaExplainTM06 release end -EventScript_16D5E7:: @ 816D5E7 - msgbox gUnknown_819860D +FuchsiaCity_Gym_EventScript_NoRoomForTM06:: @ 816D5E7 + msgbox FuchsiaCity_Gym_Text_MakeSpaceForThis release end -FuchsiaCity_Gym_EventScript_16D5F1:: @ 816D5F1 - trainerbattle_single TRAINER_TAMER_PHIL, Text_198866, Text_1988B6 - msgbox gUnknown_81988CB, MSGBOX_AUTOCLOSE +FuchsiaCity_Gym_EventScript_Phil:: @ 816D5F1 + trainerbattle_single TRAINER_TAMER_PHIL, FuchsiaCity_Gym_Text_PhilIntro, FuchsiaCity_Gym_Text_PhilDefeat + msgbox FuchsiaCity_Gym_Text_PhilPostBattle, MSGBOX_AUTOCLOSE end -FuchsiaCity_Gym_EventScript_16D608:: @ 816D608 - trainerbattle_single TRAINER_TAMER_EDGAR, Text_19891F, Text_19897F - msgbox gUnknown_8198985, MSGBOX_AUTOCLOSE +FuchsiaCity_Gym_EventScript_Edgar:: @ 816D608 + trainerbattle_single TRAINER_TAMER_EDGAR, FuchsiaCity_Gym_Text_EdgarIntro, FuchsiaCity_Gym_Text_EdgarDefeat + msgbox FuchsiaCity_Gym_Text_EdgarPostBattle, MSGBOX_AUTOCLOSE end -FuchsiaCity_Gym_EventScript_16D61F:: @ 816D61F - trainerbattle_single TRAINER_JUGGLER_KIRK, Text_19871E, Text_198779 +FuchsiaCity_Gym_EventScript_Kirk:: @ 816D61F + trainerbattle_single TRAINER_JUGGLER_KIRK, FuchsiaCity_Gym_Text_KirkIntro, FuchsiaCity_Gym_Text_KirkDefeat famechecker FAMECHECKER_KOGA, 2 - msgbox gUnknown_8198787, MSGBOX_AUTOCLOSE + msgbox FuchsiaCity_Gym_Text_KirkPostBattle, MSGBOX_AUTOCLOSE end -FuchsiaCity_Gym_EventScript_16D643:: @ 816D643 - trainerbattle_single TRAINER_JUGGLER_SHAWN, Text_1989A1, Text_1989EA - msgbox gUnknown_8198A10, MSGBOX_AUTOCLOSE +FuchsiaCity_Gym_EventScript_Shawn:: @ 816D643 + trainerbattle_single TRAINER_JUGGLER_SHAWN, FuchsiaCity_Gym_Text_ShawnIntro, FuchsiaCity_Gym_Text_ShawnDefeat + msgbox FuchsiaCity_Gym_Text_ShawnPostBattle, MSGBOX_AUTOCLOSE end -FuchsiaCity_Gym_EventScript_16D65A:: @ 816D65A - trainerbattle_single TRAINER_JUGGLER_KAYDEN, Text_198629, Text_1986B4 - msgbox gUnknown_81986C9, MSGBOX_AUTOCLOSE +FuchsiaCity_Gym_EventScript_Kayden:: @ 816D65A + trainerbattle_single TRAINER_JUGGLER_KAYDEN, FuchsiaCity_Gym_Text_KaydenIntro, FuchsiaCity_Gym_Text_KaydenDefeat + msgbox FuchsiaCity_Gym_Text_KaydenPostBattle, MSGBOX_AUTOCLOSE end -FuchsiaCity_Gym_EventScript_16D671:: @ 816D671 - trainerbattle_single TRAINER_JUGGLER_NATE, Text_1987E8, Text_198812 - msgbox gUnknown_8198825, MSGBOX_AUTOCLOSE +FuchsiaCity_Gym_EventScript_Nate:: @ 816D671 + trainerbattle_single TRAINER_JUGGLER_NATE, FuchsiaCity_Gym_Text_NateIntro, FuchsiaCity_Gym_Text_NateDefeat + msgbox FuchsiaCity_Gym_Text_NatePostBattle, MSGBOX_AUTOCLOSE end -FuchsiaCity_Gym_EventScript_16D688:: @ 816D688 +FuchsiaCity_Gym_EventScript_GymGuy:: @ 816D688 lock faceplayer - goto_if_set FLAG_DEFEATED_KOGA, EventScript_16D69D - msgbox gUnknown_8198A5E + goto_if_set FLAG_DEFEATED_KOGA, FuchsiaCity_Gym_EventScript_GymGuyPostVictory + msgbox FuchsiaCity_Gym_Text_GymGuyAdvice release end -EventScript_16D69D:: @ 816D69D - msgbox gUnknown_8198B1D +FuchsiaCity_Gym_EventScript_GymGuyPostVictory:: @ 816D69D + msgbox FuchsiaCity_Gym_Text_GymGuyPostVictory release end -FuchsiaCity_Gym_EventScript_16D6A7:: @ 816D6A7 +FuchsiaCity_Gym_EventScript_GymStatue:: @ 816D6A7 lockall - goto_if_set FLAG_BADGE05_GET, EventScript_16D6BB - msgbox gUnknown_8198B4B + goto_if_set FLAG_BADGE05_GET, FuchsiaCity_Gym_EventScript_GymStatuePostVictory + msgbox FuchsiaCity_Gym_Text_GymStatue releaseall end -EventScript_16D6BB:: @ 816D6BB - msgbox gUnknown_8198B81 +FuchsiaCity_Gym_EventScript_GymStatuePostVictory:: @ 816D6BB + msgbox FuchsiaCity_Gym_Text_GymStatuePlayerWon releaseall end diff --git a/data/maps/FuchsiaCity_Gym/text.inc b/data/maps/FuchsiaCity_Gym/text.inc index cb5ce932e..2bfe9e53f 100644 --- a/data/maps/FuchsiaCity_Gym/text.inc +++ b/data/maps/FuchsiaCity_Gym/text.inc @@ -1,4 +1,4 @@ -Text_19832E:: @ 819832E +FuchsiaCity_Gym_Text_KogaIntro:: @ 819832E .string "KOGA: Fwahahaha!\p" .string "A mere child like you dares to\n" .string "challenge me?\p" @@ -11,20 +11,20 @@ Text_19832E:: @ 819832E .string "Despair to the creeping horror of\n" .string "POISON-type POKéMON!{PLAY_BGM}{MUS_EXEYE}$" -Text_198444:: @ 8198444 +FuchsiaCity_Gym_Text_KogaDefeat:: @ 8198444 .string "Humph!\n" .string "You have proven your worth!\p" .string "Here!\n" .string "Take the SOULBADGE!$" -gUnknown_8198481:: @ 8198481 +FuchsiaCity_Gym_Text_KogaPostBattle:: @ 8198481 .string "When afflicted by TOXIC, a POKéMON\n" .string "suffers more and more.\p" .string "It suffers worsening damage as the\n" .string "battle wears on!\p" .string "It will surely terrorize foes!$" -gUnknown_819850E:: @ 819850E +FuchsiaCity_Gym_Text_KogaExplainSoulBadge:: @ 819850E .string "Now that you have the SOULBADGE,\n" .string "the DEFENSE of your POKéMON rises.\p" .string "It also lets you SURF outside of\n" @@ -32,103 +32,103 @@ gUnknown_819850E:: @ 819850E .string "Ah!\n" .string "Take this, too!$" -gUnknown_819858F:: @ 819858F +FuchsiaCity_Gym_Text_ReceivedTM06FromKoga:: @ 819858F .string "{PLAYER} received TM06\n" .string "from KOGA.$" -gUnknown_81985AB:: @ 81985AB +FuchsiaCity_Gym_Text_KogaExplainTM06:: @ 81985AB .string "Sealed within that TM06 lies\n" .string "TOXIC!\p" .string "It is a secret technique dating\n" .string "back some four hundred years.$" -gUnknown_819860D:: @ 819860D +FuchsiaCity_Gym_Text_MakeSpaceForThis:: @ 819860D .string "Make space for this, child!$" -Text_198629:: @ 8198629 +FuchsiaCity_Gym_Text_KaydenIntro:: @ 8198629 .string "Strength isn't the key for POKéMON.\n" .string "Do you understand this?\p" .string "POKéMON is about strategy!\p" .string "I'll show you how strategy can\n" .string "beat brute strength.$" -Text_1986B4:: @ 81986B4 +FuchsiaCity_Gym_Text_KaydenDefeat:: @ 81986B4 .string "What?\n" .string "Extraordinary!$" -gUnknown_81986C9:: @ 81986C9 +FuchsiaCity_Gym_Text_KaydenPostBattle:: @ 81986C9 .string "So, you mix brawn with brains?\n" .string "Good strategy!\p" .string "That's remarkable for a child\n" .string "TRAINER.$" -Text_19871E:: @ 819871E +FuchsiaCity_Gym_Text_KirkIntro:: @ 819871E .string "I was a magician once upon a time.\p" .string "But I dreamt of becoming a ninja,\n" .string "so I joined this GYM.$" -Text_198779:: @ 8198779 +FuchsiaCity_Gym_Text_KirkDefeat:: @ 8198779 .string "I'm done for!$" -gUnknown_8198787:: @ 8198787 +FuchsiaCity_Gym_Text_KirkPostBattle:: @ 8198787 .string "Even though I've lost, I will keep\n" .string "training according to the teachings\l" .string "of KOGA, my ninja master.$" -Text_1987E8:: @ 81987E8 +FuchsiaCity_Gym_Text_NateIntro:: @ 81987E8 .string "Let's see you beat my special\n" .string "techniques!$" -Text_198812:: @ 8198812 +FuchsiaCity_Gym_Text_NateDefeat:: @ 8198812 .string "You had me fooled!$" -gUnknown_8198825:: @ 8198825 +FuchsiaCity_Gym_Text_NatePostBattle:: @ 8198825 .string "I like poison and sleep techniques,\n" .string "as they linger after battle!$" -Text_198866:: @ 8198866 +FuchsiaCity_Gym_Text_PhilIntro:: @ 8198866 .string "Stop right there!\p" .string "The famed invisible walls of\n" .string "FUCHSIA GYM have you frustrated?$" -Text_1988B6:: @ 81988B6 +FuchsiaCity_Gym_Text_PhilDefeat:: @ 81988B6 .string "Whoa!\n" .string "You've got it!$" -gUnknown_81988CB:: @ 81988CB +FuchsiaCity_Gym_Text_PhilPostBattle:: @ 81988CB .string "You impressed me!\n" .string "Here's a hint!\p" .string "Look very closely for gaps in the\n" .string "invisible walls!$" -Text_19891F:: @ 819891F +FuchsiaCity_Gym_Text_EdgarIntro:: @ 819891F .string "I also study the way of the ninja\n" .string "with Master KOGA!\p" .string "Ninja have a long history of using\n" .string "animals!$" -Text_19897F:: @ 819897F +FuchsiaCity_Gym_Text_EdgarDefeat:: @ 819897F .string "Awoo!$" -gUnknown_8198985:: @ 8198985 +FuchsiaCity_Gym_Text_EdgarPostBattle:: @ 8198985 .string "I still have much to learn.$" -Text_1989A1:: @ 81989A1 +FuchsiaCity_Gym_Text_ShawnIntro:: @ 81989A1 .string "Master KOGA comes from a long line\n" .string "of ninjas.\p" .string "What did you descend from?$" -Text_1989EA:: @ 81989EA +FuchsiaCity_Gym_Text_ShawnDefeat:: @ 81989EA .string "You're more skilled than I'd\n" .string "thought!$" -gUnknown_8198A10:: @ 8198A10 +FuchsiaCity_Gym_Text_ShawnPostBattle:: @ 8198A10 .string "Where there is light, there is\n" .string "shadow!\p" .string "Light and shadow!\n" .string "Which do you choose?$" -gUnknown_8198A5E:: @ 8198A5E +FuchsiaCity_Gym_Text_GymGuyAdvice:: @ 8198A5E .string "Yo!\n" .string "Champ in the making!\p" .string "FUCHSIA GYM is a tricked-up place.\n" @@ -138,17 +138,17 @@ gUnknown_8198A5E:: @ 8198A5E .string "You have to find gaps in the walls\n" .string "to reach him.$" -gUnknown_8198B1D:: @ 8198B1D +FuchsiaCity_Gym_Text_GymGuyPostVictory:: @ 8198B1D .string "It's amazing how ninja can terrify,\n" .string "even now!$" -gUnknown_8198B4B:: @ 8198B4B +FuchsiaCity_Gym_Text_GymStatue:: @ 8198B4B .string "FUCHSIA POKéMON GYM\n" .string "LEADER: KOGA\p" .string "WINNING TRAINERS:\n" .string "{RIVAL}$" -gUnknown_8198B81:: @ 8198B81 +FuchsiaCity_Gym_Text_GymStatuePlayerWon:: @ 8198B81 .string "FUCHSIA POKéMON GYM\n" .string "LEADER: KOGA\p" .string "WINNING TRAINERS:\n" diff --git a/data/maps/FuchsiaCity_House1/map.json b/data/maps/FuchsiaCity_House1/map.json index 60a811b30..dea412ed2 100644 --- a/data/maps/FuchsiaCity_House1/map.json +++ b/data/maps/FuchsiaCity_House1/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_House1_EventScript_16D6CF", + "script": "FuchsiaCity_House1_EventScript_OldMan", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_House1_EventScript_16D6C6", + "script": "FuchsiaCity_House1_EventScript_Woman", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_House1_EventScript_16D6E8", + "script": "FuchsiaCity_House1_EventScript_LittleBoy", "flag": "0" } ], diff --git a/data/maps/FuchsiaCity_House1/scripts.inc b/data/maps/FuchsiaCity_House1/scripts.inc index dc32f78c4..2aa53b9fe 100644 --- a/data/maps/FuchsiaCity_House1/scripts.inc +++ b/data/maps/FuchsiaCity_House1/scripts.inc @@ -1,18 +1,18 @@ FuchsiaCity_House1_MapScripts:: @ 816D6C5 .byte 0 -FuchsiaCity_House1_EventScript_16D6C6:: @ 816D6C6 - msgbox gUnknown_8198BBB, MSGBOX_NPC +FuchsiaCity_House1_EventScript_Woman:: @ 816D6C6 + msgbox FuchsiaCity_House1_Text_WardenIsOldHasFalseTeeth, MSGBOX_NPC end -FuchsiaCity_House1_EventScript_16D6CF:: @ 816D6CF +FuchsiaCity_House1_EventScript_OldMan:: @ 816D6CF lock faceplayer famechecker FAMECHECKER_BILL, 2 - msgbox gUnknown_8198C1F + msgbox FuchsiaCity_House1_Text_BillIsMyGrandson release end -FuchsiaCity_House1_EventScript_16D6E8:: @ 816D6E8 - msgbox gUnknown_8198C7B, MSGBOX_NPC +FuchsiaCity_House1_EventScript_LittleBoy:: @ 816D6E8 + msgbox FuchsiaCity_House1_Text_BillFilesHisOwnMonData, MSGBOX_NPC end diff --git a/data/maps/FuchsiaCity_House1/text.inc b/data/maps/FuchsiaCity_House1/text.inc index e34e5d19e..6d1b399aa 100644 --- a/data/maps/FuchsiaCity_House1/text.inc +++ b/data/maps/FuchsiaCity_House1/text.inc @@ -1,16 +1,16 @@ -gUnknown_8198BBB:: @ 8198BBB +FuchsiaCity_House1_Text_WardenIsOldHasFalseTeeth:: @ 8198BBB .string "The SAFARI ZONE's WARDEN is old, \n" .string "but he's still very much active.\p" .string "All his teeth are false, though.$" -gUnknown_8198C1F:: @ 8198C1F +FuchsiaCity_House1_Text_BillIsMyGrandson:: @ 8198C1F .string "Hmm?\n" .string "You've met BILL?\p" .string "He's my grandson!\p" .string "He always liked collecting things,\n" .string "even as a child!$" -gUnknown_8198C7B:: @ 8198C7B +FuchsiaCity_House1_Text_BillFilesHisOwnMonData:: @ 8198C7B .string "BILL files his own POKéMON data on\n" .string "his PC.\p" .string "Did he show you?$" diff --git a/data/maps/FuchsiaCity_House2/map.json b/data/maps/FuchsiaCity_House2/map.json index 06be2ceca..ff4c45b1c 100644 --- a/data/maps/FuchsiaCity_House2/map.json +++ b/data/maps/FuchsiaCity_House2/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_House2_EventScript_16D817", + "script": "FuchsiaCity_House2_EventScript_FishingGurusBrother", "flag": "0" } ], diff --git a/data/maps/FuchsiaCity_House2/scripts.inc b/data/maps/FuchsiaCity_House2/scripts.inc index 95e481963..0e624d5d4 100644 --- a/data/maps/FuchsiaCity_House2/scripts.inc +++ b/data/maps/FuchsiaCity_House2/scripts.inc @@ -1,34 +1,34 @@ FuchsiaCity_House2_MapScripts:: @ 816D816 .byte 0 -FuchsiaCity_House2_EventScript_16D817:: @ 816D817 +FuchsiaCity_House2_EventScript_FishingGurusBrother:: @ 816D817 lock faceplayer - goto_if_set FLAG_GOT_GOOD_ROD, EventScript_16D83F - msgbox gUnknown_819918E, MSGBOX_YESNO + goto_if_set FLAG_GOT_GOOD_ROD, FuchsiaCity_House2_EventScript_AlreadyGotGoodRod + msgbox FuchsiaCity_House2_Text_DoYouLikeToFish, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_16D849 - msgbox gUnknown_8199337 + goto_if_eq FuchsiaCity_House2_EventScript_GiveGoodRod + msgbox FuchsiaCity_House2_Text_OhThatsDisappointing release end -EventScript_16D83F:: @ 816D83F - msgbox gUnknown_8199354 +FuchsiaCity_House2_EventScript_AlreadyGotGoodRod:: @ 816D83F + msgbox FuchsiaCity_House2_Text_HowAreTheFishBiting release end -EventScript_16D849:: @ 816D849 - msgbox gUnknown_8199207 +FuchsiaCity_House2_EventScript_GiveGoodRod:: @ 816D849 + msgbox FuchsiaCity_House2_Text_LikeYourStyleTakeThis checkitemspace ITEM_GOOD_ROD, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16D88A - giveitem_msg gUnknown_819925E, ITEM_GOOD_ROD - msgbox gUnknown_8199296 + goto_if_eq FuchsiaCity_House2_EventScript_NoRoomForGoodRod + giveitem_msg FuchsiaCity_House2_Text_ReceivedGoodRod, ITEM_GOOD_ROD + msgbox FuchsiaCity_House2_Text_GoodRodCanCatchBetterMons setflag FLAG_GOT_GOOD_ROD release end -EventScript_16D88A:: @ 816D88A - msgbox gUnknown_819937E +FuchsiaCity_House2_EventScript_NoRoomForGoodRod:: @ 816D88A + msgbox FuchsiaCity_House2_Text_YouHaveNoRoomForGift release end diff --git a/data/maps/FuchsiaCity_House2/text.inc b/data/maps/FuchsiaCity_House2/text.inc index bf425f98e..b4cfbd13c 100644 --- a/data/maps/FuchsiaCity_House2/text.inc +++ b/data/maps/FuchsiaCity_House2/text.inc @@ -1,20 +1,20 @@ -gUnknown_819918E:: @ 819918E +FuchsiaCity_House2_Text_DoYouLikeToFish:: @ 819918E .string "I'm the FISHING GURU's older\n" .string "brother.\p" .string "I simply looove fishing!\n" .string "I can't bear to go without.\p" .string "Tell me, do you like to fish?$" -gUnknown_8199207:: @ 8199207 +FuchsiaCity_House2_Text_LikeYourStyleTakeThis:: @ 8199207 .string "Grand! I like your style.\n" .string "I think we can be friends.\p" .string "Take this and fish, young friend!$" -gUnknown_819925E:: @ 819925E +FuchsiaCity_House2_Text_ReceivedGoodRod:: @ 819925E .string "{PLAYER} received a GOOD ROD from\n" .string "the FISHING GURU's brother.$" -gUnknown_8199296:: @ 8199296 +FuchsiaCity_House2_Text_GoodRodCanCatchBetterMons:: @ 8199296 .string "Fishing is a way of life!\n" .string "It is like the finest poetry.\p" .string "A crummy OLD ROD could only catch\n" @@ -22,15 +22,15 @@ gUnknown_8199296:: @ 8199296 .string "But with a GOOD ROD, you can\n" .string "catch much better POKéMON.$" -gUnknown_8199337:: @ 8199337 +FuchsiaCity_House2_Text_OhThatsDisappointing:: @ 8199337 .string "Oh…\n" .string "That's so disappointing…$" -gUnknown_8199354:: @ 8199354 +FuchsiaCity_House2_Text_HowAreTheFishBiting:: @ 8199354 .string "Hello there, {PLAYER}!\p" .string "How are the fish biting?$" -gUnknown_819937E:: @ 819937E +FuchsiaCity_House2_Text_YouHaveNoRoomForGift:: @ 819937E .string "Oh, no!\p" .string "I had a gift for you, but you have\n" .string "no room for it!$" diff --git a/data/maps/FuchsiaCity_House3/map.json b/data/maps/FuchsiaCity_House3/map.json index d5a729342..688224b15 100644 --- a/data/maps/FuchsiaCity_House3/map.json +++ b/data/maps/FuchsiaCity_House3/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_House3_EventScript_16D895", + "script": "FuchsiaCity_House3_EventScript_MoveDeleter", "flag": "0" } ], diff --git a/data/maps/FuchsiaCity_House3/scripts.inc b/data/maps/FuchsiaCity_House3/scripts.inc index 5eb556a79..5af270538 100644 --- a/data/maps/FuchsiaCity_House3/scripts.inc +++ b/data/maps/FuchsiaCity_House3/scripts.inc @@ -1,60 +1,60 @@ FuchsiaCity_House3_MapScripts:: @ 816D894 .byte 0 -FuchsiaCity_House3_EventScript_16D895:: @ 816D895 +FuchsiaCity_House3_EventScript_MoveDeleter:: @ 816D895 lock faceplayer - msgbox gUnknown_81993B9, MSGBOX_YESNO + msgbox FuchsiaCity_House3_Text_WouldYouLikeToForgetMove, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_16D8B0 - goto EventScript_16D941 + goto_if_eq FuchsiaCity_House3_EventScript_ChooseMonForMoveDeleter + goto FuchsiaCity_House3_EventScript_CancelForgetMove end -EventScript_16D8B0:: @ 816D8B0 - msgbox gUnknown_8199421 +FuchsiaCity_House3_EventScript_ChooseMonForMoveDeleter:: @ 816D8B0 + msgbox FuchsiaCity_House3_Text_WhichMonShouldForgetMove special Special_ChooseMonFromParty waitstate - compare VAR_0x8004, 6 - goto_if_ge EventScript_16D941 + compare VAR_0x8004, PARTY_SIZE + goto_if_ge FuchsiaCity_House3_EventScript_CancelForgetMove special Special_IsSelectedMonEgg - compare VAR_RESULT, 1 - goto_if_eq EventScript_16D937 + compare VAR_RESULT, TRUE + goto_if_eq FuchsiaCity_House3_EventScript_CantForgetMoveEgg special Special_GetNumMovesSelectedMonHas compare VAR_RESULT, 1 - goto_if_eq EventScript_16D92A - msgbox gUnknown_8199445 + goto_if_eq FuchsiaCity_House3_EventScript_CantForgetOnlyMove + msgbox FuchsiaCity_House3_Text_WhichMoveShouldBeForgotten fadescreen FADE_TO_BLACK special Special_SelectMove fadescreen FADE_FROM_BLACK - compare VAR_0x8005, 4 - goto_if_eq EventScript_16D8B0 + compare VAR_0x8005, MAX_MON_MOVES + goto_if_eq FuchsiaCity_House3_EventScript_ChooseMonForMoveDeleter special Special_BufferMoveDeleterNicknameAndMove - msgbox gUnknown_8199485, MSGBOX_YESNO + msgbox FuchsiaCity_House3_Text_MonsMoveShouldBeForgotten, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_16D919 - goto EventScript_16D941 + goto_if_eq FuchsiaCity_House3_EventScript_ForgetMove + goto FuchsiaCity_House3_EventScript_CancelForgetMove end -EventScript_16D919:: @ 816D919 +FuchsiaCity_House3_EventScript_ForgetMove:: @ 816D919 special Special_MoveDeleterForgetMove playfanfare MUS_ME_WASURE waitfanfare - msgbox gUnknown_81994B1 + msgbox FuchsiaCity_House3_Text_MonHasForgottenMoveCompletely release end -EventScript_16D92A:: @ 816D92A +FuchsiaCity_House3_EventScript_CantForgetOnlyMove:: @ 816D92A special Special_BufferMoveDeleterNicknameAndMove - msgbox gUnknown_8199465 + msgbox FuchsiaCity_House3_Text_MonOnlyKnowsOneMove release end -EventScript_16D937:: @ 816D937 - msgbox gUnknown_819951F +FuchsiaCity_House3_EventScript_CantForgetMoveEgg:: @ 816D937 + msgbox FuchsiaCity_House3_Text_NoEggShouldKnowMoves release end -EventScript_16D941:: @ 816D941 - msgbox gUnknown_81994EA +FuchsiaCity_House3_EventScript_CancelForgetMove:: @ 816D941 + msgbox FuchsiaCity_House3_Text_ComeAgainToForgetOtherMoves release end diff --git a/data/maps/FuchsiaCity_House3/text.inc b/data/maps/FuchsiaCity_House3/text.inc index e4fbd2f6a..9748c7a3d 100644 --- a/data/maps/FuchsiaCity_House3/text.inc +++ b/data/maps/FuchsiaCity_House3/text.inc @@ -1,35 +1,35 @@ -gUnknown_81993B9:: @ 81993B9 +FuchsiaCity_House3_Text_WouldYouLikeToForgetMove:: @ 81993B9 .string "Uh…\n" .string "Oh, yes, I'm the MOVE DELETER.\p" .string "I can make POKéMON forget their\n" .string "moves.\p" .string "Would you like me to do that?$" -gUnknown_8199421:: @ 8199421 +FuchsiaCity_House3_Text_WhichMonShouldForgetMove:: @ 8199421 .string "Which POKéMON should forget a\n" .string "move?$" -gUnknown_8199445:: @ 8199445 +FuchsiaCity_House3_Text_WhichMoveShouldBeForgotten:: @ 8199445 .string "Which move should be forgotten?$" -gUnknown_8199465:: @ 8199465 +FuchsiaCity_House3_Text_MonOnlyKnowsOneMove:: @ 8199465 .string "{STR_VAR_1} seems to know only one\n" .string "move…$" -gUnknown_8199485:: @ 8199485 +FuchsiaCity_House3_Text_MonsMoveShouldBeForgotten:: @ 8199485 .string "Hm! {STR_VAR_1}'s {STR_VAR_2}?\n" .string "That move should be forgotten?$" -gUnknown_81994B1:: @ 81994B1 +FuchsiaCity_House3_Text_MonHasForgottenMoveCompletely:: @ 81994B1 .string "It worked to perfection!\p" .string "{STR_VAR_1} has forgotten\n" .string "{STR_VAR_2} completely.$" -gUnknown_81994EA:: @ 81994EA +FuchsiaCity_House3_Text_ComeAgainToForgetOtherMoves:: @ 81994EA .string "Come again if there are other\n" .string "moves to be forgotten.$" -gUnknown_819951F:: @ 819951F +FuchsiaCity_House3_Text_NoEggShouldKnowMoves:: @ 819951F .string "What?\n" .string "No EGG should know any moves.$" diff --git a/data/maps/FuchsiaCity_Mart/map.json b/data/maps/FuchsiaCity_Mart/map.json index 00852040b..43a38c753 100644 --- a/data/maps/FuchsiaCity_Mart/map.json +++ b/data/maps/FuchsiaCity_Mart/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_Mart_EventScript_16D4F3", + "script": "FuchsiaCity_Mart_EventScript_Clerk", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_Mart_EventScript_16D4EA", + "script": "FuchsiaCity_Mart_EventScript_Gentleman", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_Mart_EventScript_16D4E1", + "script": "FuchsiaCity_Mart_EventScript_CooltrainerF", "flag": "0" } ], diff --git a/data/maps/FuchsiaCity_Mart/scripts.inc b/data/maps/FuchsiaCity_Mart/scripts.inc index 631be4033..4a62ef9db 100644 --- a/data/maps/FuchsiaCity_Mart/scripts.inc +++ b/data/maps/FuchsiaCity_Mart/scripts.inc @@ -1,27 +1,27 @@ FuchsiaCity_Mart_MapScripts:: @ 816D4E0 .byte 0 -FuchsiaCity_Mart_EventScript_16D4E1:: @ 816D4E1 - msgbox gUnknown_8198134, MSGBOX_NPC +FuchsiaCity_Mart_EventScript_CooltrainerF:: @ 816D4E1 + msgbox FuchsiaCity_Mart_Text_DidYouTryXSpeed, MSGBOX_NPC end -FuchsiaCity_Mart_EventScript_16D4EA:: @ 816D4EA - msgbox gUnknown_81980BC, MSGBOX_NPC +FuchsiaCity_Mart_EventScript_Gentleman:: @ 816D4EA + msgbox FuchsiaCity_Mart_Text_DontTheyHaveSafariZonePennants, MSGBOX_NPC end -FuchsiaCity_Mart_EventScript_16D4F3:: @ 816D4F3 +FuchsiaCity_Mart_EventScript_Clerk:: @ 816D4F3 goto_if_questlog EventScript_ReleaseEnd lock faceplayer message Text_MayIHelpYou waitmessage - pokemart Items_16D518 + pokemart FuchsiaCity_Mart_Items msgbox Text_PleaseComeAgain release end .align 2 -Items_16D518:: @ 816D518 +FuchsiaCity_Mart_Items:: @ 816D518 .2byte ITEM_ULTRA_BALL .2byte ITEM_GREAT_BALL .2byte ITEM_SUPER_POTION diff --git a/data/maps/FuchsiaCity_Mart/text.inc b/data/maps/FuchsiaCity_Mart/text.inc index 69f9bc5f8..6bac5b484 100644 --- a/data/maps/FuchsiaCity_Mart/text.inc +++ b/data/maps/FuchsiaCity_Mart/text.inc @@ -1,10 +1,10 @@ -gUnknown_81980BC:: @ 81980BC +FuchsiaCity_Mart_Text_DontTheyHaveSafariZonePennants:: @ 81980BC .string "Don't they have any pennants\n" .string "promoting the SAFARI ZONE?\p" .string "How about some paper lanterns?\n" .string "Aren't there even any calendars?$" -gUnknown_8198134:: @ 8198134 +FuchsiaCity_Mart_Text_DidYouTryXSpeed:: @ 8198134 .string "Did you try X SPEED?\n" .string "It speeds up a POKéMON in battle.$" diff --git a/data/maps/FuchsiaCity_PokemonCenter_1F/map.json b/data/maps/FuchsiaCity_PokemonCenter_1F/map.json index d2e1eee01..9cc66692f 100644 --- a/data/maps/FuchsiaCity_PokemonCenter_1F/map.json +++ b/data/maps/FuchsiaCity_PokemonCenter_1F/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_PokemonCenter_1F_EventScript_16D700", + "script": "FuchsiaCity_PokemonCenter_1F_EventScript_Nurse", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_PokemonCenter_1F_EventScript_16D709", + "script": "FuchsiaCity_PokemonCenter_1F_EventScript_Man", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_PokemonCenter_1F_EventScript_16D712", + "script": "FuchsiaCity_PokemonCenter_1F_EventScript_CooltrainerF", "flag": "0" }, { @@ -62,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_PokemonCenter_1F_EventScript_16D71B", + "script": "FuchsiaCity_PokemonCenter_1F_EventScript_Youngster", "flag": "0" } ], diff --git a/data/maps/FuchsiaCity_PokemonCenter_1F/scripts.inc b/data/maps/FuchsiaCity_PokemonCenter_1F/scripts.inc index 428305d1c..abcd80e57 100644 --- a/data/maps/FuchsiaCity_PokemonCenter_1F/scripts.inc +++ b/data/maps/FuchsiaCity_PokemonCenter_1F/scripts.inc @@ -7,21 +7,21 @@ FuchsiaCity_PokemonCenter_1F_OnTransition:: @ 816D6FC setrespawn SPAWN_FUCHSIA_CITY end -FuchsiaCity_PokemonCenter_1F_EventScript_16D700:: @ 816D700 +FuchsiaCity_PokemonCenter_1F_EventScript_Nurse:: @ 816D700 lock faceplayer call EventScript_PkmnCenterNurse release end -FuchsiaCity_PokemonCenter_1F_EventScript_16D709:: @ 816D709 - msgbox gUnknown_8198CB7, MSGBOX_NPC +FuchsiaCity_PokemonCenter_1F_EventScript_Man:: @ 816D709 + msgbox FuchsiaCity_PokemonCenter_1F_Text_CantBecomeGoodTrainerWithOneMon, MSGBOX_NPC end -FuchsiaCity_PokemonCenter_1F_EventScript_16D712:: @ 816D712 - msgbox gUnknown_8198D2E, MSGBOX_NPC +FuchsiaCity_PokemonCenter_1F_EventScript_CooltrainerF:: @ 816D712 + msgbox FuchsiaCity_PokemonCenter_1F_Text_PokemonLeagueWestOfViridian, MSGBOX_NPC end -FuchsiaCity_PokemonCenter_1F_EventScript_16D71B:: @ 816D71B - msgbox gUnknown_8198D9B, MSGBOX_NPC +FuchsiaCity_PokemonCenter_1F_EventScript_Youngster:: @ 816D71B + msgbox FuchsiaCity_PokemonCenter_1F_Text_VisitSafariZoneForPokedex, MSGBOX_NPC end diff --git a/data/maps/FuchsiaCity_PokemonCenter_1F/text.inc b/data/maps/FuchsiaCity_PokemonCenter_1F/text.inc index 7d3a627be..4d5deb734 100644 --- a/data/maps/FuchsiaCity_PokemonCenter_1F/text.inc +++ b/data/maps/FuchsiaCity_PokemonCenter_1F/text.inc @@ -1,16 +1,16 @@ -gUnknown_8198CB7:: @ 8198CB7 +FuchsiaCity_PokemonCenter_1F_Text_CantBecomeGoodTrainerWithOneMon:: @ 8198CB7 .string "You can't become a good TRAINER\n" .string "with just one strong POKéMON.\p" .string "But raising many POKéMON evenly\n" .string "is no easy task, either.$" -gUnknown_8198D2E:: @ 8198D2E +FuchsiaCity_PokemonCenter_1F_Text_PokemonLeagueWestOfViridian:: @ 8198D2E .string "There's a narrow trail west of\n" .string "VIRIDIAN CITY.\p" .string "It goes to the POKéMON LEAGUE HQ.\n" .string "The HQ governs all TRAINERS.$" -gUnknown_8198D9B:: @ 8198D9B +FuchsiaCity_PokemonCenter_1F_Text_VisitSafariZoneForPokedex:: @ 8198D9B .string "If you're working on a POKéDEX,\n" .string "visit the SAFARI ZONE.\p" .string "All sorts of rare POKéMON breed\n" diff --git a/data/maps/FuchsiaCity_SafariZone_Entrance/map.json b/data/maps/FuchsiaCity_SafariZone_Entrance/map.json index b4b0e9f82..04d51dae8 100644 --- a/data/maps/FuchsiaCity_SafariZone_Entrance/map.json +++ b/data/maps/FuchsiaCity_SafariZone_Entrance/map.json @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_SafariZone_Entrance_EventScript_16D4B7", + "script": "FuchsiaCity_SafariZone_Entrance_EventScript_InfoAttendant", "flag": "0" } ], @@ -78,7 +78,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 0, - "script": "FuchsiaCity_SafariZone_Entrance_EventScript_16D36D" + "script": "FuchsiaCity_SafariZone_Entrance_EventScript_EntryTriggerMid" }, { "type": "trigger", @@ -87,7 +87,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 0, - "script": "FuchsiaCity_SafariZone_Entrance_EventScript_16D379" + "script": "FuchsiaCity_SafariZone_Entrance_EventScript_EntryTriggerRight" }, { "type": "trigger", @@ -96,7 +96,7 @@ "elevation": 3, "var": "VAR_TEMP_1", "var_value": 0, - "script": "FuchsiaCity_SafariZone_Entrance_EventScript_16D385" + "script": "FuchsiaCity_SafariZone_Entrance_EventScript_EntryTriggerLeft" } ], "bg_events": [] diff --git a/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc b/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc index e4ec53ca7..863ddbd48 100644 --- a/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc +++ b/data/maps/FuchsiaCity_SafariZone_Entrance/scripts.inc @@ -3,210 +3,213 @@ FuchsiaCity_SafariZone_Entrance_MapScripts:: @ 816D2A8 .byte 0 FuchsiaCity_SafariZone_Entrance_OnFrame:: @ 816D2AE - map_script_2 VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 1, EventScript_16D2F2 - map_script_2 VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 2, EventScript_16D312 - map_script_2 VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 3, EventScript_16D2C8 + map_script_2 VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 1, FuchsiaCity_SafariZone_Entrance_EventScript_ExitWarpIn + map_script_2 VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 2, FuchsiaCity_SafariZone_Entrance_EventScript_ExitEarly + map_script_2 VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 3, FuchsiaCity_SafariZone_Entrance_EventScript_ExitWalkIn .2byte 0 -EventScript_16D2C8:: @ 816D2C8 +@ When player runs out of balls mid-battle +FuchsiaCity_SafariZone_Entrance_EventScript_ExitWalkIn:: @ 816D2C8 lockall textcolor 0 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16D36A + applymovement OBJ_EVENT_ID_PLAYER, FuchsiaCity_SafariZone_Entrance_Movement_ApproachCounter waitmovement 0 - msgbox gUnknown_8197E85 + msgbox FuchsiaCity_SafariZone_Entrance_Text_CatchFairShareComeAgain closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_16D367 + applymovement OBJ_EVENT_ID_PLAYER, FuchsiaCity_SafariZone_Entrance_Movement_Exit2 waitmovement 0 special ExitSafariMode setvar VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 0 releaseall end -EventScript_16D2F2:: @ 816D2F2 +@ When player runs of out balls after catching a pokemon, or runs out of steps +FuchsiaCity_SafariZone_Entrance_EventScript_ExitWarpIn:: @ 816D2F2 lockall textcolor 0 - msgbox gUnknown_8197E85 + msgbox FuchsiaCity_SafariZone_Entrance_Text_CatchFairShareComeAgain closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_16D362 + applymovement OBJ_EVENT_ID_PLAYER, FuchsiaCity_SafariZone_Entrance_Movement_Exit waitmovement 0 special ExitSafariMode setvar VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 0 releaseall end -EventScript_16D312:: @ 816D312 +@ When player re-enters the entrance building with balls/steps remaining +FuchsiaCity_SafariZone_Entrance_EventScript_ExitEarly:: @ 816D312 lockall textcolor 0 - msgbox gUnknown_8197E1A, MSGBOX_YESNO + msgbox FuchsiaCity_SafariZone_Entrance_Text_GoingToLeaveSafariZoneEarly, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16D345 - msgbox gUnknown_8197E48 + goto_if_eq FuchsiaCity_SafariZone_Entrance_EventScript_ReturnToSafariZone + msgbox FuchsiaCity_SafariZone_Entrance_Text_PleaseReturnSafariBalls closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_16D362 + applymovement OBJ_EVENT_ID_PLAYER, FuchsiaCity_SafariZone_Entrance_Movement_Exit waitmovement 0 special ExitSafariMode setvar VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 0 releaseall end -EventScript_16D345:: @ 816D345 - msgbox gUnknown_8197E7A +FuchsiaCity_SafariZone_Entrance_EventScript_ReturnToSafariZone:: @ 816D345 + msgbox FuchsiaCity_SafariZone_Entrance_Text_GoodLuck closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_16D365 + applymovement OBJ_EVENT_ID_PLAYER, FuchsiaCity_SafariZone_Entrance_Movement_ReEnter waitmovement 0 warp MAP_SAFARI_ZONE_CENTER, 255, 26, 30 waitstate end -Movement_16D362:: @ 816D362 +FuchsiaCity_SafariZone_Entrance_Movement_Exit:: @ 816D362 walk_down walk_down step_end -Movement_16D365:: @ 816D365 +FuchsiaCity_SafariZone_Entrance_Movement_ReEnter:: @ 816D365 walk_up step_end -Movement_16D367:: @ 816D367 +FuchsiaCity_SafariZone_Entrance_Movement_Exit2:: @ 816D367 walk_down walk_down step_end -Movement_16D36A:: @ 816D36A +FuchsiaCity_SafariZone_Entrance_Movement_ApproachCounter:: @ 816D36A walk_down delay_8 step_end -FuchsiaCity_SafariZone_Entrance_EventScript_16D36D:: @ 816D36D +FuchsiaCity_SafariZone_Entrance_EventScript_EntryTriggerMid:: @ 816D36D lockall setvar VAR_TEMP_2, 0 - goto EventScript_16D391 + goto FuchsiaCity_SafariZone_Entrance_EventScript_AskEnterSafariZone end -FuchsiaCity_SafariZone_Entrance_EventScript_16D379:: @ 816D379 +FuchsiaCity_SafariZone_Entrance_EventScript_EntryTriggerRight:: @ 816D379 lockall setvar VAR_TEMP_2, 1 - goto EventScript_16D391 + goto FuchsiaCity_SafariZone_Entrance_EventScript_AskEnterSafariZone end -FuchsiaCity_SafariZone_Entrance_EventScript_16D385:: @ 816D385 +FuchsiaCity_SafariZone_Entrance_EventScript_EntryTriggerLeft:: @ 816D385 lockall setvar VAR_TEMP_2, 2 - goto EventScript_16D391 + goto FuchsiaCity_SafariZone_Entrance_EventScript_AskEnterSafariZone end -EventScript_16D391:: @ 816D391 +FuchsiaCity_SafariZone_Entrance_EventScript_AskEnterSafariZone:: @ 816D391 textcolor 0 - msgbox gUnknown_8197C6B + msgbox FuchsiaCity_SafariZone_Entrance_Text_WelcomeToSafariZone applymovement OBJ_EVENT_ID_PLAYER, Movement_WalkInPlaceFastestRight waitmovement 0 showmoneybox 0, 0, 0 - msgbox gUnknown_8197C87, MSGBOX_YESNO + msgbox FuchsiaCity_SafariZone_Entrance_Text_PlaySafariGameFor500, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_16D3CA - msgbox gUnknown_8197DE9 - goto EventScript_16D49A + goto_if_eq FuchsiaCity_SafariZone_Entrance_EventScript_TryEnterSafariZone + msgbox FuchsiaCity_SafariZone_Entrance_Text_OkayPleaseComeAgain + goto FuchsiaCity_SafariZone_Entrance_EventScript_ForcePlayerBack end -EventScript_16D3CA:: @ 816D3CA - call EventScript_16D462 +FuchsiaCity_SafariZone_Entrance_EventScript_TryEnterSafariZone:: @ 816D3CA + call FuchsiaCity_SafariZone_Entrance_EventScript_CheckSpaceForMons checkmoney 500, 0 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16D48C + goto_if_eq FuchsiaCity_SafariZone_Entrance_EventScript_NotEnoughMoney removemoney 500, 0 updatemoneybox 0, 0, 0 - msgbox gUnknown_8197D07 + msgbox FuchsiaCity_SafariZone_Entrance_Text_ThatllBe500WeOnlyUseSpecialBalls textcolor 3 playfanfare MUS_FANFA1 - message Text_197D50 + message FuchsiaCity_SafariZone_Entrance_Text_PlayerReceived30SafariBalls waitfanfare call EventScript_1A6675 - msgbox gUnknown_8197D80 + msgbox FuchsiaCity_SafariZone_Entrance_Text_CallYouOnPAWhenYouRunOut closemessage hidemoneybox 0, 0 compare VAR_TEMP_2, 0 - call_if_eq EventScript_16D44C + call_if_eq FuchsiaCity_SafariZone_Entrance_EventScript_EnterSafariZoneMid compare VAR_TEMP_2, 1 - call_if_eq EventScript_16D441 + call_if_eq FuchsiaCity_SafariZone_Entrance_EventScript_EnterSafariZoneRight compare VAR_TEMP_2, 2 - call_if_eq EventScript_16D457 + call_if_eq FuchsiaCity_SafariZone_Entrance_EventScript_EnterSafariZoneLeft special EnterSafariMode setvar VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 2 warp MAP_SAFARI_ZONE_CENTER, 255, 26, 30 waitstate end -EventScript_16D441:: @ 816D441 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16D4AF +FuchsiaCity_SafariZone_Entrance_EventScript_EnterSafariZoneRight:: @ 816D441 + applymovement OBJ_EVENT_ID_PLAYER, FuchsiaCity_SafariZone_Entrance_Movement_EnterSafariZoneRight waitmovement 0 return -EventScript_16D44C:: @ 816D44C - applymovement OBJ_EVENT_ID_PLAYER, Movement_16D4AC +FuchsiaCity_SafariZone_Entrance_EventScript_EnterSafariZoneMid:: @ 816D44C + applymovement OBJ_EVENT_ID_PLAYER, FuchsiaCity_SafariZone_Entrance_Movement_EnterSafariZoneMid waitmovement 0 return -EventScript_16D457:: @ 816D457 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16D4B3 +FuchsiaCity_SafariZone_Entrance_EventScript_EnterSafariZoneLeft:: @ 816D457 + applymovement OBJ_EVENT_ID_PLAYER, FuchsiaCity_SafariZone_Entrance_Movement_EnterSafariZoneLeft waitmovement 0 return -EventScript_16D462:: @ 816D462 +FuchsiaCity_SafariZone_Entrance_EventScript_CheckSpaceForMons:: @ 816D462 getpartysize compare VAR_RESULT, PARTY_SIZE goto_if_ne EventScript_Return specialvar VAR_RESULT, Special_IsThereRoomInAnyBoxForMorePokemon - compare VAR_RESULT, 1 + compare VAR_RESULT, TRUE goto_if_eq EventScript_Return - msgbox gUnknown_81BFEAC - goto EventScript_16D49A + msgbox SafariZone_Text_ExcuseMeYourPCBoxIsFull + goto FuchsiaCity_SafariZone_Entrance_EventScript_ForcePlayerBack end -EventScript_16D48C:: @ 816D48C - msgbox gUnknown_8197E02 - goto EventScript_16D49A +FuchsiaCity_SafariZone_Entrance_EventScript_NotEnoughMoney:: @ 816D48C + msgbox FuchsiaCity_SafariZone_Entrance_Text_OopsNotEnoughMoney + goto FuchsiaCity_SafariZone_Entrance_EventScript_ForcePlayerBack end -EventScript_16D49A:: @ 816D49A +FuchsiaCity_SafariZone_Entrance_EventScript_ForcePlayerBack:: @ 816D49A closemessage hidemoneybox 0, 0 - applymovement OBJ_EVENT_ID_PLAYER, Movement_16D4AA + applymovement OBJ_EVENT_ID_PLAYER, FuchsiaCity_SafariZone_Entrance_Movement_ForceBack waitmovement 0 releaseall end -Movement_16D4AA:: @ 816D4AA +FuchsiaCity_SafariZone_Entrance_Movement_ForceBack:: @ 816D4AA walk_down step_end -Movement_16D4AC:: @ 816D4AC +FuchsiaCity_SafariZone_Entrance_Movement_EnterSafariZoneMid:: @ 816D4AC walk_up walk_up step_end -Movement_16D4AF:: @ 816D4AF +FuchsiaCity_SafariZone_Entrance_Movement_EnterSafariZoneRight:: @ 816D4AF walk_up walk_left walk_up step_end -Movement_16D4B3:: @ 816D4B3 +FuchsiaCity_SafariZone_Entrance_Movement_EnterSafariZoneLeft:: @ 816D4B3 walk_up walk_right walk_up step_end -FuchsiaCity_SafariZone_Entrance_EventScript_16D4B7:: @ 816D4B7 +FuchsiaCity_SafariZone_Entrance_EventScript_InfoAttendant:: @ 816D4B7 lock faceplayer - msgbox gUnknown_8197EB0, MSGBOX_YESNO + msgbox FuchsiaCity_SafariZone_Entrance_Text_FirstTimeAtSafariZone, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_16D4D6 - msgbox gUnknown_819809E + goto_if_eq FuchsiaCity_SafariZone_Entrance_EventScript_ExplainSafariZone + msgbox FuchsiaCity_SafariZone_Entrance_Text_SorryYoureARegularHere release end -EventScript_16D4D6:: @ 816D4D6 - msgbox gUnknown_8197EE3 +FuchsiaCity_SafariZone_Entrance_EventScript_ExplainSafariZone:: @ 816D4D6 + msgbox FuchsiaCity_SafariZone_Entrance_Text_ExplainSafariZone release end diff --git a/data/maps/FuchsiaCity_SafariZone_Entrance/text.inc b/data/maps/FuchsiaCity_SafariZone_Entrance/text.inc index bda1357a4..58f784422 100644 --- a/data/maps/FuchsiaCity_SafariZone_Entrance/text.inc +++ b/data/maps/FuchsiaCity_SafariZone_Entrance/text.inc @@ -1,56 +1,56 @@ -gUnknown_8197C6B:: @ 8197C6B +FuchsiaCity_SafariZone_Entrance_Text_WelcomeToSafariZone:: @ 8197C6B .string "Welcome to the SAFARI ZONE!$" -gUnknown_8197C87:: @ 8197C87 +FuchsiaCity_SafariZone_Entrance_Text_PlaySafariGameFor500:: @ 8197C87 .string "For just ¥500, you can play the\n" .string "SAFARI GAME.\p" .string "You can roam the wide-open safari\n" .string "and catch what you like.\p" .string "Would you like to play?$" -gUnknown_8197D07:: @ 8197D07 +FuchsiaCity_SafariZone_Entrance_Text_ThatllBe500WeOnlyUseSpecialBalls:: @ 8197D07 .string "That'll be ¥500, please!\p" .string "We only use a special kind of \n" .string "POKé BALLS here.$" -Text_197D50:: @ 8197D50 +FuchsiaCity_SafariZone_Entrance_Text_PlayerReceived30SafariBalls:: @ 8197D50 .string "{PLAYER} received 30 SAFARI BALLS\n" .string "from the attendant.$" -gUnknown_8197D80:: @ 8197D80 +FuchsiaCity_SafariZone_Entrance_Text_CallYouOnPAWhenYouRunOut:: @ 8197D80 .string "We'll call you on the PA when you\n" .string "run out of time or SAFARI BALLS.\p" .string "Well, I'll wish you the best of\n" .string "luck!$" -gUnknown_8197DE9:: @ 8197DE9 +FuchsiaCity_SafariZone_Entrance_Text_OkayPleaseComeAgain:: @ 8197DE9 .string "Okay.\n" .string "Please come again!$" -gUnknown_8197E02:: @ 8197E02 +FuchsiaCity_SafariZone_Entrance_Text_OopsNotEnoughMoney:: @ 8197E02 .string "Oops!\n" .string "Not enough money!$" -gUnknown_8197E1A:: @ 8197E1A +FuchsiaCity_SafariZone_Entrance_Text_GoingToLeaveSafariZoneEarly:: @ 8197E1A .string "Are you going to leave the\n" .string "SAFARI ZONE early?$" -gUnknown_8197E48:: @ 8197E48 +FuchsiaCity_SafariZone_Entrance_Text_PleaseReturnSafariBalls:: @ 8197E48 .string "Please return any SAFARI BALLS\n" .string "you may have left.$" -gUnknown_8197E7A:: @ 8197E7A +FuchsiaCity_SafariZone_Entrance_Text_GoodLuck:: @ 8197E7A .string "Good luck!$" -gUnknown_8197E85:: @ 8197E85 +FuchsiaCity_SafariZone_Entrance_Text_CatchFairShareComeAgain:: @ 8197E85 .string "Did you catch your fair share?\n" .string "Come again!$" -gUnknown_8197EB0:: @ 8197EB0 +FuchsiaCity_SafariZone_Entrance_Text_FirstTimeAtSafariZone:: @ 8197EB0 .string "Hi! Is it your first time here at\n" .string "the SAFARI ZONE?$" -gUnknown_8197EE3:: @ 8197EE3 +FuchsiaCity_SafariZone_Entrance_Text_ExplainSafariZone:: @ 8197EE3 .string "The SAFARI ZONE actually has\n" .string "four zones in it.\p" .string "Each zone has different kinds of\n" @@ -68,6 +68,6 @@ gUnknown_8197EE3:: @ 8197EE3 .string "When you run out of time or SAFARI\n" .string "BALLS, it's game over for you!$" -gUnknown_819809E:: @ 819809E +FuchsiaCity_SafariZone_Entrance_Text_SorryYoureARegularHere:: @ 819809E .string "Sorry, you're a regular here!$" diff --git a/data/maps/FuchsiaCity_ZooBuilding/map.json b/data/maps/FuchsiaCity_SafariZone_Office/map.json index a4cf1b1a0..be1abfced 100644 --- a/data/maps/FuchsiaCity_ZooBuilding/map.json +++ b/data/maps/FuchsiaCity_SafariZone_Office/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_FUCHSIA_CITY_ZOO_BUILDING", - "name": "FuchsiaCity_ZooBuilding", - "layout": "LAYOUT_FUCHSIA_CITY_ZOO_BUILDING", + "id": "MAP_FUCHSIA_CITY_SAFARI_ZONE_OFFICE", + "name": "FuchsiaCity_SafariZone_Office", + "layout": "LAYOUT_FUCHSIA_CITY_SAFARI_ZONE_OFFICE", "music": "MUS_HANADA", "region_map_section": "MAPSEC_FUCHSIA_CITY", "requires_flash": false, @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_ZooBuilding_EventScript_16D532", + "script": "FuchsiaCity_SafariZone_Office_EventScript_Worker2", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_ZooBuilding_EventScript_16D53B", + "script": "FuchsiaCity_SafariZone_Office_EventScript_Worker3", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_ZooBuilding_EventScript_16D529", + "script": "FuchsiaCity_SafariZone_Office_EventScript_Worker1", "flag": "0" }, { @@ -62,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_ZooBuilding_EventScript_16D544", + "script": "FuchsiaCity_SafariZone_Office_EventScript_Worker4", "flag": "0" } ], diff --git a/data/maps/FuchsiaCity_SafariZone_Office/scripts.inc b/data/maps/FuchsiaCity_SafariZone_Office/scripts.inc new file mode 100644 index 000000000..88832c1b0 --- /dev/null +++ b/data/maps/FuchsiaCity_SafariZone_Office/scripts.inc @@ -0,0 +1,18 @@ +FuchsiaCity_SafariZone_Office_MapScripts:: @ 816D528 + .byte 0 + +FuchsiaCity_SafariZone_Office_EventScript_Worker1:: @ 816D529 + msgbox FuchsiaCity_SafariZone_Office_Text_NicknamedWardenSlowpoke, MSGBOX_NPC + end + +FuchsiaCity_SafariZone_Office_EventScript_Worker2:: @ 816D532 + msgbox FuchsiaCity_SafariZone_Office_Text_WardenIsVeryKnowledgeable, MSGBOX_NPC + end + +FuchsiaCity_SafariZone_Office_EventScript_Worker3:: @ 816D53B + msgbox FuchsiaCity_SafariZone_Office_Text_CouldntUnderstandWarden, MSGBOX_NPC + end + +FuchsiaCity_SafariZone_Office_EventScript_Worker4:: @ 816D544 + msgbox FuchsiaCity_SafariZone_Office_Text_PrizeInSafariZone, MSGBOX_NPC + end diff --git a/data/maps/FuchsiaCity_ZooBuilding/text.inc b/data/maps/FuchsiaCity_SafariZone_Office/text.inc index 36b7e8a3e..0fedd07d6 100644 --- a/data/maps/FuchsiaCity_ZooBuilding/text.inc +++ b/data/maps/FuchsiaCity_SafariZone_Office/text.inc @@ -1,21 +1,21 @@ -gUnknown_819816B:: @ 819816B +FuchsiaCity_SafariZone_Office_Text_NicknamedWardenSlowpoke:: @ 819816B .string "We nicknamed the WARDEN\n" .string "“SLOWPOKE.”\p" .string "You know, he has that vacant look\n" .string "like a SLOWPOKE.$" -gUnknown_81981C2:: @ 81981C2 +FuchsiaCity_SafariZone_Office_Text_WardenIsVeryKnowledgeable:: @ 81981C2 .string "WARDEN SLOWPOKE is very\n" .string "knowledgeable about POKéMON.\p" .string "He even has some fossils of rare,\n" .string "extinct POKéMON.$" -gUnknown_819822A:: @ 819822A +FuchsiaCity_SafariZone_Office_Text_CouldntUnderstandWarden:: @ 819822A .string "WARDEN SLOWPOKE came in, but\n" .string "I couldn't understand him.\p" .string "I think he's got a speech problem!$" -gUnknown_8198285:: @ 8198285 +FuchsiaCity_SafariZone_Office_Text_PrizeInSafariZone:: @ 8198285 .string "WARDEN SLOWPOKE is running a\n" .string "promotion campaign right now.\p" .string "Try to get to the farthest corner\n" diff --git a/data/maps/FuchsiaCity_Building1/map.json b/data/maps/FuchsiaCity_WardensHouse/map.json index 763dfb3e8..00f33363c 100644 --- a/data/maps/FuchsiaCity_Building1/map.json +++ b/data/maps/FuchsiaCity_WardensHouse/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_FUCHSIA_CITY_BUILDING1", - "name": "FuchsiaCity_Building1", - "layout": "LAYOUT_FUCHSIA_CITY_BUILDING1", + "id": "MAP_FUCHSIA_CITY_WARDENS_HOUSE", + "name": "FuchsiaCity_WardensHouse", + "layout": "LAYOUT_FUCHSIA_CITY_WARDENS_HOUSE", "music": "MUS_HANADA", "region_map_section": "MAPSEC_FUCHSIA_CITY", "requires_flash": false, @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_Building1_EventScript_16D74C", + "script": "FuchsiaCity_WardensHouse_EventScript_Warden", "flag": "0" }, { @@ -49,8 +49,8 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_Building1_EventScript_ItemRareCandy", - "flag": "FLAG_HIDE_FUCHSIA_CITY_BUILDING1_RARE_CANDY" + "script": "FuchsiaCity_WardensHouse_EventScript_ItemRareCandy", + "flag": "FLAG_HIDE_FUCHSIA_CITY_WARDENS_HOUSE_RARE_CANDY" }, { "graphics_id": "0", @@ -62,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "FuchsiaCity_Building1_EventScript_1ACEB8", + "script": "FuchsiaCity_WardensHouse_EventScript_PokemonJournalKoga", "flag": "FLAG_HIDE_FAME_CHECKER_KOGA_JOURNAL" } ], @@ -96,28 +96,28 @@ "x": 7, "y": 4, "elevation": 0, - "script": "FuchsiaCity_Building1_EventScript_16D80D" + "script": "FuchsiaCity_WardensHouse_EventScript_DisplaySign2" }, { "type": "bg_event_type_0", "x": 4, "y": 4, "elevation": 0, - "script": "FuchsiaCity_Building1_EventScript_16D804" + "script": "FuchsiaCity_WardensHouse_EventScript_DisplaySign1" }, { "type": "bg_event_type_0", "x": 5, "y": 4, "elevation": 0, - "script": "FuchsiaCity_Building1_EventScript_16D804" + "script": "FuchsiaCity_WardensHouse_EventScript_DisplaySign1" }, { "type": "bg_event_type_0", "x": 6, "y": 4, "elevation": 0, - "script": "FuchsiaCity_Building1_EventScript_16D80D" + "script": "FuchsiaCity_WardensHouse_EventScript_DisplaySign2" } ] } diff --git a/data/maps/FuchsiaCity_WardensHouse/scripts.inc b/data/maps/FuchsiaCity_WardensHouse/scripts.inc new file mode 100644 index 000000000..141101e1b --- /dev/null +++ b/data/maps/FuchsiaCity_WardensHouse/scripts.inc @@ -0,0 +1,63 @@ +FuchsiaCity_WardensHouse_MapScripts:: @ 816D74B + .byte 0 + +FuchsiaCity_WardensHouse_EventScript_Warden:: @ 816D74C + lock + faceplayer + goto_if_set FLAG_GOT_HM04, FuchsiaCity_WardensHouse_EventScript_ExplainStrength + goto_if_set FLAG_HIDE_SAFARI_ZONE_WEST_GOLD_TEETH, FuchsiaCity_WardensHouse_EventScript_GiveGoldTeeth + msgbox FuchsiaCity_WardensHouse_Text_HifFuffHefifoo, MSGBOX_YESNO + compare VAR_RESULT, YES + call_if_eq FuchsiaCity_WardensHouse_EventScript_WardenYes + compare VAR_RESULT, NO + call_if_eq FuchsiaCity_WardensHouse_EventScript_WardenNo + release + end + +FuchsiaCity_WardensHouse_EventScript_GiveGoldTeeth:: @ 816D780 + textcolor 3 + playfanfare MUS_ME_WAZA + message FuchsiaCity_WardensHouse_Text_GaveGoldTeethToWarden + waitmessage + waitfanfare + msgbox FuchsiaCity_WardensHouse_Text_WardenPoppedInHisTeeth + call EventScript_1A6675 + checkplayergender + compare VAR_RESULT, MALE + call_if_eq FuchsiaCity_WardensHouse_EventScript_WardenThanksMale + compare VAR_RESULT, FEMALE + call_if_eq FuchsiaCity_WardensHouse_EventScript_WardenThanksFemale + giveitem_msg FuchsiaCity_WardensHouse_Text_ReceivedHM04FromWarden, ITEM_HM04 + setflag FLAG_GOT_HM04 + removeitem ITEM_GOLD_TEETH, 1 + release + end + +FuchsiaCity_WardensHouse_EventScript_WardenThanksMale:: @ 816D7D6 + msgbox FuchsiaCity_WardensHouse_Text_ThanksSonGiveYouSomething + return + +FuchsiaCity_WardensHouse_EventScript_WardenThanksFemale:: @ 816D7DF + msgbox FuchsiaCity_WardensHouse_Text_ThanksLassieGiveYouSomething + return + +FuchsiaCity_WardensHouse_EventScript_WardenYes:: @ 816D7E8 + msgbox FuchsiaCity_WardensHouse_Text_AhHowheeHoHoo + return + +FuchsiaCity_WardensHouse_EventScript_WardenNo:: @ 816D7F1 + msgbox FuchsiaCity_WardensHouse_Text_HeOhayHeHaHoo + return + +FuchsiaCity_WardensHouse_EventScript_ExplainStrength:: @ 816D7FA + msgbox FuchsiaCity_WardensHouse_Text_ExplainStrength + release + end + +FuchsiaCity_WardensHouse_EventScript_DisplaySign1:: @ 816D804 + msgbox FuchsiaCity_WardensHouse_Text_MonPhotosFossilsOnDisplay, MSGBOX_SIGN + end + +FuchsiaCity_WardensHouse_EventScript_DisplaySign2:: @ 816D80D + msgbox FuchsiaCity_WardensHouse_Text_OldMonMerchandiseOnDisplay, MSGBOX_SIGN + end diff --git a/data/maps/FuchsiaCity_Building1/text.inc b/data/maps/FuchsiaCity_WardensHouse/text.inc index dd4069e1f..b3f4b7b35 100644 --- a/data/maps/FuchsiaCity_Building1/text.inc +++ b/data/maps/FuchsiaCity_WardensHouse/text.inc @@ -1,24 +1,24 @@ -gUnknown_8198DF9:: @ 8198DF9 +FuchsiaCity_WardensHouse_Text_HifFuffHefifoo:: @ 8198DF9 .string "WARDEN: Hif fuff hefifoo!\p" .string "Ha lof ha feef ee hafahi ho.\n" .string "Heff hee fwee!$" -gUnknown_8198E3F:: @ 8198E3F +FuchsiaCity_WardensHouse_Text_AhHowheeHoHoo:: @ 8198E3F .string "Ah howhee ho hoo!\n" .string "Eef ee hafahi ho!$" -gUnknown_8198E63:: @ 8198E63 +FuchsiaCity_WardensHouse_Text_HeOhayHeHaHoo:: @ 8198E63 .string "Ha?\n" .string "He ohay heh ha hoo ee haheh!$" -Text_198E84:: @ 8198E84 +FuchsiaCity_WardensHouse_Text_GaveGoldTeethToWarden:: @ 8198E84 .string "{PLAYER} gave the GOLD TEETH\n" .string "to the WARDEN.$" -gUnknown_8198EAA:: @ 8198EAA +FuchsiaCity_WardensHouse_Text_WardenPoppedInHisTeeth:: @ 8198EAA .string "The WARDEN popped in his teeth!$" -gUnknown_8198ECA:: @ 8198ECA +FuchsiaCity_WardensHouse_Text_ThanksSonGiveYouSomething:: @ 8198ECA .string "WARDEN: Thanks, son!\n" .string "You're a real lifesaver!\p" .string "No one could understand a word\n" @@ -28,7 +28,7 @@ gUnknown_8198ECA:: @ 8198ECA .string "Let me give you something for your\n" .string "trouble.$" -gUnknown_8198F96:: @ 8198F96 +FuchsiaCity_WardensHouse_Text_ThanksLassieGiveYouSomething:: @ 8198F96 .string "WARDEN: Thank you, lassie!\n" .string "You're a real lifesaver!\p" .string "No one could understand a word\n" @@ -38,11 +38,11 @@ gUnknown_8198F96:: @ 8198F96 .string "Let me give you something for your\n" .string "trouble.$" -gUnknown_8199068:: @ 8199068 +FuchsiaCity_WardensHouse_Text_ReceivedHM04FromWarden:: @ 8199068 .string "{PLAYER} received HM04\n" .string "from the WARDEN.$" -gUnknown_819908A:: @ 819908A +FuchsiaCity_WardensHouse_Text_ExplainStrength:: @ 819908A .string "WARDEN: Inside HM04 you'll find\n" .string "STRENGTH.\p" .string "It lets POKéMON move boulders when\n" @@ -50,15 +50,16 @@ gUnknown_819908A:: @ 819908A .string "Oh yes, did you find the SECRET\n" .string "HOUSE in the SAFARI ZONE?$" -Text_19912B:: @ 819912B +@ Unused +FuchsiaCity_WardensHouse_Text_YouHaveTooMuchStuff:: @ 819912B .string "なんや にもつ\n" .string "いっぱいやんけ!$" -gUnknown_819913C:: @ 819913C +FuchsiaCity_WardensHouse_Text_MonPhotosFossilsOnDisplay:: @ 819913C .string "POKéMON photos and fossils are on\n" .string "display.$" -gUnknown_8199167:: @ 8199167 +FuchsiaCity_WardensHouse_Text_OldMonMerchandiseOnDisplay:: @ 8199167 .string "Old POKéMON merchandise is on\n" .string "display.$" diff --git a/data/maps/FuchsiaCity_ZooBuilding/scripts.inc b/data/maps/FuchsiaCity_ZooBuilding/scripts.inc deleted file mode 100644 index 210acd87f..000000000 --- a/data/maps/FuchsiaCity_ZooBuilding/scripts.inc +++ /dev/null @@ -1,18 +0,0 @@ -FuchsiaCity_ZooBuilding_MapScripts:: @ 816D528 - .byte 0 - -FuchsiaCity_ZooBuilding_EventScript_16D529:: @ 816D529 - msgbox gUnknown_819816B, MSGBOX_NPC - end - -FuchsiaCity_ZooBuilding_EventScript_16D532:: @ 816D532 - msgbox gUnknown_81981C2, MSGBOX_NPC - end - -FuchsiaCity_ZooBuilding_EventScript_16D53B:: @ 816D53B - msgbox gUnknown_819822A, MSGBOX_NPC - end - -FuchsiaCity_ZooBuilding_EventScript_16D544:: @ 816D544 - msgbox gUnknown_8198285, MSGBOX_NPC - end diff --git a/data/maps/MtEmber_Exterior/map.json b/data/maps/MtEmber_Exterior/map.json index ba7d80bf8..62681bf5c 100644 --- a/data/maps/MtEmber_Exterior/map.json +++ b/data/maps/MtEmber_Exterior/map.json @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "MtEmber_Exterior_EventScript_16397F", + "script": "MtEmber_Exterior_EventScript_Grunt1", "flag": "FLAG_HIDE_MT_EMBER_EXTERIOR_ROCKETS" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "MtEmber_Exterior_EventScript_1639F0", + "script": "MtEmber_Exterior_EventScript_Grunt2", "flag": "FLAG_HIDE_MT_EMBER_EXTERIOR_ROCKETS" }, { @@ -62,7 +62,7 @@ "movement_range_y": 3, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 1, - "script": "MtEmber_Exterior_EventScript_163AE2", + "script": "MtEmber_Exterior_EventScript_Jocelyn", "flag": "0" }, { @@ -75,7 +75,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 5, - "script": "MtEmber_Exterior_EventScript_163AB4", + "script": "MtEmber_Exterior_EventScript_Logan", "flag": "0" }, { @@ -88,7 +88,7 @@ "movement_range_y": 1, "trainer_type": 1, "trainer_sight_or_berry_tree_id": 3, - "script": "MtEmber_Exterior_EventScript_163ACB", + "script": "MtEmber_Exterior_EventScript_Beth", "flag": "0" }, { @@ -326,7 +326,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_MT_EMBER_EXTERIOR", "var_value": 1, - "script": "MtEmber_Exterior_EventScript_163A4E" + "script": "MtEmber_Exterior_EventScript_RocketPasswordScene" }, { "type": "trigger", @@ -335,7 +335,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_MT_EMBER_EXTERIOR", "var_value": 1, - "script": "MtEmber_Exterior_EventScript_163A4E" + "script": "MtEmber_Exterior_EventScript_RocketPasswordScene" }, { "type": "trigger", @@ -344,7 +344,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_MT_EMBER_EXTERIOR", "var_value": 1, - "script": "MtEmber_Exterior_EventScript_163A4E" + "script": "MtEmber_Exterior_EventScript_RocketPasswordScene" } ], "bg_events": [ diff --git a/data/maps/MtEmber_Exterior/scripts.inc b/data/maps/MtEmber_Exterior/scripts.inc index 67b563e72..7d67eea09 100644 --- a/data/maps/MtEmber_Exterior/scripts.inc +++ b/data/maps/MtEmber_Exterior/scripts.inc @@ -6,50 +6,50 @@ MtEmber_Exterior_MapScripts:: @ 8163946 MtEmber_Exterior_OnTransition:: @ 8163951 setworldmapflag FLAG_WORLD_MAP_MT_EMBER_EXTERIOR compare VAR_MAP_SCENE_MT_EMBER_EXTERIOR, 2 - call_if_eq EventScript_163960 + call_if_eq MtEmber_Exterior_EventScript_RocketsFaceDown end -EventScript_163960:: @ 8163960 - setobjectmovementtype 2, 8 - setobjectmovementtype 3, 8 +MtEmber_Exterior_EventScript_RocketsFaceDown:: @ 8163960 + setobjectmovementtype 2, MOVEMENT_TYPE_FACE_DOWN + setobjectmovementtype 3, MOVEMENT_TYPE_FACE_DOWN return MtEmber_Exterior_OnLoad:: @ 8163969 compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 4 - call_if_ge EventScript_163975 + call_if_ge MtEmber_Exterior_EventScript_OpenCave end -EventScript_163975:: @ 8163975 - setmetatile 42, 39, 838, 0 +MtEmber_Exterior_EventScript_OpenCave:: @ 8163975 + setmetatile 42, 39, METATILE_MtEmber_CaveEntrance, 0 return -MtEmber_Exterior_EventScript_16397F:: @ 816397F +MtEmber_Exterior_EventScript_Grunt1:: @ 816397F lock - goto_if_defeated TRAINER_TEAM_ROCKET_GRUNT_43, EventScript_16399E + goto_if_defeated TRAINER_TEAM_ROCKET_GRUNT_43, MtEmber_Exterior_EventScript_Grunt1Defeated compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 4 - goto_if_eq EventScript_1639A8 - msgbox gUnknown_817A82A + goto_if_eq MtEmber_Exterior_EventScript_BattleGrunt1 + msgbox MtEmber_Exterior_Text_WellTryDiggingHere release end -EventScript_16399E:: @ 816399E - msgbox gUnknown_817AA3F +MtEmber_Exterior_EventScript_Grunt1Defeated:: @ 816399E + msgbox MtEmber_Exterior_Text_Grunt1PostBattle release end -EventScript_1639A8:: @ 81639A8 +MtEmber_Exterior_EventScript_BattleGrunt1:: @ 81639A8 applymovement 2, Movement_FacePlayer waitmovement 0 playbgm MUS_ROCKET, 0 - msgbox gUnknown_817AA06 - trainerbattle_no_intro TRAINER_TEAM_ROCKET_GRUNT_43, Text_17AA34 - msgbox gUnknown_817AA3F - goto_if_defeated TRAINER_TEAM_ROCKET_GRUNT_44, EventScript_1639DB + msgbox MtEmber_Exterior_Text_Grunt1Intro + trainerbattle_no_intro TRAINER_TEAM_ROCKET_GRUNT_43, MtEmber_Exterior_Text_Grunt1Defeat + msgbox MtEmber_Exterior_Text_Grunt1PostBattle + goto_if_defeated TRAINER_TEAM_ROCKET_GRUNT_44, MtEmber_Exterior_EventScript_DefeatedBothGrunts release end -EventScript_1639DB:: @ 81639DB - msgbox gUnknown_817AAD7 +MtEmber_Exterior_EventScript_DefeatedBothGrunts:: @ 81639DB + msgbox MtEmber_Exterior_Text_WellRegroupDontStepInsideThere closemessage fadescreen FADE_TO_BLACK removeobject 2 @@ -58,44 +58,44 @@ EventScript_1639DB:: @ 81639DB release end -MtEmber_Exterior_EventScript_1639F0:: @ 81639F0 +MtEmber_Exterior_EventScript_Grunt2:: @ 81639F0 lock faceplayer - goto_if_defeated TRAINER_TEAM_ROCKET_GRUNT_44, EventScript_163A1B + goto_if_defeated TRAINER_TEAM_ROCKET_GRUNT_44, MtEmber_Exterior_EventScript_DefeatedGrunt2 compare VAR_MAP_SCENE_ONE_ISLAND_POKEMON_CENTER_1F, 4 - goto_if_eq EventScript_163A25 - msgbox gUnknown_817A88C + goto_if_eq MtEmber_Exterior_EventScript_BattleGrunt2 + msgbox MtEmber_Exterior_Text_YoureInTheWayGetLost closemessage applymovement 3, Movement_FaceOriginalDirection waitmovement 0 release end -EventScript_163A1B:: @ 8163A1B - msgbox gUnknown_817AA99 +MtEmber_Exterior_EventScript_DefeatedGrunt2:: @ 8163A1B + msgbox MtEmber_Exterior_Text_Grunt2PostBattle release end -EventScript_163A25:: @ 8163A25 +MtEmber_Exterior_EventScript_BattleGrunt2:: @ 8163A25 playbgm MUS_ROCKET, 0 - msgbox gUnknown_817AA56 - trainerbattle_no_intro TRAINER_TEAM_ROCKET_GRUNT_44, Text_17AA8A - msgbox gUnknown_817AA99 - goto_if_defeated TRAINER_TEAM_ROCKET_GRUNT_43, EventScript_1639DB + msgbox MtEmber_Exterior_Text_Grunt2Intro + trainerbattle_no_intro TRAINER_TEAM_ROCKET_GRUNT_44, MtEmber_Exterior_Text_Grunt2Defeat + msgbox MtEmber_Exterior_Text_Grunt2PostBattle + goto_if_defeated TRAINER_TEAM_ROCKET_GRUNT_43, MtEmber_Exterior_EventScript_DefeatedBothGrunts release end -MtEmber_Exterior_EventScript_163A4E:: @ 8163A4E +MtEmber_Exterior_EventScript_RocketPasswordScene:: @ 8163A4E lockall textcolor 0 - msgbox gUnknown_817A8B4 - message Text_17A8EE + msgbox MtEmber_Exterior_Text_PunchedThroughAtLast + message MtEmber_Exterior_Text_WhatsPasswordAgain waitmessage playse SE_PIN applymovement 3, Movement_QuestionMark waitmovement 0 waitbuttonpress - msgbox gUnknown_817A970 + msgbox MtEmber_Exterior_Text_FirstPasswordGoldeen applymovement 2, Movement_WalkInPlaceFastestDown waitmovement 0 playse SE_PIN @@ -105,23 +105,23 @@ MtEmber_Exterior_EventScript_163A4E:: @ 8163A4E waitmovement 0 applymovement 3, Movement_WalkInPlaceFastestDown waitmovement 0 - call EventScript_163960 - msgbox gUnknown_817A9E1 + call MtEmber_Exterior_EventScript_RocketsFaceDown + msgbox MtEmber_Exterior_Text_SnoopsBeenListeningIn setvar VAR_MAP_SCENE_MT_EMBER_EXTERIOR, 2 releaseall end -MtEmber_Exterior_EventScript_163AB4:: @ 8163AB4 - trainerbattle_single TRAINER_PKMN_RANGER_LOGAN, Text_17AB73, Text_17ABAA - msgbox gUnknown_817ABD8, MSGBOX_AUTOCLOSE +MtEmber_Exterior_EventScript_Logan:: @ 8163AB4 + trainerbattle_single TRAINER_PKMN_RANGER_LOGAN, MtEmber_Exterior_Text_LoganIntro, MtEmber_Exterior_Text_LoganDefeat + msgbox MtEmber_Exterior_Text_LoganPostBattle, MSGBOX_AUTOCLOSE end -MtEmber_Exterior_EventScript_163ACB:: @ 8163ACB - trainerbattle_single TRAINER_PKMN_RANGER_BETH, Text_17AC55, Text_17AC82 - msgbox gUnknown_817ACA2, MSGBOX_AUTOCLOSE +MtEmber_Exterior_EventScript_Beth:: @ 8163ACB + trainerbattle_single TRAINER_PKMN_RANGER_BETH, MtEmber_Exterior_Text_BethIntro, MtEmber_Exterior_Text_BethDefeat + msgbox MtEmber_Exterior_Text_BethPostBattle, MSGBOX_AUTOCLOSE end -MtEmber_Exterior_EventScript_163AE2:: @ 8163AE2 - trainerbattle_single TRAINER_CRUSH_GIRL_JOCELYN, Text_17AD06, Text_17AD6B - msgbox gUnknown_817AD89, MSGBOX_AUTOCLOSE +MtEmber_Exterior_EventScript_Jocelyn:: @ 8163AE2 + trainerbattle_single TRAINER_CRUSH_GIRL_JOCELYN, MtEmber_Exterior_Text_JocelynIntro, MtEmber_Exterior_Text_JocelynDefeat + msgbox MtEmber_Exterior_Text_JocelynPostBattle, MSGBOX_AUTOCLOSE end diff --git a/data/maps/MtEmber_Exterior/text.inc b/data/maps/MtEmber_Exterior/text.inc index a3099147c..34d7d2139 100644 --- a/data/maps/MtEmber_Exterior/text.inc +++ b/data/maps/MtEmber_Exterior/text.inc @@ -20,7 +20,8 @@ Text_ExplosionTaught:: @ 817A756 .string "volcano…\p" .string "What a terrifying thrill!$" -Text_17A797:: @ 817A797 +@ Below 4 are unused JP versions of the above texts +Text_ExplosionTeachJP:: @ 817A797 .string "こ この かざんが\n" .string "もし だいばくはつ したら\l" .string "お おれら ひとたまりも\l" @@ -28,72 +29,72 @@ Text_17A797:: @ 817A797 .string "こ こわい ついでに\n" .string "だいばくはつ でも おぼえてみる?$" -Text_17A7E5:: @ 817A7E5 +Text_ExplosionDeclinedJP:: @ 817A7E5 .string "や やっぱ こわいもんな\n" .string "ブルブル$" -Text_17A7F7:: @ 817A7F7 +Text_ExplosionWhichMonJP:: @ 817A7F7 .string "つ つよきだね!\n" .string "じゃあ どの ポケモンに する?$" -Text_17A811:: @ 817A811 +Text_ExplosionTaughtJP:: @ 817A811 .string "かざんで だいばくはつを‥\n" .string "す すごい スリル!$" -gUnknown_817A82A:: @ 817A82A +MtEmber_Exterior_Text_WellTryDiggingHere:: @ 817A82A .string "Over here.\n" .string "We'll try digging here.\p" .string "That treasure the ADMINS've been\n" .string "talking about should be here.$" -gUnknown_817A88C:: @ 817A88C +MtEmber_Exterior_Text_YoureInTheWayGetLost:: @ 817A88C .string "What the…?\n" .string "You're in the way. Get lost.$" -gUnknown_817A8B4:: @ 817A8B4 +MtEmber_Exterior_Text_PunchedThroughAtLast:: @ 817A8B4 .string "Whew, punched through at last.\n" .string "Let's go treasure hunting!$" -Text_17A8EE:: @ 817A8EE +MtEmber_Exterior_Text_WhatsPasswordAgain:: @ 817A8EE .string "Any treasure we find, we haul back\n" .string "to the WAREHOUSE, understood?\p" .string "…Oh, and what're the passwords?\n" .string "At the ROCKET WAREHOUSE, I mean.$" -gUnknown_817A970:: @ 817A970 +MtEmber_Exterior_Text_FirstPasswordGoldeen:: @ 817A970 .string "What, you forgot the password?\n" .string "There're actually two.\p" .string "The first one's “GOLDEEN need\n" .string "log.”\p" .string "And the second one is…$" -gUnknown_817A9E1:: @ 817A9E1 +MtEmber_Exterior_Text_SnoopsBeenListeningIn:: @ 817A9E1 .string "Hey!\n" .string "This snoop's been listening in!$" -gUnknown_817AA06:: @ 817AA06 +MtEmber_Exterior_Text_Grunt1Intro:: @ 817AA06 .string "You've been eavesdropping on us,\n" .string "haven't you?$" -Text_17AA34:: @ 817AA34 +MtEmber_Exterior_Text_Grunt1Defeat:: @ 817AA34 .string "Huh, what?$" -gUnknown_817AA3F:: @ 817AA3F +MtEmber_Exterior_Text_Grunt1PostBattle:: @ 817AA3F .string "Why'd you have to win?$" -gUnknown_817AA56:: @ 817AA56 +MtEmber_Exterior_Text_Grunt2Intro:: @ 817AA56 .string "Trying to horn in on our treasure?\n" .string "Don't bet on it!$" -Text_17AA8A:: @ 817AA8A +MtEmber_Exterior_Text_Grunt2Defeat:: @ 817AA8A .string "Wait!\n" .string "But how?$" -gUnknown_817AA99:: @ 817AA99 +MtEmber_Exterior_Text_Grunt2PostBattle:: @ 817AA99 .string "Develop amnesia conveniently and\n" .string "forget everything you heard!$" -gUnknown_817AAD7:: @ 817AAD7 +MtEmber_Exterior_Text_WellRegroupDontStepInsideThere:: @ 817AAD7 .string "What a setback…\n" .string "We'll have to regroup.\p" .string "You! Don't even think about taking\n" @@ -101,43 +102,43 @@ gUnknown_817AAD7:: @ 817AAD7 .string "If you know what's good for you,\n" .string "don't even think about this!$" -Text_17AB73:: @ 817AB73 +MtEmber_Exterior_Text_LoganIntro:: @ 817AB73 .string "An active volcano is one that's\n" .string "erupting, or about to.$" -Text_17ABAA:: @ 817ABAA +MtEmber_Exterior_Text_LoganDefeat:: @ 817ABAA .string "Whew… That was hot!\n" .string "Sweat's erupting from me!$" -gUnknown_817ABD8:: @ 817ABD8 +MtEmber_Exterior_Text_LoganPostBattle:: @ 817ABD8 .string "They say there're over 1,500\n" .string "active volcanoes in the world.\p" .string "Just thinking about them makes me\n" .string "feel all hot and gooey inside!$" -Text_17AC55:: @ 817AC55 +MtEmber_Exterior_Text_BethIntro:: @ 817AC55 .string "Do you know how caves form inside\n" .string "volcanoes?$" -Text_17AC82:: @ 817AC82 +MtEmber_Exterior_Text_BethDefeat:: @ 817AC82 .string "Atchah!\n" .string "You're shockingly good!$" -gUnknown_817ACA2:: @ 817ACA2 +MtEmber_Exterior_Text_BethPostBattle:: @ 817ACA2 .string "When lava at the surface of magma\n" .string "hardens, and the magma inside flows\l" .string "out, caverns are left behind.$" -Text_17AD06:: @ 817AD06 +MtEmber_Exterior_Text_JocelynIntro:: @ 817AD06 .string "I've been in training so I can mend\n" .string "my broken heart…\p" .string "It toughened me up physically at\n" .string "least! Hi-yah!$" -Text_17AD6B:: @ 817AD6B +MtEmber_Exterior_Text_JocelynDefeat:: @ 817AD6B .string "I think I tried to overdo it…$" -gUnknown_817AD89:: @ 817AD89 +MtEmber_Exterior_Text_JocelynPostBattle:: @ 817AD89 .string "The way you battle, it reminds me\n" .string "of the guy who dumped me…$" diff --git a/data/maps/MtEmber_RubyPath_B3F/scripts.inc b/data/maps/MtEmber_RubyPath_B3F/scripts.inc index 59fb37bf3..3c6852535 100644 --- a/data/maps/MtEmber_RubyPath_B3F/scripts.inc +++ b/data/maps/MtEmber_RubyPath_B3F/scripts.inc @@ -1,12 +1,12 @@ MtEmber_RubyPath_B3F_MapScripts:: @ 8163C48 .byte 0 -MtEmber_RubyPath_B3F_EventScript_163C49:: @ 8163C49 -MtEmber_RubyPath_B5F_EventScript_163C49:: @ 8163C49 +@ Odd that this is here and not in MtEmber_RubyPath_B5F/scripts.inc +MtEmber_RubyPath_B5F_EventScript_Ruby:: @ 8163C49 lock faceplayer setflag FLAG_GOT_RUBY removeobject 1 - giveitem_msg gUnknown_817ADC5, ITEM_RUBY, 1, MUS_FAN5 + giveitem_msg MtEmber_RubyPath_B3F_Text_FoundARuby, ITEM_RUBY, 1, MUS_FAN5 release end diff --git a/data/maps/MtEmber_RubyPath_B3F/text.inc b/data/maps/MtEmber_RubyPath_B3F/text.inc index 4cf8b5a50..ddee8c872 100644 --- a/data/maps/MtEmber_RubyPath_B3F/text.inc +++ b/data/maps/MtEmber_RubyPath_B3F/text.inc @@ -1,3 +1,3 @@ -gUnknown_817ADC5:: @ 817ADC5 +MtEmber_RubyPath_B3F_Text_FoundARuby:: @ 817ADC5 .string "{PLAYER} found a RUBY!$" diff --git a/data/maps/MtEmber_RubyPath_B4F/map.json b/data/maps/MtEmber_RubyPath_B4F/map.json index 42d8ee7f2..23b6556f6 100644 --- a/data/maps/MtEmber_RubyPath_B4F/map.json +++ b/data/maps/MtEmber_RubyPath_B4F/map.json @@ -36,182 +36,182 @@ "x": 3, "y": 7, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_1638EC" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleABC" }, { "type": "bg_event_type_1", "x": 4, "y": 7, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_1638EC" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleABC" }, { "type": "bg_event_type_1", "x": 5, "y": 7, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_1638EC" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleABC" }, { "type": "bg_event_type_1", "x": 4, "y": 9, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_1638F5" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleGHI" }, { "type": "bg_event_type_1", "x": 3, "y": 9, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_1638F5" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleGHI" }, { "type": "bg_event_type_1", "x": 5, "y": 9, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_1638F5" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleGHI" }, { "type": "bg_event_type_1", "x": 3, "y": 11, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_1638FE" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleMNO" }, { "type": "bg_event_type_1", "x": 4, "y": 11, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_1638FE" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleMNO" }, { "type": "bg_event_type_1", "x": 5, "y": 11, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_1638FE" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleMNO" }, { "type": "bg_event_type_1", "x": 3, "y": 13, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_163907" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleTUV" }, { "type": "bg_event_type_1", "x": 4, "y": 13, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_163907" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleTUV" }, { "type": "bg_event_type_1", "x": 5, "y": 13, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_163907" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleTUV" }, { "type": "bg_event_type_1", "x": 7, "y": 7, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_163910" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleDEF" }, { "type": "bg_event_type_1", "x": 8, "y": 7, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_163910" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleDEF" }, { "type": "bg_event_type_1", "x": 9, "y": 7, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_163910" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleDEF" }, { "type": "bg_event_type_1", "x": 7, "y": 9, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_163919" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleJKL" }, { "type": "bg_event_type_1", "x": 8, "y": 9, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_163919" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleJKL" }, { "type": "bg_event_type_1", "x": 9, "y": 9, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_163919" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleJKL" }, { "type": "bg_event_type_1", "x": 7, "y": 11, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_163922" + "script": "MtEmber_RubyPath_B4F_EventScript_BraillePQRS" }, { "type": "bg_event_type_1", "x": 11, "y": 7, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_163934" + "script": "MtEmber_RubyPath_B4F_EventScript_BraillePeriod" }, { "type": "bg_event_type_1", "x": 11, "y": 9, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_16393D" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleComma" }, { "type": "bg_event_type_1", "x": 8, "y": 11, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_163922" + "script": "MtEmber_RubyPath_B4F_EventScript_BraillePQRS" }, { "type": "bg_event_type_1", "x": 9, "y": 11, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_163922" + "script": "MtEmber_RubyPath_B4F_EventScript_BraillePQRS" }, { "type": "bg_event_type_1", "x": 7, "y": 13, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_16392B" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleWXYZ" }, { "type": "bg_event_type_1", "x": 9, "y": 13, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_16392B" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleWXYZ" }, { "type": "bg_event_type_1", "x": 8, "y": 13, "elevation": 0, - "script": "MtEmber_RubyPath_B4F_EventScript_16392B" + "script": "MtEmber_RubyPath_B4F_EventScript_BrailleWXYZ" } ] } diff --git a/data/maps/MtEmber_RubyPath_B4F/scripts.inc b/data/maps/MtEmber_RubyPath_B4F/scripts.inc index 18249a49a..b66185733 100644 --- a/data/maps/MtEmber_RubyPath_B4F/scripts.inc +++ b/data/maps/MtEmber_RubyPath_B4F/scripts.inc @@ -1,72 +1,72 @@ MtEmber_RubyPath_B4F_MapScripts:: @ 81638EB .byte 0 -MtEmber_RubyPath_B4F_EventScript_1638EC:: @ 81638EC +MtEmber_RubyPath_B4F_EventScript_BrailleABC:: @ 81638EC lockall - braillemessage gUnknown_81A929F + braillemessage Braille_Text_ABC waitbuttonpress releaseall end -MtEmber_RubyPath_B4F_EventScript_1638F5:: @ 81638F5 +MtEmber_RubyPath_B4F_EventScript_BrailleGHI:: @ 81638F5 lockall - braillemessage gUnknown_81A92A3 + braillemessage Braille_Text_GHI waitbuttonpress releaseall end -MtEmber_RubyPath_B4F_EventScript_1638FE:: @ 81638FE +MtEmber_RubyPath_B4F_EventScript_BrailleMNO:: @ 81638FE lockall - braillemessage gUnknown_81A92A7 + braillemessage Braille_Text_MNO waitbuttonpress releaseall end -MtEmber_RubyPath_B4F_EventScript_163907:: @ 8163907 +MtEmber_RubyPath_B4F_EventScript_BrailleTUV:: @ 8163907 lockall - braillemessage gUnknown_81A92AB + braillemessage Braille_Text_TUV waitbuttonpress releaseall end -MtEmber_RubyPath_B4F_EventScript_163910:: @ 8163910 +MtEmber_RubyPath_B4F_EventScript_BrailleDEF:: @ 8163910 lockall - braillemessage gUnknown_81A92AF + braillemessage Braille_Text_DEF waitbuttonpress releaseall end -MtEmber_RubyPath_B4F_EventScript_163919:: @ 8163919 +MtEmber_RubyPath_B4F_EventScript_BrailleJKL:: @ 8163919 lockall - braillemessage gUnknown_81A92B3 + braillemessage Braille_Text_JKL waitbuttonpress releaseall end -MtEmber_RubyPath_B4F_EventScript_163922:: @ 8163922 +MtEmber_RubyPath_B4F_EventScript_BraillePQRS:: @ 8163922 lockall - braillemessage gUnknown_81A92B7 + braillemessage Braille_Text_PQRS waitbuttonpress releaseall end -MtEmber_RubyPath_B4F_EventScript_16392B:: @ 816392B +MtEmber_RubyPath_B4F_EventScript_BrailleWXYZ:: @ 816392B lockall - braillemessage gUnknown_81A92BC + braillemessage Braille_Text_WXYZ waitbuttonpress releaseall end -MtEmber_RubyPath_B4F_EventScript_163934:: @ 8163934 +MtEmber_RubyPath_B4F_EventScript_BraillePeriod:: @ 8163934 lockall - braillemessage gUnknown_81A92C1 + braillemessage Braille_Text_Period waitbuttonpress releaseall end -MtEmber_RubyPath_B4F_EventScript_16393D:: @ 816393D +MtEmber_RubyPath_B4F_EventScript_BrailleComma:: @ 816393D lockall - braillemessage gUnknown_81A92C3 + braillemessage Braille_Text_Comma waitbuttonpress releaseall end diff --git a/data/maps/MtEmber_RubyPath_B5F/map.json b/data/maps/MtEmber_RubyPath_B5F/map.json index 43ad7e409..e6279a72b 100644 --- a/data/maps/MtEmber_RubyPath_B5F/map.json +++ b/data/maps/MtEmber_RubyPath_B5F/map.json @@ -23,7 +23,7 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "MtEmber_RubyPath_B5F_EventScript_163C49", + "script": "MtEmber_RubyPath_B5F_EventScript_Ruby", "flag": "FLAG_HIDE_RUBY" } ], @@ -43,7 +43,7 @@ "x": 7, "y": 2, "elevation": 0, - "script": "MtEmber_RubyPath_B5F_EventScript_163BAB" + "script": "MtEmber_RubyPath_B5F_EventScript_BrailleMessage" } ] } diff --git a/data/maps/MtEmber_RubyPath_B5F/scripts.inc b/data/maps/MtEmber_RubyPath_B5F/scripts.inc index 53aec5282..b86cbd653 100644 --- a/data/maps/MtEmber_RubyPath_B5F/scripts.inc +++ b/data/maps/MtEmber_RubyPath_B5F/scripts.inc @@ -1,38 +1,17 @@ MtEmber_RubyPath_B5F_MapScripts:: @ 8163BAA .byte 0 -MtEmber_RubyPath_B5F_EventScript_163BAB:: @ 8163BAB +MtEmber_RubyPath_B5F_EventScript_BrailleMessage:: @ 8163BAB lockall setvar VAR_0x8005, 130 - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A92C5 - getbraillestringwidth gUnknown_81A92C5 - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A92D0 - getbraillestringwidth gUnknown_81A92D0 - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A92DC - getbraillestringwidth gUnknown_81A92DC - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A92E6 - getbraillestringwidth gUnknown_81A92E6 - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A92F2 - getbraillestringwidth gUnknown_81A92F2 - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A92FE - getbraillestringwidth gUnknown_81A92FE - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A930A - getbraillestringwidth gUnknown_81A930A - call EventScript_BrailleCursorWaitButton - braillemessage gUnknown_81A9316 + braillemessage_wait Braille_Text_Everything + braillemessage_wait Braille_Text_HasMeaning1 + braillemessage_wait Braille_Text_Existence + braillemessage_wait Braille_Text_HasMeaning2 + braillemessage_wait Braille_Text_BeingAlive + braillemessage_wait Braille_Text_HasMeaning3 + braillemessage_wait Braille_Text_HaveDreams + braillemessage Braille_Text_UsePower waitbuttonpress releaseall end diff --git a/data/maps/MtEmber_Summit/map.json b/data/maps/MtEmber_Summit/map.json index 41401439d..438ad09d0 100644 --- a/data/maps/MtEmber_Summit/map.json +++ b/data/maps/MtEmber_Summit/map.json @@ -23,7 +23,7 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "MtEmber_Summit_EventScript_163B33", + "script": "MtEmber_Summit_EventScript_Moltres", "flag": "FLAG_HIDE_MOLTRES" }, { diff --git a/data/maps/MtEmber_Summit/scripts.inc b/data/maps/MtEmber_Summit/scripts.inc index e7e926ec1..e68a30c85 100644 --- a/data/maps/MtEmber_Summit/scripts.inc +++ b/data/maps/MtEmber_Summit/scripts.inc @@ -4,10 +4,10 @@ MtEmber_Summit_MapScripts:: @ 8163AFC .byte 0 MtEmber_Summit_OnResume:: @ 8163B07 - call_if_set FLAG_SYS_SPECIAL_WILD_BATTLE, EventScript_163B11 + call_if_set FLAG_SYS_SPECIAL_WILD_BATTLE, MtEmber_Summit_EventScript_TryRemoveMoltres end -EventScript_163B11:: @ 8163B11 +MtEmber_Summit_EventScript_TryRemoveMoltres:: @ 8163B11 specialvar VAR_RESULT, Special_GetBattleOutcome compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne EventScript_Return @@ -15,14 +15,14 @@ EventScript_163B11:: @ 8163B11 return MtEmber_Summit_OnTransition:: @ 8163B25 - call_if_unset FLAG_FOUGHT_MOLTRES, EventScript_163B2F + call_if_unset FLAG_FOUGHT_MOLTRES, MtEmber_Summit_EventScript_ShowMoltres end -EventScript_163B2F:: @ 8163B2F +MtEmber_Summit_EventScript_ShowMoltres:: @ 8163B2F clearflag FLAG_HIDE_MOLTRES return -MtEmber_Summit_EventScript_163B33:: @ 8163B33 +MtEmber_Summit_EventScript_Moltres:: @ 8163B33 goto_if_questlog EventScript_ReleaseEnd special sub_8112364 lock @@ -30,7 +30,7 @@ MtEmber_Summit_EventScript_163B33:: @ 8163B33 setwildbattle SPECIES_MOLTRES, 50, ITEM_NONE waitse playmoncry SPECIES_MOLTRES, 2 - message Text_1A6448 + message Text_Gyaoo waitmessage waitmoncry delay 10 @@ -42,21 +42,21 @@ MtEmber_Summit_EventScript_163B33:: @ 8163B33 clearflag FLAG_SYS_SPECIAL_WILD_BATTLE specialvar VAR_RESULT, Special_GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON - goto_if_eq EventScript_163B96 + goto_if_eq MtEmber_Summit_EventScript_DefeatedMoltres compare VAR_RESULT, B_OUTCOME_RAN - goto_if_eq EventScript_163B9F + goto_if_eq MtEmber_Summit_EventScript_RanFromMoltres compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED - goto_if_eq EventScript_163B9F + goto_if_eq MtEmber_Summit_EventScript_RanFromMoltres setflag FLAG_FOUGHT_MOLTRES release end -EventScript_163B96:: @ 8163B96 +MtEmber_Summit_EventScript_DefeatedMoltres:: @ 8163B96 setflag FLAG_FOUGHT_MOLTRES goto EventScript_RemoveStaticMon end -EventScript_163B9F:: @ 8163B9F +MtEmber_Summit_EventScript_RanFromMoltres:: @ 8163B9F setvar VAR_0x8004, SPECIES_MOLTRES goto EventScript_MonFlewAway end diff --git a/data/maps/PowerPlant/map.json b/data/maps/PowerPlant/map.json index 2114033a6..d7baadb41 100644 --- a/data/maps/PowerPlant/map.json +++ b/data/maps/PowerPlant/map.json @@ -88,7 +88,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PowerPlant_EventScript_1637B8", + "script": "PowerPlant_EventScript_Zapdos", "flag": "FLAG_HIDE_ZAPDOS" }, { @@ -101,7 +101,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PowerPlant_EventScript_16388D", + "script": "PowerPlant_EventScript_Electrode2", "flag": "FLAG_HIDE_POWER_PLANT_ELECTRODE_2" }, { @@ -114,7 +114,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "PowerPlant_EventScript_16382F", + "script": "PowerPlant_EventScript_Electrode1", "flag": "FLAG_HIDE_POWER_PLANT_ELECTRODE_1" } ], diff --git a/data/maps/PowerPlant/scripts.inc b/data/maps/PowerPlant/scripts.inc index f21a5fa26..964a74e02 100644 --- a/data/maps/PowerPlant/scripts.inc +++ b/data/maps/PowerPlant/scripts.inc @@ -4,10 +4,10 @@ PowerPlant_MapScripts:: @ 8163764 .byte 0 PowerPlant_OnResume:: @ 816376F - call_if_set FLAG_SYS_SPECIAL_WILD_BATTLE, EventScript_163779 + call_if_set FLAG_SYS_SPECIAL_WILD_BATTLE, PowerPlant_EventScript_TryRemoveStaticMon end -EventScript_163779:: @ 8163779 +PowerPlant_EventScript_TryRemoveStaticMon:: @ 8163779 specialvar VAR_RESULT, Special_GetBattleOutcome compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne EventScript_Return @@ -16,24 +16,24 @@ EventScript_163779:: @ 8163779 PowerPlant_OnTransition:: @ 816378D setworldmapflag FLAG_WORLD_MAP_POWER_PLANT - call_if_unset FLAG_FOUGHT_ZAPDOS, EventScript_1637AC - call_if_unset FLAG_FOUGHT_POWER_PLANT_ELECTRODE_1, EventScript_1637B0 - call_if_unset FLAG_FOUGHT_POWER_PLANT_ELECTRODE_2, EventScript_1637B4 + call_if_unset FLAG_FOUGHT_ZAPDOS, PowerPlant_EventScript_ShowZapdos + call_if_unset FLAG_FOUGHT_POWER_PLANT_ELECTRODE_1, PowerPlant_EventScript_ShowElectrode1 + call_if_unset FLAG_FOUGHT_POWER_PLANT_ELECTRODE_2, PowerPlant_EventScript_ShowElectrode2 end -EventScript_1637AC:: @ 81637AC +PowerPlant_EventScript_ShowZapdos:: @ 81637AC clearflag FLAG_HIDE_ZAPDOS return -EventScript_1637B0:: @ 81637B0 +PowerPlant_EventScript_ShowElectrode1:: @ 81637B0 clearflag FLAG_HIDE_POWER_PLANT_ELECTRODE_1 return -EventScript_1637B4:: @ 81637B4 +PowerPlant_EventScript_ShowElectrode2:: @ 81637B4 clearflag FLAG_HIDE_POWER_PLANT_ELECTRODE_2 return -PowerPlant_EventScript_1637B8:: @ 81637B8 +PowerPlant_EventScript_Zapdos:: @ 81637B8 goto_if_questlog EventScript_ReleaseEnd special sub_8112364 lock @@ -41,7 +41,7 @@ PowerPlant_EventScript_1637B8:: @ 81637B8 setwildbattle SPECIES_ZAPDOS, 50, ITEM_NONE waitse playmoncry SPECIES_ZAPDOS, 2 - message Text_1A6448 + message Text_Gyaoo waitmessage waitmoncry delay 10 @@ -53,26 +53,26 @@ PowerPlant_EventScript_1637B8:: @ 81637B8 clearflag FLAG_SYS_SPECIAL_WILD_BATTLE specialvar VAR_RESULT, Special_GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON - goto_if_eq EventScript_16381B + goto_if_eq PowerPlant_EventScript_DefeatedZapdos compare VAR_RESULT, B_OUTCOME_RAN - goto_if_eq EventScript_163824 + goto_if_eq PowerPlant_EventScript_RanFromZapdos compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED - goto_if_eq EventScript_163824 + goto_if_eq PowerPlant_EventScript_RanFromZapdos setflag FLAG_FOUGHT_ZAPDOS release end -EventScript_16381B:: @ 816381B +PowerPlant_EventScript_DefeatedZapdos:: @ 816381B setflag FLAG_FOUGHT_ZAPDOS goto EventScript_RemoveStaticMon end -EventScript_163824:: @ 8163824 +PowerPlant_EventScript_RanFromZapdos:: @ 8163824 setvar VAR_0x8004, SPECIES_ZAPDOS goto EventScript_MonFlewAway end -PowerPlant_EventScript_16382F:: @ 816382F +PowerPlant_EventScript_Electrode1:: @ 816382F goto_if_questlog EventScript_ReleaseEnd lock faceplayer @@ -87,21 +87,21 @@ PowerPlant_EventScript_16382F:: @ 816382F special sub_8112364 specialvar VAR_RESULT, Special_GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON - goto_if_eq EventScript_163884 + goto_if_eq PowerPlant_EventScript_FoughtElectrode1 compare VAR_RESULT, B_OUTCOME_RAN - goto_if_eq EventScript_163884 + goto_if_eq PowerPlant_EventScript_FoughtElectrode1 compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED - goto_if_eq EventScript_163884 + goto_if_eq PowerPlant_EventScript_FoughtElectrode1 setflag FLAG_FOUGHT_POWER_PLANT_ELECTRODE_1 release end -EventScript_163884:: @ 8163884 +PowerPlant_EventScript_FoughtElectrode1:: @ 8163884 setflag FLAG_FOUGHT_POWER_PLANT_ELECTRODE_1 goto EventScript_RemoveStaticMon end -PowerPlant_EventScript_16388D:: @ 816388D +PowerPlant_EventScript_Electrode2:: @ 816388D goto_if_questlog EventScript_ReleaseEnd lock faceplayer @@ -116,16 +116,16 @@ PowerPlant_EventScript_16388D:: @ 816388D special sub_8112364 specialvar VAR_RESULT, Special_GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON - goto_if_eq EventScript_1638E2 + goto_if_eq PowerPlant_EventScript_FoughtElectrode2 compare VAR_RESULT, B_OUTCOME_RAN - goto_if_eq EventScript_1638E2 + goto_if_eq PowerPlant_EventScript_FoughtElectrode2 compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED - goto_if_eq EventScript_1638E2 + goto_if_eq PowerPlant_EventScript_FoughtElectrode2 setflag FLAG_FOUGHT_POWER_PLANT_ELECTRODE_2 release end -EventScript_1638E2:: @ 81638E2 +PowerPlant_EventScript_FoughtElectrode2:: @ 81638E2 setflag FLAG_FOUGHT_POWER_PLANT_ELECTRODE_2 goto EventScript_RemoveStaticMon end diff --git a/data/maps/Route12/map.json b/data/maps/Route12/map.json index e6fcf63fc..09e49160b 100644 --- a/data/maps/Route12/map.json +++ b/data/maps/Route12/map.json @@ -91,7 +91,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route12_EventScript_168014", + "script": "Route12_EventScript_Snorlax", "flag": "FLAG_HIDE_ROUTE_12_SNORLAX" }, { @@ -249,14 +249,14 @@ "x": 17, "y": 13, "elevation": 0, - "script": "Route12_EventScript_1680A3" + "script": "Route12_EventScript_RouteSign" }, { "type": "bg_event_type_0", "x": 15, "y": 69, "elevation": 0, - "script": "Route12_EventScript_1680AC" + "script": "Route12_EventScript_FishingSign" }, { "type": "hidden_item", diff --git a/data/maps/Route12/scripts.inc b/data/maps/Route12/scripts.inc index 8b80dccee..9fe6d2e39 100644 --- a/data/maps/Route12/scripts.inc +++ b/data/maps/Route12/scripts.inc @@ -3,22 +3,22 @@ Route12_MapScripts:: @ 8168000 .byte 0 Route12_OnResume:: @ 8168006 - call_if_set FLAG_SYS_SPECIAL_WILD_BATTLE, EventScript_168010 + call_if_set FLAG_SYS_SPECIAL_WILD_BATTLE, Route12_EventScript_TryRemoveSnorlax end -EventScript_168010:: @ 8168010 +Route12_EventScript_TryRemoveSnorlax:: @ 8168010 removeobject VAR_LAST_TALKED return -Route12_EventScript_168014:: @ 8168014 +Route12_EventScript_Snorlax:: @ 8168014 lock faceplayer - goto_if_unset FLAG_GOT_POKE_FLUTE, EventScript_168099 + goto_if_unset FLAG_GOT_POKE_FLUTE, Route12_EventScript_SnorlaxNoPokeFlute goto_if_questlog EventScript_ReleaseEnd special sub_8112364 - msgbox gUnknown_81853CC, MSGBOX_YESNO + msgbox Text_WantToUsePokeFlute, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_16808D + goto_if_eq Route12_EventScript_DontUsePokeFlute call EventScript_AwakenSnorlax setwildbattle SPECIES_SNORLAX, 30, ITEM_NONE waitse @@ -32,32 +32,32 @@ Route12_EventScript_168014:: @ 8168014 clearflag FLAG_SYS_SPECIAL_WILD_BATTLE specialvar VAR_RESULT, Special_GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON - goto_if_eq EventScript_16808F + goto_if_eq Route12_EventScript_FoughtSnorlax compare VAR_RESULT, B_OUTCOME_RAN - goto_if_eq EventScript_16808F + goto_if_eq Route12_EventScript_FoughtSnorlax compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED - goto_if_eq EventScript_16808F + goto_if_eq Route12_EventScript_FoughtSnorlax release end -EventScript_16808D:: @ 816808D +Route12_EventScript_DontUsePokeFlute:: @ 816808D release end -EventScript_16808F:: @ 816808F - msgbox gUnknown_8185383 +Route12_EventScript_FoughtSnorlax:: @ 816808F + msgbox Text_SnorlaxReturnedToMountains release end -EventScript_168099:: @ 8168099 - msgbox gUnknown_8185317 +Route12_EventScript_SnorlaxNoPokeFlute:: @ 8168099 + msgbox Route12_Text_MonSprawledOutInSlumber release end -Route12_EventScript_1680A3:: @ 81680A3 - msgbox gUnknown_8185797, MSGBOX_SIGN +Route12_EventScript_RouteSign:: @ 81680A3 + msgbox Route12_Text_RouteSign, MSGBOX_SIGN end -Route12_EventScript_1680AC:: @ 81680AC - msgbox gUnknown_81857B3, MSGBOX_SIGN +Route12_EventScript_FishingSign:: @ 81680AC + msgbox Route12_Text_SportfishingArea, MSGBOX_SIGN end diff --git a/data/maps/Route12/text.inc b/data/maps/Route12/text.inc index bd23a00ae..06371bf5c 100644 --- a/data/maps/Route12/text.inc +++ b/data/maps/Route12/text.inc @@ -1,4 +1,4 @@ -gUnknown_8185317:: @ 8185317 +Route12_Text_MonSprawledOutInSlumber:: @ 8185317 .string "A POKéMON is sprawled out in\n" .string "a deep and comfortable slumber.$" @@ -6,12 +6,12 @@ Text_SnorlaxWokeUp:: @ 8185354 .string "SNORLAX woke up!\p" .string "It attacked in a grumpy rage!$" -gUnknown_8185383:: @ 8185383 +Text_SnorlaxReturnedToMountains:: @ 8185383 .string "SNORLAX calmed down.\n" .string "It gave a huge yawn…\l" .string "And returned to the mountains.$" -gUnknown_81853CC:: @ 81853CC +Text_WantToUsePokeFlute:: @ 81853CC .string "Want to use the POKé FLUTE?$" Text_PlayedPokeFlute:: @ 81853E8 @@ -102,10 +102,10 @@ Text_18574D:: @ 818574D .string "I catch them all the time, sure.\n" .string "But, boy are they wimpy.$" -gUnknown_8185797:: @ 8185797 +Route12_Text_RouteSign:: @ 8185797 .string "ROUTE 12 \n" .string "North to LAVENDER$" -gUnknown_81857B3:: @ 81857B3 +Route12_Text_SportfishingArea:: @ 81857B3 .string "SPORTFISHING AREA$" diff --git a/data/maps/Route16/map.json b/data/maps/Route16/map.json index e51e64184..bd32e6900 100644 --- a/data/maps/Route16/map.json +++ b/data/maps/Route16/map.json @@ -151,7 +151,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route16_EventScript_168121", + "script": "Route16_EventScript_Snorlax", "flag": "FLAG_HIDE_ROUTE_16_SNORLAX" } ], @@ -199,14 +199,14 @@ "x": 6, "y": 17, "elevation": 0, - "script": "Route16_EventScript_1681B6" + "script": "Route16_EventScript_RouteSign" }, { "type": "bg_event_type_0", "x": 33, "y": 11, "elevation": 0, - "script": "Route16_EventScript_1681AD" + "script": "Route16_EventScript_CyclingRoadSign" }, { "type": "hidden_item", diff --git a/data/maps/Route16/scripts.inc b/data/maps/Route16/scripts.inc index ec6e7270b..1d7c6657c 100644 --- a/data/maps/Route16/scripts.inc +++ b/data/maps/Route16/scripts.inc @@ -5,39 +5,39 @@ Route16_MapScripts:: @ 81680E5 .byte 0 Route16_OnResume:: @ 81680F5 - call_if_set FLAG_SYS_SPECIAL_WILD_BATTLE, EventScript_1680FF + call_if_set FLAG_SYS_SPECIAL_WILD_BATTLE, Route16_EventScript_RemoveSnorlax end -EventScript_1680FF:: @ 81680FF +Route16_EventScript_RemoveSnorlax:: @ 81680FF removeobject VAR_LAST_TALKED return Route16_OnTransition:: @ 8168103 compare VAR_MAP_SCENE_ROUTE16, 1 - call_if_eq EventScript_16810F + call_if_eq Route16_EventScript_EnterCyclingRoad end -EventScript_16810F:: @ 816810F +Route16_EventScript_EnterCyclingRoad:: @ 816810F setflag FLAG_SYS_ON_CYCLING_ROAD return Route16_OnWarp:: @ 8168113 - map_script_2 VAR_MAP_SCENE_ROUTE16, 1, EventScript_16811D + map_script_2 VAR_MAP_SCENE_ROUTE16, 1, Route16_EventScript_WarpIntoCyclingRoad .2byte 0 -EventScript_16811D:: @ 816811D +Route16_EventScript_WarpIntoCyclingRoad:: @ 816811D special Special_ForcePlayerOntoBike end -Route16_EventScript_168121:: @ 8168121 +Route16_EventScript_Snorlax:: @ 8168121 lock faceplayer - goto_if_unset FLAG_GOT_POKE_FLUTE, EventScript_1681A3 + goto_if_unset FLAG_GOT_POKE_FLUTE, Route16_EventScript_SnorlaxNoPokeFlute goto_if_questlog EventScript_ReleaseEnd special sub_8112364 - msgbox gUnknown_81853CC, MSGBOX_YESNO + msgbox Text_WantToUsePokeFlute, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_168197 + goto_if_eq Route16_EventScript_DontUsePokeFlute call EventScript_AwakenSnorlax setwildbattle SPECIES_SNORLAX, 30, ITEM_NONE waitse @@ -50,32 +50,32 @@ Route16_EventScript_168121:: @ 8168121 clearflag FLAG_SYS_SPECIAL_WILD_BATTLE specialvar VAR_RESULT, Special_GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON - goto_if_eq EventScript_168199 + goto_if_eq Route16_EventScript_FoughtSnorlax compare VAR_RESULT, B_OUTCOME_RAN - goto_if_eq EventScript_168199 + goto_if_eq Route16_EventScript_FoughtSnorlax compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED - goto_if_eq EventScript_168199 + goto_if_eq Route16_EventScript_FoughtSnorlax release end -EventScript_168197:: @ 8168197 +Route16_EventScript_DontUsePokeFlute:: @ 8168197 release end -EventScript_168199:: @ 8168199 - msgbox gUnknown_8185383 +Route16_EventScript_FoughtSnorlax:: @ 8168199 + msgbox Text_SnorlaxReturnedToMountains release end -EventScript_1681A3:: @ 81681A3 - msgbox gUnknown_8186F3D +Route16_EventScript_SnorlaxNoPokeFlute:: @ 81681A3 + msgbox Route16_Text_MonSprawledOutInSlumber release end -Route16_EventScript_1681AD:: @ 81681AD - msgbox gUnknown_8186F7A, MSGBOX_SIGN +Route16_EventScript_CyclingRoadSign:: @ 81681AD + msgbox Route16_Text_CyclingRoadSign, MSGBOX_SIGN end -Route16_EventScript_1681B6:: @ 81681B6 - msgbox gUnknown_8186F98, MSGBOX_SIGN +Route16_EventScript_RouteSign:: @ 81681B6 + msgbox Route16_Text_RouteSign, MSGBOX_SIGN end diff --git a/data/maps/Route16/text.inc b/data/maps/Route16/text.inc index 1945cf510..289b80db9 100644 --- a/data/maps/Route16/text.inc +++ b/data/maps/Route16/text.inc @@ -99,15 +99,15 @@ Text_186EC7:: @ 8186EC7 .string "They're great for startling people.\n" .string "And, they bite, too.$" -gUnknown_8186F3D:: @ 8186F3D +Route16_Text_MonSprawledOutInSlumber:: @ 8186F3D .string "A POKéMON is sprawled out in\n" .string "a deep and comfortable slumber.$" -gUnknown_8186F7A:: @ 8186F7A +Route16_Text_CyclingRoadSign:: @ 8186F7A .string "Enjoy the slope!\n" .string "CYCLING ROAD$" -gUnknown_8186F98:: @ 8186F98 +Route16_Text_RouteSign:: @ 8186F98 .string "ROUTE 16\n" .string "CELADON CITY - FUCHSIA CITY$" diff --git a/data/maps/Route22_NorthEntrance/map.json b/data/maps/Route22_NorthEntrance/map.json index 665477288..f8f624106 100644 --- a/data/maps/Route22_NorthEntrance/map.json +++ b/data/maps/Route22_NorthEntrance/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route22_NorthEntrance_EventScript_1704FC", + "script": "Route22_NorthEntrance_EventScript_BoulderBadgeGuard", "flag": "0" } ], @@ -65,7 +65,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 0, - "script": "Route22_NorthEntrance_EventScript_17050D" + "script": "Route22_NorthEntrance_EventScript_BoulderBadgeGuardTrigger" } ], "bg_events": [] diff --git a/data/maps/Route22_NorthEntrance/scripts.inc b/data/maps/Route22_NorthEntrance/scripts.inc index afbfbb165..edd436b48 100644 --- a/data/maps/Route22_NorthEntrance/scripts.inc +++ b/data/maps/Route22_NorthEntrance/scripts.inc @@ -1,18 +1,18 @@ Route22_NorthEntrance_MapScripts:: @ 81704FB .byte 0 -Route22_NorthEntrance_EventScript_1704FC:: @ 81704FC +Route22_NorthEntrance_EventScript_BoulderBadgeGuard:: @ 81704FC lock faceplayer setvar VAR_TEMP_1, 1 - getstdstring 0, 15 - goto EventScript_1A7803 + getstdstring 0, STDSTRING_BOULDER_BADGE + goto Route22_NorthEntrance_EventScript_BadgeGuard end -Route22_NorthEntrance_EventScript_17050D:: @ 817050D +Route22_NorthEntrance_EventScript_BoulderBadgeGuardTrigger:: @ 817050D lockall setvar VAR_TEMP_1, 1 setvar VAR_0x8009, 1 - getstdstring 0, 15 - goto EventScript_1A796E + getstdstring 0, STDSTRING_BOULDER_BADGE + goto Route23_EventScript_BadgeGuardTrigger end diff --git a/data/maps/Route23/map.json b/data/maps/Route23/map.json index 073a4a17c..36bee2780 100644 --- a/data/maps/Route23/map.json +++ b/data/maps/Route23/map.json @@ -34,7 +34,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route23_EventScript_16850C", + "script": "Route23_EventScript_CascadeBadgeGuard", "flag": "0" }, { @@ -47,7 +47,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route23_EventScript_16851D", + "script": "Route23_EventScript_ThunderBadgeGuard", "flag": "0" }, { @@ -60,7 +60,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route23_EventScript_16852E", + "script": "Route23_EventScript_RainbowBadgeGuard", "flag": "0" }, { @@ -73,7 +73,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route23_EventScript_16853F", + "script": "Route23_EventScript_SoulBadgeGuard", "flag": "0" }, { @@ -86,7 +86,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route23_EventScript_168550", + "script": "Route23_EventScript_MarshBadgeGuard", "flag": "0" }, { @@ -99,7 +99,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route23_EventScript_168561", + "script": "Route23_EventScript_VolcanoBadgeGuard", "flag": "0" }, { @@ -112,7 +112,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route23_EventScript_168572", + "script": "Route23_EventScript_EarthBadgeGuard", "flag": "0" } ], @@ -154,7 +154,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 1, - "script": "Route23_EventScript_168583" + "script": "Route23_EventScript_CascadeBadgeGuardTrigger" }, { "type": "trigger", @@ -163,7 +163,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 2, - "script": "Route23_EventScript_168598" + "script": "Route23_EventScript_ThunderBadgeGuardTrigger" }, { "type": "trigger", @@ -172,7 +172,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 3, - "script": "Route23_EventScript_1685AD" + "script": "Route23_EventScript_RainbowBadgeGuardTrigger" }, { "type": "trigger", @@ -181,7 +181,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 4, - "script": "Route23_EventScript_1685C2" + "script": "Route23_EventScript_SoulBadgeGuardTrigger" }, { "type": "trigger", @@ -190,7 +190,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 5, - "script": "Route23_EventScript_1685D7" + "script": "Route23_EventScript_MarshBadgeGuardTrigger" }, { "type": "trigger", @@ -199,7 +199,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 6, - "script": "Route23_EventScript_1685EC" + "script": "Route23_EventScript_VolcanoBadgeGuardTrigger" }, { "type": "trigger", @@ -208,7 +208,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 7, - "script": "Route23_EventScript_168601" + "script": "Route23_EventScript_EarthBadgeGuardTrigger" }, { "type": "trigger", @@ -217,7 +217,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 7, - "script": "Route23_EventScript_168601" + "script": "Route23_EventScript_EarthBadgeGuardTrigger" }, { "type": "trigger", @@ -226,7 +226,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 7, - "script": "Route23_EventScript_168601" + "script": "Route23_EventScript_EarthBadgeGuardTrigger" }, { "type": "trigger", @@ -235,7 +235,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 7, - "script": "Route23_EventScript_168601" + "script": "Route23_EventScript_EarthBadgeGuardTrigger" }, { "type": "trigger", @@ -244,7 +244,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 7, - "script": "Route23_EventScript_168601" + "script": "Route23_EventScript_EarthBadgeGuardTrigger" }, { "type": "trigger", @@ -253,7 +253,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 7, - "script": "Route23_EventScript_168601" + "script": "Route23_EventScript_EarthBadgeGuardTrigger" }, { "type": "trigger", @@ -262,7 +262,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 7, - "script": "Route23_EventScript_168601" + "script": "Route23_EventScript_EarthBadgeGuardTrigger" }, { "type": "trigger", @@ -271,7 +271,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 7, - "script": "Route23_EventScript_168601" + "script": "Route23_EventScript_EarthBadgeGuardTrigger" }, { "type": "trigger", @@ -280,7 +280,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 6, - "script": "Route23_EventScript_1685EC" + "script": "Route23_EventScript_VolcanoBadgeGuardTrigger" }, { "type": "trigger", @@ -289,7 +289,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 6, - "script": "Route23_EventScript_1685EC" + "script": "Route23_EventScript_VolcanoBadgeGuardTrigger" }, { "type": "trigger", @@ -298,7 +298,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 6, - "script": "Route23_EventScript_1685EC" + "script": "Route23_EventScript_VolcanoBadgeGuardTrigger" }, { "type": "trigger", @@ -307,7 +307,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 5, - "script": "Route23_EventScript_1685D7" + "script": "Route23_EventScript_MarshBadgeGuardTrigger" }, { "type": "trigger", @@ -316,7 +316,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 5, - "script": "Route23_EventScript_1685D7" + "script": "Route23_EventScript_MarshBadgeGuardTrigger" }, { "type": "trigger", @@ -325,7 +325,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 5, - "script": "Route23_EventScript_1685D7" + "script": "Route23_EventScript_MarshBadgeGuardTrigger" }, { "type": "trigger", @@ -334,7 +334,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 5, - "script": "Route23_EventScript_1685D7" + "script": "Route23_EventScript_MarshBadgeGuardTrigger" }, { "type": "trigger", @@ -343,7 +343,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 5, - "script": "Route23_EventScript_1685D7" + "script": "Route23_EventScript_MarshBadgeGuardTrigger" }, { "type": "trigger", @@ -352,7 +352,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 5, - "script": "Route23_EventScript_1685D7" + "script": "Route23_EventScript_MarshBadgeGuardTrigger" }, { "type": "trigger", @@ -361,7 +361,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 2, - "script": "Route23_EventScript_168598" + "script": "Route23_EventScript_ThunderBadgeGuardTrigger" }, { "type": "trigger", @@ -370,7 +370,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 2, - "script": "Route23_EventScript_168598" + "script": "Route23_EventScript_ThunderBadgeGuardTrigger" }, { "type": "trigger", @@ -379,7 +379,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 2, - "script": "Route23_EventScript_168598" + "script": "Route23_EventScript_ThunderBadgeGuardTrigger" }, { "type": "trigger", @@ -388,7 +388,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 3, - "script": "Route23_EventScript_1685AD" + "script": "Route23_EventScript_RainbowBadgeGuardTrigger" }, { "type": "trigger", @@ -397,7 +397,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 3, - "script": "Route23_EventScript_1685AD" + "script": "Route23_EventScript_RainbowBadgeGuardTrigger" }, { "type": "trigger", @@ -406,7 +406,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 3, - "script": "Route23_EventScript_1685AD" + "script": "Route23_EventScript_RainbowBadgeGuardTrigger" }, { "type": "trigger", @@ -415,7 +415,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 4, - "script": "Route23_EventScript_1685C2" + "script": "Route23_EventScript_SoulBadgeGuardTrigger" }, { "type": "trigger", @@ -424,7 +424,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 4, - "script": "Route23_EventScript_1685C2" + "script": "Route23_EventScript_SoulBadgeGuardTrigger" }, { "type": "trigger", @@ -433,7 +433,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 4, - "script": "Route23_EventScript_1685C2" + "script": "Route23_EventScript_SoulBadgeGuardTrigger" }, { "type": "trigger", @@ -442,7 +442,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 4, - "script": "Route23_EventScript_1685C2" + "script": "Route23_EventScript_SoulBadgeGuardTrigger" }, { "type": "trigger", @@ -451,7 +451,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 4, - "script": "Route23_EventScript_1685C2" + "script": "Route23_EventScript_SoulBadgeGuardTrigger" }, { "type": "trigger", @@ -460,7 +460,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 4, - "script": "Route23_EventScript_1685C2" + "script": "Route23_EventScript_SoulBadgeGuardTrigger" }, { "type": "trigger", @@ -469,7 +469,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 4, - "script": "Route23_EventScript_1685C2" + "script": "Route23_EventScript_SoulBadgeGuardTrigger" }, { "type": "trigger", @@ -478,7 +478,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 4, - "script": "Route23_EventScript_1685C2" + "script": "Route23_EventScript_SoulBadgeGuardTrigger" }, { "type": "trigger", @@ -487,7 +487,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 4, - "script": "Route23_EventScript_1685C2" + "script": "Route23_EventScript_SoulBadgeGuardTrigger" }, { "type": "trigger", @@ -496,7 +496,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 1, - "script": "Route23_EventScript_168583" + "script": "Route23_EventScript_CascadeBadgeGuardTrigger" }, { "type": "trigger", @@ -505,7 +505,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 1, - "script": "Route23_EventScript_168583" + "script": "Route23_EventScript_CascadeBadgeGuardTrigger" }, { "type": "trigger", @@ -514,7 +514,7 @@ "elevation": 3, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 1, - "script": "Route23_EventScript_168583" + "script": "Route23_EventScript_CascadeBadgeGuardTrigger" }, { "type": "trigger", @@ -523,7 +523,7 @@ "elevation": 0, "var": "VAR_MAP_SCENE_ROUTE23", "var_value": 1, - "script": "Route23_EventScript_168583" + "script": "Route23_EventScript_CascadeBadgeGuardTrigger" } ], "bg_events": [ @@ -612,7 +612,7 @@ "x": 3, "y": 31, "elevation": 0, - "script": "Route23_EventScript_168616" + "script": "Route23_EventScript_VictoryRoadGateSign" } ] } diff --git a/data/maps/Route23/scripts.inc b/data/maps/Route23/scripts.inc index b5c8da4f3..fd6c792f0 100644 --- a/data/maps/Route23/scripts.inc +++ b/data/maps/Route23/scripts.inc @@ -11,118 +11,118 @@ Route23_OnTransition:: @ 81684F1 setvar VAR_MAP_SCENE_VICTORY_ROAD_3F, 0 end -Route23_EventScript_16850C:: @ 816850C +Route23_EventScript_CascadeBadgeGuard:: @ 816850C lock faceplayer setvar VAR_TEMP_1, 2 - getstdstring 0, 16 - goto EventScript_1A786C + getstdstring 0, STDSTRING_CASCADE_BADGE + goto Route23_EventScript_BadgeGuard end -Route23_EventScript_16851D:: @ 816851D +Route23_EventScript_ThunderBadgeGuard:: @ 816851D lock faceplayer setvar VAR_TEMP_1, 3 - getstdstring 0, 17 - goto EventScript_1A786C + getstdstring 0, STDSTRING_THUNDER_BADGE + goto Route23_EventScript_BadgeGuard end -Route23_EventScript_16852E:: @ 816852E +Route23_EventScript_RainbowBadgeGuard:: @ 816852E lock faceplayer setvar VAR_TEMP_1, 4 - getstdstring 0, 18 - goto EventScript_1A786C + getstdstring 0, STDSTRING_RAINBOW_BADGE + goto Route23_EventScript_BadgeGuard end -Route23_EventScript_16853F:: @ 816853F +Route23_EventScript_SoulBadgeGuard:: @ 816853F lock faceplayer setvar VAR_TEMP_1, 5 - getstdstring 0, 19 - goto EventScript_1A786C + getstdstring 0, STDSTRING_SOUL_BADGE + goto Route23_EventScript_BadgeGuard end -Route23_EventScript_168550:: @ 8168550 +Route23_EventScript_MarshBadgeGuard:: @ 8168550 lock faceplayer setvar VAR_TEMP_1, 6 - getstdstring 0, 20 - goto EventScript_1A786C + getstdstring 0, STDSTRING_MARSH_BADGE + goto Route23_EventScript_BadgeGuard end -Route23_EventScript_168561:: @ 8168561 +Route23_EventScript_VolcanoBadgeGuard:: @ 8168561 lock faceplayer setvar VAR_TEMP_1, 7 - getstdstring 0, 21 - goto EventScript_1A786C + getstdstring 0, STDSTRING_VOLCANO_BADGE + goto Route23_EventScript_BadgeGuard end -Route23_EventScript_168572:: @ 8168572 +Route23_EventScript_EarthBadgeGuard:: @ 8168572 lock faceplayer setvar VAR_TEMP_1, 8 - getstdstring 0, 22 - goto EventScript_1A786C + getstdstring 0, STDSTRING_EARTH_BADGE + goto Route23_EventScript_BadgeGuard end -Route23_EventScript_168583:: @ 8168583 +Route23_EventScript_CascadeBadgeGuardTrigger:: @ 8168583 lockall setvar VAR_TEMP_1, 2 setvar VAR_0x8009, 1 - getstdstring 0, 16 - goto EventScript_1A796E + getstdstring 0, STDSTRING_CASCADE_BADGE + goto Route23_EventScript_BadgeGuardTrigger end -Route23_EventScript_168598:: @ 8168598 +Route23_EventScript_ThunderBadgeGuardTrigger:: @ 8168598 lockall setvar VAR_TEMP_1, 3 setvar VAR_0x8009, 2 - getstdstring 0, 17 - goto EventScript_1A796E + getstdstring 0, STDSTRING_THUNDER_BADGE + goto Route23_EventScript_BadgeGuardTrigger end -Route23_EventScript_1685AD:: @ 81685AD +Route23_EventScript_RainbowBadgeGuardTrigger:: @ 81685AD lockall setvar VAR_TEMP_1, 4 setvar VAR_0x8009, 3 - getstdstring 0, 18 - goto EventScript_1A796E + getstdstring 0, STDSTRING_RAINBOW_BADGE + goto Route23_EventScript_BadgeGuardTrigger end -Route23_EventScript_1685C2:: @ 81685C2 +Route23_EventScript_SoulBadgeGuardTrigger:: @ 81685C2 lockall setvar VAR_TEMP_1, 5 setvar VAR_0x8009, 4 - getstdstring 0, 19 - goto EventScript_1A796E + getstdstring 0, STDSTRING_SOUL_BADGE + goto Route23_EventScript_BadgeGuardTrigger end -Route23_EventScript_1685D7:: @ 81685D7 +Route23_EventScript_MarshBadgeGuardTrigger:: @ 81685D7 lockall setvar VAR_TEMP_1, 6 setvar VAR_0x8009, 5 - getstdstring 0, 20 - goto EventScript_1A796E + getstdstring 0, STDSTRING_MARSH_BADGE + goto Route23_EventScript_BadgeGuardTrigger end -Route23_EventScript_1685EC:: @ 81685EC +Route23_EventScript_VolcanoBadgeGuardTrigger:: @ 81685EC lockall setvar VAR_TEMP_1, 7 setvar VAR_0x8009, 6 - getstdstring 0, 21 - goto EventScript_1A796E + getstdstring 0, STDSTRING_VOLCANO_BADGE + goto Route23_EventScript_BadgeGuardTrigger end -Route23_EventScript_168601:: @ 8168601 +Route23_EventScript_EarthBadgeGuardTrigger:: @ 8168601 lockall setvar VAR_TEMP_1, 8 setvar VAR_0x8009, 7 - getstdstring 0, 22 - goto EventScript_1A796E + getstdstring 0, STDSTRING_EARTH_BADGE + goto Route23_EventScript_BadgeGuardTrigger end -Route23_EventScript_168616:: @ 8168616 - msgbox gUnknown_8188C19, MSGBOX_SIGN +Route23_EventScript_VictoryRoadGateSign:: @ 8168616 + msgbox Route23_Text_VictoryRoadGateSign, MSGBOX_SIGN end diff --git a/data/maps/Route23/text.inc b/data/maps/Route23/text.inc index 6bdcaf47d..7429303cd 100644 --- a/data/maps/Route23/text.inc +++ b/data/maps/Route23/text.inc @@ -1,4 +1,4 @@ -gUnknown_8188C19:: @ 8188C19 +Route23_Text_VictoryRoadGateSign:: @ 8188C19 .string "VICTORY ROAD GATE -\n" .string "POKéMON LEAGUE$" diff --git a/data/maps/Route5_PokemonDayCare/map.json b/data/maps/Route5_PokemonDayCare/map.json index 11c53b635..52cbb04ea 100644 --- a/data/maps/Route5_PokemonDayCare/map.json +++ b/data/maps/Route5_PokemonDayCare/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "Route5_PokemonDayCare_EventScript_1BF398", + "script": "Route5_PokemonDayCare_EventScript_DaycareMan", "flag": "0" } ], diff --git a/data/maps/Route5_PokemonDayCare/scripts.inc b/data/maps/Route5_PokemonDayCare/scripts.inc index ebe6a8386..0f2ceb484 100644 --- a/data/maps/Route5_PokemonDayCare/scripts.inc +++ b/data/maps/Route5_PokemonDayCare/scripts.inc @@ -1,2 +1,4 @@ +@ Handled by data/scripts/day_care.inc + Route5_PokemonDayCare_MapScripts:: @ 816F8FF .byte 0 diff --git a/data/maps/Route5_PokemonDayCare/text.inc b/data/maps/Route5_PokemonDayCare/text.inc new file mode 100644 index 000000000..cada12ea5 --- /dev/null +++ b/data/maps/Route5_PokemonDayCare/text.inc @@ -0,0 +1,60 @@ +Route5_PokemonDayCare_Text_WantMeToRaiseMon:: @ 819DD66 + .string "I run the DAY-CARE service.\p" + .string "Would you like me to raise one of\n" + .string "your POKéMON?$" + +Route5_PokemonDayCare_Text_ComeAgain:: @ 819DDB2 + .string "Come again.$" + +Route5_PokemonDayCare_Text_WhichMonShouldIRaise:: @ 819DDBE + .string "Which POKéMON should I raise?$" + +Route5_PokemonDayCare_Text_ComeAnytimeYouLike:: @ 819DDDC + .string "Fine.\n" + .string "Come anytime you like.$" + +Route5_PokemonDayCare_Text_LookAfterMonForAWhile:: @ 819DDF9 + .string "Fine, I'll look after your\n" + .string "{STR_VAR_1} for a while.$" + +Route5_PokemonDayCare_Text_ComeSeeMeInAWhile:: @ 819DE24 + .string "Come see me in a while.$" + +Route5_PokemonDayCare_Text_MonNeedsToSpendMoreTime:: @ 819DE3C + .string "You're back already?\p" + .string "Your {STR_VAR_1} needs to spend\n" + .string "some more time with me.$" + +Route5_PokemonDayCare_Text_OweMeXForMonsReturn:: @ 819DE80 + .string "You owe me ¥{STR_VAR_2} for the return\n" + .string "of this POKéMON.$" + +Route5_PokemonDayCare_Text_ThankYouHeresMon:: @ 819DEAF + .string "Thank you!\n" + .string "Here's your POKéMON.$" + +Route5_PokemonDayCare_Text_PlayerGotMonBack:: @ 819DECF + .string "{PLAYER} got {STR_VAR_1} back\n" + .string "from the DAY-CARE MAN.$" + +Route5_PokemonDayCare_Text_OnlyHaveOneMonWithYou:: @ 819DEF5 + .string "Oh? You only have one POKéMON\n" + .string "with you.$" + +Route5_PokemonDayCare_Text_WhatWillYouBattleWith:: @ 819DF1D + .string "If you leave me that POKéMON,\n" + .string "what will you battle with?$" + +Route5_PokemonDayCare_Text_MonHasGrownByXLevels:: @ 819DF56 + .string "Your {STR_VAR_1} has grown a lot.\n" + .string "Yes, quite a lot, I'd say.\p" + .string "Let me see…\n" + .string "By level, it's grown by {STR_VAR_2}.\p" + .string "Aren't I great?$" + +Route5_PokemonDayCare_Text_YouveGotNoRoomForIt:: @ 819DFC2 + .string "You can't take this POKéMON back\n" + .string "if you've got no room for it.$" + +Route5_PokemonDayCare_Text_DontHaveEnoughMoney:: @ 819E001 + .string "You don't have enough money.$" diff --git a/data/maps/Route5_SouthEntrance/text.inc b/data/maps/Route5_SouthEntrance/text.inc index 079423f34..749bcabe5 100644 --- a/data/maps/Route5_SouthEntrance/text.inc +++ b/data/maps/Route5_SouthEntrance/text.inc @@ -1,64 +1,3 @@ -Text_19DD66:: @ 819DD66 - .string "I run the DAY-CARE service.\p" - .string "Would you like me to raise one of\n" - .string "your POKéMON?$" - -Text_19DDB2:: @ 819DDB2 - .string "Come again.$" - -Text_19DDBE:: @ 819DDBE - .string "Which POKéMON should I raise?$" - -Text_19DDDC:: @ 819DDDC - .string "Fine.\n" - .string "Come anytime you like.$" - -Text_19DDF9:: @ 819DDF9 - .string "Fine, I'll look after your\n" - .string "{STR_VAR_1} for a while.$" - -Text_19DE24:: @ 819DE24 - .string "Come see me in a while.$" - -Text_19DE3C:: @ 819DE3C - .string "You're back already?\p" - .string "Your {STR_VAR_1} needs to spend\n" - .string "some more time with me.$" - -Text_19DE80:: @ 819DE80 - .string "You owe me ¥{STR_VAR_2} for the return\n" - .string "of this POKéMON.$" - -Text_19DEAF:: @ 819DEAF - .string "Thank you!\n" - .string "Here's your POKéMON.$" - -Text_19DECF:: @ 819DECF - .string "{PLAYER} got {STR_VAR_1} back\n" - .string "from the DAY-CARE MAN.$" - -Text_19DEF5:: @ 819DEF5 - .string "Oh? You only have one POKéMON\n" - .string "with you.$" - -Text_19DF1D:: @ 819DF1D - .string "If you leave me that POKéMON,\n" - .string "what will you battle with?$" - -Text_19DF56:: @ 819DF56 - .string "Your {STR_VAR_1} has grown a lot.\n" - .string "Yes, quite a lot, I'd say.\p" - .string "Let me see…\n" - .string "By level, it's grown by {STR_VAR_2}.\p" - .string "Aren't I great?$" - -Text_19DFC2:: @ 819DFC2 - .string "You can't take this POKéMON back\n" - .string "if you've got no room for it.$" - -Text_19E001:: @ 819E001 - .string "You don't have enough money.$" - Text_19E01E:: @ 819E01E .string "きみの\n" .string "みてみるかね?$" diff --git a/data/maps/SafariZone_Building1/scripts.inc b/data/maps/SafariZone_Building1/scripts.inc deleted file mode 100644 index 6aaeac452..000000000 --- a/data/maps/SafariZone_Building1/scripts.inc +++ /dev/null @@ -1,10 +0,0 @@ -SafariZone_Building1_MapScripts:: @ 81623EB - .byte 0 - -SafariZone_Building1_EventScript_1623EC:: @ 81623EC - msgbox gUnknown_8177A5A, MSGBOX_NPC - end - -SafariZone_Building1_EventScript_1623F5:: @ 81623F5 - msgbox gUnknown_8177A82, MSGBOX_NPC - end diff --git a/data/maps/SafariZone_Building2/scripts.inc b/data/maps/SafariZone_Building2/scripts.inc deleted file mode 100644 index ff870464a..000000000 --- a/data/maps/SafariZone_Building2/scripts.inc +++ /dev/null @@ -1,14 +0,0 @@ -SafariZone_Building2_MapScripts:: @ 81623FE - .byte 0 - -SafariZone_Building2_EventScript_1623FF:: @ 81623FF - msgbox gUnknown_8177AE2, MSGBOX_NPC - end - -SafariZone_Building2_EventScript_162408:: @ 8162408 - msgbox gUnknown_8177AAE, MSGBOX_NPC - end - -SafariZone_Building2_EventScript_162411:: @ 8162411 - msgbox gUnknown_8177B16, MSGBOX_NPC - end diff --git a/data/maps/SafariZone_Building3/scripts.inc b/data/maps/SafariZone_Building3/scripts.inc deleted file mode 100644 index 4b328da88..000000000 --- a/data/maps/SafariZone_Building3/scripts.inc +++ /dev/null @@ -1,14 +0,0 @@ -SafariZone_Building3_MapScripts:: @ 816241A - .byte 0 - -SafariZone_Building3_EventScript_16241B:: @ 816241B - msgbox gUnknown_8177BAB, MSGBOX_NPC - end - -SafariZone_Building3_EventScript_162424:: @ 8162424 - msgbox gUnknown_8177B38, MSGBOX_NPC - end - -SafariZone_Building3_EventScript_16242D:: @ 816242D - msgbox gUnknown_8177BEC, MSGBOX_NPC - end diff --git a/data/maps/SafariZone_Building4/scripts.inc b/data/maps/SafariZone_Building4/scripts.inc deleted file mode 100644 index 1c3e52bd3..000000000 --- a/data/maps/SafariZone_Building4/scripts.inc +++ /dev/null @@ -1,14 +0,0 @@ -SafariZone_Building4_MapScripts:: @ 8162436 - .byte 0 - -SafariZone_Building4_EventScript_162437:: @ 8162437 - msgbox gUnknown_8177D39, MSGBOX_NPC - end - -SafariZone_Building4_EventScript_162440:: @ 8162440 - msgbox gUnknown_8177CEB, MSGBOX_NPC - end - -SafariZone_Building4_EventScript_162449:: @ 8162449 - msgbox gUnknown_8177D8B, MSGBOX_NPC - end diff --git a/data/maps/SafariZone_Center/map.json b/data/maps/SafariZone_Center/map.json index f9bdc0137..4dfdda04d 100644 --- a/data/maps/SafariZone_Center/map.json +++ b/data/maps/SafariZone_Center/map.json @@ -116,7 +116,7 @@ "x": 29, "y": 25, "elevation": 0, - "dest_map": "MAP_SAFARI_ZONE_BUILDING1", + "dest_map": "MAP_SAFARI_ZONE_CENTER_REST_HOUSE", "dest_warp_id": 1 } ], @@ -127,14 +127,14 @@ "x": 30, "y": 26, "elevation": 0, - "script": "SafariZone_Center_EventScript_162361" + "script": "SafariZone_Center_EventScript_RestHouseSign" }, { "type": "bg_event_type_0", "x": 25, "y": 27, "elevation": 0, - "script": "SafariZone_Center_EventScript_16236A" + "script": "SafariZone_Center_EventScript_TrainerTips" }, { "type": "hidden_item", @@ -151,7 +151,7 @@ "x": 33, "y": 20, "elevation": 0, - "script": "SafariZone_Center_EventScript_162373" + "script": "SafariZone_Center_EventScript_AreaSign" } ] } diff --git a/data/maps/SafariZone_Center/scripts.inc b/data/maps/SafariZone_Center/scripts.inc index 70599b024..21ca58264 100644 --- a/data/maps/SafariZone_Center/scripts.inc +++ b/data/maps/SafariZone_Center/scripts.inc @@ -6,14 +6,14 @@ SafariZone_Center_OnTransition:: @ 816235D setworldmapflag FLAG_WORLD_MAP_SAFARI_ZONE_CENTER end -SafariZone_Center_EventScript_162361:: @ 8162361 - msgbox gUnknown_81777F2, MSGBOX_SIGN +SafariZone_Center_EventScript_RestHouseSign:: @ 8162361 + msgbox SafariZone_Center_Text_RestHouse, MSGBOX_SIGN end -SafariZone_Center_EventScript_16236A:: @ 816236A - msgbox gUnknown_81777FD, MSGBOX_SIGN +SafariZone_Center_EventScript_TrainerTips:: @ 816236A + msgbox SafariZone_Center_Text_PressStartToCheckTime, MSGBOX_SIGN end -SafariZone_Center_EventScript_162373:: @ 8162373 - msgbox gUnknown_817782F, MSGBOX_SIGN +SafariZone_Center_EventScript_AreaSign:: @ 8162373 + msgbox SafariZone_Center_Text_CenterArea, MSGBOX_SIGN end diff --git a/data/maps/SafariZone_Center/text.inc b/data/maps/SafariZone_Center/text.inc index 7116a230a..a0d7a61de 100644 --- a/data/maps/SafariZone_Center/text.inc +++ b/data/maps/SafariZone_Center/text.inc @@ -1,11 +1,11 @@ -gUnknown_81777F2:: @ 81777F2 +SafariZone_Center_Text_RestHouse:: @ 81777F2 .string "REST HOUSE$" -gUnknown_81777FD:: @ 81777FD +SafariZone_Center_Text_PressStartToCheckTime:: @ 81777FD .string "TRAINER TIPS\p" .string "Press START to check\n" .string "remaining time.$" -gUnknown_817782F:: @ 817782F +SafariZone_Center_Text_CenterArea:: @ 817782F .string "CENTER AREA$" diff --git a/data/maps/SafariZone_Building1/map.json b/data/maps/SafariZone_Center_RestHouse/map.json index 78ea6e719..fc4cbf67c 100644 --- a/data/maps/SafariZone_Building1/map.json +++ b/data/maps/SafariZone_Center_RestHouse/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_SAFARI_ZONE_BUILDING1", - "name": "SafariZone_Building1", - "layout": "LAYOUT_SAFARI_ZONE_BUILDING", + "id": "MAP_SAFARI_ZONE_CENTER_REST_HOUSE", + "name": "SafariZone_Center_RestHouse", + "layout": "LAYOUT_SAFARI_ZONE_REST_HOUSE", "music": "MUS_SHINKA", "region_map_section": "MAPSEC_KANTO_SAFARI_ZONE", "requires_flash": false, @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SafariZone_Building1_EventScript_1623F5", + "script": "SafariZone_Center_RestHouse_EventScript_Scientist", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SafariZone_Building1_EventScript_1623EC", + "script": "SafariZone_Center_RestHouse_EventScript_Sara", "flag": "0" } ], diff --git a/data/maps/SafariZone_Center_RestHouse/scripts.inc b/data/maps/SafariZone_Center_RestHouse/scripts.inc new file mode 100644 index 000000000..75e9cbe1d --- /dev/null +++ b/data/maps/SafariZone_Center_RestHouse/scripts.inc @@ -0,0 +1,10 @@ +SafariZone_Center_RestHouse_MapScripts:: @ 81623EB + .byte 0 + +SafariZone_Center_RestHouse_EventScript_Sara:: @ 81623EC + msgbox SafariZone_Center_Text_WhereDidErikGo, MSGBOX_NPC + end + +SafariZone_Center_RestHouse_EventScript_Scientist:: @ 81623F5 + msgbox SafariZone_Center_Text_CatchingMonsAsGifts, MSGBOX_NPC + end diff --git a/data/maps/SafariZone_Building1/text.inc b/data/maps/SafariZone_Center_RestHouse/text.inc index a071cffeb..156457318 100644 --- a/data/maps/SafariZone_Building1/text.inc +++ b/data/maps/SafariZone_Center_RestHouse/text.inc @@ -1,8 +1,8 @@ -gUnknown_8177A5A:: @ 8177A5A +SafariZone_Center_Text_WhereDidErikGo:: @ 8177A5A .string "SARA: Where did my boyfriend,\n" .string "ERIK, go?$" -gUnknown_8177A82:: @ 8177A82 +SafariZone_Center_Text_CatchingMonsAsGifts:: @ 8177A82 .string "I'm catching POKéMON to take home\n" .string "as gifts.$" diff --git a/data/maps/SafariZone_East/map.json b/data/maps/SafariZone_East/map.json index 50ac526b7..5ba1d08dc 100644 --- a/data/maps/SafariZone_East/map.json +++ b/data/maps/SafariZone_East/map.json @@ -113,7 +113,7 @@ "x": 40, "y": 14, "elevation": 0, - "dest_map": "MAP_SAFARI_ZONE_BUILDING2", + "dest_map": "MAP_SAFARI_ZONE_EAST_REST_HOUSE", "dest_warp_id": 1 } ], @@ -124,21 +124,21 @@ "x": 18, "y": 27, "elevation": 0, - "script": "SafariZone_East_EventScript_16238F" + "script": "SafariZone_East_EventScript_AreaSign" }, { "type": "bg_event_type_0", "x": 43, "y": 15, "elevation": 0, - "script": "SafariZone_East_EventScript_16237D" + "script": "SafariZone_East_EventScript_RestHouseSign" }, { "type": "bg_event_type_0", "x": 17, "y": 8, "elevation": 0, - "script": "SafariZone_East_EventScript_162386" + "script": "SafariZone_East_EventScript_TrainerTips" } ] } diff --git a/data/maps/SafariZone_East/scripts.inc b/data/maps/SafariZone_East/scripts.inc index e37be0d00..fb7c074d1 100644 --- a/data/maps/SafariZone_East/scripts.inc +++ b/data/maps/SafariZone_East/scripts.inc @@ -1,14 +1,14 @@ SafariZone_East_MapScripts:: @ 816237C .byte 0 -SafariZone_East_EventScript_16237D:: @ 816237D - msgbox gUnknown_817783B, MSGBOX_SIGN +SafariZone_East_EventScript_RestHouseSign:: @ 816237D + msgbox SafariZone_East_Text_RestHouse, MSGBOX_SIGN end -SafariZone_East_EventScript_162386:: @ 8162386 - msgbox gUnknown_8177846, MSGBOX_SIGN +SafariZone_East_EventScript_TrainerTips:: @ 8162386 + msgbox SafariZone_East_Text_TimeDeclinesOnlyWhileYouWalk, MSGBOX_SIGN end -SafariZone_East_EventScript_16238F:: @ 816238F - msgbox gUnknown_8177884, MSGBOX_SIGN +SafariZone_East_EventScript_AreaSign:: @ 816238F + msgbox SafariZone_East_Text_AreaSign, MSGBOX_SIGN end diff --git a/data/maps/SafariZone_East/text.inc b/data/maps/SafariZone_East/text.inc index 785cc3a5e..617399c7b 100644 --- a/data/maps/SafariZone_East/text.inc +++ b/data/maps/SafariZone_East/text.inc @@ -1,12 +1,12 @@ -gUnknown_817783B:: @ 817783B +SafariZone_East_Text_RestHouse:: @ 817783B .string "REST HOUSE$" -gUnknown_8177846:: @ 8177846 +SafariZone_East_Text_TimeDeclinesOnlyWhileYouWalk:: @ 8177846 .string "TRAINER TIPS\p" .string "The remaining time declines only\n" .string "while you walk.$" -gUnknown_8177884:: @ 8177884 +SafariZone_East_Text_AreaSign:: @ 8177884 .string "AREA 1\n" .string "WEST: CENTER AREA$" diff --git a/data/maps/SafariZone_Building2/map.json b/data/maps/SafariZone_East_RestHouse/map.json index a8108ab01..d491771d0 100644 --- a/data/maps/SafariZone_Building2/map.json +++ b/data/maps/SafariZone_East_RestHouse/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_SAFARI_ZONE_BUILDING2", - "name": "SafariZone_Building2", - "layout": "LAYOUT_SAFARI_ZONE_BUILDING", + "id": "MAP_SAFARI_ZONE_EAST_REST_HOUSE", + "name": "SafariZone_East_RestHouse", + "layout": "LAYOUT_SAFARI_ZONE_REST_HOUSE", "music": "MUS_SHINKA", "region_map_section": "MAPSEC_KANTO_SAFARI_ZONE", "requires_flash": false, @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SafariZone_Building2_EventScript_162408", + "script": "SafariZone_East_RestHouse_EventScript_Scientist", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SafariZone_Building2_EventScript_1623FF", + "script": "SafariZone_East_RestHouse_EventScript_Rocker", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SafariZone_Building2_EventScript_162411", + "script": "SafariZone_East_RestHouse_EventScript_BaldingMan", "flag": "0" } ], diff --git a/data/maps/SafariZone_East_RestHouse/scripts.inc b/data/maps/SafariZone_East_RestHouse/scripts.inc new file mode 100644 index 000000000..5d95c153f --- /dev/null +++ b/data/maps/SafariZone_East_RestHouse/scripts.inc @@ -0,0 +1,14 @@ +SafariZone_East_RestHouse_MapScripts:: @ 81623FE + .byte 0 + +SafariZone_East_RestHouse_EventScript_Rocker:: @ 81623FF + msgbox SafariZone_East_Text_CaughtChanseyAllWorthwhile, MSGBOX_NPC + end + +SafariZone_East_RestHouse_EventScript_Scientist:: @ 8162408 + msgbox SafariZone_East_Text_HowManyDidYouCatch, MSGBOX_NPC + end + +SafariZone_East_RestHouse_EventScript_BaldingMan:: @ 8162411 + msgbox SafariZone_East_Text_TiredFromAllTheFun, MSGBOX_NPC + end diff --git a/data/maps/SafariZone_Building2/text.inc b/data/maps/SafariZone_East_RestHouse/text.inc index b25194a31..ea914b754 100644 --- a/data/maps/SafariZone_Building2/text.inc +++ b/data/maps/SafariZone_East_RestHouse/text.inc @@ -1,12 +1,12 @@ -gUnknown_8177AAE:: @ 8177AAE +SafariZone_East_Text_HowManyDidYouCatch:: @ 8177AAE .string "How many did you catch?\n" .string "I'm bushed from the effort!$" -gUnknown_8177AE2:: @ 8177AE2 +SafariZone_East_Text_CaughtChanseyAllWorthwhile:: @ 8177AE2 .string "I caught a CHANSEY!\p" .string "That makes this all worthwhile.$" -gUnknown_8177B16:: @ 8177B16 +SafariZone_East_Text_TiredFromAllTheFun:: @ 8177B16 .string "Whew!\n" .string "I'm tired from all the fun!$" diff --git a/data/maps/SafariZone_North/map.json b/data/maps/SafariZone_North/map.json index 6d6d2c272..79b4a1d2f 100644 --- a/data/maps/SafariZone_North/map.json +++ b/data/maps/SafariZone_North/map.json @@ -142,7 +142,7 @@ "x": 43, "y": 8, "elevation": 0, - "dest_map": "MAP_SAFARI_ZONE_BUILDING3", + "dest_map": "MAP_SAFARI_ZONE_NORTH_REST_HOUSE", "dest_warp_id": 1 } ], @@ -153,35 +153,35 @@ "x": 13, "y": 27, "elevation": 0, - "script": "SafariZone_North_EventScript_1623A2" + "script": "SafariZone_North_EventScript_TrainerTips1" }, { "type": "bg_event_type_0", "x": 23, "y": 31, "elevation": 0, - "script": "SafariZone_North_EventScript_1623AB" + "script": "SafariZone_North_EventScript_AreaSign" }, { "type": "bg_event_type_0", "x": 29, "y": 32, "elevation": 0, - "script": "SafariZone_North_EventScript_1623B4" + "script": "SafariZone_North_EventScript_TrainerTips2" }, { "type": "bg_event_type_0", "x": 34, "y": 28, "elevation": 0, - "script": "SafariZone_North_EventScript_1623BD" + "script": "SafariZone_North_EventScript_TrainerTips3" }, { "type": "bg_event_type_0", "x": 44, "y": 9, "elevation": 0, - "script": "SafariZone_North_EventScript_162399" + "script": "SafariZone_North_EventScript_RestHouseSign" } ] } diff --git a/data/maps/SafariZone_North/scripts.inc b/data/maps/SafariZone_North/scripts.inc index 65a8ad4dd..5acf50ae8 100644 --- a/data/maps/SafariZone_North/scripts.inc +++ b/data/maps/SafariZone_North/scripts.inc @@ -1,22 +1,22 @@ SafariZone_North_MapScripts:: @ 8162398 .byte 0 -SafariZone_North_EventScript_162399:: @ 8162399 - msgbox gUnknown_817789D, MSGBOX_SIGN +SafariZone_North_EventScript_RestHouseSign:: @ 8162399 + msgbox SafariZone_North_Text_RestHouse, MSGBOX_SIGN end -SafariZone_North_EventScript_1623A2:: @ 81623A2 - msgbox gUnknown_81778A8, MSGBOX_SIGN +SafariZone_North_EventScript_TrainerTips1:: @ 81623A2 + msgbox SafariZone_North_Text_SecretHouseStillAhead, MSGBOX_SIGN end -SafariZone_North_EventScript_1623AB:: @ 81623AB - msgbox gUnknown_81778D6, MSGBOX_SIGN +SafariZone_North_EventScript_AreaSign:: @ 81623AB + msgbox SafariZone_North_Text_Area2, MSGBOX_SIGN end -SafariZone_North_EventScript_1623B4:: @ 81623B4 - msgbox gUnknown_81778DD, MSGBOX_SIGN +SafariZone_North_EventScript_TrainerTips2:: @ 81623B4 + msgbox SafariZone_North_Text_ZigzagThroughTallGrass, MSGBOX_SIGN end -SafariZone_North_EventScript_1623BD:: @ 81623BD - msgbox gUnknown_8177935, MSGBOX_SIGN +SafariZone_North_EventScript_TrainerTips3:: @ 81623BD + msgbox SafariZone_North_Text_WinFreeHMFindSecretHouse, MSGBOX_SIGN end diff --git a/data/maps/SafariZone_North/text.inc b/data/maps/SafariZone_North/text.inc index a7978dcfe..4d1bbca97 100644 --- a/data/maps/SafariZone_North/text.inc +++ b/data/maps/SafariZone_North/text.inc @@ -1,20 +1,20 @@ -gUnknown_817789D:: @ 817789D +SafariZone_North_Text_RestHouse:: @ 817789D .string "REST HOUSE$" -gUnknown_81778A8:: @ 81778A8 +SafariZone_North_Text_SecretHouseStillAhead:: @ 81778A8 .string "TRAINER TIPS\p" .string "The SECRET HOUSE is still ahead.$" -gUnknown_81778D6:: @ 81778D6 +SafariZone_North_Text_Area2:: @ 81778D6 .string "AREA 2$" -gUnknown_81778DD:: @ 81778DD +SafariZone_North_Text_ZigzagThroughTallGrass:: @ 81778DD .string "TRAINER TIPS\p" .string "POKéMON hide in tall grass.\p" .string "Zigzag through grassy areas to\n" .string "flush them out.$" -gUnknown_8177935:: @ 8177935 +SafariZone_North_Text_WinFreeHMFindSecretHouse:: @ 8177935 .string "TRAINER TIPS\p" .string "Win a free HM for finding the\n" .string "SECRET HOUSE.$" diff --git a/data/maps/SafariZone_Building3/map.json b/data/maps/SafariZone_North_RestHouse/map.json index 5693b1873..48fc58755 100644 --- a/data/maps/SafariZone_Building3/map.json +++ b/data/maps/SafariZone_North_RestHouse/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_SAFARI_ZONE_BUILDING3", - "name": "SafariZone_Building3", - "layout": "LAYOUT_SAFARI_ZONE_BUILDING", + "id": "MAP_SAFARI_ZONE_NORTH_REST_HOUSE", + "name": "SafariZone_North_RestHouse", + "layout": "LAYOUT_SAFARI_ZONE_REST_HOUSE", "music": "MUS_SHINKA", "region_map_section": "MAPSEC_KANTO_SAFARI_ZONE", "requires_flash": false, @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SafariZone_Building3_EventScript_16242D", + "script": "SafariZone_North_RestHouse_EventScript_Gentleman", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SafariZone_Building3_EventScript_162424", + "script": "SafariZone_North_RestHouse_EventScript_Scientist", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SafariZone_Building3_EventScript_16241B", + "script": "SafariZone_North_RestHouse_EventScript_Fisher", "flag": "0" }, { @@ -62,7 +62,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SafariZone_Building3_EventScript_1ACED3", + "script": "SafariZone_North_RestHouse_EventScript_BaldingMan", "flag": "0" } ], diff --git a/data/maps/SafariZone_North_RestHouse/scripts.inc b/data/maps/SafariZone_North_RestHouse/scripts.inc new file mode 100644 index 000000000..b7bcce8ed --- /dev/null +++ b/data/maps/SafariZone_North_RestHouse/scripts.inc @@ -0,0 +1,14 @@ +SafariZone_North_RestHouse_MapScripts:: @ 816241A + .byte 0 + +SafariZone_North_RestHouse_EventScript_Fisher:: @ 816241B + msgbox SafariZone_East_Text_PrizeInDeepestPartOfSafariZone, MSGBOX_NPC + end + +SafariZone_North_RestHouse_EventScript_Scientist:: @ 8162424 + msgbox SafariZone_East_Text_KeepAnyItemFoundOnSafari, MSGBOX_NPC + end + +SafariZone_North_RestHouse_EventScript_Gentleman:: @ 816242D + msgbox SafariZone_East_Text_MyEeveeEvolvedIntoFlareon, MSGBOX_NPC + end diff --git a/data/maps/SafariZone_Building3/text.inc b/data/maps/SafariZone_North_RestHouse/text.inc index d7956d083..cf0188053 100644 --- a/data/maps/SafariZone_Building3/text.inc +++ b/data/maps/SafariZone_North_RestHouse/text.inc @@ -1,14 +1,14 @@ -gUnknown_8177B38:: @ 8177B38 +SafariZone_East_Text_KeepAnyItemFoundOnSafari:: @ 8177B38 .string "You can keep any item you find in\n" .string "the SAFARI ZONE.\p" .string "But, you'll run out of time if you\n" .string "try for all of them at once.$" -gUnknown_8177BAB:: @ 8177BAB +SafariZone_East_Text_PrizeInDeepestPartOfSafariZone:: @ 8177BAB .string "Go to the deepest part of the\n" .string "SAFARI ZONE. You will win a prize!$" -gUnknown_8177BEC:: @ 8177BEC +SafariZone_East_Text_MyEeveeEvolvedIntoFlareon:: @ 8177BEC .string "My EEVEE evolved into FLAREON.\p" .string "But, a friend's EEVEE turned into a\n" .string "VAPOREON. I wonder why?$" diff --git a/data/maps/SafariZone_SecretHouse/map.json b/data/maps/SafariZone_SecretHouse/map.json index 298188e1b..df02367a4 100644 --- a/data/maps/SafariZone_SecretHouse/map.json +++ b/data/maps/SafariZone_SecretHouse/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SafariZone_SecretHouse_EventScript_162453", + "script": "SafariZone_SecretHouse_EventScript_Attendant", "flag": "0" } ], diff --git a/data/maps/SafariZone_SecretHouse/scripts.inc b/data/maps/SafariZone_SecretHouse/scripts.inc index a61a99525..44884acd3 100644 --- a/data/maps/SafariZone_SecretHouse/scripts.inc +++ b/data/maps/SafariZone_SecretHouse/scripts.inc @@ -1,26 +1,26 @@ SafariZone_SecretHouse_MapScripts:: @ 8162452 .byte 0 -SafariZone_SecretHouse_EventScript_162453:: @ 8162453 +SafariZone_SecretHouse_EventScript_Attendant:: @ 8162453 lock faceplayer - goto_if_set FLAG_GOT_HM03, EventScript_1624A9 - msgbox gUnknown_8177DC1 + goto_if_set FLAG_GOT_HM03, SafariZone_SecretHouse_EventScript_ExplainSurf + msgbox SafariZone_SecretHouse_Text_CongratsYouveWon checkitemspace ITEM_HM03, 1 compare VAR_RESULT, FALSE - goto_if_eq EventScript_16249F - giveitem_msg gUnknown_8177E92, ITEM_HM03 - msgbox gUnknown_8177EB7 + goto_if_eq SafariZone_SecretHouse_EventScript_NoRoomForHM03 + giveitem_msg SafariZone_SecretHouse_Text_ReceivedHM03FromAttendant, ITEM_HM03 + msgbox SafariZone_SecretHouse_Text_ExplainSurf setflag FLAG_GOT_HM03 release end -EventScript_16249F:: @ 816249F - msgbox gUnknown_8177F72 +SafariZone_SecretHouse_EventScript_NoRoomForHM03:: @ 816249F + msgbox SafariZone_SecretHouse_Text_DontHaveRoomForPrize release end -EventScript_1624A9:: @ 81624A9 - msgbox gUnknown_8177EB7 +SafariZone_SecretHouse_EventScript_ExplainSurf:: @ 81624A9 + msgbox SafariZone_SecretHouse_Text_ExplainSurf release end diff --git a/data/maps/SafariZone_SecretHouse/text.inc b/data/maps/SafariZone_SecretHouse/text.inc index 04ea02125..bfa505689 100644 --- a/data/maps/SafariZone_SecretHouse/text.inc +++ b/data/maps/SafariZone_SecretHouse/text.inc @@ -1,4 +1,4 @@ -gUnknown_8177DC1:: @ 8177DC1 +SafariZone_SecretHouse_Text_CongratsYouveWon:: @ 8177DC1 .string "Ah! Finally!\p" .string "You're the first person to reach\n" .string "the SECRET HOUSE!\p" @@ -9,11 +9,11 @@ gUnknown_8177DC1:: @ 8177DC1 .string "Congratulations!\n" .string "You have won!$" -gUnknown_8177E92:: @ 8177E92 +SafariZone_SecretHouse_Text_ReceivedHM03FromAttendant:: @ 8177E92 .string "{PLAYER} received HM03\n" .string "from the attendant!$" -gUnknown_8177EB7:: @ 8177EB7 +SafariZone_SecretHouse_Text_ExplainSurf:: @ 8177EB7 .string "HM03 is SURF.\p" .string "POKéMON will be able to ferry you\n" .string "across water using it.\p" @@ -22,7 +22,7 @@ gUnknown_8177EB7:: @ 8177EB7 .string "You're super lucky for winning this\n" .string "fabulous prize!$" -gUnknown_8177F72:: @ 8177F72 +SafariZone_SecretHouse_Text_DontHaveRoomForPrize:: @ 8177F72 .string "You don't have room for this\n" .string "fabulous prize!$" diff --git a/data/maps/SafariZone_West/map.json b/data/maps/SafariZone_West/map.json index cf4eee158..cee77b0b3 100644 --- a/data/maps/SafariZone_West/map.json +++ b/data/maps/SafariZone_West/map.json @@ -141,7 +141,7 @@ "x": 19, "y": 18, "elevation": 0, - "dest_map": "MAP_SAFARI_ZONE_BUILDING4", + "dest_map": "MAP_SAFARI_ZONE_WEST_REST_HOUSE", "dest_warp_id": 1 } ], @@ -152,28 +152,28 @@ "x": 27, "y": 9, "elevation": 0, - "script": "SafariZone_West_EventScript_1623D0" + "script": "SafariZone_West_EventScript_LostTeethNotice" }, { "type": "bg_event_type_0", "x": 36, "y": 10, "elevation": 0, - "script": "SafariZone_West_EventScript_1623D9" + "script": "SafariZone_West_EventScript_TrainerTips" }, { "type": "bg_event_type_0", "x": 35, "y": 26, "elevation": 0, - "script": "SafariZone_West_EventScript_1623E2" + "script": "SafariZone_West_EventScript_AreaSign" }, { "type": "bg_event_type_0", "x": 22, "y": 19, "elevation": 0, - "script": "SafariZone_West_EventScript_1623C7" + "script": "SafariZone_West_EventScript_RestHouseSign" }, { "type": "hidden_item", diff --git a/data/maps/SafariZone_West/scripts.inc b/data/maps/SafariZone_West/scripts.inc index 3d6e0bbf7..aeff53ed8 100644 --- a/data/maps/SafariZone_West/scripts.inc +++ b/data/maps/SafariZone_West/scripts.inc @@ -1,18 +1,18 @@ SafariZone_West_MapScripts:: @ 81623C6 .byte 0 -SafariZone_West_EventScript_1623C7:: @ 81623C7 - msgbox gUnknown_817796E, MSGBOX_SIGN +SafariZone_West_EventScript_RestHouseSign:: @ 81623C7 + msgbox SafariZone_West_Text_RestHouse, MSGBOX_SIGN end -SafariZone_West_EventScript_1623D0:: @ 81623D0 - msgbox gUnknown_8177979, MSGBOX_SIGN +SafariZone_West_EventScript_LostTeethNotice:: @ 81623D0 + msgbox SafariZone_West_Text_PleaseFindWardensLostTeeth, MSGBOX_SIGN end -SafariZone_West_EventScript_1623D9:: @ 81623D9 - msgbox gUnknown_81779F8, MSGBOX_SIGN +SafariZone_West_EventScript_TrainerTips:: @ 81623D9 + msgbox SafariZone_West_Text_SearchForSecretHouse, MSGBOX_SIGN end -SafariZone_West_EventScript_1623E2:: @ 81623E2 - msgbox gUnknown_8177A41, MSGBOX_SIGN +SafariZone_West_EventScript_AreaSign:: @ 81623E2 + msgbox SafariZone_West_Text_AreaSign, MSGBOX_SIGN end diff --git a/data/maps/SafariZone_West/text.inc b/data/maps/SafariZone_West/text.inc index 14a097ada..c158c3467 100644 --- a/data/maps/SafariZone_West/text.inc +++ b/data/maps/SafariZone_West/text.inc @@ -1,7 +1,7 @@ -gUnknown_817796E:: @ 817796E +SafariZone_West_Text_RestHouse:: @ 817796E .string "REST HOUSE$" -gUnknown_8177979:: @ 8177979 +SafariZone_West_Text_PleaseFindWardensLostTeeth:: @ 8177979 .string "REQUEST NOTICE\p" .string "Please find the SAFARI WARDEN's\n" .string "lost GOLD TEETH.\l" @@ -9,12 +9,12 @@ gUnknown_8177979:: @ 8177979 .string "Reward offered!\n" .string "Contact: WARDEN$" -gUnknown_81779F8:: @ 81779F8 +SafariZone_West_Text_SearchForSecretHouse:: @ 81779F8 .string "TRAINER TIPS\p" .string "Zone Exploration Campaign!\n" .string "The Search for the SECRET HOUSE!$" -gUnknown_8177A41:: @ 8177A41 +SafariZone_West_Text_AreaSign:: @ 8177A41 .string "AREA 3\n" .string "EAST: CENTER AREA$" diff --git a/data/maps/SafariZone_Building4/map.json b/data/maps/SafariZone_West_RestHouse/map.json index 6d994ad60..a387fe992 100644 --- a/data/maps/SafariZone_Building4/map.json +++ b/data/maps/SafariZone_West_RestHouse/map.json @@ -1,7 +1,7 @@ { - "id": "MAP_SAFARI_ZONE_BUILDING4", - "name": "SafariZone_Building4", - "layout": "LAYOUT_SAFARI_ZONE_BUILDING", + "id": "MAP_SAFARI_ZONE_WEST_REST_HOUSE", + "name": "SafariZone_West_RestHouse", + "layout": "LAYOUT_SAFARI_ZONE_REST_HOUSE", "music": "MUS_SHINKA", "region_map_section": "MAPSEC_KANTO_SAFARI_ZONE", "requires_flash": false, @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SafariZone_Building4_EventScript_162440", + "script": "SafariZone_West_RestHouse_EventScript_Scientist", "flag": "0" }, { @@ -36,7 +36,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SafariZone_Building4_EventScript_162437", + "script": "SafariZone_West_RestHouse_EventScript_Man", "flag": "0" }, { @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SafariZone_Building4_EventScript_162449", + "script": "SafariZone_West_RestHouse_EventScript_CooltrainerF", "flag": "0" } ], diff --git a/data/maps/SafariZone_West_RestHouse/scripts.inc b/data/maps/SafariZone_West_RestHouse/scripts.inc new file mode 100644 index 000000000..cc3b70df4 --- /dev/null +++ b/data/maps/SafariZone_West_RestHouse/scripts.inc @@ -0,0 +1,14 @@ +SafariZone_West_RestHouse_MapScripts:: @ 8162436 + .byte 0 + +SafariZone_West_RestHouse_EventScript_Man:: @ 8162437 + msgbox SafariZone_West_Text_BaitMakesMonStickAround, MSGBOX_NPC + end + +SafariZone_West_RestHouse_EventScript_Scientist:: @ 8162440 + msgbox SafariZone_West_Text_RocksMakeMonRunButEasierCatch, MSGBOX_NPC + end + +SafariZone_West_RestHouse_EventScript_CooltrainerF:: @ 8162449 + msgbox SafariZone_West_Text_HikedLotsDidntSeeMonIWanted, MSGBOX_NPC + end diff --git a/data/maps/SafariZone_Building4/text.inc b/data/maps/SafariZone_West_RestHouse/text.inc index 66bf06ba2..c6ef1ae59 100644 --- a/data/maps/SafariZone_Building4/text.inc +++ b/data/maps/SafariZone_West_RestHouse/text.inc @@ -1,4 +1,4 @@ -Text_177C47:: @ 8177C47 +SafariZone_West_Text_KogaPatrolsSafariEverySoOften:: @ 8177C47 .string "The SAFARI ZONE's huge, wouldn't\n" .string "you say?\p" .string "FUCHSIA's GYM LEADER, KOGA, \n" @@ -6,17 +6,17 @@ Text_177C47:: @ 8177C47 .string "Thanks to him, we can play here\n" .string "knowing that we're safe.$" -gUnknown_8177CEB:: @ 8177CEB +SafariZone_West_Text_RocksMakeMonRunButEasierCatch:: @ 8177CEB .string "Tossing ROCKS at POKéMON might\n" .string "make them run, but they'll be\l" .string "easier to catch.$" -gUnknown_8177D39:: @ 8177D39 +SafariZone_West_Text_BaitMakesMonStickAround:: @ 8177D39 .string "Using BAIT will make POKéMON more\n" .string "likely to stick around if they get\l" .string "busy eating.$" -gUnknown_8177D8B:: @ 8177D8B +SafariZone_West_Text_HikedLotsDidntSeeMonIWanted:: @ 8177D8B .string "I hiked a lot, but I didn't see any\n" .string "POKéMON I wanted.$" diff --git a/data/maps/SeafoamIslands_B3F/scripts.inc b/data/maps/SeafoamIslands_B3F/scripts.inc index 13c6b606a..d45cc05e9 100644 --- a/data/maps/SeafoamIslands_B3F/scripts.inc +++ b/data/maps/SeafoamIslands_B3F/scripts.inc @@ -1,71 +1,73 @@ +.equ NUM_BOULDERS_PRESENT, VAR_TEMP_2 + SeafoamIslands_B3F_MapScripts:: @ 8162F4F map_script MAP_SCRIPT_ON_TRANSITION, SeafoamIslands_B3F_OnTransition map_script MAP_SCRIPT_ON_FRAME_TABLE, SeafoamIslands_B3F_OnFrame .byte 0 SeafoamIslands_B3F_OnTransition:: @ 8162F5A - call_if_unset FLAG_STOPPED_SEAFOAM_B3F_CURRENT, EventScript_162F6D - call_if_set FLAG_STOPPED_SEAFOAM_B3F_CURRENT, EventScript_162F94 + call_if_unset FLAG_STOPPED_SEAFOAM_B3F_CURRENT, SeafoamIslands_B3F_EventScript_CheckStoppedCurrent + call_if_set FLAG_STOPPED_SEAFOAM_B3F_CURRENT, SeafoamIslands_B3F_EventScript_SetNoCurrentLayout end -EventScript_162F6D:: @ 8162F6D - setvar VAR_TEMP_2, 0 - call_if_unset FLAG_HIDE_SEAFOAM_B3F_BOULDER_1, EventScript_162FF0 - call_if_unset FLAG_HIDE_SEAFOAM_B3F_BOULDER_2, EventScript_162FF0 - compare VAR_TEMP_2, 2 - call_if_eq EventScript_162F90 +SeafoamIslands_B3F_EventScript_CheckStoppedCurrent:: @ 8162F6D + setvar NUM_BOULDERS_PRESENT, 0 + call_if_unset FLAG_HIDE_SEAFOAM_B3F_BOULDER_1, SeafoamIslands_B3F_EventScript_AddBoulderPresent + call_if_unset FLAG_HIDE_SEAFOAM_B3F_BOULDER_2, SeafoamIslands_B3F_EventScript_AddBoulderPresent + compare NUM_BOULDERS_PRESENT, 2 + call_if_eq SeafoamIslands_B3F_EventScript_StoppedCurrent return -EventScript_162F90:: @ 8162F90 +SeafoamIslands_B3F_EventScript_StoppedCurrent:: @ 8162F90 setflag FLAG_STOPPED_SEAFOAM_B3F_CURRENT return -EventScript_162F94:: @ 8162F94 - setmaplayoutindex LAYOUT_UNUSED_LAYOUT_833B6EC +SeafoamIslands_B3F_EventScript_SetNoCurrentLayout:: @ 8162F94 + setmaplayoutindex LAYOUT_SEAFOAM_ISLANDS_B3F_CURRENT_STOPPED return SeafoamIslands_B3F_OnFrame:: @ 8162F98 - map_script_2 VAR_TEMP_1, 1, EventScript_162FA2 + map_script_2 VAR_TEMP_1, 1, SeafoamIslands_B3F_EventScript_EnterByFalling .2byte 0 -EventScript_162FA2:: @ 8162FA2 +SeafoamIslands_B3F_EventScript_EnterByFalling:: @ 8162FA2 lockall - setvar VAR_TEMP_2, 0 - call_if_unset FLAG_HIDE_SEAFOAM_B3F_BOULDER_1, EventScript_162FF0 - call_if_unset FLAG_HIDE_SEAFOAM_B3F_BOULDER_2, EventScript_162FF0 - compare VAR_TEMP_2, 2 - goto_if_eq EventScript_16300C + setvar NUM_BOULDERS_PRESENT, 0 + call_if_unset FLAG_HIDE_SEAFOAM_B3F_BOULDER_1, SeafoamIslands_B3F_EventScript_AddBoulderPresent + call_if_unset FLAG_HIDE_SEAFOAM_B3F_BOULDER_2, SeafoamIslands_B3F_EventScript_AddBoulderPresent + compare NUM_BOULDERS_PRESENT, 2 + goto_if_eq SeafoamIslands_B3F_EventScript_CurrentBlocked getplayerxy VAR_0x8008, VAR_0x8009 compare VAR_0x8008, 24 - call_if_lt EventScript_162FF6 + call_if_lt SeafoamIslands_B3F_EventScript_RideCurrentFar compare VAR_0x8008, 24 - call_if_ge EventScript_163001 + call_if_ge SeafoamIslands_B3F_EventScript_RideCurrentClose setvar VAR_MAP_SCENE_SEAFOAM_ISLANDS_B4F, 1 warp MAP_SEAFOAM_ISLANDS_B4F, 255, 27, 21 waitstate releaseall end -EventScript_162FF0:: @ 8162FF0 - addvar VAR_TEMP_2, 1 +SeafoamIslands_B3F_EventScript_AddBoulderPresent:: @ 8162FF0 + addvar NUM_BOULDERS_PRESENT, 1 return -EventScript_162FF6:: @ 8162FF6 - applymovement OBJ_EVENT_ID_PLAYER, Movement_163013 +SeafoamIslands_B3F_EventScript_RideCurrentFar:: @ 8162FF6 + applymovement OBJ_EVENT_ID_PLAYER, SeafoamIslands_B3F_Movement_RideCurrentFar waitmovement 0 return -EventScript_163001:: @ 8163001 - applymovement OBJ_EVENT_ID_PLAYER, Movement_163021 +SeafoamIslands_B3F_EventScript_RideCurrentClose:: @ 8163001 + applymovement OBJ_EVENT_ID_PLAYER, SeafoamIslands_B3F_Movement_RideCurrentClose waitmovement 0 return -EventScript_16300C:: @ 816300C +SeafoamIslands_B3F_EventScript_CurrentBlocked:: @ 816300C setvar VAR_TEMP_1, 0 releaseall end -Movement_163013:: @ 8163013 +SeafoamIslands_B3F_Movement_RideCurrentFar:: @ 8163013 walk_fast_down walk_fast_down walk_fast_down @@ -81,7 +83,7 @@ Movement_163013:: @ 8163013 walk_fast_down step_end -Movement_163021:: @ 8163021 +SeafoamIslands_B3F_Movement_RideCurrentClose:: @ 8163021 walk_fast_down walk_fast_down walk_fast_down diff --git a/data/maps/SeafoamIslands_B4F/map.json b/data/maps/SeafoamIslands_B4F/map.json index 5fc46fdee..22a8851ac 100644 --- a/data/maps/SeafoamIslands_B4F/map.json +++ b/data/maps/SeafoamIslands_B4F/map.json @@ -49,7 +49,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "SeafoamIslands_B4F_EventScript_1631AC", + "script": "SeafoamIslands_B4F_EventScript_Articuno", "flag": "FLAG_HIDE_ARTICUNO" }, { @@ -104,7 +104,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_SEAFOAM_ISLANDS_B4F", "var_value": 0, - "script": "SeafoamIslands_B4F_EventScript_16319D" + "script": "SeafoamIslands_B4F_EventScript_UpwardCurrent" }, { "type": "trigger", @@ -113,7 +113,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_SEAFOAM_ISLANDS_B4F", "var_value": 0, - "script": "SeafoamIslands_B4F_EventScript_16319D" + "script": "SeafoamIslands_B4F_EventScript_UpwardCurrent" }, { "type": "trigger", @@ -122,7 +122,7 @@ "elevation": 1, "var": "VAR_MAP_SCENE_SEAFOAM_ISLANDS_B4F", "var_value": 0, - "script": "SeafoamIslands_B4F_EventScript_16319D" + "script": "SeafoamIslands_B4F_EventScript_UpwardCurrent" } ], "bg_events": [ @@ -141,14 +141,14 @@ "x": 30, "y": 2, "elevation": 0, - "script": "SeafoamIslands_B4F_EventScript_16322C" + "script": "SeafoamIslands_B4F_EventScript_FastCurrentSign" }, { "type": "bg_event_type_0", "x": 14, "y": 18, "elevation": 0, - "script": "SeafoamIslands_B4F_EventScript_163223" + "script": "SeafoamIslands_B4F_EventScript_BoulderHintSign" } ] } diff --git a/data/maps/SeafoamIslands_B4F/scripts.inc b/data/maps/SeafoamIslands_B4F/scripts.inc index 1882fb3a3..c7343fcb6 100644 --- a/data/maps/SeafoamIslands_B4F/scripts.inc +++ b/data/maps/SeafoamIslands_B4F/scripts.inc @@ -1,3 +1,5 @@ +.equ NUM_BOULDERS_PRESENT, VAR_TEMP_2 + SeafoamIslands_B4F_MapScripts:: @ 816302E map_script MAP_SCRIPT_ON_TRANSITION, SeafoamIslands_B4F_OnTransition map_script MAP_SCRIPT_ON_RESUME, SeafoamIslands_B4F_OnResume @@ -7,10 +9,10 @@ SeafoamIslands_B4F_MapScripts:: @ 816302E .byte 0 SeafoamIslands_B4F_OnResume:: @ 8163048 - call_if_set FLAG_SYS_SPECIAL_WILD_BATTLE, EventScript_163052 + call_if_set FLAG_SYS_SPECIAL_WILD_BATTLE, SeafoamIslands_B4F_EventScript_TryRemoveArticuno end -EventScript_163052:: @ 8163052 +SeafoamIslands_B4F_EventScript_TryRemoveArticuno:: @ 8163052 specialvar VAR_RESULT, Special_GetBattleOutcome compare VAR_RESULT, B_OUTCOME_CAUGHT goto_if_ne EventScript_Return @@ -18,109 +20,111 @@ EventScript_163052:: @ 8163052 return SeafoamIslands_B4F_OnTransition:: @ 8163066 - call_if_unset FLAG_FOUGHT_ARTICUNO, EventScript_1630AD - call_if_unset FLAG_STOPPED_SEAFOAM_B4F_CURRENT, EventScript_163082 - call_if_set FLAG_STOPPED_SEAFOAM_B4F_CURRENT, EventScript_1630A9 + call_if_unset FLAG_FOUGHT_ARTICUNO, SeafoamIslands_B4F_EventScript_ShowArticuno + call_if_unset FLAG_STOPPED_SEAFOAM_B4F_CURRENT, SeafoamIslands_B4F_EventScript_CheckStoppedCurrent + call_if_set FLAG_STOPPED_SEAFOAM_B4F_CURRENT, SeafoamIslands_B4F_EventScript_SetNoCurrentLayout end -EventScript_163082:: @ 8163082 - setvar VAR_TEMP_2, 0 - call_if_unset FLAG_HIDE_SEAFOAM_B4F_BOULDER_1, EventScript_163169 - call_if_unset FLAG_HIDE_SEAFOAM_B4F_BOULDER_2, EventScript_163169 - compare VAR_TEMP_2, 2 - call_if_eq EventScript_1630A5 +SeafoamIslands_B4F_EventScript_CheckStoppedCurrent:: @ 8163082 + setvar NUM_BOULDERS_PRESENT, 0 + call_if_unset FLAG_HIDE_SEAFOAM_B4F_BOULDER_1, SeafoamIslands_B4F_EventScript_AddBoulderPresent + call_if_unset FLAG_HIDE_SEAFOAM_B4F_BOULDER_2, SeafoamIslands_B4F_EventScript_AddBoulderPresent + compare NUM_BOULDERS_PRESENT, 2 + call_if_eq SeafoamIslands_B4F_EventScript_StoppedCurrent return -EventScript_1630A5:: @ 81630A5 +SeafoamIslands_B4F_EventScript_StoppedCurrent:: @ 81630A5 setflag FLAG_STOPPED_SEAFOAM_B4F_CURRENT return -EventScript_1630A9:: @ 81630A9 - setmaplayoutindex LAYOUT_UNUSED_LAYOUT_833BE30 +SeafoamIslands_B4F_EventScript_SetNoCurrentLayout:: @ 81630A9 + setmaplayoutindex LAYOUT_SEAFOAM_ISLANDS_B4F_CURRENT_STOPPED return -EventScript_1630AD:: @ 81630AD +SeafoamIslands_B4F_EventScript_ShowArticuno:: @ 81630AD clearflag FLAG_HIDE_ARTICUNO return SeafoamIslands_B4F_OnLoad:: @ 81630B1 - setvar VAR_TEMP_2, 0 - call_if_unset FLAG_HIDE_SEAFOAM_B4F_BOULDER_1, EventScript_163169 - call_if_unset FLAG_HIDE_SEAFOAM_B4F_BOULDER_2, EventScript_163169 - compare VAR_TEMP_2, 2 - goto_if_eq EventScript_1630D4 + setvar NUM_BOULDERS_PRESENT, 0 + call_if_unset FLAG_HIDE_SEAFOAM_B4F_BOULDER_1, SeafoamIslands_B4F_EventScript_AddBoulderPresent + call_if_unset FLAG_HIDE_SEAFOAM_B4F_BOULDER_2, SeafoamIslands_B4F_EventScript_AddBoulderPresent + compare NUM_BOULDERS_PRESENT, 2 + goto_if_eq SeafoamIslands_B4F_EventScript_SetCalmWaterNearStairs end -EventScript_1630D4:: @ 81630D4 - setmetatile 12, 14, 299, 0 - setmetatile 13, 14, 299, 0 +SeafoamIslands_B4F_EventScript_SetCalmWaterNearStairs:: @ 81630D4 + setmetatile 12, 14, METATILE_General_CalmWater, 0 + setmetatile 13, 14, METATILE_General_CalmWater, 0 end SeafoamIslands_B4F_OnWarp:: @ 81630E7 - map_script_2 VAR_MAP_SCENE_SEAFOAM_ISLANDS_B4F, 1, EventScript_1630F1 + map_script_2 VAR_MAP_SCENE_SEAFOAM_ISLANDS_B4F, 1, SeafoamIslands_B4F_EventScript_WarpInOnCurrent .2byte 0 -EventScript_1630F1:: @ 81630F1 +SeafoamIslands_B4F_EventScript_WarpInOnCurrent:: @ 81630F1 turnobject OBJ_EVENT_ID_PLAYER, DIR_NORTH special Special_ForcePlayerToStartSurfing end SeafoamIslands_B4F_OnFrame:: @ 81630F9 - map_script_2 VAR_MAP_SCENE_SEAFOAM_ISLANDS_B4F, 1, EventScript_16310B - map_script_2 VAR_TEMP_1, 1, EventScript_163121 + map_script_2 VAR_MAP_SCENE_SEAFOAM_ISLANDS_B4F, 1, SeafoamIslands_B4F_EventScript_EnterOnCurrent + map_script_2 VAR_TEMP_1, 1, SeafoamIslands_B4F_EventScript_EnterByFalling .2byte 0 -EventScript_16310B:: @ 816310B +@ The current the player is forced in on from B3F +SeafoamIslands_B4F_EventScript_EnterOnCurrent:: @ 816310B lockall - applymovement OBJ_EVENT_ID_PLAYER, Movement_16311D + applymovement OBJ_EVENT_ID_PLAYER, SeafoamIslands_B4F_Movement_EnterOnCurrent waitmovement 0 setvar VAR_MAP_SCENE_SEAFOAM_ISLANDS_B4F, 0 releaseall end -Movement_16311D:: @ 816311D +SeafoamIslands_B4F_Movement_EnterOnCurrent:: @ 816311D walk_fast_up walk_fast_up walk_fast_up step_end -EventScript_163121:: @ 8163121 +@ The current the player lands on when entering the map by falling +SeafoamIslands_B4F_EventScript_EnterByFalling:: @ 8163121 lockall - setvar VAR_TEMP_2, 0 - call_if_unset FLAG_HIDE_SEAFOAM_B4F_BOULDER_1, EventScript_163169 - call_if_unset FLAG_HIDE_SEAFOAM_B4F_BOULDER_2, EventScript_163169 - compare VAR_TEMP_2, 2 - goto_if_eq EventScript_163185 + setvar NUM_BOULDERS_PRESENT, 0 + call_if_unset FLAG_HIDE_SEAFOAM_B4F_BOULDER_1, SeafoamIslands_B4F_EventScript_AddBoulderPresent + call_if_unset FLAG_HIDE_SEAFOAM_B4F_BOULDER_2, SeafoamIslands_B4F_EventScript_AddBoulderPresent + compare NUM_BOULDERS_PRESENT, 2 + goto_if_eq SeafoamIslands_B4F_EventScript_CurrentBlocked getplayerxy VAR_0x8008, VAR_0x8009 compare VAR_0x8008, 9 - call_if_lt EventScript_16316F + call_if_lt SeafoamIslands_B4F_EventScript_RideCurrentFar compare VAR_0x8008, 9 - call_if_ge EventScript_16317A + call_if_ge SeafoamIslands_B4F_EventScript_RideCurrentClose special sub_805D1A8 setvar VAR_TEMP_1, 0 releaseall end -EventScript_163169:: @ 8163169 - addvar VAR_TEMP_2, 1 +SeafoamIslands_B4F_EventScript_AddBoulderPresent:: @ 8163169 + addvar NUM_BOULDERS_PRESENT, 1 return -EventScript_16316F:: @ 816316F - applymovement OBJ_EVENT_ID_PLAYER, Movement_16318C +SeafoamIslands_B4F_EventScript_RideCurrentFar:: @ 816316F + applymovement OBJ_EVENT_ID_PLAYER, SeafoamIslands_B4F_Movement_RideCurrentFar waitmovement 0 return -EventScript_16317A:: @ 816317A - applymovement OBJ_EVENT_ID_PLAYER, Movement_163195 +SeafoamIslands_B4F_EventScript_RideCurrentClose:: @ 816317A + applymovement OBJ_EVENT_ID_PLAYER, SeafoamIslands_B4F_Movement_RideCurrentClose waitmovement 0 return -EventScript_163185:: @ 8163185 +SeafoamIslands_B4F_EventScript_CurrentBlocked:: @ 8163185 setvar VAR_TEMP_1, 0 releaseall end -Movement_16318C:: @ 816318C +SeafoamIslands_B4F_Movement_RideCurrentFar:: @ 816318C walk_up walk_up walk_up @@ -131,7 +135,7 @@ Movement_16318C:: @ 816318C walk_up step_end -Movement_163195:: @ 8163195 +SeafoamIslands_B4F_Movement_RideCurrentClose:: @ 8163195 walk_up walk_up walk_up @@ -141,18 +145,19 @@ Movement_163195:: @ 8163195 walk_up step_end -SeafoamIslands_B4F_EventScript_16319D:: @ 816319D +@ Triggers blocking re-entry to B3F +SeafoamIslands_B4F_EventScript_UpwardCurrent:: @ 816319D lockall - applymovement OBJ_EVENT_ID_PLAYER, Movement_1631AA + applymovement OBJ_EVENT_ID_PLAYER, SeafoamIslands_B4F_Movement_WalkUp waitmovement 0 releaseall end -Movement_1631AA:: @ 81631AA +SeafoamIslands_B4F_Movement_WalkUp:: @ 81631AA walk_up step_end -SeafoamIslands_B4F_EventScript_1631AC:: @ 81631AC +SeafoamIslands_B4F_EventScript_Articuno:: @ 81631AC goto_if_questlog EventScript_ReleaseEnd special sub_8112364 lock @@ -160,7 +165,7 @@ SeafoamIslands_B4F_EventScript_1631AC:: @ 81631AC setwildbattle SPECIES_ARTICUNO, 50, ITEM_NONE waitse playmoncry SPECIES_ARTICUNO, 2 - message Text_1A6448 + message Text_Gyaoo waitmessage waitmoncry delay 10 @@ -172,33 +177,29 @@ SeafoamIslands_B4F_EventScript_1631AC:: @ 81631AC clearflag FLAG_SYS_SPECIAL_WILD_BATTLE specialvar VAR_RESULT, Special_GetBattleOutcome compare VAR_RESULT, B_OUTCOME_WON - goto_if_eq EventScript_16320F + goto_if_eq SeafoamIslands_B4F_EventScript_DefeatedArticuno compare VAR_RESULT, B_OUTCOME_RAN - goto_if_eq EventScript_163218 + goto_if_eq SeafoamIslands_B4F_EventScript_RanFromArticuno compare VAR_RESULT, B_OUTCOME_PLAYER_TELEPORTED - goto_if_eq EventScript_163218 + goto_if_eq SeafoamIslands_B4F_EventScript_RanFromArticuno setflag FLAG_FOUGHT_ARTICUNO release end -EventScript_16320F:: @ 816320F +SeafoamIslands_B4F_EventScript_DefeatedArticuno:: @ 816320F setflag FLAG_FOUGHT_ARTICUNO goto EventScript_RemoveStaticMon - -EventScript_163217:: @ 8163217 end -EventScript_163218:: @ 8163218 +SeafoamIslands_B4F_EventScript_RanFromArticuno:: @ 8163218 setvar VAR_0x8004, SPECIES_ARTICUNO goto EventScript_MonFlewAway - -EventScript_163222:: @ 8163222 end -SeafoamIslands_B4F_EventScript_163223:: @ 8163223 - msgbox gUnknown_8179B36, MSGBOX_SIGN +SeafoamIslands_B4F_EventScript_BoulderHintSign:: @ 8163223 + msgbox SeafoamIslands_B4F_Text_BouldersMightChangeWaterFlow, MSGBOX_SIGN end -SeafoamIslands_B4F_EventScript_16322C:: @ 816322C - msgbox gUnknown_8179B65, MSGBOX_SIGN +SeafoamIslands_B4F_EventScript_FastCurrentSign:: @ 816322C + msgbox SeafoamIslands_B4F_Text_DangerFastCurrent, MSGBOX_SIGN end diff --git a/data/maps/SeafoamIslands_B4F/text.inc b/data/maps/SeafoamIslands_B4F/text.inc index 708828c74..2747110e5 100644 --- a/data/maps/SeafoamIslands_B4F/text.inc +++ b/data/maps/SeafoamIslands_B4F/text.inc @@ -19,11 +19,11 @@ Text_RockSlideTaught:: @ 8179B0A .string "It might be scary to use it in this\n" .string "tunnel…$" -gUnknown_8179B36:: @ 8179B36 +SeafoamIslands_B4F_Text_BouldersMightChangeWaterFlow:: @ 8179B36 .string "Hint: Boulders might change the\n" .string "flow of water.$" -gUnknown_8179B65:: @ 8179B65 +SeafoamIslands_B4F_Text_DangerFastCurrent:: @ 8179B65 .string "DANGER\n" .string "Fast current!$" diff --git a/data/maps/SixIsland_DottedHole_1F/scripts.inc b/data/maps/SixIsland_DottedHole_1F/scripts.inc index 0dae8d853..26217512e 100644 --- a/data/maps/SixIsland_DottedHole_1F/scripts.inc +++ b/data/maps/SixIsland_DottedHole_1F/scripts.inc @@ -8,28 +8,28 @@ SixIsland_DottedHole_1F_OnTransition:: @ 8164188 SixIsland_DottedHole_B1F_EventScript_16418C:: @ 816418C lockall - braillemessage gUnknown_81A9288 + braillemessage Braille_Text_Up waitbuttonpress releaseall end SixIsland_DottedHole_B4F_EventScript_164195:: @ 8164195 lockall - braillemessage gUnknown_81A928B + braillemessage Braille_Text_Down waitbuttonpress releaseall end SixIsland_DottedHole_B3F_EventScript_16419E:: @ 816419E lockall - braillemessage gUnknown_81A9290 + braillemessage Braille_Text_Right waitbuttonpress releaseall end SixIsland_DottedHole_B2F_EventScript_1641A7:: @ 81641A7 lockall - braillemessage gUnknown_81A9296 + braillemessage Braille_Text_Left waitbuttonpress releaseall end diff --git a/data/maps/SixIsland_DottedHole_SapphireRoom/scripts.inc b/data/maps/SixIsland_DottedHole_SapphireRoom/scripts.inc index 24106d3ac..a73503f7c 100644 --- a/data/maps/SixIsland_DottedHole_SapphireRoom/scripts.inc +++ b/data/maps/SixIsland_DottedHole_SapphireRoom/scripts.inc @@ -238,67 +238,22 @@ Movement_16441C:: @ 816441C SixIsland_DottedHole_SapphireRoom_EventScript_16441F:: @ 816441F lockall setvar VAR_0x8005, 130 - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A9321 - getbraillestringwidth gUnknown_81A9321 - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A932D - getbraillestringwidth gUnknown_81A932D - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A9338 - getbraillestringwidth gUnknown_81A9338 - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A933F - getbraillestringwidth gUnknown_81A933F - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A934A - getbraillestringwidth gUnknown_81A934A - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A9356 - getbraillestringwidth gUnknown_81A9356 - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A9362 - getbraillestringwidth gUnknown_81A9362 - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A9368 - getbraillestringwidth gUnknown_81A9368 - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A9374 - getbraillestringwidth gUnknown_81A9374 - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A937C - getbraillestringwidth gUnknown_81A937C - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A9387 - getbraillestringwidth gUnknown_81A9387 - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A9393 - getbraillestringwidth gUnknown_81A9393 - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A939F - getbraillestringwidth gUnknown_81A939F - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A93AB - getbraillestringwidth gUnknown_81A93AB - call EventScript_BrailleCursorWaitButton - setvar VAR_0x8006, 0 - braillemessage gUnknown_81A93B4 - getbraillestringwidth gUnknown_81A93B4 - call EventScript_BrailleCursorWaitButton - braillemessage gUnknown_81A93C0 + braillemessage_wait Braille_Text_LetTheTwo + braillemessage_wait Braille_Text_Glittering + braillemessage_wait Braille_Text_Stones + braillemessage_wait Braille_Text_OneInRed + braillemessage_wait Braille_Text_OneInBlue + braillemessage_wait Braille_Text_ConnectThe + braillemessage_wait Braille_Text_Past + braillemessage_wait Braille_Text_TwoFriends + braillemessage_wait Braille_Text_Sharing + braillemessage_wait Braille_Text_PowerOpen + braillemessage_wait Braille_Text_AWindowTo + braillemessage_wait Braille_Text_ANewWorld + braillemessage_wait Braille_Text_ThatGlows + braillemessage_wait Braille_Text_TheNext + braillemessage_wait Braille_Text_WorldWaits + braillemessage Braille_Text_ForYou waitbuttonpress releaseall end diff --git a/data/maps/SixIsland_RuinValley/scripts.inc b/data/maps/SixIsland_RuinValley/scripts.inc index 582503ed8..9dadf5525 100644 --- a/data/maps/SixIsland_RuinValley/scripts.inc +++ b/data/maps/SixIsland_RuinValley/scripts.inc @@ -28,7 +28,7 @@ SixIsland_RuinValley_EventScript_168B94:: @ 8168B94 compare VAR_RESULT, NO goto_if_eq EventScript_168BCB msgbox gUnknown_818BE11 - braillemessage gUnknown_81A929B + braillemessage Braille_Text_Cut waitbuttonpress releaseall end diff --git a/data/maps/UndergroundPath_EastEntrance/map.json b/data/maps/UndergroundPath_EastEntrance/map.json index 3e600d6ad..8a82619c0 100644 --- a/data/maps/UndergroundPath_EastEntrance/map.json +++ b/data/maps/UndergroundPath_EastEntrance/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "UndergroundPath_EastEntrance_EventScript_160EDE", + "script": "UndergroundPath_EastEntrance_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/UndergroundPath_EastEntrance/scripts.inc b/data/maps/UndergroundPath_EastEntrance/scripts.inc index 28a211c6f..88bc29730 100644 --- a/data/maps/UndergroundPath_EastEntrance/scripts.inc +++ b/data/maps/UndergroundPath_EastEntrance/scripts.inc @@ -1,6 +1,6 @@ UndergroundPath_EastEntrance_MapScripts:: @ 8160EDD .byte 0 -UndergroundPath_EastEntrance_EventScript_160EDE:: @ 8160EDE - msgbox gUnknown_81745D9, MSGBOX_NPC +UndergroundPath_EastEntrance_EventScript_Woman:: @ 8160EDE + msgbox UndergroundPath_EastEntrance_Text_DoYouGoToCeladonDeptStore, MSGBOX_NPC end diff --git a/data/maps/UndergroundPath_EastEntrance/text.inc b/data/maps/UndergroundPath_EastEntrance/text.inc index f44fb5a21..7333a73cc 100644 --- a/data/maps/UndergroundPath_EastEntrance/text.inc +++ b/data/maps/UndergroundPath_EastEntrance/text.inc @@ -1,4 +1,4 @@ -gUnknown_81745D9:: @ 81745D9 +UndergroundPath_EastEntrance_Text_DoYouGoToCeladonDeptStore:: @ 81745D9 .string "The DEPARTMENT STORE in CELADON\n" .string "has a great selection.\p" .string "Do you go there very often?$" diff --git a/data/maps/UndergroundPath_NorthEntrance/map.json b/data/maps/UndergroundPath_NorthEntrance/map.json index 18939c721..d5fbc5df9 100644 --- a/data/maps/UndergroundPath_NorthEntrance/map.json +++ b/data/maps/UndergroundPath_NorthEntrance/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "UndergroundPath_NorthEntrance_EventScript_160E39", + "script": "UndergroundPath_NorthEntrance_EventScript_Saige", "flag": "0" } ], diff --git a/data/maps/UndergroundPath_NorthEntrance/scripts.inc b/data/maps/UndergroundPath_NorthEntrance/scripts.inc index a06a23659..70a690828 100644 --- a/data/maps/UndergroundPath_NorthEntrance/scripts.inc +++ b/data/maps/UndergroundPath_NorthEntrance/scripts.inc @@ -1,39 +1,39 @@ UndergroundPath_NorthEntrance_MapScripts:: @ 8160E38 .byte 0 -UndergroundPath_NorthEntrance_EventScript_160E39:: @ 8160E39 +UndergroundPath_NorthEntrance_EventScript_Saige:: @ 8160E39 lock faceplayer setvar VAR_0x8008, INGAME_TRADE_NIDORAN call EventScript_GetInGameTradeSpeciesInfo - goto_if_set FLAG_DID_MS_NIDO_TRADE, EventScript_160EAB + goto_if_set FLAG_DID_MS_NIDO_TRADE, UndergroundPath_NorthEntrance_EventScript_AlreadyTraded msgbox gUnknown_81A5AD6, MSGBOX_YESNO compare VAR_RESULT, NO - goto_if_eq EventScript_160E93 + goto_if_eq UndergroundPath_NorthEntrance_EventScript_DeclineTrade call EventScript_ChooseMonForInGameTrade compare VAR_0x8004, PARTY_SIZE - goto_if_ge EventScript_160E93 + goto_if_ge UndergroundPath_NorthEntrance_EventScript_DeclineTrade call EventScript_GetInGameTradeSpecies compare VAR_RESULT, VAR_0x8009 - goto_if_ne EventScript_160E9D + goto_if_ne UndergroundPath_NorthEntrance_EventScript_NotRequestedMon call EventScript_DoInGameTrade msgbox gUnknown_81A5B4A setflag FLAG_DID_MS_NIDO_TRADE release end -EventScript_160E93:: @ 8160E93 +UndergroundPath_NorthEntrance_EventScript_DeclineTrade:: @ 8160E93 msgbox gUnknown_81A5B08 release end -EventScript_160E9D:: @ 8160E9D +UndergroundPath_NorthEntrance_EventScript_NotRequestedMon:: @ 8160E9D getspeciesname 0, VAR_0x8009 msgbox gUnknown_81A5B18 release end -EventScript_160EAB:: @ 8160EAB +UndergroundPath_NorthEntrance_EventScript_AlreadyTraded:: @ 8160EAB msgbox gUnknown_81A5B60 release end diff --git a/data/maps/UndergroundPath_SouthEntrance/map.json b/data/maps/UndergroundPath_SouthEntrance/map.json index e58624d4e..604e544cd 100644 --- a/data/maps/UndergroundPath_SouthEntrance/map.json +++ b/data/maps/UndergroundPath_SouthEntrance/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "UndergroundPath_SouthEntrance_EventScript_160EC0", + "script": "UndergroundPath_SouthEntrance_EventScript_Woman", "flag": "0" } ], diff --git a/data/maps/UndergroundPath_SouthEntrance/scripts.inc b/data/maps/UndergroundPath_SouthEntrance/scripts.inc index 1623d16d7..1bc0b2a31 100644 --- a/data/maps/UndergroundPath_SouthEntrance/scripts.inc +++ b/data/maps/UndergroundPath_SouthEntrance/scripts.inc @@ -1,6 +1,6 @@ UndergroundPath_SouthEntrance_MapScripts:: @ 8160EBF .byte 0 -UndergroundPath_SouthEntrance_EventScript_160EC0:: @ 8160EC0 - msgbox gUnknown_8174559, MSGBOX_NPC +UndergroundPath_SouthEntrance_EventScript_Woman:: @ 8160EC0 + msgbox UndergroundPath_SouthEntrance_Text_PeopleLoseThingsInTheDarkness, MSGBOX_NPC end diff --git a/data/maps/UndergroundPath_SouthEntrance/text.inc b/data/maps/UndergroundPath_SouthEntrance/text.inc index 07e9c0368..5e35c333d 100644 --- a/data/maps/UndergroundPath_SouthEntrance/text.inc +++ b/data/maps/UndergroundPath_SouthEntrance/text.inc @@ -1,4 +1,4 @@ -gUnknown_8174559:: @ 8174559 +UndergroundPath_SouthEntrance_Text_PeopleLoseThingsInTheDarkness:: @ 8174559 .string "People often lose things in the\n" .string "darkness of the UNDERGROUND PATH.$" diff --git a/data/maps/UndergroundPath_WestEntrance/map.json b/data/maps/UndergroundPath_WestEntrance/map.json index ab685cca5..8e8d2f662 100644 --- a/data/maps/UndergroundPath_WestEntrance/map.json +++ b/data/maps/UndergroundPath_WestEntrance/map.json @@ -23,7 +23,7 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "UndergroundPath_WestEntrance_EventScript_160ECA", + "script": "UndergroundPath_WestEntrance_EventScript_BaldingMan", "flag": "0" } ], diff --git a/data/maps/UndergroundPath_WestEntrance/scripts.inc b/data/maps/UndergroundPath_WestEntrance/scripts.inc index 6b1c60710..35fab8e7a 100644 --- a/data/maps/UndergroundPath_WestEntrance/scripts.inc +++ b/data/maps/UndergroundPath_WestEntrance/scripts.inc @@ -1,6 +1,6 @@ UndergroundPath_WestEntrance_MapScripts:: @ 8160EC9 .byte 0 -UndergroundPath_WestEntrance_EventScript_160ECA:: @ 8160ECA - msgbox gUnknown_817459B, MSGBOX_NPC +UndergroundPath_WestEntrance_EventScript_BaldingMan:: @ 8160ECA + msgbox UndergroundPath_WestEntrance_Text_SleepyMonNearCeladon, MSGBOX_NPC end diff --git a/data/maps/UndergroundPath_WestEntrance/text.inc b/data/maps/UndergroundPath_WestEntrance/text.inc index 5447a5206..6130a5244 100644 --- a/data/maps/UndergroundPath_WestEntrance/text.inc +++ b/data/maps/UndergroundPath_WestEntrance/text.inc @@ -1,4 +1,4 @@ -gUnknown_817459B:: @ 817459B +UndergroundPath_WestEntrance_Text_SleepyMonNearCeladon:: @ 817459B .string "I heard a sleepy POKéMON appeared\n" .string "out near CELADON CITY, too.$" diff --git a/data/maps/UnionRoom/map.json b/data/maps/UnionRoom/map.json index 91cf2cb49..7427f28c3 100644 --- a/data/maps/UnionRoom/map.json +++ b/data/maps/UnionRoom/map.json @@ -23,7 +23,7 @@ "movement_range_y": 0, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "UnionRoom_EventScript_16050C", + "script": "UnionRoom_EventScript_Attendant", "flag": "0" }, { @@ -36,8 +36,8 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "UnionRoom_EventScript_1604DA", - "flag": "FLAG_HIDE_UNION_ROOM_4" + "script": "UnionRoom_EventScript_Player4", + "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_4" }, { "graphics_id": "OBJECT_EVENT_GFX_VAR_7", @@ -49,8 +49,8 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "UnionRoom_EventScript_160502", - "flag": "FLAG_HIDE_UNION_ROOM_8" + "script": "UnionRoom_EventScript_Player8", + "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_8" }, { "graphics_id": "OBJECT_EVENT_GFX_VAR_6", @@ -62,8 +62,8 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "UnionRoom_EventScript_1604F8", - "flag": "FLAG_HIDE_UNION_ROOM_7" + "script": "UnionRoom_EventScript_Player7", + "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_7" }, { "graphics_id": "OBJECT_EVENT_GFX_VAR_5", @@ -75,8 +75,8 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "UnionRoom_EventScript_1604EE", - "flag": "FLAG_HIDE_UNION_ROOM_6" + "script": "UnionRoom_EventScript_Player6", + "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_6" }, { "graphics_id": "OBJECT_EVENT_GFX_VAR_4", @@ -88,8 +88,8 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "UnionRoom_EventScript_1604E4", - "flag": "FLAG_HIDE_UNION_ROOM_5" + "script": "UnionRoom_EventScript_Player5", + "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_5" }, { "graphics_id": "OBJECT_EVENT_GFX_VAR_2", @@ -101,8 +101,8 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "UnionRoom_EventScript_1604D0", - "flag": "FLAG_HIDE_UNION_ROOM_3" + "script": "UnionRoom_EventScript_Player3", + "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_3" }, { "graphics_id": "OBJECT_EVENT_GFX_VAR_1", @@ -114,8 +114,8 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "UnionRoom_EventScript_1604C6", - "flag": "FLAG_HIDE_UNION_ROOM_2" + "script": "UnionRoom_EventScript_Player2", + "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_2" }, { "graphics_id": "OBJECT_EVENT_GFX_VAR_0", @@ -127,8 +127,8 @@ "movement_range_y": 1, "trainer_type": 0, "trainer_sight_or_berry_tree_id": 0, - "script": "UnionRoom_EventScript_1604BC", - "flag": "FLAG_HIDE_UNION_ROOM_1" + "script": "UnionRoom_EventScript_Player1", + "flag": "FLAG_HIDE_UNION_ROOM_PLAYER_1" } ], "warp_events": [ diff --git a/data/maps/UnionRoom/scripts.inc b/data/maps/UnionRoom/scripts.inc index c948682ce..35222ba8b 100644 --- a/data/maps/UnionRoom/scripts.inc +++ b/data/maps/UnionRoom/scripts.inc @@ -4,14 +4,14 @@ UnionRoom_MapScripts:: @ 816047C .byte 0 UnionRoom_OnResume:: @ 8160487 - setflag FLAG_HIDE_UNION_ROOM_1 - setflag FLAG_HIDE_UNION_ROOM_2 - setflag FLAG_HIDE_UNION_ROOM_3 - setflag FLAG_HIDE_UNION_ROOM_4 - setflag FLAG_HIDE_UNION_ROOM_5 - setflag FLAG_HIDE_UNION_ROOM_6 - setflag FLAG_HIDE_UNION_ROOM_7 - setflag FLAG_HIDE_UNION_ROOM_8 + setflag FLAG_HIDE_UNION_ROOM_PLAYER_1 + setflag FLAG_HIDE_UNION_ROOM_PLAYER_2 + setflag FLAG_HIDE_UNION_ROOM_PLAYER_3 + setflag FLAG_HIDE_UNION_ROOM_PLAYER_4 + setflag FLAG_HIDE_UNION_ROOM_PLAYER_5 + setflag FLAG_HIDE_UNION_ROOM_PLAYER_6 + setflag FLAG_HIDE_UNION_ROOM_PLAYER_7 + setflag FLAG_HIDE_UNION_ROOM_PLAYER_8 removeobject 9 removeobject 8 removeobject 7 @@ -26,7 +26,7 @@ UnionRoom_OnResume:: @ 8160487 UnionRoom_OnTransition:: @ 81604BB end -UnionRoom_EventScript_1604BC:: @ 81604BC +UnionRoom_EventScript_Player1:: @ 81604BC lock faceplayer setvar VAR_RESULT, 1 @@ -34,7 +34,7 @@ UnionRoom_EventScript_1604BC:: @ 81604BC release end -UnionRoom_EventScript_1604C6:: @ 81604C6 +UnionRoom_EventScript_Player2:: @ 81604C6 lock faceplayer setvar VAR_RESULT, 2 @@ -42,7 +42,7 @@ UnionRoom_EventScript_1604C6:: @ 81604C6 release end -UnionRoom_EventScript_1604D0:: @ 81604D0 +UnionRoom_EventScript_Player3:: @ 81604D0 lock faceplayer setvar VAR_RESULT, 3 @@ -50,7 +50,7 @@ UnionRoom_EventScript_1604D0:: @ 81604D0 release end -UnionRoom_EventScript_1604DA:: @ 81604DA +UnionRoom_EventScript_Player4:: @ 81604DA lock faceplayer setvar VAR_RESULT, 4 @@ -58,7 +58,7 @@ UnionRoom_EventScript_1604DA:: @ 81604DA release end -UnionRoom_EventScript_1604E4:: @ 81604E4 +UnionRoom_EventScript_Player5:: @ 81604E4 lock faceplayer setvar VAR_RESULT, 5 @@ -66,7 +66,7 @@ UnionRoom_EventScript_1604E4:: @ 81604E4 release end -UnionRoom_EventScript_1604EE:: @ 81604EE +UnionRoom_EventScript_Player6:: @ 81604EE lock faceplayer setvar VAR_RESULT, 6 @@ -74,7 +74,7 @@ UnionRoom_EventScript_1604EE:: @ 81604EE release end -UnionRoom_EventScript_1604F8:: @ 81604F8 +UnionRoom_EventScript_Player7:: @ 81604F8 lock faceplayer setvar VAR_RESULT, 7 @@ -82,7 +82,7 @@ UnionRoom_EventScript_1604F8:: @ 81604F8 release end -UnionRoom_EventScript_160502:: @ 8160502 +UnionRoom_EventScript_Player8:: @ 8160502 lock faceplayer setvar VAR_RESULT, 8 @@ -90,7 +90,7 @@ UnionRoom_EventScript_160502:: @ 8160502 release end -UnionRoom_EventScript_16050C:: @ 816050C +UnionRoom_EventScript_Attendant:: @ 816050C lock faceplayer setvar VAR_RESULT, 9 @@ -98,7 +98,7 @@ UnionRoom_EventScript_16050C:: @ 816050C release end -UnionRoom_EventScript_160516:: @ 8160516 +UnionRoom_EventScript_Unused:: @ 8160516 lockall setvar VAR_RESULT, 10 waitstate diff --git a/data/maps/map_groups.json b/data/maps/map_groups.json index b89b112a4..05f1cd544 100644 --- a/data/maps/map_groups.json +++ b/data/maps/map_groups.json @@ -119,10 +119,10 @@ "SafariZone_East", "SafariZone_North", "SafariZone_West", - "SafariZone_Building1", - "SafariZone_Building2", - "SafariZone_Building3", - "SafariZone_Building4", + "SafariZone_Center_RestHouse", + "SafariZone_East_RestHouse", + "SafariZone_North_RestHouse", + "SafariZone_West_RestHouse", "SafariZone_SecretHouse", "CeruleanCave_1F", "CeruleanCave_2F", @@ -385,12 +385,12 @@ "gMapGroup11": [ "FuchsiaCity_SafariZone_Entrance", "FuchsiaCity_Mart", - "FuchsiaCity_ZooBuilding", + "FuchsiaCity_SafariZone_Office", "FuchsiaCity_Gym", "FuchsiaCity_House1", "FuchsiaCity_PokemonCenter_1F", "FuchsiaCity_PokemonCenter_2F", - "FuchsiaCity_Building1", + "FuchsiaCity_WardensHouse", "FuchsiaCity_House2", "FuchsiaCity_House3" ], diff --git a/data/scripts/day_care.inc b/data/scripts/day_care.inc index 9937bf704..8e3318c35 100644 --- a/data/scripts/day_care.inc +++ b/data/scripts/day_care.inc @@ -1,93 +1,93 @@ -Route5_PokemonDayCare_EventScript_1BF398:: @ 81BF398 +Route5_PokemonDayCare_EventScript_DaycareMan:: @ 81BF398 goto_if_questlog EventScript_ReleaseEnd lock faceplayer showmoneybox 0, 0, 0 specialvar VAR_RESULT, IsThereMonInRoute5Daycare - compare VAR_RESULT, 1 - goto_if_eq EventScript_1BF46E - msgbox Text_19DD66, MSGBOX_YESNO + compare VAR_RESULT, TRUE + goto_if_eq Route5_PokemonDayCare_EventScript_CheckOnMon + msgbox Route5_PokemonDayCare_Text_WantMeToRaiseMon, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_1BF3DD - msgbox Text_19DDB2 - goto EventScript_1BF541 + goto_if_eq Route5_PokemonDayCare_EventScript_TryGiveMon + msgbox Route5_PokemonDayCare_Text_ComeAgain + goto Route5_PokemonDayCare_EventScript_CloseMoneyBox end -EventScript_1BF3DD:: @ 81BF3DD +Route5_PokemonDayCare_EventScript_TryGiveMon:: @ 81BF3DD specialvar VAR_RESULT, CountPartyNonEggMons compare VAR_RESULT, 1 - goto_if_eq EventScript_1BF452 - msgbox Text_19DDBE + goto_if_eq Route5_PokemonDayCare_EventScript_OnlyOneMonInParty + msgbox Route5_PokemonDayCare_Text_WhichMonShouldIRaise fadescreen FADE_TO_BLACK hidemoneybox 0, 0 special ChooseSendDaycareMon waitstate showmoneybox 0, 0, 0 - compare VAR_0x8004, 6 - goto_if_ge EventScript_1BF444 + compare VAR_0x8004, PARTY_SIZE + goto_if_ge Route5_PokemonDayCare_EventScript_ComeAgain specialvar VAR_RESULT, CountPartyAliveNonEggMons_IgnoreVar0x8004Slot compare VAR_RESULT, 0 - goto_if_eq EventScript_1BF460 - specialvar VAR_0x8005, GetSelectedMonNickAndSpecies - msgbox Text_19DDF9 + goto_if_eq Route5_PokemonDayCare_EventScript_OnlyOneAliveMonInParty + specialvar VAR_0x8005, GetSelectedMonNicknameAndSpecies + msgbox Route5_PokemonDayCare_Text_LookAfterMonForAWhile waitse playmoncry VAR_0x8005, 0 - msgbox Text_19DE24 + msgbox Route5_PokemonDayCare_Text_ComeSeeMeInAWhile waitmoncry special PutMonInRoute5Daycare incrementgamestat GAME_STAT_USED_DAYCARE - goto EventScript_1BF541 + goto Route5_PokemonDayCare_EventScript_CloseMoneyBox end -EventScript_1BF444:: @ 81BF444 - msgbox Text_19DDDC - goto EventScript_1BF541 +Route5_PokemonDayCare_EventScript_ComeAgain:: @ 81BF444 + msgbox Route5_PokemonDayCare_Text_ComeAnytimeYouLike + goto Route5_PokemonDayCare_EventScript_CloseMoneyBox end -EventScript_1BF452:: @ 81BF452 - msgbox Text_19DEF5 - goto EventScript_1BF541 +Route5_PokemonDayCare_EventScript_OnlyOneMonInParty:: @ 81BF452 + msgbox Route5_PokemonDayCare_Text_OnlyHaveOneMonWithYou + goto Route5_PokemonDayCare_EventScript_CloseMoneyBox end -EventScript_1BF460:: @ 81BF460 - msgbox Text_19DF1D - goto EventScript_1BF541 +Route5_PokemonDayCare_EventScript_OnlyOneAliveMonInParty:: @ 81BF460 + msgbox Route5_PokemonDayCare_Text_WhatWillYouBattleWith + goto Route5_PokemonDayCare_EventScript_CloseMoneyBox end -EventScript_1BF46E:: @ 81BF46E +Route5_PokemonDayCare_EventScript_CheckOnMon:: @ 81BF46E setvar VAR_0x8004, 0 specialvar VAR_RESULT, GetNumLevelsGainedForRoute5DaycareMon compare VAR_RESULT, 0 - call_if_ne EventScript_1BF4AA + call_if_ne Route5_PokemonDayCare_EventScript_MonHasGrownByXLevels compare VAR_RESULT, 0 - call_if_eq EventScript_1BF4B3 + call_if_eq Route5_PokemonDayCare_EventScript_NotEnoughTime special GetCostToWithdrawRoute5DaycareMon - msgbox Text_19DE80, MSGBOX_YESNO + msgbox Route5_PokemonDayCare_Text_OweMeXForMonsReturn, MSGBOX_YESNO compare VAR_RESULT, YES - goto_if_eq EventScript_1BF4BC - goto EventScript_1BF444 + goto_if_eq Route5_PokemonDayCare_EventScript_TryRetrieveMon + goto Route5_PokemonDayCare_EventScript_ComeAgain end -EventScript_1BF4AA:: @ 81BF4AA - msgbox Text_19DF56 +Route5_PokemonDayCare_EventScript_MonHasGrownByXLevels:: @ 81BF4AA + msgbox Route5_PokemonDayCare_Text_MonHasGrownByXLevels return -EventScript_1BF4B3:: @ 81BF4B3 - msgbox Text_19DE3C +Route5_PokemonDayCare_EventScript_NotEnoughTime:: @ 81BF4B3 + msgbox Route5_PokemonDayCare_Text_MonNeedsToSpendMoreTime return -EventScript_1BF4BC:: @ 81BF4BC +Route5_PokemonDayCare_EventScript_TryRetrieveMon:: @ 81BF4BC specialvar VAR_RESULT, CalculatePlayerPartyCount compare VAR_RESULT, PARTY_SIZE - goto_if_eq EventScript_1BF533 + goto_if_eq Route5_PokemonDayCare_EventScript_NoRoomInParty specialvar VAR_RESULT, IsEnoughForCostInVar0x8005 - compare VAR_RESULT, 1 - goto_if_eq EventScript_1BF4EA - msgbox Text_19E001 - goto EventScript_1BF541 + compare VAR_RESULT, TRUE + goto_if_eq Route5_PokemonDayCare_EventScript_RetrieveMon + msgbox Route5_PokemonDayCare_Text_DontHaveEnoughMoney + goto Route5_PokemonDayCare_EventScript_CloseMoneyBox end -EventScript_1BF4EA:: @ 81BF4EA +Route5_PokemonDayCare_EventScript_RetrieveMon:: @ 81BF4EA setvar VAR_0x8004, 0 specialvar VAR_RESULT, TakePokemonFromRoute5Daycare special SubtractMoneyFromVar0x8005 @@ -97,159 +97,30 @@ EventScript_1BF4EA:: @ 81BF4EA subvar VAR_RESULT, 1 getpartymonname 0, VAR_RESULT copyvar VAR_RESULT, VAR_0x8008 - msgbox Text_19DEAF + msgbox Route5_PokemonDayCare_Text_ThankYouHeresMon textcolor 3 waitse playmoncry VAR_RESULT, 0 - msgbox Text_19DECF + msgbox Route5_PokemonDayCare_Text_PlayerGotMonBack call EventScript_1A6675 waitmoncry - goto EventScript_1BF541 + goto Route5_PokemonDayCare_EventScript_CloseMoneyBox end -EventScript_1BF533:: @ 81BF533 - msgbox Text_19DFC2 - goto EventScript_1BF541 +Route5_PokemonDayCare_EventScript_NoRoomInParty:: @ 81BF533 + msgbox Route5_PokemonDayCare_Text_YouveGotNoRoomForIt + goto Route5_PokemonDayCare_EventScript_CloseMoneyBox end -EventScript_1BF541:: @ 81BF541 +Route5_PokemonDayCare_EventScript_CloseMoneyBox:: @ 81BF541 hidemoneybox 0, 0 release end -EventScript_81BF546:: @ 81BF546 +EventScript_EggHatch:: @ 81BF546 lockall - msgbox Text_1BFB5A + msgbox DayCare_Text_Huh special EggHatch waitstate releaseall end - -gUnknown_81BF555:: @ 81BF555 - .string "I'm the DAY-CARE MAN.\p" - .string "I help take care of the precious\n" - .string "POKéMON of TRAINERS.\p" - .string "If you'd like me to raise your\n" - .string "POKéMON, have a word with my wife.$" - -gUnknown_81BF5E3:: @ 81BF5E3 - .string "Ah, it's you!\p" - .string "We were raising your POKéMON, and\n" - .string "my goodness, were we surprised!\p" - .string "Your POKéMON had an EGG!\p" - .string "We don't know how it got there,\n" - .string "but your POKéMON had it.\p" - .string "You do want it, yes?$" - -gUnknown_81BF69A:: @ 81BF69A - .string "Ah, it's you! Good to see you.\n" - .string "Your {STR_VAR_1}'s doing fine.$" - -gUnknown_81BF6CF:: @ 81BF6CF - .string "Well then, I'll keep it.\n" - .string "Thanks!$" - -gUnknown_81BF6F0:: @ 81BF6F0 - .string "You have no room for it…\n" - .string "Come back when you've made room.$" - -Text_1BF72A:: @ 81BF72A - .string "{PLAYER} received the EGG from\n" - .string "the DAY-CARE MAN.$" - -gUnknown_81BF755:: @ 81BF755 - .string "Take good care of it.$" - -Text_1BF76B:: @ 81BF76B - .string "ポケモンを ひきとりたい ときは\n" - .string "ばさんに いって おくれ$" - -gUnknown_81BF789:: @ 81BF789 - .string "Ah, it's you! Your {STR_VAR_1} and\n" - .string "{STR_VAR_2} are doing fine.$" - -gUnknown_81BF7B6:: @ 81BF7B6 - .string "I really will keep it.\n" - .string "You do want this, yes?$" - -gUnknown_81BF7E4:: @ 81BF7E4 - .string "I'm the DAY-CARE LADY.\p" - .string "We can raise POKéMON for you.\p" - .string "Would you like us to raise one?$" - -gUnknown_81BF839:: @ 81BF839 - .string "Which POKéMON should we raise for\n" - .string "you?$" - -gUnknown_81BF860:: @ 81BF860 - .string "Fine, we'll raise your {STR_VAR_1}\n" - .string "for a while.\p" - .string "Come back for it later.$" - -gUnknown_81BF89F:: @ 81BF89F - .string "We can raise two of your POKéMON.\p" - .string "Would you like us to raise one\n" - .string "more POKéMON for you?$" - -gUnknown_81BF8F6:: @ 81BF8F6 - .string "My husband was looking for you.$" - -gUnknown_81BF916:: @ 81BF916 - .string "Oh, fine, then.\n" - .string "Come again.$" - -gUnknown_81BF932:: @ 81BF932 - .string "You don't have enough money…$" - -gUnknown_81BF94F:: @ 81BF94F - .string "Will you take back the other one,\n" - .string "too?$" - -gUnknown_81BF976:: @ 81BF976 - .string "Fine.\n" - .string "Come again.$" - -gUnknown_81BF988:: @ 81BF988 - .string "Ah, it's you!\n" - .string "Good to see you.\p" - .string "Your POKéMON can only be doing\n" - .string "good!$" - -gUnknown_81BF9CC:: @ 81BF9CC - .string "By level, your {STR_VAR_1} has\n" - .string "grown by {STR_VAR_2}.$" - -gUnknown_81BF9EF:: @ 81BF9EF - .string "Your POKéMON party is full.\n" - .string "Make room, then come see me.$" - -Text_1BFA28:: @ 81BFA28 - .string "どっちの ポケモンを ひきとるかい?$" - -gUnknown_81BFA3B:: @ 81BFA3B - .string "If you want your {STR_VAR_1} back,\n" - .string "it will cost ¥{STR_VAR_2}.$" - -gUnknown_81BFA67:: @ 81BFA67 - .string "Perfect!\n" - .string "Here's your POKéMON.$" - -gUnknown_81BFA85:: @ 81BFA85 - .string "{PLAYER} took back {STR_VAR_1} from\n" - .string "the DAY-CARE LADY.$" - -gUnknown_81BFAAD:: @ 81BFAAD - .string "Oh? But you have just one\n" - .string "POKéMON.\p" - .string "Come back another time.$" - -gUnknown_81BFAE8:: @ 81BFAE8 - .string "Will you take your POKéMON back?$" - -gUnknown_81BFB09:: @ 81BFB09 - .string "If you leave me that POKéMON,\n" - .string "what will you battle with?\p" - .string "Come back another time.$" - -Text_1BFB5A:: @ 81BFB5A - .string "Huh?$" diff --git a/data/scripts/fame_checker.inc b/data/scripts/fame_checker.inc index 0d058b2d5..e141634eb 100644 --- a/data/scripts/fame_checker.inc +++ b/data/scripts/fame_checker.inc @@ -101,20 +101,20 @@ CeladonCity_Condominiums_2F_EventScript_1ACE9D:: @ 81ACE9D release end -FuchsiaCity_Building1_EventScript_1ACEB8:: @ 81ACEB8 +FuchsiaCity_WardensHouse_EventScript_PokemonJournalKoga:: @ 81ACEB8 lock faceplayer famechecker FAMECHECKER_KOGA, 4 textcolor 3 - msgbox gUnknown_81B16A8 + msgbox PokemonJournal_Text_SpecialFeatureKoga release end -SafariZone_Building3_EventScript_1ACED3:: @ 81ACED3 +SafariZone_North_RestHouse_EventScript_BaldingMan:: @ 81ACED3 lock faceplayer famechecker FAMECHECKER_KOGA, 5 - msgbox Text_177C47 + msgbox SafariZone_West_Text_KogaPatrolsSafariEverySoOften release end diff --git a/data/scripts/flavor_text.inc b/data/scripts/flavor_text.inc new file mode 100644 index 000000000..7ea879b04 --- /dev/null +++ b/data/scripts/flavor_text.inc @@ -0,0 +1,113 @@ +@ Flavor text for interacting with various background objects + +gUnknown_81A7606:: @ 81A7606 + msgbox gUnknown_81C0DB0, MSGBOX_SIGN + end + +gUnknown_81A760F:: @ 81A760F + msgbox gUnknown_81C0DFD, MSGBOX_SIGN + end + +gUnknown_81A7618:: @ 81A7618 + msgbox gUnknown_81C0F99, MSGBOX_SIGN + end + +gUnknown_81A7621:: @ 81A7621 + msgbox gUnknown_81C12A7, MSGBOX_SIGN + end + +gUnknown_81A762A:: @ 81A762A + msgbox gUnknown_81C10C1, MSGBOX_SIGN + end + +gUnknown_81A7633:: @ 81A7633 + msgbox gUnknown_81C1273, MSGBOX_SIGN + end + +gUnknown_81A763C:: @ 81A763C + msgbox gUnknown_81C0FD8, MSGBOX_SIGN + end + +gUnknown_81A7645:: @ 81A7645 + msgbox gUnknown_81C12D6, MSGBOX_SIGN + end + +gUnknown_81A764E:: @ 81A764E + msgbox gUnknown_81C1300, MSGBOX_SIGN + end + +gUnknown_81A7657:: @ 81A7657 + msgbox Text_DishesPlatesNeatlyLinedUp, MSGBOX_SIGN + end + +gUnknown_81A7660:: @ 81A7660 + msgbox gUnknown_81C0E40, MSGBOX_SIGN + end + +gUnknown_81A7669:: @ 81A7669 + msgbox gUnknown_81C0E73, MSGBOX_SIGN + end + +gUnknown_81A7672:: @ 81A7672 + msgbox gUnknown_81C0EAC, MSGBOX_SIGN + end + +gUnknown_81A767B:: @ 81A767B + msgbox gUnknown_81C101B, MSGBOX_SIGN + end + +gUnknown_81A7684:: @ 81A7684 + msgbox gUnknown_81C1060, MSGBOX_SIGN + end + +gUnknown_81A768D:: @ 81A768D + msgbox gUnknown_81C109C, MSGBOX_SIGN + end + +gUnknown_81A7696:: @ 81A7696 + msgbox gUnknown_81C10FC, MSGBOX_SIGN + end + +gUnknown_81A769F:: @ 81A769F + msgbox gUnknown_81C1134, MSGBOX_SIGN + end + +gUnknown_81A76A8:: @ 81A76A8 + msgbox gUnknown_81C116E, MSGBOX_SIGN + end + +gUnknown_81A76B1:: @ 81A76B1 + msgbox gUnknown_81C1194, MSGBOX_SIGN + end + +gUnknown_81A76BA:: @ 81A76BA + msgbox gUnknown_81C11BA, MSGBOX_SIGN + end + +gUnknown_81A76C3:: @ 81A76C3 + msgbox gUnknown_81C11DC, MSGBOX_SIGN + end + +gUnknown_81A76CC:: @ 81A76CC + msgbox gUnknown_81C1217, MSGBOX_SIGN + end + +gUnknown_81A76D5:: @ 81A76D5 + msgbox gUnknown_81C124B, MSGBOX_SIGN + end + +gUnknown_81A76DE:: @ 81A76DE + msgbox gUnknown_81C0ECB, MSGBOX_SIGN + end + +gUnknown_81A76E7:: @ 81A76E7 + msgbox gUnknown_81C0EF7, MSGBOX_SIGN + end + +gUnknown_81A76F0:: @ 81A76F0 + msgbox gUnknown_81C0F19, MSGBOX_SIGN + end + +gUnknown_81A76F9:: @ 81A76F9 + msgbox gUnknown_81C0F59, MSGBOX_SIGN + end diff --git a/data/scripts/item_ball_scripts.inc b/data/scripts/item_ball_scripts.inc index ed8aef9d4..f6662368c 100644 --- a/data/scripts/item_ball_scripts.inc +++ b/data/scripts/item_ball_scripts.inc @@ -398,7 +398,7 @@ CeruleanCave_B1F_EventScript_ItemUltraBall:: @ 81BEA95 finditem ITEM_ULTRA_BALL end -FuchsiaCity_Building1_EventScript_ItemRareCandy:: @ 81BEAA2 +FuchsiaCity_WardensHouse_EventScript_ItemRareCandy:: @ 81BEAA2 finditem ITEM_RARE_CANDY end diff --git a/data/scripts/obtain_item.inc b/data/scripts/obtain_item.inc index 2452c5c5c..3ada6109c 100644 --- a/data/scripts/obtain_item.inc +++ b/data/scripts/obtain_item.inc @@ -35,31 +35,31 @@ EventScript_BufferPocketNameTryFanfare:: @ 81A66BC end EventScript_BufferItemsPocket:: @ 81A66F9 - getstdstring 2, 24 + getstdstring 2, STDSTRING_ITEMS_POCKET compare VAR_0x8007, TRUE call_if_eq EventScript_PlayFanfareObtainedItem return EventScript_BufferKeyItemsPocket:: @ 81A6709 - getstdstring 2, 25 + getstdstring 2, STDSTRING_KEY_ITEMS_POCKET compare VAR_0x8007, TRUE call_if_eq EventScript_PlayFanfareObtainedItem return EventScript_BufferPokeBallsPocket:: @ 81A6719 - getstdstring 2, 26 + getstdstring 2, STDSTRING_POKEBALLS_POCKET compare VAR_0x8007, TRUE call_if_eq EventScript_PlayFanfareObtainedItem return EventScript_BufferTMCase:: @ 81A6729 - getstdstring 2, 27 + getstdstring 2, STDSTRING_TM_CASE compare VAR_0x8007, TRUE call_if_eq EventScript_PlayFanfareObtainedTMHM return EventScript_BufferBerryPouch:: @ 81A6739 - getstdstring 2, 28 + getstdstring 2, STDSTRING_BERRY_POUCH compare VAR_0x8007, TRUE call_if_eq EventScript_PlayFanfareObtainedItem return @@ -218,7 +218,7 @@ EventScript_TryPickUpHiddenCoins:: compare VAR_RESULT, FALSE goto_if_eq EventScript_HiddenCoinsButCaseIsFull addcoins VAR_0x8006 - getstdstring 1, 0x17 + getstdstring 1, STDSTRING_COINS call EventScript_PlayFanfareObtainedItem call EventScript_FoundCoins waitfanfare @@ -230,7 +230,7 @@ EventScript_TryPickUpHiddenCoins:: EventScript_HiddenCoinsButCaseIsFull:: getnumberstring 0, VAR_0x8006 - getstdstring 1, 0x17 + getstdstring 1, STDSTRING_COINS msgbox Text_FoundXCoins msgbox Text_CoinCaseIsFull setvar VAR_RESULT, 0 @@ -239,7 +239,7 @@ EventScript_HiddenCoinsButCaseIsFull:: EventScript_NoCaseForHiddenCoins:: getnumberstring 0, VAR_0x8006 - getstdstring 1, 0x17 + getstdstring 1, STDSTRING_COINS msgbox Text_FoundXCoins msgbox Text_NothingToPutThemIn setvar VAR_RESULT, 0 diff --git a/data/scripts/route23.inc b/data/scripts/route23.inc index 682fa7b1d..cfdfe53a7 100644 --- a/data/scripts/route23.inc +++ b/data/scripts/route23.inc @@ -1,11 +1,11 @@ -EventScript_1A77C9:: @ 81A77C9 +Route23_EventScript_MissingBoulderBadge:: @ 81A77C9 msgbox Text_OnlySkilledTrainersAllowedThrough playse SE_BOO msgbox Text_CantLetYouPass release end -EventScript_1A77DE:: @ 81A77DE +Route23_EventScript_MissingBadge:: @ 81A77DE message Text_OnlyPassWithBadgeDontHaveYet waitmessage playse SE_BOO @@ -15,7 +15,7 @@ EventScript_1A77DE:: @ 81A77DE release end -EventScript_1A77EC:: @ 81A77EC +Route23_EventScript_AlreadyRecognizedBoulderBadge:: @ 81A77EC message Text_OhThatsBadgeGoRightAhead waitmessage playfanfare MUS_FANFA1 @@ -24,80 +24,81 @@ EventScript_1A77EC:: @ 81A77EC release end -EventScript_1A77F9:: @ 81A77F9 +Route23_EventScript_AlreadyRecognizedBadge:: @ 81A77F9 msgbox Text_OnlyPassWithBadgeOhGoAhead release end -EventScript_1A7803:: @ 81A7803 +@ Duplicate of the below, only used for Boulder Badge +Route22_NorthEntrance_EventScript_BadgeGuard:: @ 81A7803 compare VAR_MAP_SCENE_ROUTE23, VAR_TEMP_1 - goto_if_ge EventScript_1A77EC + goto_if_ge Route23_EventScript_AlreadyRecognizedBoulderBadge switch VAR_TEMP_1 - case 1, EventScript_1A78D5 - case 2, EventScript_1A78E4 - case 3, EventScript_1A78F3 - case 4, EventScript_1A7902 - case 5, EventScript_1A7911 - case 6, EventScript_1A7920 - case 7, EventScript_1A792F - case 8, EventScript_1A793E + case 1, Route23_EventScript_CheckBoulderBadge + case 2, Route23_EventScript_CheckCascadeBadge + case 3, Route23_EventScript_CheckThunderBadge + case 4, Route23_EventScript_CheckRainbowBadge + case 5, Route23_EventScript_CheckSoulBadge + case 6, Route23_EventScript_CheckMarshBadge + case 7, Route23_EventScript_CheckVolcanoBadge + case 8, Route23_EventScript_CheckEarthBadge end -EventScript_1A786C:: @ 81A786C +Route23_EventScript_BadgeGuard:: @ 81A786C compare VAR_MAP_SCENE_ROUTE23, VAR_TEMP_1 - goto_if_ge EventScript_1A77F9 + goto_if_ge Route23_EventScript_AlreadyRecognizedBadge switch VAR_TEMP_1 - case 1, EventScript_1A78D5 - case 2, EventScript_1A78E4 - case 3, EventScript_1A78F3 - case 4, EventScript_1A7902 - case 5, EventScript_1A7911 - case 6, EventScript_1A7920 - case 7, EventScript_1A792F - case 8, EventScript_1A793E + case 1, Route23_EventScript_CheckBoulderBadge + case 2, Route23_EventScript_CheckCascadeBadge + case 3, Route23_EventScript_CheckThunderBadge + case 4, Route23_EventScript_CheckRainbowBadge + case 5, Route23_EventScript_CheckSoulBadge + case 6, Route23_EventScript_CheckMarshBadge + case 7, Route23_EventScript_CheckVolcanoBadge + case 8, Route23_EventScript_CheckEarthBadge end -EventScript_1A78D5:: @ 81A78D5 - goto_if_set FLAG_BADGE01_GET, EventScript_1A794D - goto EventScript_1A77C9 +Route23_EventScript_CheckBoulderBadge:: @ 81A78D5 + goto_if_set FLAG_BADGE01_GET, Route23_EventScript_RecognizeBoulderBadge + goto Route23_EventScript_MissingBoulderBadge end -EventScript_1A78E4:: @ 81A78E4 - goto_if_set FLAG_BADGE02_GET, EventScript_1A795F - goto EventScript_1A77DE +Route23_EventScript_CheckCascadeBadge:: @ 81A78E4 + goto_if_set FLAG_BADGE02_GET, Route23_EventScript_RecognizeBadge + goto Route23_EventScript_MissingBadge end -EventScript_1A78F3:: @ 81A78F3 - goto_if_set FLAG_BADGE03_GET, EventScript_1A795F - goto EventScript_1A77DE +Route23_EventScript_CheckThunderBadge:: @ 81A78F3 + goto_if_set FLAG_BADGE03_GET, Route23_EventScript_RecognizeBadge + goto Route23_EventScript_MissingBadge end -EventScript_1A7902:: @ 81A7902 - goto_if_set FLAG_BADGE04_GET, EventScript_1A795F - goto EventScript_1A77DE +Route23_EventScript_CheckRainbowBadge:: @ 81A7902 + goto_if_set FLAG_BADGE04_GET, Route23_EventScript_RecognizeBadge + goto Route23_EventScript_MissingBadge end -EventScript_1A7911:: @ 81A7911 - goto_if_set FLAG_BADGE05_GET, EventScript_1A795F - goto EventScript_1A77DE +Route23_EventScript_CheckSoulBadge:: @ 81A7911 + goto_if_set FLAG_BADGE05_GET, Route23_EventScript_RecognizeBadge + goto Route23_EventScript_MissingBadge end -EventScript_1A7920:: @ 81A7920 - goto_if_set FLAG_BADGE06_GET, EventScript_1A795F - goto EventScript_1A77DE +Route23_EventScript_CheckMarshBadge:: @ 81A7920 + goto_if_set FLAG_BADGE06_GET, Route23_EventScript_RecognizeBadge + goto Route23_EventScript_MissingBadge end -EventScript_1A792F:: @ 81A792F - goto_if_set FLAG_BADGE07_GET, EventScript_1A795F - goto EventScript_1A77DE +Route23_EventScript_CheckVolcanoBadge:: @ 81A792F + goto_if_set FLAG_BADGE07_GET, Route23_EventScript_RecognizeBadge + goto Route23_EventScript_MissingBadge end -EventScript_1A793E:: @ 81A793E - goto_if_set FLAG_BADGE08_GET, EventScript_1A795F - goto EventScript_1A77DE +Route23_EventScript_CheckEarthBadge:: @ 81A793E + goto_if_set FLAG_BADGE08_GET, Route23_EventScript_RecognizeBadge + goto Route23_EventScript_MissingBadge end -EventScript_1A794D:: @ 81A794D +Route23_EventScript_RecognizeBoulderBadge:: @ 81A794D message Text_OhThatsBadgeGoRightAhead waitmessage playfanfare MUS_FANFA1 @@ -107,92 +108,92 @@ EventScript_1A794D:: @ 81A794D release end -EventScript_1A795F:: @ 81A795F +Route23_EventScript_RecognizeBadge:: @ 81A795F msgbox Text_OnlyPassWithBadgeOhGoAhead copyvar VAR_MAP_SCENE_ROUTE23, VAR_TEMP_1 release end -EventScript_1A796E:: @ 81A796E +Route23_EventScript_BadgeGuardTrigger:: @ 81A796E textcolor 0 applymovement VAR_0x8009, Movement_WalkInPlaceFastestLeft waitmovement 0 switch VAR_TEMP_1 - case 1, EventScript_1A79D8 - case 2, EventScript_1A79E7 - case 3, EventScript_1A79F6 - case 4, EventScript_1A7A05 - case 5, EventScript_1A7A14 - case 6, EventScript_1A7A23 - case 7, EventScript_1A7A32 - case 8, EventScript_1A7A41 + case 1, Route23_EventScript_CheckBoulderBadgeTrigger + case 2, Route23_EventScript_CheckCascadeBadgeTrigger + case 3, Route23_EventScript_CheckThunderBadgeTrigger + case 4, Route23_EventScript_CheckRainbowBadgeTrigger + case 5, Route23_EventScript_CheckSoulBadgeTrigger + case 6, Route23_EventScript_CheckMarshBadgeTrigger + case 7, Route23_EventScript_CheckVolcanoBadgeTrigger + case 8, Route23_EventScript_CheckEarthBadgeTrigger end -EventScript_1A79D8:: @ 81A79D8 - goto_if_set FLAG_BADGE01_GET, EventScript_1A7A96 - goto EventScript_1A7A50 +Route23_EventScript_CheckBoulderBadgeTrigger:: @ 81A79D8 + goto_if_set FLAG_BADGE01_GET, Route23_EventScript_RecognizeBoulderBadgeTrigger + goto Route23_EventScript_MissingBoulderBadgeTrigger end -EventScript_1A79E7:: @ 81A79E7 - goto_if_set FLAG_BADGE02_GET, EventScript_1A7AA8 - goto EventScript_1A7A77 +Route23_EventScript_CheckCascadeBadgeTrigger:: @ 81A79E7 + goto_if_set FLAG_BADGE02_GET, Route23_EventScript_RecognizeBadgeTrigger + goto Route23_EventScript_MissingBadgeTrigger end -EventScript_1A79F6:: @ 81A79F6 - goto_if_set FLAG_BADGE03_GET, EventScript_1A7AA8 - goto EventScript_1A7A77 +Route23_EventScript_CheckThunderBadgeTrigger:: @ 81A79F6 + goto_if_set FLAG_BADGE03_GET, Route23_EventScript_RecognizeBadgeTrigger + goto Route23_EventScript_MissingBadgeTrigger end -EventScript_1A7A05:: @ 81A7A05 - goto_if_set FLAG_BADGE04_GET, EventScript_1A7AA8 - goto EventScript_1A7A77 +Route23_EventScript_CheckRainbowBadgeTrigger:: @ 81A7A05 + goto_if_set FLAG_BADGE04_GET, Route23_EventScript_RecognizeBadgeTrigger + goto Route23_EventScript_MissingBadgeTrigger end -EventScript_1A7A14:: @ 81A7A14 - goto_if_set FLAG_BADGE05_GET, EventScript_1A7AA8 - goto EventScript_1A7A77 +Route23_EventScript_CheckSoulBadgeTrigger:: @ 81A7A14 + goto_if_set FLAG_BADGE05_GET, Route23_EventScript_RecognizeBadgeTrigger + goto Route23_EventScript_MissingBadgeTrigger end -EventScript_1A7A23:: @ 81A7A23 - goto_if_set FLAG_BADGE06_GET, EventScript_1A7AA8 - goto EventScript_1A7A77 +Route23_EventScript_CheckMarshBadgeTrigger:: @ 81A7A23 + goto_if_set FLAG_BADGE06_GET, Route23_EventScript_RecognizeBadgeTrigger + goto Route23_EventScript_MissingBadgeTrigger end -EventScript_1A7A32:: @ 81A7A32 - goto_if_set FLAG_BADGE07_GET, EventScript_1A7AA8 - goto EventScript_1A7A77 +Route23_EventScript_CheckVolcanoBadgeTrigger:: @ 81A7A32 + goto_if_set FLAG_BADGE07_GET, Route23_EventScript_RecognizeBadgeTrigger + goto Route23_EventScript_MissingBadgeTrigger end -EventScript_1A7A41:: @ 81A7A41 - goto_if_set FLAG_BADGE08_GET, EventScript_1A7AA8 - goto EventScript_1A7A77 +Route23_EventScript_CheckEarthBadgeTrigger:: @ 81A7A41 + goto_if_set FLAG_BADGE08_GET, Route23_EventScript_RecognizeBadgeTrigger + goto Route23_EventScript_MissingBadgeTrigger end -EventScript_1A7A50:: @ 81A7A50 +Route23_EventScript_MissingBoulderBadgeTrigger:: @ 81A7A50 msgbox Text_OnlySkilledTrainersAllowedThrough playse SE_BOO msgbox Text_CantLetYouPass closemessage - applymovement OBJ_EVENT_ID_PLAYER, Movement_1A7AB7 + applymovement OBJ_EVENT_ID_PLAYER, Route23_Movement_WalkDown applymovement VAR_0x8009, Movement_WalkInPlaceFastestDown waitmovement 0 releaseall end -EventScript_1A7A77:: @ 81A7A77 +Route23_EventScript_MissingBadgeTrigger:: @ 81A7A77 message Text_OnlyPassWithBadgeDontHaveYet waitmessage playse SE_BOO waitbuttonpress closemessage waitse - applymovement OBJ_EVENT_ID_PLAYER, Movement_1A7AB7 + applymovement OBJ_EVENT_ID_PLAYER, Route23_Movement_WalkDown applymovement VAR_0x8009, Movement_WalkInPlaceFastestDown waitmovement 0 releaseall end -EventScript_1A7A96:: @ 81A7A96 +Route23_EventScript_RecognizeBoulderBadgeTrigger:: @ 81A7A96 message Text_OhThatsBadgeGoRightAhead waitmessage playfanfare MUS_FANFA1 @@ -202,12 +203,12 @@ EventScript_1A7A96:: @ 81A7A96 releaseall end -EventScript_1A7AA8:: @ 81A7AA8 +Route23_EventScript_RecognizeBadgeTrigger:: @ 81A7AA8 msgbox Text_OnlyPassWithBadgeOhGoAhead copyvar VAR_MAP_SCENE_ROUTE23, VAR_TEMP_1 releaseall end -Movement_1A7AB7:: @ 81A7AB7 +Route23_Movement_WalkDown:: @ 81A7AB7 walk_down step_end diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc new file mode 100644 index 000000000..15c735821 --- /dev/null +++ b/data/scripts/safari_zone.inc @@ -0,0 +1,37 @@ +SafariZone_EventScript_OutOfBallsMidBattle:: @ 81BFB87 + setvar VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 3 + special ExitSafariMode + setwarp MAP_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 255, 4, 1 + end + +SafariZone_EventScript_Exit:: @ 81BFB98 + setvar VAR_MAP_SCENE_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 1 + special ExitSafariMode + warp MAP_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE, 255, 4, 1 + waitstate + end + +SafariZone_EventScript_RetirePrompt:: @ 81BFBAA + lockall + msgbox SafariZone_Text_WouldYouLikeToExit, MSGBOX_YESNO + compare VAR_RESULT, YES + goto_if_eq SafariZone_EventScript_Retire + releaseall + end + +SafariZone_EventScript_Retire:: @ 81BFBC0 + goto SafariZone_EventScript_Exit + +SafariZone_EventScript_TimesUp:: @ 81BFBC5 + lockall + playse SE_PINPON + msgbox SafariZone_Text_TimesUp + goto SafariZone_EventScript_Exit + end + +SafariZone_EventScript_OutOfBalls:: @ 81BFBD7 + lockall + playse SE_PINPON + msgbox SafariZone_Text_OutOfBalls + goto SafariZone_EventScript_Exit + end diff --git a/data/scripts/test.inc b/data/scripts/test.inc index 55578f159..bd0497209 100644 --- a/data/scripts/test.inc +++ b/data/scripts/test.inc @@ -1,27 +1,27 @@ -EventScript_1C5550:: @ 81C5552 - msgbox Text_1C556D, MSGBOX_NPC +Test_EventScript_NPC:: @ 81C5552 + msgbox Test_Text_WelcomeToWorldOfPokemon, MSGBOX_NPC end -EventScript_1C555B:: @ 81C555B - msgbox Text_1C558D, MSGBOX_SIGN +Test_EventScript_Sign:: @ 81C555B + msgbox Test_Text_ThisIsASignpost, MSGBOX_SIGN end -EventScript_1C5564:: @ 81C5564 - msgbox Text_1C55A4, MSGBOX_SIGN +Test_EventScript_CoordEvent:: @ 81C5564 + msgbox Test_Text_ThisIsACoordEvent, MSGBOX_SIGN end -Text_1C556D:: @ 81C556D +Test_Text_WelcomeToWorldOfPokemon:: @ 81C556D .string "テストよう メッセージです!\n" .string "ポケモンの せかいへ ようこそ!$" -Text_1C558D:: @ 81C558D +Test_Text_ThisIsASignpost:: @ 81C558D .string "テストよう メッセージです!\n" .string "かんばん です$" -Text_1C55A4:: @ 81C55A4 +Test_Text_ThisIsACoordEvent:: @ 81C55A4 .string "テストよう メッセージです!\n" .string "ざひょう チェックの イベントです$" .align 2 -Text_1C55C8:: @ 81C55C8 +Test_Text_Empty:: @ 81C55C8 .string "$" diff --git a/data/scripts/trainer_tower.inc b/data/scripts/trainer_tower.inc index dd85dc53a..2a5a84f72 100644 --- a/data/scripts/trainer_tower.inc +++ b/data/scripts/trainer_tower.inc @@ -320,7 +320,7 @@ EventScript_1C5410: message Text_ObtainedTheX waitfanfare waitmessage - getstdstring 2, 24 + getstdstring 2, STDSTRING_ITEMS_POCKET msgbox Text_PutItemAway call EventScript_1A6675 goto EventScript_1C544F diff --git a/data/specials.inc b/data/specials.inc index e76326401..92256dfab 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -194,7 +194,7 @@ gSpecials:: @ 815FD60 def_special RejectEggFromDayCare def_special GiveEggFromDaycare def_special SetDaycareCompatibilityString - def_special GetSelectedMonNickAndSpecies + def_special GetSelectedMonNicknameAndSpecies def_special StoreSelectedPokemonInDaycare def_special ChooseSendDaycareMon def_special ShowDaycareLevelMenu diff --git a/data/strings.s b/data/strings.s index 55c54f6c3..e77730429 100644 --- a/data/strings.s +++ b/data/strings.s @@ -411,7 +411,7 @@ gOtherText_Use:: gOtherText_Toss:: .string "TOSS$" -gUnknown_84161A9:: +gOtherText_Register:: .string "REGISTER$" gOtherText_Give:: @@ -420,7 +420,7 @@ gOtherText_Give:: gUnknown_84161B7:: .string "けってい$" -gUnknown_84161BC:: +gOtherText_Walk:: .string "WALK$" gFameCheckerText_Cancel:: @ 84161C1 @@ -447,16 +447,16 @@ gText_Take:: gText_Store:: .string "STORE$" -gUnknown_84161E9:: +gOtherText_Check:: .string "CHECK$" gUnknown_84161EF:: @ 84161EF .string "NONE$" -gUnknown_84161F4:: +gOtherText_Open:: .string "OPEN$" -gUnknown_84161F9:: +gOtherText_Deselect:: .string "DESELECT$" gUnknown_8416202:: @ 8416202 @@ -555,19 +555,19 @@ gUnknown_84162BD:: @ 84162BD gText_Coins:: @ 84162C4 .string "{STR_VAR_1} COINS$" -gUnknown_84162CD:: @ 0x84162CD +gText_Items2:: @ 0x84162CD .string "ITEMS$" -gUnknown_84162D3:: @ 0x84162D3 +gText_PokeBalls2:: @ 0x84162D3 .string "POKé BALLS$" -gUnknown_84162DE:: @ 0x84162DE +gText_KeyItems2:: @ 0x84162DE .string "KEY ITEMS$" gText_DepositItem:: @ 84162E8 .string "DEPOSIT ITEM$" -gUnknown_84162F5:: @ 84162F5 +gText_CloseBag:: @ 84162F5 .string "CLOSE BAG$" gOtherText_StrVar1:: @ 84162FF @@ -577,7 +577,7 @@ gText_IsSelected:: @ 8416301 .string " is\n" .string "selected.$" -gUnknown_841630F:: @ 841630F +gText_CantWriteMailHere:: @ 841630F .string "You can't write\n" .string "MAIL here.$" @@ -596,15 +596,15 @@ gText_TheStrVar1CantBeHeldHere:: @ 8416374 .string "The {STR_VAR_1} can't be held\n" .string "here.$" -gUnknown_841638F:: @ 841638F +gText_DepositHowManyStrVars1:: @ 841638F .string "Deposit how many\n" .string "{STR_VAR_1}(s)?$" -gUnknown_84163A7:: @ 84163A7 +gText_DepositedStrVar2StrVar1s:: @ 84163A7 .string "Deposited {STR_VAR_2}\n" .string "{STR_VAR_1}(s).$" -gUnknown_84163BB:: @ 84163BB +gText_NoRoomToStoreItems:: @ 84163BB .string "There's no room to\n" .string "store items.$" @@ -4598,14 +4598,14 @@ gText_WhichMoveShouldBeForgotten:: @ 841E50C gUnknown_841E52D:: @ 0x841E52D .string "----------$" -gUnknown_841E538:: @ 841E538 +gText_CommStandbyAwaitingOtherPlayer:: @ 841E538 .string "Communication standby‥\n" .string "Awaiting another player to choose.$" -gUnknown_841E572:: @ 841E572 +gText_BattleWasRefused:: @ 841E572 .string "The battle was refused.{PAUSE 0x3C}$" -gUnknown_841E58D:: @ 841E58D +gText_RefusedBattle:: @ 841E58D .string "Refused the battle.{PAUSE 0x3C}$" gFameCheckerText_MainScreenUI:: @ 841E5A4 diff --git a/data/text/berries.inc b/data/text/berries.inc new file mode 100644 index 000000000..3f228df4f --- /dev/null +++ b/data/text/berries.inc @@ -0,0 +1,226 @@ +@ The text here is a copy/paste from Hoenn's various berry NPCs, all unused and untranslated + +PetalburgCity_Gym_Text_GiveEnigmaBerry:: @ 81C0523 + .string "パパ“やあ {PLAYER}!\p" + .string "めずらしい きのみを てに いれたから\n" + .string "プレゼント するよ!$" + +Route104_Text_PlantBerriesInSoilTakeThis:: @ 81C054C + .string "ふかふかの つちに はえている きのみは\n" + .string "じゆうに とっても よいのじゃが‥\p" + .string "1つだけ きのみを おなじ ばしょに うめる\n" + .string "それが れいぎと いうものじゃ\p" + .string "ほれ これを わけてやろう$" + +Route104_Text_TrainersOftenMakeMonHoldBerries:: @ 81C05A8 + .string "あんた みたところ トレーナーじゃろ?\p" + .string "トレーナーは よく きのみを ポケモンに\n" + .string "もたせとるわい\p" + .string "ふやすも つかうも あんた しだいじゃ$" + +Route111_Text_WateredPlantsEveryDayTakeBerry:: @ 81C05ED + .string "いつも みずを あげてたら\n" + .string "たくさん はなが さいたんだ\p" + .string "そしたら きのみも たくさん できた!\p" + .string "はい!\n" + .string "これ あげる$" + +Route111_Text_TryToMakeRedPokeblock:: @ 81C0629 + .string "がんばって あかいポロック つくるんだ!\n" + .string "{STR_VAR_1}も がんばってね!$" + +Route111_Text_WhatColorBerriesToLookForToday:: @ 81C064A + .string "きょうは なにいろの きのみを\n" + .string "さがそっかなー$" + +Route114_Text_GatheringBerriesForContest:: @ 81C0662 + .string "ポケモンコンテストの ゆうしょうを めざして\n" + .string "きのみを あつめているんだ\p" + .string "よかったら きみにも わけて あげるよ!$" + +Route114_Text_GoodLuckToYouToo:: @ 81C069C + .string "きみも がんばれ!$" + +Route114_Text_WhatBerriesShouldIPlantToday:: @ 81C06A6 + .string "きょうは どの きのみを うめるか‥\n" + .string "そして なにいろの ポロックを つくるか‥\p" + .string "なやむのも また たのしいよ$" + +Route120_Text_PokeblocksExpressionOfLove:: @ 81C06DE + .string "ケースを ふると でてくる ポロック‥\p" + .string "そして それを キャッチして\n" + .string "たべてくれる ポケモン‥\p" + .string "これって あい だよね?$" + +Route120_Text_YouUnderstandTakeThis:: @ 81C071B + .string "うん うん!\n" + .string "やっぱ わかるひとには わかるよね\p" + .string "これ あげる$" + +Route120_Text_OwnImpressionsImportantTakeThis:: @ 81C073B + .string "そっか‥‥\n" + .string "でも ちがうと かんじることも たいせつだね\p" + .string "これ あげる$" + +Route120_Text_BerryIsRareRaiseItWithCare:: @ 81C075F + .string "その きのみは めずらしいもの らしいから\n" + .string "たいせつに そだててね!$" + +Route120_Text_IllGetMoreBerriesFromBerryMaster:: @ 81C0782 + .string "また きのみめいじんに もらって こようっと$" + +LilycoveCity_Text_BerrySuitsYou:: @ 81C0799 + .string "やっぱり\p" + .string "わたしに スーツが にあうように\n" + .string "うみには しおかぜが にあうな\l" + .string "そして きみには きのみが にあいそうだ‥‥\p" + .string "なんでだろうね?$" + +LilycoveCity_Text_BecauseYoureTrainer:: @ 81C07DF + .string "やっぱり それは‥‥‥‥\p" + .string "きみが トレーナーだからだ!$" + +LilycoveCity_Text_PokeblocksSuitPokemon:: @ 81C07FB + .string "やっぱり\p" + .string "わたしに シンプルさが にあうように\n" + .string "ポケモンには ポロックが にあうな$" + +Route123_BerryMastersHouse_Text_YoureDeservingOfBerry:: @ 81C0825 + .string "わしは きのみめいじんと よばれておる\p" + .string "わしは せかいじゅうを うつくしい はなで\n" + .string "うめつくそうと きのみを そだてて\l" + .string "そして くばり まくって おるのじゃ\p" + .string "きみにも きのみを わけて あげよう!$" + +Route123_BerryMastersHouse_Text_WhyBeStingyTakeAnother:: @ 81C0888 + .string "ほれ えんりょ せずに もう ひとつ!$" + +Route123_BerryMastersHouse_Text_VisitPrettyPetalFlowerShop:: @ 81C089C + .string "カナズミの ちかくにある サン·トウカという\n" + .string "フラワーショップも よろしくの\p" + .string "せかいに はなを さかせましょう!$" + +Route123_BerryMastersHouse_Text_DoneForToday:: @ 81C08D5 + .string "きょうは もう おしまいじゃ\n" + .string "また おいで\p" + .string "せかいに はなを さかせましょう!$" + +Route123_BerryMastersHouse_Text_HeardAGoodSayingLately:: @ 81C08FD + .string "じいさんの きのみの そだてかたは\n" + .string "そりゃあ せかいいちじゃ\p" + .string "わしも はなが たかいわい\p" + .string "ところで あんた\n" + .string "いい ことばを きいたことが ないかい?$" + +Route123_BerryMastersHouse_Text_InspirationalTakeThis:: @ 81C0948 + .string "おお! とても よい ことばじゃ!\n" + .string "かんどう したわい\p" + .string "ほれ これを もっていきなされ$" + +Route123_BerryMastersHouse_Text_GoodSayingTakeThis:: @ 81C0974 + .string "おお! なかなか よい ことばじゃ\n" + .string "あんたも たいしたもんじゃ\p" + .string "ほれ これを もっていきなされ$" + +Route123_BerryMastersHouse_Text_JoyNeverGoesOutOfMyLife:: @ 81C09A4 + .string "まごたち 4にんも じいさんを しのぐ\n" + .string "おおものに なるじゃろうて\p" + .string "じんせい たのしいことが つきんのう!$" + +Route123_BerryMastersHouse_Text_Ah:: @ 81C09DA + .string "ほう‥‥$" + +Route104_PrettyPetalFlowerShop_Text_ThisIsPrettyPetalFlowerShop:: @ 81C09DF + .string "こんにちは!\p" + .string "はなを せかいに ひろめる\n" + .string "フラワーショップ サン·トウカです!$" + +Route104_PrettyPetalFlowerShop_Text_LearnAboutBerries:: @ 81C0A07 + .string "{PLAYER}{KUN} きのみの こと しりたい?$" + +Route104_PrettyPetalFlowerShop_Text_IntroLearnAboutBerries:: @ 81C0A1A + .string "あなたの なまえは‥‥\p" + .string "{PLAYER}{KUN}ね!\n" + .string "とっても いい なまえだね!\l" + .string "{PLAYER}{KUN} きのみのこと しりたい?$" + +Route104_PrettyPetalFlowerShop_Text_BerriesExplanation:: @ 81C0A4E + .string "きのみはね くろい ふかふかの つちの\n" + .string "ところで たまに とれるの\l" + .string "でね‥‥\p" + .string "とったら その1つを また うめるの!\p" + .string "そうすると その きのみ から\n" + .string "めがでて みきが できて はながさいて\l" + .string "また きのみ が できるの\p" + .string "そうやって はなを ふやして\n" + .string "せかいじゅうを はなに するのが\l" + .string "わたしの ゆめ なんだ!\p" + .string "だから {PLAYER}{KUN}も きのみを うめて\n" + .string "せかいに はなを ふやしてね!$" + +Route104_PrettyPetalFlowerShop_Text_FlowersBringHappiness:: @ 81C0B0B + .string "おはなって とっても しあわせな きぶんに\n" + .string "してくれるよね$" + +Route104_PrettyPetalFlowerShop_Text_YouCanHaveThis:: @ 81C0B29 + .string "こんにちは!\p" + .string "おはなは せわを すれば するほど\n" + .string "たくさん きれいに さいて くれるの\p" + .string "あなたも せわを したく なった でしょ?\n" + .string "これ あげるわ$" + +Route104_PrettyPetalFlowerShop_Text_WailmerPailExplanation:: @ 81C0B73 + .string "きのみが そだつ たびに\n" + .string "じょうろで みずを あげてね!\p" + .string "あとね\p" + .string "きのみは ずっと ずっと ほうっておくと\n" + .string "じめんに おちてしまうの\l" + .string "でもね そこから また めがでて くるの!\p" + .string "すごいよね!\n" + .string "いきものの ちからを かんじるよね$" + +Route104_PrettyPetalFlowerShop_Text_ImGrowingFlowers:: @ 81C0BE5 + .string "おねーちゃんたちを みならって\n" + .string "がんばって おはなを そだててるの\p" + .string "はい! これあげる!$" + +Route104_PrettyPetalFlowerShop_Text_MachineMixesBerries:: @ 81C0C12 + .string "きのみは うめて おおきく したり\n" + .string "ポケモンに もたせたり できるの\p" + .string "でも さいきん きのみを いくつか まぜると\n" + .string "ポケモンの おかしになる きかいが\l" + .string "ある らしいんだ\p" + .string "あたしも おかし ほしー$" + +SootopolisCity_Text_NameIsKiriHaveOneOfThese:: @ 81C0C74 + .string "{STR_VAR_1} なまえ なんていうの?\p" + .string "‥‥‥ ‥‥‥ ‥‥‥\n" + .string "へー いいねー\p" + .string "わたしは キリ っていう なまえなの\p" + .string "パパと ママが すくすくと そだって\n" + .string "こころの あたたかい おんなのこに なって\l" + .string "ほしいっていう ねがいを こめたんだって!\p" + .string "{STR_VAR_1}にも これ あげる$" + +SootopolisCity_Text_GiveYouThisBerryToo:: @ 81C0CF5 + .string "あと {STR_VAR_1}には キリの だいすきな\n" + .string "この きのみも あげちゃう!$" + +SootopolisCity_Text_WhatKindOfWishInYourName:: @ 81C0D16 + .string "{STR_VAR_1}の なまえには\n" + .string "どんな ねがいが こめられてるの?$" + +SootopolisCity_Text_LikeSeasonBornIn:: @ 81C0D32 + .string "はる なつ あき ふゆ\n" + .string "はるに うまれると はるが すきで\l" + .string "なつに うまれると なつが すきなのかな?$" + +SootopolisCity_Text_ThenILoveAutumn:: @ 81C0D66 + .string "じゃあ キリは あきに うまれたから\n" + .string "あきが だいすき!\p" + .string "{STR_VAR_1}は いつが すき?$" + +SootopolisCity_Text_OhDoesntMatter:: @ 81C0D8F + .string "そっか‥\n" + .string "かんけいないのか‥\p" + .string "しりたいことって たくさんあるなー$" diff --git a/data/text/braille.inc b/data/text/braille.inc index a057ec84e..7346b2795 100644 --- a/data/text/braille.inc +++ b/data/text/braille.inc @@ -1,116 +1,116 @@ -gUnknown_81A9288:: @ 81A9288 +Braille_Text_Up:: @ 81A9288 .braille "UP$" -gUnknown_81A928B:: @ 81A928B +Braille_Text_Down:: @ 81A928B .braille "DOWN$" -gUnknown_81A9290:: @ 81A9290 +Braille_Text_Right:: @ 81A9290 .braille "RIGHT$" -gUnknown_81A9296:: @ 81A9296 +Braille_Text_Left:: @ 81A9296 .braille "LEFT$" -gUnknown_81A929B:: @ 81A929B +Braille_Text_Cut:: @ 81A929B .braille "CUT$" -gUnknown_81A929F:: @ 81A929F +Braille_Text_ABC:: @ 81A929F .braille "ABC$" -gUnknown_81A92A3:: @ 81A92A3 +Braille_Text_GHI:: @ 81A92A3 .braille "GHI$" -gUnknown_81A92A7:: @ 81A92A7 +Braille_Text_MNO:: @ 81A92A7 .braille "MNO$" -gUnknown_81A92AB:: @ 81A92AB +Braille_Text_TUV:: @ 81A92AB .braille "TUV$" -gUnknown_81A92AF:: @ 81A92AF +Braille_Text_DEF:: @ 81A92AF .braille "DEF$" -gUnknown_81A92B3:: @ 81A92B3 +Braille_Text_JKL:: @ 81A92B3 .braille "JKL$" -gUnknown_81A92B7:: @ 81A92B7 +Braille_Text_PQRS:: @ 81A92B7 .braille "PQRS$" -gUnknown_81A92BC:: @ 81A92BC +Braille_Text_WXYZ:: @ 81A92BC .braille "WXYZ$" -gUnknown_81A92C1:: @ 81A92C1 +Braille_Text_Period:: @ 81A92C1 .braille ".$" -gUnknown_81A92C3:: @ 81A92C3 +Braille_Text_Comma:: @ 81A92C3 .braille ",$" -gUnknown_81A92C5:: @ 81A92C5 +Braille_Text_Everything:: @ 81A92C5 .braille "EVERYTHING$" -gUnknown_81A92D0:: @ 81A92D0 +Braille_Text_HasMeaning1:: @ 81A92D0 .braille "HAS MEANING$" -gUnknown_81A92DC:: @ 81A92DC +Braille_Text_Existence:: @ 81A92DC .braille "EXISTENCE$" -gUnknown_81A92E6:: @ 81A92E6 +Braille_Text_HasMeaning2:: @ 81A92E6 .braille "HAS MEANING$" -gUnknown_81A92F2:: @ 81A92F2 +Braille_Text_BeingAlive:: @ 81A92F2 .braille "BEING ALIVE$" -gUnknown_81A92FE:: @ 81A92FE +Braille_Text_HasMeaning3:: @ 81A92FE .braille "HAS MEANING$" -gUnknown_81A930A:: @ 81A930A +Braille_Text_HaveDreams:: @ 81A930A .braille "HAVE DREAMS$" -gUnknown_81A9316:: @ 81A9316 +Braille_Text_UsePower:: @ 81A9316 .braille "USE POWER.$" -gUnknown_81A9321:: @ 81A9321 +Braille_Text_LetTheTwo:: @ 81A9321 .braille "LET THE TWO$" -gUnknown_81A932D:: @ 81A932D +Braille_Text_Glittering:: @ 81A932D .braille "GLITTERING$" -gUnknown_81A9338:: @ 81A9338 +Braille_Text_Stones:: @ 81A9338 .braille "STONES$" -gUnknown_81A933F:: @ 81A933F +Braille_Text_OneInRed:: @ 81A933F .braille "ONE IN RED$" -gUnknown_81A934A:: @ 81A934A +Braille_Text_OneInBlue:: @ 81A934A .braille "ONE IN BLUE$" -gUnknown_81A9356:: @ 81A9356 +Braille_Text_ConnectThe:: @ 81A9356 .braille "CONNECT THE$" -gUnknown_81A9362:: @ 81A9362 +Braille_Text_Past:: @ 81A9362 .braille "PAST.$" -gUnknown_81A9368:: @ 81A9368 +Braille_Text_TwoFriends:: @ 81A9368 .braille "TWO FRIENDS$" -gUnknown_81A9374:: @ 81A9374 +Braille_Text_Sharing:: @ 81A9374 .braille "SHARING$" -gUnknown_81A937C:: @ 81A937C +Braille_Text_PowerOpen:: @ 81A937C .braille "POWER OPEN$" -gUnknown_81A9387:: @ 81A9387 +Braille_Text_AWindowTo:: @ 81A9387 .braille "A WINDOW TO$" -gUnknown_81A9393:: @ 81A9393 +Braille_Text_ANewWorld:: @ 81A9393 .braille "A NEW WORLD$" -gUnknown_81A939F:: @ 81A939F +Braille_Text_ThatGlows:: @ 81A939F .braille "THAT GLOWS.$" -gUnknown_81A93AB:: @ 81A93AB +Braille_Text_TheNext:: @ 81A93AB .braille "THE NEXT$" -gUnknown_81A93B4:: @ 81A93B4 +Braille_Text_WorldWaits:: @ 81A93B4 .braille "WORLD WAITS$" -gUnknown_81A93C0:: @ 81A93C0 +Braille_Text_ForYou:: @ 81A93C0 .braille "FOR YOU.$" diff --git a/data/text/competitive_brothers.inc b/data/text/competitive_brothers.inc new file mode 100644 index 000000000..65afb5aab --- /dev/null +++ b/data/text/competitive_brothers.inc @@ -0,0 +1,39 @@ +@ The text here is a copy/paste from Hoenn's competitive brothers, the NPCs in Sootopolis who request to see big Barboach/Shroomish (Seedot/Lotad in Emerald). It's all unused and untranslated + +SootopolisCity_Text_PleaseShowMeBigMon:: @ 81C0283 + .string "わしは おおきな {STR_VAR_1}に\n" + .string "とても きょうみが ある!\p" + .string "ん? きみ {STR_VAR_1} もってるの?\n" + .string "ちょ ちょ ちょっと···\l" + .string "おじさんに みせて おくれ!$" + +SootopolisCity_Text_GrandMonThanksForShowingMe:: @ 81C02CB + .string "おお! こいつは でかい!\n" + .string "とても すばらしい {STR_VAR_1}だ!\p" + .string "みせて くれて ありがとう\n" + .string "おれいに これを もって いきなさい$" + +SootopolisCity_Text_ReceivedOneItem:: @ 81C0309 + .string "{PLAYER}は\n" + .string "{STR_VAR_2}を もらった!$" + +SootopolisCity_Text_HuhBagIsCrammedFull:: @ 81C0317 + .string "ありゃ?\n" + .string "きみ もちもの いっぱいだね$" + +SootopolisCity_Text_IveSeenBiggerMonThanThisOne:: @ 81C032B + .string "ううむ わしは これより おおきい\n" + .string "{STR_VAR_1}を みたこと あるな···$" + +SootopolisCity_Text_QuiteSomethingButNotMon:: @ 81C034D + .string "おお こいつは なかなか···って\n" + .string "これ {STR_VAR_1}じゃ ないよ!$" + +SootopolisCity_Text_TooBadDontHaveBigMon:: @ 81C036C + .string "おおきい {STR_VAR_1} もってないの?\l" + .string "それは ざんねん···\n" + .string "こんど おおきい {STR_VAR_1} みせてね$" + +SootopolisCity_Text_BiggestMonPlayersXCmColossus:: @ 81C0399 + .string "しじょう さいだいの {STR_VAR_1}!\n" + .string "{STR_VAR_2}の {STR_VAR_3}cmのやつ!$" diff --git a/data/text/day_care.inc b/data/text/day_care.inc new file mode 100644 index 000000000..1e1d391be --- /dev/null +++ b/data/text/day_care.inc @@ -0,0 +1,130 @@ +@ Same as Hoenn's day-care text, used by the Four Island Day-Care. Unused text translated in Emerald + +DayCare_Text_ImDaycareManSpeakToMyWife:: @ 81BF555 + .string "I'm the DAY-CARE MAN.\p" + .string "I help take care of the precious\n" + .string "POKéMON of TRAINERS.\p" + .string "If you'd like me to raise your\n" + .string "POKéMON, have a word with my wife.$" + +DayCare_Text_DoYouWantEgg:: @ 81BF5E3 + .string "Ah, it's you!\p" + .string "We were raising your POKéMON, and\n" + .string "my goodness, were we surprised!\p" + .string "Your POKéMON had an EGG!\p" + .string "We don't know how it got there,\n" + .string "but your POKéMON had it.\p" + .string "You do want it, yes?$" + +DayCare_Text_YourMonIsDoingFine:: @ 81BF69A + .string "Ah, it's you! Good to see you.\n" + .string "Your {STR_VAR_1}'s doing fine.$" + +DayCare_Text_IllKeepIt:: @ 81BF6CF + .string "Well then, I'll keep it.\n" + .string "Thanks!$" + +DayCare_Text_YouHaveNoRoomForIt:: @ 81BF6F0 + .string "You have no room for it…\n" + .string "Come back when you've made room.$" + +DayCare_Text_ReceivedEgg:: @ 81BF72A + .string "{PLAYER} received the EGG from\n" + .string "the DAY-CARE MAN.$" + +DayCare_Text_TakeGoodCareOfIt:: @ 81BF755 + .string "Take good care of it.$" + +DayCare_Text_SeeWifeIfYouWantToPickUpMon:: @ 81BF76B + .string "ポケモンを ひきとりたい ときは\n" + .string "ばさんに いって おくれ$" + +DayCare_Text_YourMonsAreDoingFine:: @ 81BF789 + .string "Ah, it's you! Your {STR_VAR_1} and\n" + .string "{STR_VAR_2} are doing fine.$" + +DayCare_Text_IWillKeepDoYouWantIt:: @ 81BF7B6 + .string "I really will keep it.\n" + .string "You do want this, yes?$" + +DayCare_Text_WouldYouLikeUsToRaiseMon:: @ 81BF7E4 + .string "I'm the DAY-CARE LADY.\p" + .string "We can raise POKéMON for you.\p" + .string "Would you like us to raise one?$" + +DayCare_Text_WhichMonShouldWeRaise:: @ 81BF839 + .string "Which POKéMON should we raise for\n" + .string "you?$" + +DayCare_Text_WellRaiseYourMon:: @ 81BF860 + .string "Fine, we'll raise your {STR_VAR_1}\n" + .string "for a while.\p" + .string "Come back for it later.$" + +DayCare_Text_WeCanRaiseOneMore:: @ 81BF89F + .string "We can raise two of your POKéMON.\p" + .string "Would you like us to raise one\n" + .string "more POKéMON for you?$" + +DayCare_Text_HusbandWasLookingForYou:: @ 81BF8F6 + .string "My husband was looking for you.$" + +DayCare_Text_FineThenComeAgain:: @ 81BF916 + .string "Oh, fine, then.\n" + .string "Come again.$" + +DayCare_Text_NotEnoughMoney:: @ 81BF932 + .string "You don't have enough money…$" + +DayCare_Text_TakeOtherOneBackToo:: @ 81BF94F + .string "Will you take back the other one,\n" + .string "too?$" + +DayCare_Text_ComeAgain:: @ 81BF976 + .string "Fine.\n" + .string "Come again.$" + +DayCare_Text_GoodToSeeYou:: @ 81BF988 + .string "Ah, it's you!\n" + .string "Good to see you.\p" + .string "Your POKéMON can only be doing\n" + .string "good!$" + +DayCare_Text_YourMonHasGrownXLevels:: @ 81BF9CC + .string "By level, your {STR_VAR_1} has\n" + .string "grown by {STR_VAR_2}.$" + +DayCare_Text_YourPartyIsFull:: @ 81BF9EF + .string "Your POKéMON party is full.\n" + .string "Make room, then come see me.$" + +DayCare_Text_TakeBackWhichMon:: @ 81BFA28 + .string "どっちの ポケモンを ひきとるかい?$" + +DayCare_Text_ItWillCostX:: @ 81BFA3B + .string "If you want your {STR_VAR_1} back,\n" + .string "it will cost ¥{STR_VAR_2}.$" + +DayCare_Text_HeresYourMon:: @ 81BFA67 + .string "Perfect!\n" + .string "Here's your POKéMON.$" + +DayCare_Text_TookBackMon:: @ 81BFA85 + .string "{PLAYER} took back {STR_VAR_1} from\n" + .string "the DAY-CARE LADY.$" + +DayCare_Text_YouHaveJustOneMon:: @ 81BFAAD + .string "Oh? But you have just one\n" + .string "POKéMON.\p" + .string "Come back another time.$" + +DayCare_Text_TakeYourMonBack:: @ 81BFAE8 + .string "Will you take your POKéMON back?$" + +DayCare_Text_WhatWillYouBattleWith:: @ 81BFB09 + .string "If you leave me that POKéMON,\n" + .string "what will you battle with?\p" + .string "Come back another time.$" + +DayCare_Text_Huh:: @ 81BFB5A + .string "Huh?$" diff --git a/data/text/eon_ticket.inc b/data/text/eon_ticket.inc new file mode 100644 index 000000000..25ccb739b --- /dev/null +++ b/data/text/eon_ticket.inc @@ -0,0 +1,44 @@ +@ The text here is a copy/paste from Hoenn's Eon Ticket event, all unused and untranslated + +Text_DadLetterArrivedForYouPlayer:: @ 81C03B5 + .string "パパ“{PLAYER}! よく きたな!\n" + .string "{PLAYER}あての てがみが とどけられたぞ$" + +Text_DadPassForShipNeverSeenBefore:: @ 81C03D7 + .string "パパ“わたしも みたことのない\n" + .string "ふねの チケット だな‥‥\l" + .string "ミナモに いってみると いいだろう$" + +Text_FerryToSlateportOhThatPass:: @ 81C0407 + .string "カイナいき れんらくせん‥‥\p" + .string "あら?\n" + .string "その チケットは‥‥!$" + +Text_YoureOneWhoBroughtOddPass:: @ 81C0426 + .string "ヘンテコな チケットを\n" + .string "もってきたのは おまえさんか?\p" + .string "おまえが いこうと しているのは\n" + .string "みなみの はての ちっぽけな しま‥‥\p" + .string "そこでは なにが おこるのか\n" + .string "だれも わからねえ‥‥\l" + .string "ううむ ふなのりの ちが さわぐぜ!\p" + .string "さあ のりな!$" + +Text_NothingHereSailBackToLilycove:: @ 81C049D + .string "なにもねえ ちんけな しま だな‥‥\n" + .string "ミナモへ かえるか?$" + +Text_SailHomeWeWill:: @ 81C04BB + .string "よし! かえると するか!$" + +Text_AsYouLikeThen:: @ 81C04C9 + .string "そうかい\n" + .string "まあ すきにするが いいさ$" + +SouthernIsland_Interior_Text_Sign:: @ 81C04DC + .string "すべての ゆめは もうひとつの げんじつ\n" + .string "それを わすれるべからず‥‥$" + +SouthernIsland_Exterior_Text_Sign:: @ 81C0500 + .string "きおく かすみし ものは\n" + .string "こころに きざみつける ことを のぞむ‥‥$" diff --git a/data/text/fame_checker.inc b/data/text/fame_checker.inc index 25ce2e5e9..a65dc1f48 100644 --- a/data/text/fame_checker.inc +++ b/data/text/fame_checker.inc @@ -1404,7 +1404,7 @@ gUnknown_81B161B:: @ 81B161B .string "CELADON GYM, you can often\l" .string "see ERIKA snoozing.$" -gUnknown_81B16A8:: @ 81B16A8 +PokemonJournal_Text_SpecialFeatureKoga:: @ 81B16A8 .string "POKéMON JOURNAL\p" .string "Special Feature: FUCHSIA GYM\n" .string "LEADER KOGA!\p" diff --git a/data/text/flavor_text.inc b/data/text/flavor_text.inc new file mode 100644 index 000000000..a3e46e8d8 --- /dev/null +++ b/data/text/flavor_text.inc @@ -0,0 +1,122 @@ +@ Flavor text for interacting with various background objects + +gUnknown_81C0DB0:: @ 81C0DB0 + .string "It's crammed full of POKéMON\n" + .string "books.$" + +Text_NothingButPokemonBooks:: @ 81C0DD4 + .string "ほんだなに ならんでいるのは\n" + .string "ポケモンの ほん ばかりだ$" + +Text_ATownMap:: @ 81C0DF1 + .string "A TOWN MAP.$" + +gUnknown_81C0DFD:: @ 81C0DFD + .string "Wow!\n" + .string "Tons of POKéMON stuff!$" + +Text_DishesPlatesNeatlyLinedUp:: @ 81C0E19 + .string "Dishes and plates are neatly\n" + .string "lined up.$" + +gUnknown_81C0E40:: @ 81C0E40 + .string "It smells delicious!\n" + .string "Somebody's been cooking here.$" + +gUnknown_81C0E73:: @ 81C0E73 + .string "It's a nicely made dresser.\n" + .string "It will hold a lot of stuff.$" + +gUnknown_81C0EAC:: @ 81C0EAC + .string "There's a pile of snacks here.$" + +gUnknown_81C0ECB:: @ 81C0ECB + .string "All your item needs fulfilled!\n" + .string "POKéMON MART$" + +gUnknown_81C0EF7:: @ 81C0EF7 + .string "Heal Your POKéMON!\n" + .string "POKéMON CENTER$" + +gUnknown_81C0F19:: @ 81C0F19 + .string "INDIGO PLATEAU\p" + .string "The ultimate goal of TRAINERS!\n" + .string "POKéMON LEAGUE HQ$" + +gUnknown_81C0F59:: @ 81C0F59 + .string "INDIGO PLATEAU\p" + .string "The highest POKéMON authority!\n" + .string "POKéMON LEAGUE HQ$" + +gUnknown_81C0F99:: @ 81C0F99 + .string "It should be packed with all kinds\n" + .string "of delicious things to eat.$" + +gUnknown_81C0FD8:: @ 81C0FD8 + .string "It's a blueprint of some sort.\n" + .string "It's filled with diagrams and text.$" + +gUnknown_81C101B:: @ 81C101B + .string "It's a pretty picture of a POKéMON.\n" + .string "It looks like it's feeling good.$" + +gUnknown_81C1060:: @ 81C1060 + .string "What could this machine be?\n" + .string "Better not mess around with it!$" + +gUnknown_81C109C:: @ 81C109C + .string "It's a telephone.\n" + .string "Better not use it.$" + +gUnknown_81C10C1:: @ 81C10C1 + .string "It's all complicated words and\n" + .string "numbers that make no sense…$" + +gUnknown_81C10FC:: @ 81C10FC + .string "It's an advertising poster about\n" + .string "all kinds of products.$" + +gUnknown_81C1134:: @ 81C1134 + .string "Oh, that smells tasty!\n" + .string "It might get the stomach growling!$" + +gUnknown_81C116E:: @ 81C116E + .string "Inside this…\n" + .string "……\p" + .string "There's nothing here!$" + +gUnknown_81C1194:: @ 81C1194 + .string "It's a cup with a POKéMON mark\n" + .string "on it.$" + +gUnknown_81C11BA:: @ 81C11BA + .string "The window is very well polished.$" + +gUnknown_81C11DC:: @ 81C11DC + .string "Outside the window…\p" + .string "The sky looks fantastically\n" + .string "beautiful.$" + +gUnknown_81C1217:: @ 81C1217 + .string "Lights in different colors are\n" + .string "flashing on and off.$" + +gUnknown_81C124B:: @ 81C124B + .string "All sorts of tools are lined up\n" + .string "neatly.$" + +gUnknown_81C1273:: @ 81C1273 + .string "It's a machine of some sort.\n" + .string "It sure is impressive.$" + +gUnknown_81C12A7:: @ 81C12A7 + .string "It's the latest video game!\n" + .string "It sure looks fun!$" + +gUnknown_81C12D6:: @ 81C12D6 + .string "There are obvious signs of burglary\n" + .string "here…$" + +gUnknown_81C1300:: @ 81C1300 + .string "There's a POKéMON on TV!\n" + .string "It looks like it's having fun.$" diff --git a/data/text/safari_zone.inc b/data/text/safari_zone.inc new file mode 100644 index 000000000..5d46de688 --- /dev/null +++ b/data/text/safari_zone.inc @@ -0,0 +1,168 @@ +@ The text here is a copy/paste from Hoenn's Safari Zone, and any unused text was left untranslated + +SafariZone_Text_WouldYouLikeToExit:: @ 81BFBE9 + .string "Would you like to exit the SAFARI\n" + .string "ZONE right now?$" + +SafariZone_Text_TimesUp:: @ 81BFC1B + .string "PA: Ding-dong!\p" + .string "Time's up!\p" + .string "PA: Your SAFARI GAME is over!$" + +SafariZone_Text_OutOfBalls:: @ 81BFC53 + .string "PA: Ding-dong!\p" + .string "You are out of SAFARI BALLS!\p" + .string "PA: Your SAFARI GAME is over!$" + +SafariZone_Text_WelcomeToSafariZone:: @ 81BFC9D + .string "サファリゾーンへ ようこそ!\p" + .string "ここでは ホウエンでは なかなか\n" + .string "みることの できない ポケモンを\p" + .string "しぜんの すがたの まま\n" + .string "めに することが できます\p" + .string "また ポケモントレーナーの\n" + .string "ようぼうに おこたえ して\p" + .string "ポケモンを\n" + .string "つかまえる ことも できます!\p" + .string "サファリゾーンを たのしんで いってね!$" + +SafariZone_Text_WelcomeFirstTime:: @ 81BFD30 + .string "サファリゾーンへ ようこそ!\n" + .string "サファリゾーンは はじめて ですか?$" + +SafariZone_Text_ComeInAndEnjoy:: @ 81BFD52 + .string "サファリゾーンを たのしんで いってね!$" + +SafariZone_Text_FirstTimeInfo:: @ 81BFD67 + .string "サファリゾーンでは\n" + .string "30この サファリボールを つかって\l" + .string "ポケモンを つかまえる ことが できます\p" + .string "サファリボールを つかいきるか\n" + .string "500ぽ あるくと\p" + .string "ゲームは しゅうりょう です\p" + .string "サファリゾーンを たのしんで いってね!$" + +SafariZone_Text_WouldYouLikeToPlay:: @ 81BFDD7 + .string "サファリゾーンへ ようこそ!\p" + .string "500えんで ポケモン つかまえほうだい!\n" + .string "サファリゲームに さんか しますか?$" + +SafariZone_Text_PlayAnotherTime:: @ 81BFE0F + .string "そうですか\n" + .string "こんど ぜひ さんか してください!$" + +SafariZone_Text_NotEnoughMoney:: @ 81BFE28 + .string "おかねが たりませんよ!$" + +SafariZone_Text_ThatWillBe500Please:: @ 81BFE35 + .string "それでは 500えん いただきます$" + +SafariZone_Text_HereAreYourSafariBalls:: @ 81BFE47 + .string "では サファリボールを どうぞ!$" + +SafariZone_Text_Received30SafariBalls:: @ 81BFE58 + .string "{PLAYER}は サファリボールを\n" + .string "30こ うけとった!$" + +SafariZone_Text_PleaseEnjoyYourself:: @ 81BFE70 + .string "じかんに なりましたら\n" + .string "こちらから おしらせ しますので\p" + .string "ぞんぶんに おたのしみ ください!\n" + .string "では いってらっしゃい!$" + +SafariZone_Text_ExcuseMeYourPCBoxIsFull:: @ 81BFEAC + .string "Excuse me!\n" + .string "Your PC BOX is full.$" + +SafariZone_Text_YouNeedPokeblockCase:: @ 81BFECC + .string "あ! おきゃくさん\n" + .string "ポロックケースを おもちで ないですね?\p" + .string "サファリゾーンは ポロックを つかうと\n" + .string "より おたのしみ いただけますので\p" + .string "ぜひ ポロックケースを\n" + .string "おもちに なって おこし ください!$" + +SafariZone_South_Text_StillHaveTimeExit:: @ 81BFF30 + .string "まだ じかんが のこっていますが\n" + .string "サファリゾーンを やめますか?$" + +SafariZone_South_Text_EnjoyTheRestOfYourAdventure:: @ 81BFF51 + .string "では ひきつづき おたのしみ ください!$" + +SafariZone_South_Text_ExitEarlyThankYouForPlaying:: @ 81BFF66 + .string "わかりました\p" + .string "それでは のこりの サファリボールを\n" + .string "おあずかり します\p" + .string "おつかれさまでした\n" + .string "また ごりよう ください$" + +SafariZone_South_Text_GoodLuck:: @ 81BFFA1 + .string "それでは いってらっしゃい!\l" + .string "なにか ありましたら\n" + .string "わたしに こえを かけて くださいね$" + +SafariZone_South_Text_Boy:: @ 81BFFCE + .string "しってた?\p" + .string "あの しかくい はこに ポロックを おくと\n" + .string "ポケモンが あつまって くるんだよ!$" + +SafariZone_South_Text_Man:: @ 81BFFFD + .string "この さきに いきたい けど\n" + .string "じてんしゃ もって くるの わすれた‥‥\p" + .string "おくに めずらしい ポケモンが\n" + .string "いそうな きが するのに!$" + +SafariZone_Southwest_Text_Woman:: @ 81C003F + .string "ポケモンに ポロックを なげても\n" + .string "しらんぷり される ときが あるのよ\p" + .string "ポケモンにも すききらいが あるのかしら?$" + +SafariZone_Northwest_Text_Man:: @ 81C0079 + .string "ぜぇ‥‥ ぜぇ‥‥\n" + .string "やっと ここまで きたけど‥‥\p" + .string "つかれちゃって ポケモン つかまえる\n" + .string "げんきも のこって ないよ‥‥$" + +SafariZone_North_Text_Fisherman:: @ 81C00B6 + .string "ホウエンに いない みずポケモンを\n" + .string "さがしに きたんだけど‥‥\p" + .string "みずうみは どこにあるのか\n" + .string "きみ しってるかい?$" + +SafariZone_North_Text_Man:: @ 81C00EF + .string "ここで めずらしい ポケモンを\n" + .string "たくさん つかまえて\l" + .string "ともだちと こうかん するんだ!$" + +SafariZone_South_Text_Youngster:: @ 81C011B + .string "ポロックおきばに おいた ポロックが\n" + .string "いつのまにか なくなっていた‥‥\p" + .string "しらない うちに\n" + .string "ポケモンが たべちゃったのかな?$" + +Route121_SafariZoneEntrance_Text_TrainerTip:: @ 81C0159 + .string "サファリゾーンの おとくな じょうほう!\p" + .string "であった ポケモンに\n" + .string "ポロックを なげると にげにくく なります!$" + +SafariZone_Southwest_Text_RestHouseSign:: @ 81C0190 + .string "あるき つかれたら ちょっと ひといき!\n" + .string "‘みんなの きゅうけいじょ'$" + +SafariZone_RestHouse_Text_Youngster:: @ 81C01B4 + .string "おれ ポロック もってないけど\n" + .string "ポケモン たくさん つかまえたよ\p" + .string "ちかづいて ボールを なげる だけで\n" + .string "けっこう つかまえられる もんだよ!$" + +SafariZone_RestHouse_Text_PsychicM:: @ 81C01FB + .string "ポロックを つかうと いつもより\n" + .string "ちょっぴり にげにくく なるみたい\p" + .string "だから にげにくい ポケモンに つかっても\n" + .string "あんまり いみが ないかもね$" + +SafariZone_RestHouse_Text_FatMan:: @ 81C0243 + .string "ポロックおきばに ポロック おいて\n" + .string "ポケモンを つかまえると\p" + .string "おなじ ような せいかくの ポケモンが\n" + .string "あつまる きが するなあ$" diff --git a/data/text/teachy_tv.inc b/data/text/teachy_tv.inc index 3989aa5d1..ae0731142 100644 --- a/data/text/teachy_tv.inc +++ b/data/text/teachy_tv.inc @@ -19,7 +19,7 @@ gTeachyTvString_RegisterItem:: @ 841B81B gTeachyTvString_Cancel:: @ 841B836 .string "CANCEL$" -gTeachyTvText_PokeDudeSaysHello:: @ 841B83D +gTeachyTvText_PokedudeSaysHello:: @ 841B83D .string "Hey, all you TRAINERS out there!\n" .string "HELLO, TRAINERS!\p" .string "……… ……… ………\p" @@ -164,7 +164,7 @@ gTeachyTvText_TMsScript1:: @ 841C459 .string "You can check them out in detail,\n" .string "too.$" -gPokeDudeText_TMTypes:: @ 841C587 +gPokedudeText_TMTypes:: @ 841C587 .string "POKé DUDE: NORMAL, WATER, GRASS…\n" .string "TMs also come in types.\p" .string "Check the type and teach it to\n" @@ -175,7 +175,7 @@ gPokeDudeText_TMTypes:: @ 841C587 .string "GRASS-type POKéMON can learn.\p" .string "There's one other thing!$" -gPokeDudeText_ReadTMDescription:: @ 841C693 +gPokedudeText_ReadTMDescription:: @ 841C693 .string "Don't just look at the type, read\n" .string "the description, too.\p" .string "It will contain hints about what\n" diff --git a/data/union_room.s b/data/union_room.s deleted file mode 100644 index 9bcc4a193..000000000 --- a/data/union_room.s +++ /dev/null @@ -1,1571 +0,0 @@ -#include "constants/region_map.h" -#include "constants/flags.h" -#include "constants/moves.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - .section .rodata - .align 2 - -gUnknown_8456C74:: @ 8456C74 - .word gUnknown_84571AC - .word gUnknown_8459394 - .word gUnknown_84593A4 - .word gUnknown_84593B4 - .word gUnknown_84593C4 - .word gUnknown_84593D4 - .word gUnknown_84593E4 - .word gUnknown_84593F4 - .word gUnknown_84593DC - .word gUnknown_8459400 - .word gUnknown_8459410 - .word gUnknown_845941C - .word gUnknown_845942C - .word gUnknown_8459434 - .word gUnknown_8459440 - .word gUnknown_84571AC - .word gUnknown_84571AC - .word gUnknown_84571AC - .word gUnknown_84571AC - .word gUnknown_84571AC - .word gUnknown_84571AC - .word gUnknown_84593E4 - .word gUnknown_84593F4 - -gUnknown_8456CD0:: @ 8456CD0 - .byte 0x00, 0x00, 0x00, 0x1E, 0x02, 0x0F @ window template - .2byte 0x0008 - - @ pal table? -gUnknown_8456CD8:: @ 8456CD8 - .2byte 0x0201, 0x0000 - .2byte 0x0202, 0x0000 - .2byte 0x0403, 0x0000 - .2byte 0x0204, 0x0000 - .2byte 0x2509, 0x0000 - .2byte 0x250A, 0x0000 - .2byte 0x350B, 0x0000 - .2byte 0x350D, 0x0000 - .2byte 0x350E, 0x0000 - -gUnknown_8456CFC:: @ 8456CFC - .byte 0x00, 0x01, 0x03, 0x0D, 0x0A, 0x0F @ window template - .2byte 0x0044 - -gUnknown_8456D04:: @ 8456D04 - .byte 0x00, 0x10, 0x03, 0x07, 0x04, 0x0F @ window template - .2byte 0x00C6 - -gUnknown_8456D0C:: @ 8456D0C - .word gUnknown_84571AC, 0 - .word gUnknown_84571AC, 1 - .word gUnknown_84571AC, 2 - .word gUnknown_84571AC, 3 - .word gUnknown_84571AC, 4 - -gUnknown_8456D34:: @ 8456D34 - .word gUnknown_8456D0C - .word NULL - .word sub_81164C8 - .2byte 0x0005 - .2byte 0x0005 - .byte 0x00, 0x00, 0x01, 0x00, 0x20, 0x31, 0x10, 0x42 - -gUnknown_8456D4C:: @ 8456D4C - .byte 0x00, 0x01, 0x03, 0x11, 0x0A, 0x0F @ window template - .2byte 0x0044 - -gUnknown_8456D54:: @ 8456D54 - .byte 0x00, 0x14, 0x03, 0x07, 0x04, 0x0F @ window template - .2byte 0x00EE - -gUnknown_8456D5C:: @ 8456D5C - .word gUnknown_84571AC, 0 - .word gUnknown_84571AC, 1 - .word gUnknown_84571AC, 2 - .word gUnknown_84571AC, 3 - .word gUnknown_84571AC, 4 - .word gUnknown_84571AC, 5 - .word gUnknown_84571AC, 6 - .word gUnknown_84571AC, 7 - .word gUnknown_84571AC, 8 - .word gUnknown_84571AC, 9 - .word gUnknown_84571AC, 10 - .word gUnknown_84571AC, 11 - .word gUnknown_84571AC, 12 - .word gUnknown_84571AC, 13 - .word gUnknown_84571AC, 14 - .word gUnknown_84571AC, 15 - -gUnknown_8456DDC:: @ 8456DDC - .word gUnknown_8456D5C - .word ListMenuDefaultCursorMoveFunc - .word sub_8116F94 - .2byte 0x0010 - .2byte 0x0005 - .byte 0x00, 0x00, 0x08, 0x00, 0x20, 0x31, 0x50, 0x02 - -gUnknown_8456DF4:: @ 8456DF4 - .byte 0x00, 0x14, 0x06, 0x08, 0x07, 0x0F @ window template? - .2byte 0x0001 - -gUnknown_8456DFC:: @ 8456DFC - .word gUnknown_8459354, 0x00000208 - .word gUnknown_8459344, 0x00000241 - .word gUnknown_845934C, 0x00000245 - .word gUnknown_8459360, 0x00000040 - -gUnknown_8456E1C:: @ 8456E1C - .word gUnknown_8456DFC - .word ListMenuDefaultCursorMoveFunc - .word NULL - .2byte 0x0004 - .2byte 0x0004 - .byte 0x00, 0x00, 0x08, 0x00, 0x20, 0x31, 0x01, 0x02 - -gUnknown_8456E34:: @ 8456E34 - .byte 0x00, 0x12, 0x08, 0x0B, 0x05, 0x0F @ window template - .2byte 0x0001 - -gUnknown_8456E3C:: @ 8456E3C - .word gText_Register, 1 - .word gUnknown_8459370, 2 - .word gUnknown_8459360, 3 - -gUnknown_8456E54:: @ 8456E54 - .word gUnknown_8456E3C - .word ListMenuDefaultCursorMoveFunc - .word NULL - .2byte 0x0003 - .2byte 0x0003 - .byte 0x00, 0x00, 0x08, 0x00, 0x20, 0x31, 0x01, 0x02 - -gUnknown_8456E6C:: @ 8456E6C - .byte 0x00, 0x14, 0x02, 0x09, 0x0B, 0x0F @ window template - .2byte 0x0001 - -gUnknown_8456E74:: @ 8456E74 - .word gTypeNames + 0x00, 0 - .word gTypeNames + 0x46, 10 - .word gTypeNames + 0x4D, 11 - .word gTypeNames + 0x5B, 13 - .word gTypeNames + 0x54, 12 - .word gTypeNames + 0x69, 15 - .word gTypeNames + 0x1C, 4 - .word gTypeNames + 0x23, 5 - .word gTypeNames + 0x0E, 2 - .word gTypeNames + 0x62, 14 - .word gTypeNames + 0x07, 1 - .word gTypeNames + 0x15, 3 - .word gTypeNames + 0x2A, 6 - .word gTypeNames + 0x31, 7 - .word gTypeNames + 0x70, 16 - .word gTypeNames + 0x38, 8 - .word gTypeNames + 0x77, 17 - .word gUnknown_8459360, 18 - -gUnknown_8456F04:: @ 8456F04 - .word gUnknown_8456E74 - .word ListMenuDefaultCursorMoveFunc - .word NULL - .2byte 0x0012 - .2byte 0x0006 - .byte 0x00, 0x00, 0x08, 0x00, 0x22, 0x31, 0x01, 0x02 - -gUnknown_8456F1C:: @ 8456F1C - .byte 0x00, 0x01, 0x01, 0x1C, 0x02, 0x0D @ window template - .2byte 0x0001 - -gUnknown_8456F24:: @ 8456F24 - .byte 0x00, 0x01, 0x05, 0x1C, 0x0A, 0x0D @ window template - .2byte 0x0039 - -gUnknown_8456F2C:: @ 8456F2C - .word gUnknown_84571AC, -3 - .word gUnknown_84571AC, 0 - .word gUnknown_84571AC, 1 - .word gUnknown_84571AC, 2 - .word gUnknown_84571AC, 3 - .word gUnknown_84571AC, 4 - .word gUnknown_84571AC, 5 - .word gUnknown_84571AC, 6 - .word gUnknown_84571AC, 7 - .word gUnknown_8459368, 8 - -gUnknown_8456F7C:: @ 8456F7C - .word gUnknown_8456F2C - .word ListMenuDefaultCursorMoveFunc - .word sub_811ACA4 - .2byte 0x000A - .2byte 0x0005 - .byte 0x00, 0x00, 0x0C, 0x00, 0xE2, 0xDF, 0x09, 0x02 - - @ unused window template? - .byte 0x00, 0x01, 0x05, 0x1C, 0x0A, 0x0D - .2byte 0x0039 - -gUnknown_8456F9C:: @ 8456F9C - .word gUnknown_84571AC, 0 - .word gUnknown_84571AC, 1 - .word gUnknown_84571AC, 2 - .word gUnknown_84571AC, 3 - .word gUnknown_84571AC, 4 - .word gUnknown_84571AC, 5 - .word gUnknown_84571AC, 6 - .word gUnknown_84571AC, 7 - .word gUnknown_84571AC, 8 - .word gUnknown_84571AC, 9 - .word gUnknown_84571AC, 10 - .word gUnknown_84571AC, 11 - .word gUnknown_84571AC, 12 - .word gUnknown_84571AC, 13 - .word gUnknown_84571AC, 14 - .word gUnknown_84571AC, 15 - -gUnknown_845701C:: @ 845701C - .word gUnknown_8456F9C - .word ListMenuDefaultCursorMoveFunc - .word nullsub_92 - .2byte 0x0010 - .2byte 0x0004 - .byte 0x00, 0x00, 0x08, 0x01, 0x20, 0x31, 0x41, 0x02 - -gUnknown_8457034:: @ 8457034 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - - @ starts at gUnknown_082F0474 in pokeemerald, union link groups -gUnknown_845704C:: @ 845704C - .byte 0x01, 0xFF, 0x00, 0x00 -gUnknown_8457050:: @ 8457050 - .byte 0x02, 0xFF, 0x00, 0x00 -gUnknown_8457054:: @ 8457054 - .byte 0x03, 0xFF, 0x00, 0x00 -gUnknown_8457058:: @ 8457058 - .byte 0x04, 0xFF, 0x00, 0x00 -gUnknown_845705C:: @ 845705C - .byte 0x09, 0xFF, 0x00, 0x00 -gUnknown_8457060:: @ 8457060 - .byte 0x0A, 0xFF, 0x00, 0x00 -gUnknown_8457064:: @ 8457064 - .byte 0x0B, 0xFF, 0x00, 0x00 -gUnknown_8457068:: @ 8457068 - .byte 0x15, 0xFF, 0x00, 0x00 -gUnknown_845706C:: @ 845706C - .byte 0x16, 0xFF, 0x00, 0x00 -gUnknown_8457070:: @ 8457070 - .byte 0x40, 0x41, 0x44, 0x45, 0x48, 0x51, 0x52, 0x53, 0x54, 0xFF, 0x00, 0x00 -gUnknown_845707C:: @ 845707C - .byte 0x0C, 0xFF, 0x00, 0x00 -gUnknown_8457080:: @ 8457080 - .byte 0x01, 0x02, 0x03, 0x04, 0x09, 0x0A, 0x0B, 0x15, 0x16, 0x0D, 0xFF, 0x00 -gUnknown_845708C:: @ 845708C - .byte 0x01, 0x02, 0x03, 0x04, 0x0A, 0xFF, 0x00, 0x00 - -gUnknown_8457094:: @ 8457094 - .word gUnknown_845704C - .word gUnknown_8457050 - .word gUnknown_8457054 - .word gUnknown_8457058 - .word gUnknown_845705C - .word gUnknown_8457060 - .word gUnknown_8457064 - .word gUnknown_8457068 - .word gUnknown_845706C - .word gUnknown_8457070 - .word gUnknown_845707C - .word gUnknown_8457080 - .word gUnknown_845708C - -gUnknown_84570C8:: @ 84570C8 - .byte 0x01, 0x02, 0x03, 0x04, 0x09, 0x0A, 0x0B, 0x15, 0x16, 0xF7, 0x00, 0xAF, 0xF7, 0x01, 0xFF, 0x00 - -gUnknown_84570D8:: @ 84570D8 - .byte 0x29, 0x36, 0x27, 0x12, 0x13, 0x14, 0x19, 0x1A, 0x00, 0x00, 0x2A, 0x3A, 0x28, 0x16, 0x17, 0x18, 0x1C, 0x1D, 0x00, 0x00 - -gUnknown_84570EC:: @ 84570EC - .2byte 0x0004 - .2byte 0x0006 - .2byte 0x000D - .2byte 0x0008 - .2byte 0x000A - .2byte 0x0006 - .2byte 0x0001 - .2byte 0x0008 - .2byte 0x000D - .2byte 0x0004 - .2byte 0x0007 - .2byte 0x0004 - .2byte 0x0001 - .2byte 0x0004 - .2byte 0x0007 - .2byte 0x0008 - -gUnknown_845710C:: @ 845710C - .byte 0x00, 0x00, 0x01, 0x00, 0x00, 0xFF, 0xFF, 0x00, 0x00, 0x01 - -gUnknown_8457116:: @ 8457116 - .byte 0x00, 0x02, 0x01, 0x04, 0x03 - -gUnknown_845711B:: @ 845711B - .byte 0x01, 0x03, 0x01, 0x04, 0x02 - -gUnknown_8457120:: @ 8457120 - .byte 0x09, 0x08, 0x07, 0x02, 0x06, 0x05, 0x04, 0x03, 0x63, 0x00, 0x64, 0x00, 0x65, 0x00, 0x66, 0x00, 0x67, 0x00, 0x68, 0x00, 0x69, 0x00, 0x6A, 0x00 - - .align 2 -gUnknown_8457138:: @ 8457138 - abspath "rfu_union_tool.c" - - .align 2 -gUnknown_8457174:: @ 8457174 - .asciz "0" - - .align 2 -gUnknown_8457178:: @ 8457178 - .asciz "UnionObjWork != NULL" - -gUnknown_845718D:: @ 845718D - .byte 0xA4, 0xFE - -gUnknown_845718F:: @ 845718F - .byte 0xA5, 0xFE, 0x00, 0x00, 0x00 - -gUnknown_8457194:: @ 8457194 - .2byte 0x01FC, 0x0000 @ BgTemplate - -gUnknown_8457198:: @ 8457198 - .byte 0x00, 0x02, 0x0F, 0x1A, 0x04, 0x0E @ window template - .2byte 0x0014 - - @ ??? - .byte -1, 0, 0, 0 - .byte 0, 0, 0, 0 - -gUnknown_84571A8:: @ 84571A8 - .byte 0x01, 0x02, 0x03, 0x00 - -gUnknown_84571AC:: @ 84571AC - .string "$" - - .align 2 -gUnknown_84571B0:: @ 84571B0 - .string ":$" - - .align 2 -gUnknown_84571B4:: @ 84571B4 - .string "{EXTRA 7}$" - - .align 2 -gUnknown_84571B8:: @ 84571B8 - .string "Please start over from the beginning.$" - - .align 2 -gUnknown_84571E0:: @ 84571E0 - .string "The WIRELESS COMMUNICATION\n" - .string "SYSTEM search has been canceled.$" - - .align 2 - .string "ともだちからの れんらくを\n" @ something about waiting for a friend to connect? - .string "まっています$" - - .align 2 -gUnknown_8457234:: @ 8457234 - .string "{STR_VAR_1}! Awaiting\n" - .string "communication from another player.$" - - .align 2 -gUnknown_8457264:: @ 8457264 - .string "{STR_VAR_1}! Awaiting link!\n" - .string "Press START when everyone's ready.$" - - .align 2 -gJPText_SingleBattle:: - .string "シングルバトルを かいさいする$" - - .align 2 -gJPText_DoubleBattle:: - .string "ダブルバトルを かいさいする$" - - .align 2 -gJPText_MultiBattle:: - .string "マルチバトルを かいさいする$" - - .align 2 -gJPText_TradePokemon:: - .string "ポケモンこうかんを かいさいする$" - - .align 2 -gJPText_Chat:: - .string "チャットを かいさいする$" - - .align 2 -gJPText_DistWonderCard:: - .string "ふしぎなカードをくばる$" - - .align 2 -gJPText_DistWonderNews:: - .string "ふしぎなニュースをくばる$" - - .align 2 -unref_text_union_room_1:: - .string "ふしぎなできごとを かいさいする$" - - .align 2 -gJPText_HoldPokemonJump:: - .string "なわとびを かいさいする$" - - .align 2 -gJPText_HoldBerryCrush:: - .string "きのみマッシャーを かいさいする$" - - .align 2 -gJPText_HoldBerryPicking:: - .string "きのみどりを かいさいする$" - - .align 2 -gJPText_HoldSpinTrade:: - .string "ぐるぐるこうかんを かいさいする$" - - .align 2 -gJPText_HoldSpinShop:: - .string "ぐるぐるショップを かいさいする$" - - .align 2 -unref_text_ptrs_union_room_0:: - .word gJPText_SingleBattle - .word gJPText_DoubleBattle - .word gJPText_MultiBattle - .word gJPText_TradePokemon - .word gJPText_Chat - .word gJPText_DistWonderCard - .word gJPText_DistWonderNews - .word gJPText_DistWonderCard - .word gJPText_HoldPokemonJump - .word gJPText_HoldBerryCrush - .word gJPText_HoldBerryPicking - .word gJPText_HoldBerryPicking - .word gJPText_HoldSpinTrade - .word gJPText_HoldSpinShop - -gText_1PlayerNeeded:: - .string "1 player\n" - .string "needed.$" -gText_2PlayersNeeded:: - .string "2 players\n" - .string "needed.$" -gText_3PlayersNeeded:: - .string "3 players\n" - .string "needed.$" -gText_4PlayersNeeded:: @ uhhhh this one is JP but not the others??? but its english in emerald??? - .string "あと4にん\n" - .string "ひつよう$" -gText_2PlayerMode:: - .string "2-PLAYER\n" - .string "MODE$" -gText_3PlayerMode:: - .string "3-PLAYER\n" - .string "MODE$" -gText_4PlayerMode:: - .string "4-PLAYER\n" - .string "MODE$" -gText_5PlayerMode:: - .string "5-PLAYER\n" - .string "MODE$" - -gUnknown_845742C:: @ 845742C - .word gText_1PlayerNeeded - .word gText_2PlayerMode - .word NULL - .word NULL - .word NULL - - .word gText_3PlayersNeeded - .word gText_2PlayersNeeded - .word gText_1PlayerNeeded - .word gText_4PlayerMode - .word NULL - - .word gText_1PlayerNeeded - .word gText_2PlayerMode - .word gText_3PlayerMode - .word gText_4PlayerMode - .word gText_5PlayerMode - - .word gText_2PlayersNeeded - .word gText_1PlayerNeeded - .word gText_3PlayerMode - .word gText_4PlayerMode - .word gText_5PlayerMode - - @ Huh? No 4 ptrs here from pokeemerald? - - .align 2 -gUnknown_845747C:: @ 845747C - .string "{B_BUTTON}CANCEL$" - - .align 2 -unref_text_union_room_2:: - .string "ため\nさんかしゃ ぼしゅうちゅう です!$" - - .align 2 -gUnknown_84574A0:: @ 84574A0 - .string "{STR_VAR_2} contacted you for\n{STR_VAR_1}. Accept?$" - - .align 2 -gUnknown_84574C4:: @ 84574C4 - .string "{STR_VAR_2} contacted you.\nWill you share {STR_VAR_1}?$" - - .align 2 -gUnknown_84574EC:: @ 84574EC - .string "{STR_VAR_2} contacted you.\nAdd to the members?$" - - .align 2 -gUnknown_8457514:: @ 8457514 - .string "{STR_VAR_1}!\nAre these members OK?$" - - .align 2 -gUnknown_8457530:: @ 8457530 - .string "Cancel {STR_VAR_1} MODE\nwith these members?$" - - .align 2 -gUnknown_8457554:: @ 8457554 - .string "An “OK” was sent\nto {STR_VAR_1}.$" - - .align 2 -gUnknown_845756C:: @ 845756C - .string "The other TRAINER doesn't appear\nto be available now…\p$" - - .align 2 -gUnknown_84575A4:: @ 84575A4 - .string "You can't transmit with a TRAINER\nwho is too far away.\p$" - - .align 2 -gUnknown_84575DC:: @ 84575DC - .string "The other TRAINER(S) is/are not\nready yet.\p$" - - .align 2 -gUnknown_8457608:: @ 8457608 - .word gUnknown_84575A4 - .word gUnknown_84575DC - - .align 2 -gUnknown_8457610:: @ 8457610 - .string "The {STR_VAR_1} MODE with\nthese members will be canceled.{PAUSE 90}$" - - .align 2 -gUnknown_8457644:: @ 8457644 - .string "There is a member who can no\nlonger remain available.\p$" - - .align 2 -gUnknown_845767C:: @ 845767C - .word gUnknown_845756C - .word gUnknown_8457644 - - .align 2 -gUnknown_8457684:: @ 8457684 - .string "The other TRAINER appears\nunavailable…\p$" - - .align 2 -gUnknown_84576AC:: @ 84576AC - .string "{STR_VAR_1} sent back an “OK”!$" - - .align 2 -gUnknown_84576C4:: @ 84576C4 - .string "{STR_VAR_1} OK'd your registration as\na member.$" - - .align 2 -gUnknown_84576EC:: @ 84576EC - .string "{STR_VAR_1} replied, “No…”\p$" - - .align 2 -gUnknown_8457700:: @ 8457700 - .string "{STR_VAR_1}!\nAwaiting other members!$" - - .align 2 -gUnknown_845771C:: @ 845771C - .string "Quit being a member?$" - - .align 2 -gUnknown_8457734:: @ 8457734 - .string "You stopped being a member.\p$" - - .align 2 -gUnknown_8457754:: @ 8457754 - .word NULL - .word gUnknown_8457644 - .word gUnknown_8457684 - .word NULL - .word NULL - .word NULL - .word gUnknown_84576EC - .word NULL - .word NULL - .word gUnknown_8457734 - - .align 2 -gUnknown_845777C:: @ 845777C - .string "The WIRELESS COMMUNICATION\nSYSTEM link has been established.$" - - .align 2 -gUnknown_84577BC:: @ 84577BC - .string "The WIRELESS COMMUNICATION\nSYSTEM link has been dropped…$" - - .align 2 -gUnknown_84577F8:: @ 84577F8 - .string "The link with your friend has been\ndropped…$" - - .align 2 -gUnknown_8457824:: @ 8457824 - .string "{STR_VAR_1} replied, “No…”$" - - .align 2 -gUnknown_8457838:: @ 8457838 - .word NULL - .word gUnknown_84577F8 - .word gUnknown_84577F8 - .word NULL - .word NULL - .word NULL - .word gUnknown_8457824 - .word NULL - .word NULL - .word NULL - - .align 2 -gUnknown_8457860:: @ 8457860 - .string "Do you want the {STR_VAR_2}\nMODE?$" - - .align 2 -gUnknown_845787C:: @ 845787C - .string "Do you want the {STR_VAR_2}\nMODE?$" - - .align 2 -gUnknown_8457898:: @ 8457898 - .word gUnknown_8457860 - .word gUnknown_845787C - - .align 2 -gUnknown_84578A0:: @ 84578A0 - .string "はなしかけています…\n" @ Communicating... please wait - .string "しょうしょう おまちください$" - - .align 2 -gUnknown_84578BC:: @ 84578BC - .string "Awaiting {STR_VAR_1}'s response about\nthe trade…$" - - .align 2 -gUnknown_84578E4:: @ 84578E4 - .string "Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$" - - .align 2 -gUnknown_8457950:: @ 8457950 - .string "Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$" - - .align 2 -gUnknown_84579BC:: @ 84579BC - .string "Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.$" - - .align 2 -gUnknown_8457A34:: @ 8457A34 - .word gUnknown_84578E4 - .word gUnknown_8457950 - .word gUnknown_84579BC - - .align 2 -gUnknown_8457A40:: @ 8457A40 - .string "Hiya! Is there something that you\nwanted to do?$" - - .align 2 -gUnknown_8457A70:: @ 8457A70 - .string "Hello!\nWould you like to do something?$" - - .align 2 -gUnknown_8457A98:: @ 8457A98 - .string "{STR_VAR_1}: Hiya, we meet again!\nWhat are you up for this time?$" - - .align 2 -gUnknown_8457AD0:: @ 8457AD0 - .string "{STR_VAR_1}: Oh! {PLAYER}, hello!\nWould you like to do something?$" - - .align 2 -gUnknown_8457B04:: @ 8457B04 - .word gUnknown_8457A40 - .word gUnknown_8457A70 - .word gUnknown_8457A98 - .word gUnknown_8457AD0 - - .align 2 -gUnknown_8457B14:: @ 8457B14 - .string "Want to do something?$" - - .align 2 -gUnknown_8457B2C:: @ 8457B2C - .string "Would you like to do something?$" - - .align 2 -gUnknown_8457B4C:: @ 8457B4C - .string "{STR_VAR_1}: What would you like to\ndo now?$" - - .align 2 -gUnknown_8457B70:: @ 8457B70 - .string "{STR_VAR_1}‘また なにかする?$" @ Want to do anything else? - - .align 2 -gUnknown_8457B80:: @ 8457B80 - .word gUnknown_8457B14 - .word gUnknown_8457B2C - .word gUnknown_8457B4C - .word gUnknown_8457B4C - - .align 2 -gUnknown_8457B90:: @ 8457B90 - .string "Somebody has contacted you.{PAUSE 60}$" - - .align 2 -gUnknown_8457BA0:: @ 8457BA0 - .string "{STR_VAR_1} has contacted you.{PAUSE 60}$" - - .align 2 -gUnknown_8457BCC:: @ 8457BCC - .word gUnknown_8457B90 - .word gUnknown_8457BA0 - - .align 2 -gUnknown_8457BD4:: @ 8457BD4 - .string "Awaiting a response from\nthe other TRAINER…$" - - .align 2 -gUnknown_8457C00:: @ 8457C00 - .string "Awaiting a response from\n{STR_VAR_1}…$" - - .align 2 -gUnknown_8457C20:: @ 8457C20 - .word gUnknown_8457BD4 - .word gUnknown_8457C00 - - .align 2 -gUnknown_8457C28:: @ 8457C28 - .string "あいての ていあんを まっています\n" - .string "ビーボタンで キャンセル$" - - .align 2 -gUnknown_8457C48:: @ 8457C48 - .string "The other TRAINER showed\n" - .string "you their TRAINER CARD.\p" - .string "Would you like to show your\n" - .string "TRAINER CARD?$" - - .align 2 -gUnknown_8457CA4:: @ 8457CA4 - .string "The other TRAINER challenges you\n" - .string "to battle.\p" - .string "Will you accept the battle\n" - .string "challenge?$" - - .align 2 -gUnknown_8457CF8:: @ 8457CF8 - .string "The other TRAINER invites you\n" - .string "to chat.\p" - .string "Will you accept the chat\n" - .string "invitation?$" - - .align 2 -gUnknown_8457D44:: @ 8457D44 - .string "There is an offer to trade your\n" - .string "registered Lv. {DYNAMIC 0} {DYNAMIC 1}\p" - .string "in exchange for a\n" - .string "Lv. {DYNAMIC 2} {DYNAMIC 3}.\p" - .string "Will you accept this trade\n" - .string "offer?$" - - .align 2 -gUnknown_8457DB8:: @ 8457DB8 - .string "There is an offer to trade your\n" - .string "registered EGG.\l" - .string "Will you accept this trade offer?$" - - .align 2 -gUnknown_8457E0C:: @ 8457E0C - .string "The chat has been dropped.\p$" - -gUnknown_8457E28:: @ 8457E28 - .string "You declined the offer.\p$" - - .align 2 -gUnknown_8457E44:: @ 8457E44 - .string "You declined the offer.\p$" - - .align 2 -gUnknown_8457E60:: @ 8457E60 - .string "The chat was ended.\p$" - .align 2 - -gUnknown_8457E78:: - .4byte gUnknown_8457C48 - .4byte gUnknown_8457CA4 - .4byte gUnknown_8457CF8 - .4byte gUnknown_8457D44 - - .align 2 -gUnknown_8457E88:: - .string "Oh, hey! We're in a chat right now.\n" - .string "Want to join us?$" - - .align 2 -gUnknown_8457EC0:: - .string "{STR_VAR_1}: Hey, {PLAYER}!\n" - .string "We're having a chat right now.\l" - .string "Want to join us?$" - - .align 2 -gUnknown_8457F00:: - .string "Oh, hi! We're having a chat now.\n" - .string "Would you like to join us?$" - - .align 2 -gUnknown_8457F3C:: - .string "{STR_VAR_1}: Oh, hi, {PLAYER}!\n" - .string "We're having a chat now.\l" - .string "Would you like to join us?$" - - .align 2 -gUnknown_8457F80:: @ 8457F80 - .4byte gUnknown_8457E88 - .4byte gUnknown_8457F00 - .4byte gUnknown_8457EC0 - .4byte gUnknown_8457F3C - -gUnknown_8457F90:: @ 8457F90 - .string "……\n" - .string "The TRAINER appears to be busy…\p$" - - .align 2 -gUnknown_8457FB4:: - .string "A battle, huh?\n" - .string "All right, just give me some time.$" - - .align 2 -gUnknown_8457FE8:: - .string "You want to chat, huh?\n" - .string "Sure, just wait a little.$" - - .align 2 -gUnknown_845801C:: - .string "Sure thing! As my “Greetings,”\n" - .string "here's my TRAINER CARD.$" - - .align 2 -gUnknown_8458054:: - .string "A battle? Of course, but I need\n" - .string "time to get ready.$" - - .align 2 -gUnknown_8458088:: - .string "Did you want to chat?\n" - .string "Okay, but please wait a moment.$" - - .align 2 -gUnknown_84580C0:: - .string "As my introduction, I'll show you\n" - .string "my TRAINER CARD.$" - - .align 2 -gUnknown_84580F4:: @ 84580F4 - .4byte gUnknown_8457FB4 - .4byte gUnknown_8457FE8 - .4byte 0 - .4byte gUnknown_845801C - .4byte gUnknown_8458054 - .4byte gUnknown_8458088 - .4byte 0 - .4byte gUnknown_84580C0 - - .align 2 - .string "チャットだね!\n" @ You want to chat, huh? Sure, just wait a little. - .string "わかった ちょっと まってて!$" - - .align 2 -gUnknown_845812C:: - .string "Thanks for waiting!\n" - .string "Let's get our battle started!{PAUSE 60}$" - - .align 2 -gUnknown_8458164:: - .string "All right!\n" - .string "Let's chat!{PAUSE 60}$" - - .align 2 -gUnknown_8458180:: - .string "Sorry I made you wait!\n" - .string "Let's get started!{PAUSE 60}$" - - .align 2 -gUnknown_84581B0:: - .string "Sorry I made you wait!\n" - .string "Let's chat.{PAUSE 60}$" - - .align 2 -gUnknown_84581D8:: - .string "The trade will be started.{PAUSE 60}$" - - .align 2 -gUnknown_84581F8:: - .string "The battle will be started.{PAUSE 60}$" - - .align 2 -gUnknown_8458218:: - .string "Entering the chat…{PAUSE 60}$" - - .align 2 -gUnknown_8458230:: @ 8458230 - .4byte gUnknown_84581F8 - .4byte gUnknown_8458218 - .4byte gUnknown_84581D8 - .4byte gUnknown_84581F8 - .4byte gUnknown_8458218 - .4byte gUnknown_84581D8 - .4byte gUnknown_845812C - .4byte gUnknown_8458164 - .4byte gUnknown_84581D8 - .4byte gUnknown_8458180 - .4byte gUnknown_84581B0 - .4byte gUnknown_84581D8 - -gUnknown_8458260:: - .string "Sorry! My POKéMON don't seem to\n" - .string "be feeling too well right now.\l" - .string "Let me battle you another time.\p$" - -gUnknown_84582C0:: - .string "I'm terribly sorry, but my POKéMON\n" - .string "aren't feeling well…\p" - .string "Let's battle another time.\p$" - -gUnknown_8458314:: @ 8458314 - .4byte gUnknown_8458260 - .4byte gUnknown_84582C0 - - .align 2 -gUnknown_845831C:: - .string "Huh? My TRAINER CARD…\n" - .string "Where'd it go now?\l" - .string "Sorry! I'll show you another time!\p$" - - .align 2 -gUnknown_845836C:: - .string "Oh? Now where did I put my\n" - .string "TRAINER CARD?…\l" - .string "Sorry! I'll show you later!\p$" - - .align 2 -gUnknown_84583B4:: @ 84583B4 - .4byte gUnknown_845831C - .4byte gUnknown_845836C - - .align 2 -gUnknown_84583BC:: - .string "If you want to do something with\n" - .string "me, just give me a shout!\p$" - .align 2 -gUnknown_84583F8:: - .string "If you want to do something with\n" - .string "me, don't be shy.\p$" - - .align 2 -gUnknown_845842C:: @ 845842C - .4byte gUnknown_84583BC - .4byte gUnknown_84583F8 - -gUnknown_8458434:: @ 8458434 - .string "Whoops! Sorry, but I have to do\n" - .string "something else.\l" - .string "Another time, okay?\p$" - - .align 2 -gUnknown_845847C:: @ 845847C - .string "If you want to battle, you need\n" - .string "two POKéMON that are below\l" - .string "Lv. 30.\p$" - -gUnknown_84584C0:: @ 84584C0 - .string "For a battle, you need two\n" - .string "POKéMON that are below Lv. 30.\p$" - - .align 2 -gUnknown_84584FC:: - .string "Oh, all right.\n" - .string "Come see me anytime, okay?\p$" - - .align 2 -gUnknown_8458528:: - .string "Oh…\n" - .string "Please come by anytime.\p$" - - .align 2 -gUnknown_8458548:: @ 8458548 - .4byte gUnknown_84584FC - .4byte gUnknown_8458528 - - .align 2 -gUnknown_8458550:: - .string "Oh, sorry!\n" - .string "I just can't right this instant.\l" - .string "Let's chat another time.\p$" - - .align 2 -gUnknown_8458598:: - .string "Oh, I'm sorry.\n" - .string "I have too much to do right now.\l" - .string "Let's chat some other time.\p$" - - .align 2 -gUnknown_84585E8:: @ 84585E8 - .4byte gUnknown_8458550 - .4byte gUnknown_8458598 - - .align 2 -gUnknown_84585F0:: - .string "Whoa!\n" - .string "I can tell you're pretty tough!\p$" - - .align 2 -gUnknown_8458618:: - .string "You used that move?\n" - .string "That's good strategy!\p$" - - .align 2 -gUnknown_8458644:: - .string "Way to go!\n" - .string "That was an eye-opener!\p$" - - .align 2 -gUnknown_8458668:: - .string "Oh! How could you use that\n" - .string "POKéMON in that situation?\p$" - - .align 2 -gUnknown_84586A0:: - .string "That POKéMON…\n" - .string "It's been raised really well!\p$" - - .align 2 -gUnknown_84586D0:: - .string "That's it!\n" - .string "This is the right move now!\p$" - - .align 2 -gUnknown_84586F8:: - .string "That's awesome!\n" - .string "You can battle that way?\p$" - - .align 2 -gUnknown_8458724:: - .string "You have exquisite timing for\n" - .string "switching POKéMON!\p$" - - .align 2 -gUnknown_8458758:: @ 8458758 - .4byte gUnknown_84585F0 - .4byte gUnknown_8458618 - .4byte gUnknown_8458644 - .4byte gUnknown_8458668 - .4byte gUnknown_84586A0 - .4byte gUnknown_84586D0 - .4byte gUnknown_84586F8 - .4byte gUnknown_8458724 - - .align 2 -gUnknown_8458778:: - .string "Oh, I see!\n" - .string "This is educational!\p$" - - .align 2 -gUnknown_845879C:: - .string "Don't say anything funny anymore!\n" - .string "I'm sore from laughing!\p$" - - .align 2 -gUnknown_84587D8:: - .string "Oh?\n" - .string "Something like that happened.\p$" - - .align 2 -gUnknown_84587FC:: - .string "Hmhm… What?\n" - .string "So is this what you're saying?\p$" - - .align 2 -gUnknown_8458828:: - .string "Is that right?\n" - .string "I didn't know that.\p$" - - .align 2 -gUnknown_845884C:: - .string "Ahaha!\n" - .string "What is that about?\p$" - - .align 2 -gUnknown_8458868:: - .string "Yes, that's exactly it!\n" - .string "That's what I meant.\p$" - - .align 2 -gUnknown_8458898:: - .string "In other words…\n" - .string "Yes! That's right!\p$" - - .align 2 -gUnknown_84588BC:: @ 84588BC - .4byte gUnknown_8458778 - .4byte gUnknown_845879C - .4byte gUnknown_84587D8 - .4byte gUnknown_84587FC - .4byte gUnknown_8458828 - .4byte gUnknown_845884C - .4byte gUnknown_8458868 - .4byte gUnknown_8458898 - - .align 2 -gUnknown_84588DC:: - .string "I'm just showing my TRAINER CARD\n" - .string "as my way of greeting.\p$" - - .align 2 -gUnknown_8458918:: - .string "I hope I get to know you better!\p$" - - .align 2 -gUnknown_845893C:: - .string "We're showing each other our\n" - .string "TRAINER CARDS to get acquainted.\p$" - - .align 2 -gUnknown_845897C:: - .string "Glad to meet you.\n" - .string "Please don't be a stranger!\p$" - - .align 2 -gUnknown_84589AC:: @ 84589AC - .4byte gUnknown_84588DC - .4byte gUnknown_8458918 - .4byte gUnknown_845893C - .4byte gUnknown_845897C - - .align 2 -gUnknown_84589BC:: - .string "Yeahah!\n" - .string "I really wanted this POKéMON!\p$" - - .align 2 -gUnknown_84589E4:: - .string "Finally, a trade got me that\n" - .string "POKéMON I'd wanted a long time.\p$" - - .align 2 -gUnknown_8458A24:: - .string "I'm trading POKéMON right now.\p$" - - .align 2 -gUnknown_8458A44:: - .string "I finally got that POKéMON I\n" - .string "wanted in a trade!\p$" - - .align 2 -gUnknown_8458A78:: @ 8458A78 - .4byte gUnknown_84589BC - .4byte gUnknown_84589E4 - .4byte NULL - .4byte NULL - .4byte gUnknown_8458A24 - .4byte gUnknown_8458A44 - .4byte NULL - .4byte NULL - -gUnknown_8458A98:: @ 8458A98 - .string "{STR_VAR_1} checked the\n" - .string "TRADING BOARD.\p$" - - .align 2 -gUnknown_8458AB8:: @ 8458AB8 - .string "Welcome to the TRADING BOARD.\p" - .string "You may register your POKéMON\n" - .string "and offer it up for a trade.\p" - .string "Would you like to register one of\n" - .string "your POKéMON?$" - - .align 2 -gUnknown_8458B44:: @ 8458B44 - .string "This TRADING BOARD is used for\n" - .string "offering a POKéMON for a trade.\p" - .string "All you need to do is register a\n" - .string "POKéMON for a trade.\p" - .string "Another TRAINER may offer a party\n" - .string "POKéMON in return for the trade.\p" - .string "We hope you will register POKéMON\n" - .string "and trade them with many, many\l" - .string "other TRAINERS.\p" - .string "Would you like to register one of\n" - .string "your POKéMON?$" - - .align 2 - .string "こうかんけいじばん の とうろくが\n" - .string "かんりょう しました\p" - .string "ごりよう ありがとう\n" - .string "ございました!\p$" - - .align 2 - .string "けいじばんに だれも ポケモンを\n" - .string "とうろく していません\p\n$" - - .align 2 -gUnknown_8458CD4:: @ 8458CD4 - .string "Please choose the type of POKéMON\n" - .string "that you would like in the trade.\n$" - - .align 2 -gUnknown_8458D1C:: @ 8458D1C - .string "Which of your party POKéMON will\n" - .string "you offer in trade?\p$" - - .align 2 -gUnknown_8458D54:: @ 8458D54 - .string "Registration has been canceled.\p$" - - .align 2 -gUnknown_8458D78:: @ 8458D78 - .string "Registration has been completed.\p$" - - .align 2 -gUnknown_8458D9C:: @ 8458D9C - .string "The trade has been canceled.\p$" - - .align 2 -gUnknown_8458DBC:: @ 8458DBC - .string "Cancel the registration of your\n" - .string "Lv. {STR_VAR_2} {STR_VAR_1}?$" - - .align 2 -gUnknown_8458DE8:: @ 8458DE8 - .string "Cancel the registration of your\n" - .string "EGG?$" - - .align 2 -gUnknown_8458E10:: @ 8458E10 - .string "The registration has been canceled.\p$" - - .align 2 - .string "こうかんを きぼうしているひとを\n" - .string "ひょうじします$" - - .align 2 - .string "こうかん したい トレーナーを\n" - .string "えらんで ください$" - - .align 2 -gUnknown_8458E70:: @ 8458E70 - .string "Would you like to ask {STR_VAR_1} to\n" - .string "make a trade?$" - - .align 2 - .string "……\n" - .string "あいての へんじを まっています$" - - .align 2 - .string "あなたが こうかんにだす\n" - .string "ポケモンが とうろくされていません\p$" - - .align 2 -gUnknown_8458ED0:: @ 8458ED0 - .string "You don't have a {STR_VAR_2}-type\n" - .string "POKéMON that {STR_VAR_1} wants.\p$" - - .align 2 -gUnknown_8458F04:: @ 8458F04 - .string "You don't have an EGG that\n" - .string "{STR_VAR_1} wants.\p$" - - .align 2 -gUnknown_8458F2C:: @ 8458F2C - .string "{STR_VAR_1} can't make a trade for\n" - .string "your POKéMON right now.\p$" - - .align 2 -gUnknown_8458F60:: @ 8458F60 - .string "You can't make a trade for\n" - .string "{STR_VAR_1}'s POKéMON right now.\p$" - - .align 2 -gUnknown_8458F94:: @ 8458F94 - .word gUnknown_8458F2C - .word gUnknown_8458F60 - -gUnknown_8458F9C:: @ 8458F9C - .string "Your trade offer was rejected.\p$" - -gUnknown_8458FBC:: @ 8458FBC - .string "EGG TRADE$" - - .align 2 -gUnknown_8458FC8:: @ 8458FC8 - .string "{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL$" - - .align 2 -gUnknown_8458FE4:: @ 8458FE4 - .string "Please choose a TRAINER.$" - - .align 2 -gUnknown_8459000:: - .string "Please choose a TRAINER for\n" - .string "a SINGLE BATTLE.$" - - .align 2 -gUnknown_8459030:: - .string "Please choose a TRAINER for\n" - .string "a DOUBLE BATTLE.$" - - .align 2 -gUnknown_8459060:: - .string "Please choose the LEADER\n" - .string "for a MULTI BATTLE.$" - - .align 2 -gUnknown_8459090:: - .string "Please choose the TRAINER to\n" - .string "trade with.$" - - .align 2 -gUnknown_84590BC:: - .string "Please choose the TRAINER who is\n" - .string "sharing WONDER CARDS.$" - - .align 2 -gUnknown_84590F4:: - .string "Please choose the TRAINER who is\n" - .string "sharing WONDER NEWS.$" - - .align 2 -gUnknown_845912C:: - .string "Jump with mini POKéMON!\n" - .string "Please choose the LEADER.$" - - .align 2 -gUnknown_8459160:: - .string "BERRY CRUSH!\n" - .string "Please choose the LEADER.$" - - .align 2 -gUnknown_8459188:: - .string "DODRIO BERRY-PICKING!\n" - .string "Please choose the LEADER.$" - - .align 2 -gUnknown_84591B8:: @ 84591B8 - .4byte gUnknown_8459000 - .4byte gUnknown_8459030 - .4byte gUnknown_8459060 - .4byte gUnknown_8459090 - .4byte gUnknown_845912C - .4byte gUnknown_8459160 - .4byte gUnknown_8459188 - .4byte gUnknown_84590BC - .4byte gUnknown_84590F4 - - .align 2 -gUnknown_84591DC:: @ 84591DC - .string "Searching for a WIRELESS\n" - .string "COMMUNICATION SYSTEM. Wait...$" - - .align 2 - .string "ダブルバトルでは 2ひき いじょうの\n" - .string "ポケモンが ひつようです\p$" - - .align 2 -gUnknown_8459238:: @ 8459238 - .string "Awaiting {STR_VAR_1}'s response…$" - - .align 2 -gUnknown_8459250:: @ 8459250 - .string "{STR_VAR_1} has been asked to register\n" - .string "you as a member. Please wait.$" - - .align 2 -gUnknown_845928C:: @ 845928C - .string "Awaiting a response from the\n" - .string "WIRELESS COMMUNICATION SYSTEM.$" - - .align 2 - .string "ほかの さんかしゃが そろうまで\n" - .string "しょうしょう おまちください$" - - .align 2 -gUnknown_84592E8:: @ 84592E8 - .string "No CARDS appear to be shared \n" - .string "right now.$" - - .align 2 -gUnknown_8459314:: @ 8459314 - .string "No NEWS appears to be shared\n" - .string "right now.$" - -gUnknown_845933C:: @ 845933C - .word gUnknown_84592E8 - .word gUnknown_8459314 - - .align 2 -gUnknown_8459344:: @ 8459344 - .string "BATTLE$" - - .align 2 -gUnknown_845934C:: @ 845934C - .string "CHAT$" - - .align 2 -gUnknown_8459354:: @ 8459354 - .string "GREETINGS$" - - .align 2 -gUnknown_8459360:: @ 8459360 - .string "EXIT$" - - .align 2 -gUnknown_8459368:: @ 8459368 - .string "EXIT$" - - .align 2 -gUnknown_8459370:: @ 8459370 - .string "INFO$" - - .align 2 -gUnknown_8459378:: @ 8459378 - .string "NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV.$" - - .align 2 -gUnknown_8459394:: @ 8459394 - .string "SINGLE BATTLE$" - - .align 2 -gUnknown_84593A4:: @ 84593A4 - .string "DOUBLE BATTLE$" - - .align 2 -gUnknown_84593B4:: @ 84593B4 - .string "MULTI BATTLE$" - - .align 2 -gUnknown_84593C4:: @ 84593C4 - .string "POKéMON TRADES$" - - .align 2 -gUnknown_84593D4:: @ 84593D4 - .string "CHAT$" - - .align 2 -gUnknown_84593DC:: @ 84593DC - .string "CARDS$" - - .align 2 -gUnknown_84593E4:: @ 84593E4 - .string "WONDER CARDS$" - - .align 2 -gUnknown_84593F4:: @ 84593F4 - .string "WONDER NEWS$" - - .align 2 -gUnknown_8459400:: @ 8459400 - .string "POKéMON JUMP$" - - .align 2 -gUnknown_8459410:: @ 8459410 - .string "BERRY CRUSH$" - - .align 2 -gUnknown_845941C:: @ 845941C - .string "BERRY-PICKING$" - - .align 2 -gUnknown_845942C:: @ 845942C - .string "SEARCH$" - - .align 2 -gUnknown_8459434:: @ 8459434 - .string "ぐるぐるこうかん$" - - .align 2 -gUnknown_8459440:: @ 8459440 - .string "アイテムトレード$" - - .align 2 -gUnknown_845944C:: @ 845944C - .string "It's a NORMAL CARD.$" - - .align 2 -gUnknown_8459460:: @ 459460 - .string "It's a BRONZE CARD!$" - - .align 2 -gUnknown_8459474:: @ 8459474 - .string "It's a COPPER CARD!$" - - .align 2 -gUnknown_8459488:: @ 8459488 - .string "It's a SILVER CARD!$" - - .align 2 -gUnknown_845949C:: @ 845949C - .string "It's a GOLD CARD!$" - - .align 2 -gUnknown_84594B0:: @ 84594B0 - .word gUnknown_845944C - .word gUnknown_8459460 - .word gUnknown_8459474 - .word gUnknown_8459488 - .word gUnknown_845949C - - .align 2 -gUnknown_84594C4:: @ 84594C4 - .string "This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p$" - - .align 2 -gUnknown_8459504:: @ 8459504 - .string "BATTLES: {SPECIAL_F7 0x00} WINS {SPECIAL_F7 0x02} LOSSES\nTRADES: {SPECIAL_F7 0x03} TIMES\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p$" - - .align 2 -gUnknown_8459544:: @ 8459544 - .string "{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}$" - - .align 2 -gUnknown_8459564:: @ 8459564 - .string "{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}$" - - .align 2 -gUnknown_8459580:: @ 8459580 - .word gUnknown_8459544 - .word gUnknown_8459564 - - .align 2 -gUnknown_8459588:: @ 8459588 - .string "Finished checking {SPECIAL_F7 0x01}'s\nTRAINER CARD.{PAUSE 60}$" - - @ why is this data here of all places? - - .align 2 -gUnknown_84595B0:: - .string "Canceled reading the Card.$" - - .align 2 -gUnknown_84595CC:: - .4byte 0x02, 0x15 @ RECEIVE ID(0x15) - .4byte 0x0c, 0x00 @ READ PACKET AND COMPUTER SOMETHING - .4byte 0x14, 0x00 @ SEND ALL - .4byte 0x01, 0x0e @ RETURN 0x0e - -gMEventSrvScript_OtherTrainerCanceled:: @ 84595EC @ referenced in mevent/script_common.inc - .4byte 0x12, 0x20, gUnknown_84595CC @ SEND - .4byte 0x01, 0x00, NULL @ WAIT SEND - .4byte 0x14, 0x1b, gUnknown_84595B0 @ SEND_STR - .4byte 0x01, 0x00, NULL @ WAIT SEND - .4byte 0x02, 0x14, NULL @ RECV - .4byte 0x00, 0x09, NULL @ RETURN (other trainer canceled) diff --git a/include/bag.h b/include/bag.h index f82531778..fec9f67bf 100644 --- a/include/bag.h +++ b/include/bag.h @@ -1,18 +1,20 @@ #ifndef GUARD_BAG_H #define GUARD_BAG_H -void sub_810B858(void); -void sub_810B8F0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 colorIdx); -void sub_810B958(const u8 * str); -void sub_810B994(void); -u8 sub_810B9DC(u8 a0, u8 a1); -void sub_810BA3C(u8 a0); -u8 sub_810BA70(u8 a0); -void sub_810BA9C(u8 a0); -u8 sub_810BAD8(u8 a0); -void sub_810BAE8(u8 taskId, const struct YesNoFuncTable * ptrs); -void sub_810BB14(u8 taskId, const struct YesNoFuncTable * ptrs); -void sub_810BB40(void); -void sub_810BB74(u8 windowId); +#include "menu_helpers.h" + +void InitBagWindows(void); +void BagPrintTextOnWindow(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx); +void BagPrintTextOnWin1CenteredColor0(const u8 * str, u8 unused); +void BagDrawDepositItemTextBox(void); +u8 ShowBagWindow(u8 whichWindow, u8 nItems); +void HideBagWindow(u8 whichWindow); +u8 OpenBagWindow(u8 whichWindow); +void CloseBagWindow(u8 whichWindow); +u8 GetBagWindow(u8 whichWindow); +void BagCreateYesNoMenuBottomRight(u8 taskId, const struct YesNoFuncTable * ptrs); +void BagCreateYesNoMenuTopRight(u8 taskId, const struct YesNoFuncTable * ptrs); +void BagPrintMoneyAmount(void); +void BagDrawTextBoxOnWindow(u8 windowId); #endif //GUARD_BAG_H diff --git a/include/battle.h b/include/battle.h index bed12204f..c9534745d 100644 --- a/include/battle.h +++ b/include/battle.h @@ -45,7 +45,6 @@ #define B_ACTION_NONE 0xFF #define MAX_TRAINER_ITEMS 4 -#define MAX_MON_MOVES 4 // array entries for battle communication #define MULTIUSE_STATE 0x0 diff --git a/include/battle_controllers.h b/include/battle_controllers.h index 06a0e2957..412856353 100644 --- a/include/battle_controllers.h +++ b/include/battle_controllers.h @@ -2,6 +2,7 @@ #define GUARD_BATTLE_CONTROLLERS_H #include "global.h" +#include "battle.h" enum { diff --git a/include/berry_crush.h b/include/berry_crush.h new file mode 100644 index 000000000..2583aba61 --- /dev/null +++ b/include/berry_crush.h @@ -0,0 +1,6 @@ +#ifndef GUARD_BERRY_CRUSH_H +#define GUARD_BERRY_CRUSH_H + +void sub_814B754(MainCallback callback); + +#endif //GUARD_BERRY_CRUSH_H diff --git a/include/cable_club.h b/include/cable_club.h index 5375c2210..c1dbab1a5 100644 --- a/include/cable_club.h +++ b/include/cable_club.h @@ -10,5 +10,6 @@ // Exported ROM declarations void sub_8081A90(u8 taskId); u8 sub_8081150(void); +void sub_8081668(void); #endif //GUARD_CABLE_CLUB_H diff --git a/include/constants/daycare.h b/include/constants/daycare.h new file mode 100644 index 000000000..103f920f2 --- /dev/null +++ b/include/constants/daycare.h @@ -0,0 +1,27 @@ +#ifndef GUARD_DAYCARE_CONSTANTS_H +#define GUARD_DAYCARE_CONSTANTS_H + +// Parent compatability scores +#define PARENTS_INCOMPATIBLE 0 +#define PARENTS_LOW_COMPATIBILITY 20 +#define PARENTS_MED_COMPATABILITY 50 +#define PARENTS_MAX_COMPATABILITY 70 + +// Daycare state +#define DAYCARE_NO_MONS 0 +#define DAYCARE_EGG_WAITING 1 +#define DAYCARE_ONE_MON 2 +#define DAYCARE_TWO_MONS 3 + +#define INHERITED_IV_COUNT 3 +#define EGG_HATCH_LEVEL 5 +#define EGG_GENDER_MALE 0x8000 // used to create a male egg from a female-only parent species (e.g. Nidoran) + +#define DAYCARE_LEVEL_MENU_EXIT 5 +#define DAYCARE_EXITED_LEVEL_MENU 2 // would be redundant with above if GF had used the same value + +// Array buffers +#define EGG_MOVES_ARRAY_COUNT 10 +#define EGG_LVL_UP_MOVES_ARRAY_COUNT 50 + +#endif //GUARD_DAYCARE_CONSTANTS_H diff --git a/include/constants/event_object_movement.h b/include/constants/event_object_movement.h index 6a4405b65..bf75a47cc 100644 --- a/include/constants/event_object_movement.h +++ b/include/constants/event_object_movement.h @@ -1,6 +1,7 @@ #ifndef GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H #define GUARD_CONSTANTS_EVENT_OBJECT_MOVEMENT_H +// FIXME: Different in FRLG #define MOVEMENT_TYPE_NONE 0x0 #define MOVEMENT_TYPE_LOOK_AROUND 0x1 #define MOVEMENT_TYPE_WANDER_AROUND 0x2 @@ -239,8 +240,10 @@ #define MOVEMENT_ACTION_STOP_LEVITATE 0x99 #define MOVEMENT_ACTION_DESTROY_EXTRA_TASK_IF_AT_TOP 0x9A #define MOVEMENT_ACTION_FIGURE_8 0x9B -#define MOVEMENT_ACTION_FLY_UP 0x9C -#define MOVEMENT_ACTION_FLY_DOWN 0x9D + +// These two are verified correct in FRLG +#define MOVEMENT_ACTION_FLY_UP 0xA4 +#define MOVEMENT_ACTION_FLY_DOWN 0xA5 #define MOVEMENT_ACTION_STEP_END 0xFE diff --git a/include/constants/flags.h b/include/constants/flags.h index 982c90fcc..26ffa8a7c 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -104,14 +104,14 @@ #define FLAG_HIDE_DOJO_HITMONLEE_BALL 0x060 #define FLAG_HIDE_DOJO_HITMONCHAN_BALL 0x061 #define FLAG_HIDE_CINNABAR_BILL 0x062 -#define FLAG_HIDE_UNION_ROOM_1 0x063 -#define FLAG_HIDE_UNION_ROOM_2 0x064 -#define FLAG_HIDE_UNION_ROOM_3 0x065 -#define FLAG_HIDE_UNION_ROOM_4 0x066 -#define FLAG_HIDE_UNION_ROOM_5 0x067 -#define FLAG_HIDE_UNION_ROOM_6 0x068 -#define FLAG_HIDE_UNION_ROOM_7 0x069 -#define FLAG_HIDE_UNION_ROOM_8 0x06A +#define FLAG_HIDE_UNION_ROOM_PLAYER_1 0x063 +#define FLAG_HIDE_UNION_ROOM_PLAYER_2 0x064 +#define FLAG_HIDE_UNION_ROOM_PLAYER_3 0x065 +#define FLAG_HIDE_UNION_ROOM_PLAYER_4 0x066 +#define FLAG_HIDE_UNION_ROOM_PLAYER_5 0x067 +#define FLAG_HIDE_UNION_ROOM_PLAYER_6 0x068 +#define FLAG_HIDE_UNION_ROOM_PLAYER_7 0x069 +#define FLAG_HIDE_UNION_ROOM_PLAYER_8 0x06A #define FLAG_HIDE_CINNABAR_SEAGALLOP 0x06B #define FLAG_HIDE_SAFFRON_FAN_CLUB_BLACKBELT 0x06C #define FLAG_HIDE_SAFFRON_FAN_CLUB_ROCKER 0x06D @@ -450,7 +450,7 @@ #define FLAG_HIDE_CERULEAN_CAVE_2F_ULTRA_BALL 0x1B6 #define FLAG_HIDE_CERULEAN_CAVE_B1F_MAX_REVIVE 0x1B7 #define FLAG_HIDE_CERULEAN_CAVE_B1F_ULTRA_BALL 0x1B8 -#define FLAG_HIDE_FUCHSIA_CITY_BUILDING1_RARE_CANDY 0x1B9 +#define FLAG_HIDE_FUCHSIA_CITY_WARDENS_HOUSE_RARE_CANDY 0x1B9 #define FLAG_HIDE_TWO_ISLAND_REVIVE 0x1BA #define FLAG_HIDE_THREE_ISLAND_ZINC 0x1BB #define FLAG_0x1BC 0x1BC diff --git a/include/constants/global.h b/include/constants/global.h index 420a9da71..77ef6f203 100644 --- a/include/constants/global.h +++ b/include/constants/global.h @@ -36,6 +36,7 @@ #define MALE 0 #define FEMALE 1 +#define GENDER_COUNT 2 #define OPTIONS_BUTTON_MODE_HELP 0 #define OPTIONS_BUTTON_MODE_LR 1 @@ -59,6 +60,8 @@ #define NUM_BAG_POCKETS 5 +#define MAX_MON_MOVES 4 + #define PARTY_SIZE 6 #define MULTI_PARTY_SIZE (PARTY_SIZE / 2) diff --git a/include/constants/item_menu.h b/include/constants/item_menu.h new file mode 100644 index 000000000..d173b9212 --- /dev/null +++ b/include/constants/item_menu.h @@ -0,0 +1,35 @@ +#ifndef GUARD_CONSTANTS_ITEM_MENU_H +#define GUARD_CONSTANTS_ITEM_MENU_H + +#define OPEN_BAG_ITEMS 0 +#define OPEN_BAG_KEYITEMS 1 +#define OPEN_BAG_POKEBALLS 2 +#define OPEN_BAG_LAST 3 + +#define ITEMMENULOCATION_FIELD 0 +#define ITEMMENULOCATION_PARTY 1 +#define ITEMMENULOCATION_SHOP 2 +#define ITEMMENULOCATION_ITEMPC 3 +#define ITEMMENULOCATION_PCBOX 4 +#define ITEMMENULOCATION_BATTLE 5 +#define ITEMMENULOCATION_OLD_MAN 6 +#define ITEMMENULOCATION_TTVSCR_STATUS 7 +#define ITEMMENULOCATION_TTVSCR_CATCHING 8 +#define ITEMMENULOCATION_TTVSCR_REGISTER 9 +#define ITEMMENULOCATION_TTVSCR_TMS 10 +#define ITEMMENULOCATION_LAST 11 + +#define ITEMMENUACTION_USE 0 +#define ITEMMENUACTION_TOSS 1 +#define ITEMMENUACTION_REGISTER 2 +#define ITEMMENUACTION_GIVE 3 +#define ITEMMENUACTION_CANCEL 4 +#define ITEMMENUACTION_BATTLE_USE 5 +#define ITEMMENUACTION_CHECK 6 +#define ITEMMENUACTION_OPEN 7 +#define ITEMMENUACTION_OPEN_BERRIES 8 +#define ITEMMENUACTION_WALK 9 +#define ITEMMENUACTION_DESELECT 10 +#define ITEMMENUACTION_DUMMY 11 + +#endif //GUARD_CONSTANTS_ITEM_MENU_H diff --git a/include/constants/layouts.h b/include/constants/layouts.h index a9d40220f..657d531e8 100644 --- a/include/constants/layouts.h +++ b/include/constants/layouts.h @@ -180,10 +180,10 @@ #define LAYOUT_CELADON_CITY_DEPARTMENT_STORE_4F 195 #define LAYOUT_CELADON_CITY_DEPARTMENT_STORE_5F 196 #define LAYOUT_CELADON_CITY_DEPARTMENT_STORE_ROOF 197 -#define LAYOUT_SAFARI_ZONE_BUILDING 198 +#define LAYOUT_SAFARI_ZONE_REST_HOUSE 198 #define LAYOUT_SAFARI_ZONE_SECRET_HOUSE 199 -#define LAYOUT_FUCHSIA_CITY_ZOO_BUILDING 200 -#define LAYOUT_FUCHSIA_CITY_BUILDING1 201 +#define LAYOUT_FUCHSIA_CITY_SAFARI_ZONE_OFFICE 200 +#define LAYOUT_FUCHSIA_CITY_WARDENS_HOUSE 201 #define LAYOUT_FUCHSIA_CITY_HOUSE2 202 #define LAYOUT_CINNABAR_ISLAND_POKEMON_LAB_ENTRANCE 203 #define LAYOUT_CINNABAR_ISLAND_POKEMON_LAB_LOUNGE 204 @@ -260,8 +260,8 @@ #define LAYOUT_ROUTE5_POKEMON_DAY_CARE 275 #define LAYOUT_VIRIDIAN_CITY_HOUSE1 276 #define LAYOUT_FOUR_ISLAND_POKEMON_DAY_CARE 277 -#define LAYOUT_UNUSED_LAYOUT_833B6EC 278 -#define LAYOUT_UNUSED_LAYOUT_833BE30 279 +#define LAYOUT_SEAFOAM_ISLANDS_B3F_CURRENT_STOPPED 278 +#define LAYOUT_SEAFOAM_ISLANDS_B4F_CURRENT_STOPPED 279 #define LAYOUT_MT_EMBER_EXTERIOR 280 #define LAYOUT_MT_EMBER_SUMMIT 281 #define LAYOUT_MT_EMBER_SUMMIT_PATH_1F 282 diff --git a/include/constants/map_groups.h b/include/constants/map_groups.h index 4d37b0dc8..0cc1c27fb 100644 --- a/include/constants/map_groups.h +++ b/include/constants/map_groups.h @@ -76,10 +76,10 @@ #define MAP_SAFARI_ZONE_EAST (64 | (1 << 8)) #define MAP_SAFARI_ZONE_NORTH (65 | (1 << 8)) #define MAP_SAFARI_ZONE_WEST (66 | (1 << 8)) -#define MAP_SAFARI_ZONE_BUILDING1 (67 | (1 << 8)) -#define MAP_SAFARI_ZONE_BUILDING2 (68 | (1 << 8)) -#define MAP_SAFARI_ZONE_BUILDING3 (69 | (1 << 8)) -#define MAP_SAFARI_ZONE_BUILDING4 (70 | (1 << 8)) +#define MAP_SAFARI_ZONE_CENTER_REST_HOUSE (67 | (1 << 8)) +#define MAP_SAFARI_ZONE_EAST_REST_HOUSE (68 | (1 << 8)) +#define MAP_SAFARI_ZONE_NORTH_REST_HOUSE (69 | (1 << 8)) +#define MAP_SAFARI_ZONE_WEST_REST_HOUSE (70 | (1 << 8)) #define MAP_SAFARI_ZONE_SECRET_HOUSE (71 | (1 << 8)) #define MAP_CERULEAN_CAVE_1F (72 | (1 << 8)) #define MAP_CERULEAN_CAVE_2F (73 | (1 << 8)) @@ -342,12 +342,12 @@ // Map Group 11 #define MAP_FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE (0 | (11 << 8)) #define MAP_FUCHSIA_CITY_MART (1 | (11 << 8)) -#define MAP_FUCHSIA_CITY_ZOO_BUILDING (2 | (11 << 8)) +#define MAP_FUCHSIA_CITY_SAFARI_ZONE_OFFICE (2 | (11 << 8)) #define MAP_FUCHSIA_CITY_GYM (3 | (11 << 8)) #define MAP_FUCHSIA_CITY_HOUSE1 (4 | (11 << 8)) #define MAP_FUCHSIA_CITY_POKEMON_CENTER_1F (5 | (11 << 8)) #define MAP_FUCHSIA_CITY_POKEMON_CENTER_2F (6 | (11 << 8)) -#define MAP_FUCHSIA_CITY_BUILDING1 (7 | (11 << 8)) +#define MAP_FUCHSIA_CITY_WARDENS_HOUSE (7 | (11 << 8)) #define MAP_FUCHSIA_CITY_HOUSE2 (8 | (11 << 8)) #define MAP_FUCHSIA_CITY_HOUSE3 (9 | (11 << 8)) diff --git a/include/constants/menu.h b/include/constants/menu.h index 6d72787dc..aed98dec4 100644 --- a/include/constants/menu.h +++ b/include/constants/menu.h @@ -78,4 +78,35 @@ #define LISTMENU_BERRY_POWDER 5 #define LISTMENU_TRAINER_TOWER_FLOORS 6 +// Std String Ids +#define STDSTRING_COOL 0 +#define STDSTRING_BEAUTY 1 +#define STDSTRING_CUTE 2 +#define STDSTRING_SMART 3 +#define STDSTRING_TOUGH 4 +#define STDSTRING_COOL2 5 +#define STDSTRING_BEAUTY2 6 +#define STDSTRING_CUTE2 7 +#define STDSTRING_SMART2 8 +#define STDSTRING_TOUGH2 9 +#define STDSTRING_ITEMS 10 +#define STDSTRING_KEY_ITEMS 11 +#define STDSTRING_POKEBALLS 12 +#define STDSTRING_TMHMS 13 +#define STDSTRING_BERRIES 14 +#define STDSTRING_BOULDER_BADGE 15 +#define STDSTRING_CASCADE_BADGE 16 +#define STDSTRING_THUNDER_BADGE 17 +#define STDSTRING_RAINBOW_BADGE 18 +#define STDSTRING_SOUL_BADGE 19 +#define STDSTRING_MARSH_BADGE 20 +#define STDSTRING_VOLCANO_BADGE 21 +#define STDSTRING_EARTH_BADGE 22 +#define STDSTRING_COINS 23 +#define STDSTRING_ITEMS_POCKET 24 +#define STDSTRING_KEY_ITEMS_POCKET 25 +#define STDSTRING_POKEBALLS_POCKET 26 +#define STDSTRING_TM_CASE 27 +#define STDSTRING_BERRY_POUCH 28 + #endif //GUARD_CONSTANTS_MENU_H diff --git a/include/constants/metatile_labels.h b/include/constants/metatile_labels.h index c664290d5..f2bf4b865 100644 --- a/include/constants/metatile_labels.h +++ b/include/constants/metatile_labels.h @@ -1,6 +1,9 @@ #ifndef GUARD_METATILE_LABELS_H #define GUARD_METATILE_LABELS_H +// General +#define METATILE_General_CalmWater 0x12B + // Pokemon Mansion #define METATILE_PokemonMansion_Floor 0x284 #define METATILE_PokemonMansion_Floor_ShadeFull 0x285 @@ -34,4 +37,7 @@ #define METATILE_PokemonMansion_Statue_RedEyes_Shade 0x34E #define METATILE_PokemonMansion_Statue_RedEyes_Basement 0x34F +// gTileset_82D504C. Below metatile probably needs generic name +#define METATILE_MtEmber_CaveEntrance 0x346 + #endif // GUARD_METATILE_LABELS_H diff --git a/include/constants/pokemon.h b/include/constants/pokemon.h index e394a8fb4..a8009f1ff 100644 --- a/include/constants/pokemon.h +++ b/include/constants/pokemon.h @@ -1,6 +1,97 @@ #ifndef GUARD_CONSTANTS_POKEMON_H #define GUARD_CONSTANTS_POKEMON_H +// For (Set|Get)(Box)?MonData +#define MON_DATA_PERSONALITY 0 +#define MON_DATA_OT_ID 1 +#define MON_DATA_NICKNAME 2 +#define MON_DATA_LANGUAGE 3 +#define MON_DATA_SANITY_IS_BAD_EGG 4 +#define MON_DATA_SANITY_HAS_SPECIES 5 +#define MON_DATA_SANITY_IS_EGG 6 +#define MON_DATA_OT_NAME 7 +#define MON_DATA_MARKINGS 8 +#define MON_DATA_CHECKSUM 9 +#define MON_DATA_ENCRYPT_SEPARATOR 10 +#define MON_DATA_SPECIES 11 +#define MON_DATA_HELD_ITEM 12 +#define MON_DATA_MOVE1 13 +#define MON_DATA_MOVE2 14 +#define MON_DATA_MOVE3 15 +#define MON_DATA_MOVE4 16 +#define MON_DATA_PP1 17 +#define MON_DATA_PP2 18 +#define MON_DATA_PP3 19 +#define MON_DATA_PP4 20 +#define MON_DATA_PP_BONUSES 21 +#define MON_DATA_COOL 22 +#define MON_DATA_BEAUTY 23 +#define MON_DATA_CUTE 24 +#define MON_DATA_EXP 25 +#define MON_DATA_HP_EV 26 +#define MON_DATA_ATK_EV 27 +#define MON_DATA_DEF_EV 28 +#define MON_DATA_SPEED_EV 29 +#define MON_DATA_SPATK_EV 30 +#define MON_DATA_SPDEF_EV 31 +#define MON_DATA_FRIENDSHIP 32 +#define MON_DATA_SMART 33 +#define MON_DATA_POKERUS 34 +#define MON_DATA_MET_LOCATION 35 +#define MON_DATA_MET_LEVEL 36 +#define MON_DATA_MET_GAME 37 +#define MON_DATA_POKEBALL 38 +#define MON_DATA_HP_IV 39 +#define MON_DATA_ATK_IV 40 +#define MON_DATA_DEF_IV 41 +#define MON_DATA_SPEED_IV 42 +#define MON_DATA_SPATK_IV 43 +#define MON_DATA_SPDEF_IV 44 +#define MON_DATA_IS_EGG 45 +#define MON_DATA_ABILITY_NUM 46 +#define MON_DATA_TOUGH 47 +#define MON_DATA_SHEEN 48 +#define MON_DATA_OT_GENDER 49 +#define MON_DATA_COOL_RIBBON 50 +#define MON_DATA_BEAUTY_RIBBON 51 +#define MON_DATA_CUTE_RIBBON 52 +#define MON_DATA_SMART_RIBBON 53 +#define MON_DATA_TOUGH_RIBBON 54 +#define MON_DATA_STATUS 55 +#define MON_DATA_LEVEL 56 +#define MON_DATA_HP 57 +#define MON_DATA_MAX_HP 58 +#define MON_DATA_ATK 59 +#define MON_DATA_DEF 60 +#define MON_DATA_SPEED 61 +#define MON_DATA_SPATK 62 +#define MON_DATA_SPDEF 63 +#define MON_DATA_MAIL 64 +#define MON_DATA_SPECIES2 65 +#define MON_DATA_IVS 66 +#define MON_DATA_CHAMPION_RIBBON 67 +#define MON_DATA_WINNING_RIBBON 68 +#define MON_DATA_VICTORY_RIBBON 69 +#define MON_DATA_ARTIST_RIBBON 70 +#define MON_DATA_EFFORT_RIBBON 71 +#define MON_DATA_GIFT_RIBBON_1 72 +#define MON_DATA_GIFT_RIBBON_2 73 +#define MON_DATA_GIFT_RIBBON_3 74 +#define MON_DATA_GIFT_RIBBON_4 75 +#define MON_DATA_GIFT_RIBBON_5 76 +#define MON_DATA_GIFT_RIBBON_6 77 +#define MON_DATA_GIFT_RIBBON_7 78 +#define MON_DATA_FATEFUL_ENCOUNTER 79 +#define MON_DATA_OBEDIENCE 80 +#define MON_DATA_KNOWN_MOVES 81 +#define MON_DATA_RIBBON_COUNT 82 +#define MON_DATA_RIBBONS 83 +#define MON_DATA_ATK2 84 +#define MON_DATA_DEF2 85 +#define MON_DATA_SPEED2 86 +#define MON_DATA_SPATK2 87 +#define MON_DATA_SPDEF2 88 + // Pokemon types #define TYPE_NORMAL 0x00 #define TYPE_FIGHTING 0x01 @@ -40,6 +131,8 @@ #define EGG_GROUP_DRAGON 14 #define EGG_GROUP_UNDISCOVERED 15 +#define EGG_GROUPS_PER_MON 2 + // Pokemon natures #define NATURE_HARDY 0 #define NATURE_LONELY 1 @@ -91,8 +184,33 @@ #define PLAYER_HAS_ONE_MON 0x1 #define PLAYER_HAS_ONE_USABLE_MON 0x2 +#define MAX_LEVEL 100 + +#define OT_ID_RANDOM_NO_SHINY 2 +#define OT_ID_PRESET 1 +#define OT_ID_PLAYER_ID 0 + +#define MON_GIVEN_TO_PARTY 0x0 +#define MON_GIVEN_TO_PC 0x1 +#define MON_CANT_GIVE 0x2 + #define MON_MALE 0x00 #define MON_FEMALE 0xFE #define MON_GENDERLESS 0xFF +#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0 +#define FRIENDSHIP_EVENT_VITAMIN 0x1 +#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2 +#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3 +#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4 +#define FRIENDSHIP_EVENT_WALKING 0x5 +#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6 +#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7 +#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8 + +#define PARTY_SIZE 6 +#define MAX_TOTAL_EVS 510 +#define UNOWN_FORM_COUNT 28 +#define MAX_MON_LEVEL 100 + #endif // GUARD_CONSTANTS_POKEMON_H diff --git a/include/constants/region_map.h b/include/constants/region_map.h index bd087bd60..78dab242c 100644 --- a/include/constants/region_map.h +++ b/include/constants/region_map.h @@ -206,6 +206,8 @@ #define MAPSEC_SPECIAL_AREA 0xC4 #define MAPSEC_NONE 0xC5 -#define MAPSEC_IN_GAME_TRADE 0xFE +#define METLOC_SPECIAL_EGG 0xFD +#define METLOC_IN_GAME_TRADE 0xFE +#define METLOC_FATEFUL_ENCOUNTER 0xFF #endif //GUARD_CONSTANTS_REGION_MAP_H diff --git a/include/data.h b/include/data.h index 72e6b66fc..f308b044c 100644 --- a/include/data.h +++ b/include/data.h @@ -57,7 +57,7 @@ extern const struct SpriteFrameImage gUnknown_82346D8[]; extern const struct SpriteFrameImage gUnknown_82346F8[]; extern const struct SpriteFrameImage gTrainerBackPicTable_Red[]; extern const struct SpriteFrameImage gTrainerBackPicTable_Leaf[]; -extern const struct SpriteFrameImage gTrainerBackPicTable_PokeDude[]; +extern const struct SpriteFrameImage gTrainerBackPicTable_Pokedude[]; extern const struct SpriteFrameImage gTrainerBackPicTable_OldMan[]; extern const struct SpriteFrameImage gTrainerBackPicTable_RSBrendan[]; extern const struct SpriteFrameImage gTrainerBackPicTable_RSMay[]; diff --git a/include/daycare.h b/include/daycare.h index 08ca11187..71eada93e 100644 --- a/include/daycare.h +++ b/include/daycare.h @@ -3,8 +3,6 @@ #include "global.h" -#define EGG_HATCH_LEVEL 5 - u8 *GetMonNick(struct Pokemon *mon, u8 *dest); u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest); u8 CountPokemonInDaycare(struct DayCare *daycare); diff --git a/include/dodrio_berry_picking.h b/include/dodrio_berry_picking.h new file mode 100644 index 000000000..59736ba7a --- /dev/null +++ b/include/dodrio_berry_picking.h @@ -0,0 +1,6 @@ +#ifndef GUARD_DODRIO_BERRY_PICKING_H +#define GUARD_DODRIO_BERRY_PICKING_H + +void sub_81507FC(u16 species, MainCallback callback); + +#endif //GUARD_DODRIO_BERRY_PICKING_H diff --git a/include/event_object_80688E4.h b/include/event_object_80688E4.h index cee8ff707..36040e0a5 100644 --- a/include/event_object_80688E4.h +++ b/include/event_object_80688E4.h @@ -6,5 +6,10 @@ void FreezeObjectEvents(void); void FreezeObjectEvent(struct ObjectEvent *); void FreezeObjectEventsExceptOne(u8 objEventId); +void sub_8069124(u8 a0, bool8 a1); +u32 sub_806916C(u8 a0); +void sub_80691A4(u8 a0, u8 a1); +void sub_8069094(u8 a0, u8 a1); +bool32 sub_8069294(u8 a0); #endif // GUARD_EVENT_OBJECT_80688E4_H diff --git a/include/event_object_8097404.h b/include/event_object_8097404.h index 77781943e..23fce9576 100644 --- a/include/event_object_8097404.h +++ b/include/event_object_8097404.h @@ -14,7 +14,7 @@ extern void *gUnknown_020375B8; // Exported ROM declarations void sub_8097AC8(struct Sprite *); -void npc_sync_anim_pause_bits(struct ObjectEvent *); +void UnfreezeObjectEvent(struct ObjectEvent *); void oamt_npc_ministep_reset(struct Sprite *, u8, u8); u8 sub_8097F78(struct ObjectEvent *); bool8 obj_npc_ministep(struct Sprite *sprite); diff --git a/include/event_object_lock.h b/include/event_object_lock.h index c5c32857b..5c65585b5 100644 --- a/include/event_object_lock.h +++ b/include/event_object_lock.h @@ -11,5 +11,6 @@ void sub_8098630(void); bool8 sub_8098734(void); void sub_80696C0(void); bool8 walkrun_is_standing_still(void); +void sub_80696F0(void); #endif // GUARD_EVENT_OBJECT_LOCK_H diff --git a/include/event_object_movement.h b/include/event_object_movement.h index b81a61664..f2e7bd325 100644 --- a/include/event_object_movement.h +++ b/include/event_object_movement.h @@ -47,7 +47,7 @@ void ObjectEventClearAnimIfSpecialAnimActive(struct ObjectEvent *); void SpawnObjectEventsInView(s16, s16); u8 sprite_new(u8, u8, s16, s16, u8, u8); u8 AddPseudoObjectEvent(u16, SpriteCallback, s16, s16, u8); -u8 show_sprite(u8, u8, u8); +u8 TrySpawnObjectEvent(u8 localId, u8 mapNum, u8 mapGroup); u8 SpawnSpecialObjectEventParameterized(u8, u8, u8, s16, s16, u8); u8 SpawnSpecialObjectEvent(struct ObjectEventTemplate *); void sub_8093038(s16, s16, s16 *, s16 *); @@ -82,7 +82,7 @@ bool8 ObjectEventIsSpecialAnimActive(struct ObjectEvent *); u8 ObjectEventClearHeldMovementIfFinished(struct ObjectEvent *); u8 GetObjectEventIdByXYZ(u16 x, u16 y, u8 z); void sub_8063E28(struct ObjectEvent *, struct Sprite *); -void ObjectEventSetHeldMovement(struct ObjectEvent *, u8); +bool8 ObjectEventSetHeldMovement(struct ObjectEvent *, u8); void npc_coords_shift_still(struct ObjectEvent *); void sub_805FE7C(struct ObjectEvent *, u8); void SetTrainerMovementType(struct ObjectEvent *, u8); diff --git a/include/event_scripts.h b/include/event_scripts.h index b5e355484..54eb2b2a9 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -1148,10 +1148,10 @@ extern const u8 EventScript_FldEffStrength[]; extern const u8 EventScript_FailSweetScent[]; extern const u8 EventScript_FldEffRockSmash[]; -extern const u8 EventScript_SafariTimesUp[]; -extern const u8 EventScript_SafariRetire[]; -extern const u8 EventScript_SafariWarpOut[]; -extern const u8 EventScript_SafariOutOfBalls[]; +extern const u8 SafariZone_EventScript_TimesUp[]; +extern const u8 SafariZone_EventScript_RetirePrompt[]; +extern const u8 SafariZone_EventScript_OutOfBallsMidBattle[]; +extern const u8 SafariZone_EventScript_OutOfBalls[]; extern const u8 EventScript_ItemfinderDigUpUnderfootItem[]; @@ -1162,7 +1162,7 @@ extern const u8 EventScript_TryDoNormalTrainerBattle[]; extern const u8 EventScript_TryDoDoubleRematchBattle[]; extern const u8 EventScript_TryDoRematchBattle[]; extern const u8 gUnknown_81A4EB4[]; -extern const u8 EventScript_1C555B[]; +extern const u8 Test_EventScript_Sign[]; // new_game extern const u8 EventScript_ResetAllMapFlags[]; @@ -1195,4 +1195,6 @@ extern const u8 Text_1A5D31[]; extern const u8 Text_1A5D6E[]; extern const u8 Text_1A5DB1[]; +extern const u8 EventScript_BagItemCanBeRegistered[]; + #endif //GUARD_EVENT_SCRIPTS_H diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index ecb622de5..57a2fab66 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -7,5 +7,6 @@ extern u32 gUnknown_3005078; void RestartWildEncounterImmunitySteps(void); void ClearPoisonStepCounter(void); +void SetCableClubWarp(void); #endif //GUARD_FIELD_CONTROL_AVATAR_H diff --git a/include/field_fadetransition.h b/include/field_fadetransition.h index 22849a37d..d27d0e54a 100644 --- a/include/field_fadetransition.h +++ b/include/field_fadetransition.h @@ -17,6 +17,8 @@ void FieldCallback_ReturnToEventScript2(void); void sub_807DC00(void); void FadeTransition_FadeInOnReturnToStartMenu(void); +void sub_807DCE4(void); + bool32 sub_807E418(void); #endif // GUARD_FIELD_FADETRANSITION_H diff --git a/include/field_player_avatar.h b/include/field_player_avatar.h index ec1a077be..a69ec6155 100644 --- a/include/field_player_avatar.h +++ b/include/field_player_avatar.h @@ -35,5 +35,6 @@ bool32 sub_805DAD0(void); bool32 sub_805DC24(void); bool8 PartyHasMonWithSurf(void); bool8 IsPlayerSurfingNorth(void); +void player_get_pos_including_state_based_drift(s16 *x, s16 *y); #endif //GUARD_FIELD_PLAYER_AVATAR_H diff --git a/include/field_weather.h b/include/field_weather.h index 2709a7298..de2543edb 100644 --- a/include/field_weather.h +++ b/include/field_weather.h @@ -3,7 +3,7 @@ #include "global.h" -void fade_screen(u8, s8); +void FadeScreen(u8, s8); void SetSav1Weather(u32); u8 GetSav1Weather(void); diff --git a/include/fieldmap.h b/include/fieldmap.h index 1560a0841..91a45d8c5 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -31,5 +31,6 @@ void sub_8059948(u8 a0, u8 a1); void save_serialize_map(void); u32 sub_8058F1C(u32 original, u8 bit); u32 sub_8058F48(s16 x, s16 y, u8 z); +void sub_8059024(s32 x, s32 y, bool32 arg2); #endif //GUARD_FIELDMAP_H diff --git a/include/gflib.h b/include/gflib.h new file mode 100644 index 000000000..a6dfc62df --- /dev/null +++ b/include/gflib.h @@ -0,0 +1,18 @@ +#ifndef GUARD_GFLIB_H +#define GUARD_GFLIB_H + +#include "global.h" + +#include "bg.h" +#include "palette.h" +#include "gpu_regs.h" +#include "dma3.h" +#include "malloc.h" +#include "sound.h" +#include "text.h" +#include "sprite.h" +#include "window.h" +#include "blit.h" +#include "string_util.h" + +#endif //GUARD_GFLIB_H diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 4402d5042..01cd992ec 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -275,9 +275,9 @@ enum struct PlayerAvatar /* 0x202E858 */ { /*0x00*/ u8 flags; - /*0x01*/ u8 bike; - /*0x02*/ u8 running2; - /*0x03*/ u8 running1; + /*0x01*/ u8 unk1; // used to be bike, but it's not that in Emerald and probably isn't here either. maybe transition flags? + /*0x02*/ u8 runningState; // this is a static running state. 00 is not moving, 01 is turn direction, 02 is moving. + /*0x03*/ u8 tileTransitionState; // this is a transition running state: 00 is not moving, 01 is transition between tiles, 02 means you are on the frame in which you have centered on a tile but are about to keep moving, even if changing directions. 2 is also used for a ledge hop, since you are transitioning. /*0x04*/ u8 spriteId; /*0x05*/ u8 objectEventId; /*0x06*/ u8 unk6; diff --git a/include/graphics.h b/include/graphics.h index a668364bd..e87acb556 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -1,7 +1,3 @@ -// -// Created by scott on 10/21/2017. -// - #ifndef GUARD_GRAPHICS_H #define GUARD_GRAPHICS_H @@ -2656,7 +2652,7 @@ extern const u32 gTrainerPalette_RSBrendan1[]; extern const u32 gTrainerPalette_RSMay1[]; extern const u32 gTrainerPalette_LeafBackPic[]; extern const u32 gTrainerPalette_RedBackPic[]; -extern const u32 gTrainerPalette_PokeDudeBackPic[]; +extern const u32 gTrainerPalette_PokedudeBackPic[]; extern const u32 gTrainerPalette_OldManBackPic[]; extern const u32 gTrainerPalette_PokemonBreederM[]; extern const u32 gTrainerPalette_RSPokemonBreederF[]; @@ -4358,7 +4354,7 @@ extern const u8 gBerryPouchBg1Tilemap[]; extern const u8 gTrainerBackPic_Red[]; extern const u8 gTrainerBackPic_Leaf[]; -extern const u8 gTrainerBackPic_PokeDude[]; +extern const u8 gTrainerBackPic_Pokedude[]; extern const u8 gTrainerBackPic_OldMan[]; extern const u8 gTrainerBackPic_RSBrendan[]; extern const u8 gTrainerBackPic_RSMay[]; @@ -4861,4 +4857,11 @@ extern const u16 gBattleInterface_BallStatusBarPal[]; extern const u16 gBattleInterface_BallDisplayPal[]; extern const u16 gUnknown_8D12404[]; +// item_menu +extern const u32 gUnknown_8E830CC[]; +extern const u32 gUnknown_8E832C0[]; +extern const u32 gUnknown_8E83444[]; +extern const u32 gBagBgPalette[]; +extern const u32 gBagBgPalette_FemaleOverride[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/item_menu.h b/include/item_menu.h index 187674e83..27bd73e72 100644 --- a/include/item_menu.h +++ b/include/item_menu.h @@ -3,6 +3,7 @@ #include "global.h" #include "task.h" +#include "constants/item_menu.h" // Exported type declarations @@ -10,15 +11,15 @@ struct BagStruct { - void (*bagCallback)(void); + MainCallback bagCallback; u8 location; - u8 pocket; - u16 unk6; - u8 cursorPosition[6]; - u8 scrollPosition[6]; + bool8 bagOpen; + u16 pocket; + u16 itemsAbove[3]; + u16 cursorPos[3]; }; -extern struct BagStruct gUnknown_203ACFC; +extern struct BagStruct gBagMenuState; extern u16 gSpecialVar_ItemId; @@ -26,19 +27,19 @@ extern u16 gSpecialVar_ItemId; void sub_81AAC50(void); void sub_81AAC70(void); void CB2_SetUpReshowBattleScreenAfterMenu(void); -void sub_81089BC(void); -void sub_810B108(u8); +void ResetBagCursorPositions(void); +void InitPokedudeBag(u8); void CB2_BagMenuFromStartMenu(void); -void ItemMenu_MoveItemSlotToNewPositionInArray(struct ItemSlot * slots, int pos1, int pos2); +void MoveItemSlotInList(struct ItemSlot * itemSlots_, u32 from, u32 to_); void ItemMenu_StartFadeToExitCallback(u8 taskId); -void sub_8108CB4(void); +void Bag_BeginCloseWin0Animation(void); void ItemMenu_SetExitCallback(void (*)(void)); -void DisplayItemMessageInBag(u8 taskId, u8 bgId, const u8 * string, TaskFunc followUpFunc); -void sub_810A1F8(u8 taskId); -void sub_8107ECC(void); -void sub_810AF74(void); -void sub_8108DC8(u8 pocketId); -void sub_81089F4(u8 pocketId); +void DisplayItemMessageInBag(u8 taskId, u8 fontId, const u8 * string, TaskFunc followUpFunc); +void Task_ReturnToBagFromContextMenu(u8 taskId); +void CB2_BagMenuFromBattle(void); +void InitOldManBag(void); +void Pocket_CalculateNItemsAndMaxShowed(u8 pocketId); +void PocketCalculateInitialCursorPosAndItemsAbove(u8 pocketId); void GoToBagMenu(u8 menuType, u8 pocket, MainCallback callback); #endif //GUARD_ITEM_MENU_H diff --git a/include/item_menu_icons.h b/include/item_menu_icons.h index b5b5c6b0b..fd66a9375 100644 --- a/include/item_menu_icons.h +++ b/include/item_menu_icons.h @@ -3,28 +3,26 @@ #include "global.h" -extern void * gUnknown_2039884; - -extern const struct CompressedSpriteSheet gUnknown_83D41E4; -extern const struct CompressedSpriteSheet gUnknown_83D41EC; -extern const struct CompressedSpritePalette gUnknown_83D41F4; +extern const struct CompressedSpriteSheet gSpriteSheet_Backpack; +extern const struct CompressedSpriteSheet gSpriteSheet_Satchel; +extern const struct CompressedSpritePalette gSpritePalette_BagOrSatchel; extern const struct CompressedSpriteSheet gBagSwapSpriteSheet; extern const struct CompressedSpritePalette gBagSwapSpritePalette; void ResetItemMenuIconState(void); -void sub_80985E4(void); +void ItemMenuIcons_CreateInsertIndicatorBarHidden(void); void DestroyItemMenuIcon(bool8 a0); void CreateItemMenuIcon(u16 itemId, bool8 a0); void CopyItemIconPicTo4x4Buffer(const void *src, void *dest); u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId); u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origTemplate, u16 tilesTag, u16 paletteTag, u16 itemId); void sub_80989A0(u16 itemId, u8 idx); -void sub_80986A8(s16 x, u16 y); -void sub_8098660(u8); +void ItemMenuIcons_MoveInsertIndicatorBar(s16 x, u16 y); +void ItemMenuIcons_ToggleInsertIndicatorBarVisibility(bool8 invisible); void sub_8098528(u8); void sub_8098580(void); -const void * sub_8098974(u16 itemId, u8 ptrId); -void sub_80984FC(u8 animNum); +const void * GetItemIconGfxPtr(u16 itemId, u8 ptrId); +void CreateBagOrSatchelSprite(u8 animNum); #endif // GUARD_ITEM_MENU_ICONS diff --git a/include/link.h b/include/link.h index 4175ac97f..770a60f44 100644 --- a/include/link.h +++ b/include/link.h @@ -278,5 +278,6 @@ bool8 HandleLinkConnection(void); void sub_800B0B4(void); void sub_800B110(u32 who); void sub_800ACBC(u32 status, u8 lastSendQueueCount, u8 lastRecvQueueCount, u8 unk_06); +u8 sub_800A8D4(void); #endif // GUARD_LINK_H diff --git a/include/link_rfu.h b/include/link_rfu.h index bde20c555..790429870 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -233,9 +233,9 @@ void MG_DrawCheckerboardPattern(void); void task_add_05_task_del_08FA224_when_no_RfuFunc(void); bool8 IsLinkRfuTaskFinished(void); void DestroyWirelessStatusIndicatorSprite(void); -void MEvent_CreateTask_CardOrNewsWithFriend(u8); -void MEvent_CreateTask_CardOrNewsOverWireless(u8); -void MEvent_CreateTask_Leader(u8); +void MEvent_CreateTask_CardOrNewsWithFriend(u32 arg0); +void MEvent_CreateTask_CardOrNewsOverWireless(u32 arg0); +void MEvent_CreateTask_Leader(u32 arg0); void sub_80F9E2C(void * data); u8 sub_8116DE0(void); void sub_80FBB4C(void); @@ -288,13 +288,43 @@ bool8 sub_80FC6E8(struct UnkRfuStruct_2_Sub_124 * a0, u8 *a1); void sub_80FC63C(struct UnkRfuStruct_2_Sub_9e8 * a0, u8 *a1); u8 sub_80FEA34(u8 a0, u16 a1); void sub_80FDA30(u32 a0); -void InitHostRFUtgtGname(struct GFtgtGname *data, u8 r9, bool32 r2, s32 r3); +void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 r2, s32 r3); void LinkRfu_syncVBlank_(void); s32 sub_80FD430(void (*func1)(u8, u8), void (*func2)(u16)); void sub_80FEB3C(void); void sub_80FAFE0(u8 a0); bool32 sub_80FA44C(u32 a0); bool8 sub_80FC1B0(void); +bool8 sub_80F8F40(void); +void sub_80F8F5C(void); +bool32 sub_80FA5D4(void); +bool32 sub_80FC1CC(void); +bool32 sub_80F8F7C(bool32 a0); +bool32 sub_80FA634(u16 a0, const u8 *a1); +void sub_80FA670(u8 a0, u16 a1, const u8 *a2); +u32 sub_80FA6FC(u16 a0, const u8 *a1); +void SetHostRFUtgtGname(u8 a0, u32 a1, u32 a2); +void sub_80FBB8C(u32 a0); +void sub_80FBD4C(const u8 *ptr, u16 a1); +void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *gname, u8 *uname); +void sub_80FBBD8(void); +void sub_80FA6BC(void); +void sub_80FBF54(const u8 *src, u16 trainerId); +void sub_80FB008(u8 a0, u32 a1, u32 a2); +void RecordMixTrainerNames(void); +void sub_80F8CFC(); +void sub_80F8D14(); +void sub_80FAF74(bool32 a0, bool32 a1); +void ClearAndInitHostRFUtgtGname(void); +void sub_80F8FA0(void); +void sub_80FAFA0(u32 type, u32 species, u32 level); +bool32 sub_80FBB0C(void); +void sub_80FBC00(void); +void sub_80FBD6C(u32 a0); +void sub_80FC114(const u8 *name, struct GFtgtGname *structPtr, u8 a2); +bool32 PlayerHasMetTrainerBefore(u16 id, u8 *name); +bool8 sub_80FCC3C(struct GFtgtGname *gname, u8 *uname, u8 idx); +bool8 sub_80FCCF4(struct GFtgtGname *gname, u8 *uname, u8 idx); #include "mevent_server.h" extern const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[]; diff --git a/include/map_name_popup.h b/include/map_name_popup.h index c8ce02c30..a7c1234c6 100644 --- a/include/map_name_popup.h +++ b/include/map_name_popup.h @@ -4,5 +4,6 @@ #include "global.h" void CreateMapNamePopupIfNotAlreadyRunning(bool32 palIntoFadedBuffer); +void DismissMapNamePopup(void); #endif //GUARD_MAP_NAME_POPUP_H diff --git a/include/menu_helpers.h b/include/menu_helpers.h index 1e75b336c..d26f50483 100644 --- a/include/menu_helpers.h +++ b/include/menu_helpers.h @@ -20,14 +20,14 @@ bool8 sub_80BF748(void); bool8 MenuHelpers_LinkSomething(void); void SetVBlankHBlankCallbacksToNull(void); void ResetAllBgsCoordinatesAndBgCntRegs(void); -u8 sub_80BF8E4(void); +u8 GetDialogBoxFontId(void); bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1); void DisplayMessageAndContinueTask(u8 taskId, u8 windowId, u16 tileNum, u8 paletteNum, u8 fontId, u8 textSpeed, const u8 *string, void *taskFunc); void CreateYesNoMenuWithCallbacks(u8 taskId, const struct WindowTemplate *template, u8 fontId, u8 left, u8 top, u16 tileStart, u8 palette, const struct YesNoFuncTable *yesNo); u8 GetLRKeysState(void); u8 GetLRKeysPressedAndHeld(void); bool8 itemid_link_can_give_berry(u16 itemId); -bool8 itemid_80BF6D8_mail_related(u16 itemId); +bool8 CanWriteMailHere(u16 itemId); void ResetVramOamAndBgCntRegs(void); #endif //GUARD_MENU_HELPERS_H diff --git a/include/mevent.h b/include/mevent.h index 81caeb42f..85782f20a 100644 --- a/include/mevent.h +++ b/include/mevent.h @@ -70,5 +70,8 @@ void sub_8143D24(void); u16 sub_81445C0(u32 command); void sub_8144714(u32 a0, u32 a1); u16 *GetMEventProfileECWordsMaybe(void); +void sub_81446C4(void); +bool32 sub_81446D0(u16 a0); +u16 GetWonderCardFlagId(void); #endif //GUARD_MEVENT_H diff --git a/include/mevent_server.h b/include/mevent_server.h index b691e9e1f..1e9ef7bef 100644 --- a/include/mevent_server.h +++ b/include/mevent_server.h @@ -86,6 +86,7 @@ struct mevent_server_cmd #define SRV_SEND_NEWS {.instr = 14} #define SRV_BUFFER_SEND {.instr = 15} #define SRV_SEND(x, y) {.instr = 18, .flag = x, .parameter = (void *)y} +#define SRV_SENDSTR(x, y) {.instr = 20, .flag = x, .parameter = (void *)y} #define SRV_BUFFER_CARD {.instr = 26} #define SRV_BUFFER_NEWS {.instr = 27} #define SRV_RAM_SCRIPT_IF_VALID {.instr = 28} diff --git a/include/mystery_gift_menu.h b/include/mystery_gift_menu.h index 32624d602..bd790b36e 100644 --- a/include/mystery_gift_menu.h +++ b/include/mystery_gift_menu.h @@ -7,5 +7,8 @@ void MainCB_FreeAllBuffersAndReturnToInitTitleScreen(void); void PrintMysteryGiftOrEReaderTopMenu(bool8, bool32); void c2_mystery_gift(void); void c2_mystery_gift_e_reader_run(void); +s8 mevent_message_print_and_prompt_yes_no(u8 * textState, u16 * windowId, bool8 yesNoBoxPlacement, const u8 * str); +void MG_DrawTextBorder(u8 windowId); +u16 GetMysteryGiftBaseBlock(void); #endif //GUARD_MYSTERY_GIFT_MENU_H diff --git a/include/overworld.h b/include/overworld.h index c24b63cf9..a7031e56d 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -62,7 +62,8 @@ extern struct WarpData gUnknown_2031DB4; extern struct WarpData gUnknown_2031DBC; extern u8 gUnknown_2031DE0; -extern u8 gUnknown_300502C; +extern u8 gFieldLinkPlayerCount; +extern u8 gLocalLinkPlayerId; void IncrementGameStat(u8 index); diff --git a/include/party_menu.h b/include/party_menu.h index cc8889137..a1b85e059 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -68,7 +68,7 @@ void CB2_ChooseMonToGiveItem(void); void ChooseMonToGiveMailFromMailbox(void); void InitChooseHalfPartyForBattle(u8 a1); void ClearSelectedPartyOrder(void); -void sub_81277F4(u8 menuType, MainCallback callback); +void ChooseMonForTradingBoard(u8 menuType, MainCallback callback); void ChooseMonForMoveTutor(void); void ChooseMonForWirelessMinigame(void); void OpenPartyMenuInTutorialBattle(u8 partyAction); diff --git a/include/pokemon.h b/include/pokemon.h index 54ea44efd..be0a35877 100644 --- a/include/pokemon.h +++ b/include/pokemon.h @@ -5,144 +5,6 @@ #include "sprite.h" #include "constants/pokemon.h" -#define MON_DATA_PERSONALITY 0 -#define MON_DATA_OT_ID 1 -#define MON_DATA_NICKNAME 2 -#define MON_DATA_LANGUAGE 3 -#define MON_DATA_SANITY_IS_BAD_EGG 4 -#define MON_DATA_SANITY_HAS_SPECIES 5 -#define MON_DATA_SANITY_IS_EGG 6 -#define MON_DATA_OT_NAME 7 -#define MON_DATA_MARKINGS 8 -#define MON_DATA_CHECKSUM 9 -#define MON_DATA_ENCRYPT_SEPARATOR 10 -#define MON_DATA_SPECIES 11 -#define MON_DATA_HELD_ITEM 12 -#define MON_DATA_MOVE1 13 -#define MON_DATA_MOVE2 14 -#define MON_DATA_MOVE3 15 -#define MON_DATA_MOVE4 16 -#define MON_DATA_PP1 17 -#define MON_DATA_PP2 18 -#define MON_DATA_PP3 19 -#define MON_DATA_PP4 20 -#define MON_DATA_PP_BONUSES 21 -#define MON_DATA_COOL 22 -#define MON_DATA_BEAUTY 23 -#define MON_DATA_CUTE 24 -#define MON_DATA_EXP 25 -#define MON_DATA_HP_EV 26 -#define MON_DATA_ATK_EV 27 -#define MON_DATA_DEF_EV 28 -#define MON_DATA_SPEED_EV 29 -#define MON_DATA_SPATK_EV 30 -#define MON_DATA_SPDEF_EV 31 -#define MON_DATA_FRIENDSHIP 32 -#define MON_DATA_SMART 33 -#define MON_DATA_POKERUS 34 -#define MON_DATA_MET_LOCATION 35 -#define MON_DATA_MET_LEVEL 36 -#define MON_DATA_MET_GAME 37 -#define MON_DATA_POKEBALL 38 -#define MON_DATA_HP_IV 39 -#define MON_DATA_ATK_IV 40 -#define MON_DATA_DEF_IV 41 -#define MON_DATA_SPEED_IV 42 -#define MON_DATA_SPATK_IV 43 -#define MON_DATA_SPDEF_IV 44 -#define MON_DATA_IS_EGG 45 -#define MON_DATA_ABILITY_NUM 46 -#define MON_DATA_TOUGH 47 -#define MON_DATA_SHEEN 48 -#define MON_DATA_OT_GENDER 49 -#define MON_DATA_COOL_RIBBON 50 -#define MON_DATA_BEAUTY_RIBBON 51 -#define MON_DATA_CUTE_RIBBON 52 -#define MON_DATA_SMART_RIBBON 53 -#define MON_DATA_TOUGH_RIBBON 54 -#define MON_DATA_STATUS 55 -#define MON_DATA_LEVEL 56 -#define MON_DATA_HP 57 -#define MON_DATA_MAX_HP 58 -#define MON_DATA_ATK 59 -#define MON_DATA_DEF 60 -#define MON_DATA_SPEED 61 -#define MON_DATA_SPATK 62 -#define MON_DATA_SPDEF 63 -#define MON_DATA_MAIL 64 -#define MON_DATA_SPECIES2 65 -#define MON_DATA_IVS 66 -#define MON_DATA_CHAMPION_RIBBON 67 -#define MON_DATA_WINNING_RIBBON 68 -#define MON_DATA_VICTORY_RIBBON 69 -#define MON_DATA_ARTIST_RIBBON 70 -#define MON_DATA_EFFORT_RIBBON 71 -#define MON_DATA_GIFT_RIBBON_1 72 -#define MON_DATA_GIFT_RIBBON_2 73 -#define MON_DATA_GIFT_RIBBON_3 74 -#define MON_DATA_GIFT_RIBBON_4 75 -#define MON_DATA_GIFT_RIBBON_5 76 -#define MON_DATA_GIFT_RIBBON_6 77 -#define MON_DATA_GIFT_RIBBON_7 78 -#define MON_DATA_FATEFUL_ENCOUNTER 79 -#define MON_DATA_OBEDIENCE 80 -#define MON_DATA_KNOWN_MOVES 81 -#define MON_DATA_RIBBON_COUNT 82 -#define MON_DATA_RIBBONS 83 -#define MON_DATA_ATK2 84 -#define MON_DATA_DEF2 85 -#define MON_DATA_SPEED2 86 -#define MON_DATA_SPATK2 87 -#define MON_DATA_SPDEF2 88 - -#define MAX_LEVEL 100 - -#define OT_ID_RANDOM_NO_SHINY 2 -#define OT_ID_PRESET 1 -#define OT_ID_PLAYER_ID 0 - -#define MON_GIVEN_TO_PARTY 0x0 -#define MON_GIVEN_TO_PC 0x1 -#define MON_CANT_GIVE 0x2 - -#define FRIENDSHIP_EVENT_GROW_LEVEL 0x0 -#define FRIENDSHIP_EVENT_VITAMIN 0x1 -#define FRIENDSHIP_EVENT_BATTLE_ITEM 0x2 -#define FRIENDSHIP_EVENT_LEAGUE_BATTLE 0x3 -#define FRIENDSHIP_EVENT_LEARN_TMHM 0x4 -#define FRIENDSHIP_EVENT_WALKING 0x5 -#define FRIENDSHIP_EVENT_FAINT_SMALL 0x6 -#define FRIENDSHIP_EVENT_FAINT_OUTSIDE_BATTLE 0x7 -#define FRIENDSHIP_EVENT_FAINT_LARGE 0x8 - -#define TYPE_NORMAL 0x00 -#define TYPE_FIGHTING 0x01 -#define TYPE_FLYING 0x02 -#define TYPE_POISON 0x03 -#define TYPE_GROUND 0x04 -#define TYPE_ROCK 0x05 -#define TYPE_BUG 0x06 -#define TYPE_GHOST 0x07 -#define TYPE_STEEL 0x08 -#define TYPE_MYSTERY 0x09 -#define TYPE_FIRE 0x0a -#define TYPE_WATER 0x0b -#define TYPE_GRASS 0x0c -#define TYPE_ELECTRIC 0x0d -#define TYPE_PSYCHIC 0x0e -#define TYPE_ICE 0x0f -#define TYPE_DRAGON 0x10 -#define TYPE_DARK 0x11 - -#define NUMBER_OF_MON_TYPES 0x12 - -#define PARTY_SIZE 6 -#define MAX_TOTAL_EVS 510 -#define NUM_STATS 6 -#define UNOWN_FORM_COUNT 28 -#define MAX_MON_LEVEL 100 - - struct PokemonSubstruct0 { u16 species; @@ -335,18 +197,6 @@ struct BattlePokemon /*0x54*/ u32 otId; }; -enum -{ - STAT_STAGE_HP, // 0 - STAT_STAGE_ATK, // 1 - STAT_STAGE_DEF, // 2 - STAT_STAGE_SPEED, // 3 - STAT_STAGE_SPATK, // 4 - STAT_STAGE_SPDEF, // 5 - STAT_STAGE_ACC, // 6 - STAT_STAGE_EVASION, // 7 -}; - struct BaseStats { /* 0x00 */ u8 baseHP; diff --git a/include/pokemon_jump.h b/include/pokemon_jump.h index 8623b223a..0e9094752 100644 --- a/include/pokemon_jump.h +++ b/include/pokemon_jump.h @@ -5,5 +5,6 @@ void ResetPokeJumpResults(void); bool32 IsSpeciesAllowedInPokemonJump(u16 species); +void sub_8147AA8(u16 species, MainCallback callback); #endif // GUARD_POKEMON_JUMP_H diff --git a/include/rfu_union_tool.h b/include/rfu_union_tool.h new file mode 100644 index 000000000..b8b5cd664 --- /dev/null +++ b/include/rfu_union_tool.h @@ -0,0 +1,17 @@ +#ifndef GUARD_UNION_ROOM_PLAYER_AVATAR_H +#define GUARD_UNION_ROOM_PLAYER_AVATAR_H + +#include "union_room.h" + +void sub_811C1C8(void); +void sub_811BAAC(u8 *spriteIds, s32 arg1); +void sub_811BB40(u8 *spriteIds); +void sub_811BB68(void); +void sub_811BECC(struct UnkStruct_URoom *arg0); +void sub_811BEDC(struct UnkStruct_URoom *arg0); +bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3); +void sub_811C028(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2); +u8 ZeroUnionObjWork(struct UnionObj * ptr); +void sub_811BA78(void); + +#endif //GUARD_UNION_ROOM_PLAYER_AVATAR_H diff --git a/include/save_location.h b/include/save_location.h index fb71ab728..c8e362231 100644 --- a/include/save_location.h +++ b/include/save_location.h @@ -6,6 +6,7 @@ #define POKECENTER_SAVEWARP (1 << 1) #define LOBBY_SAVEWARP (1 << 2) #define UNK_SPECIAL_SAVE_WARP_FLAG_3 (1 << 3) +#define CHAMPION_SAVEWARP (1 << 7) void TrySetMapSaveWarpStatus(void); bool32 IsCurMapPokeCenter(void); diff --git a/include/strings.h b/include/strings.h index eace8d67e..a57493a9b 100644 --- a/include/strings.h +++ b/include/strings.h @@ -112,8 +112,8 @@ extern const u8 gText_OhNoICantBuyThat[]; extern const u8 gText_HowManyWouldYouLikeToSell[]; extern const u8 gText_ICanPayThisMuch_WouldThatBeOkay[]; extern const u8 gText_TurnedOverItemsWorthYen[]; -extern const u8 gPokeDudeText_TMTypes[]; -extern const u8 gPokeDudeText_ReadTMDescription[]; +extern const u8 gPokedudeText_TMTypes[]; +extern const u8 gPokedudeText_ReadTMDescription[]; extern const u8 gFameCheckerText_Cancel[]; extern const u8 gFameCheckerText_ListMenuCursor[]; extern const u8 gFameCheckerText_FameCheckerWillBeClosed[]; @@ -134,7 +134,7 @@ extern const u8 gTeachyTvString_CatchPkmn[]; extern const u8 gTeachyTvString_AboutTMs[]; extern const u8 gTeachyTvString_RegisterItem[]; extern const u8 gTeachyTvString_Cancel[]; -extern const u8 gTeachyTvText_PokeDudeSaysHello[]; +extern const u8 gTeachyTvText_PokedudeSaysHello[]; extern const u8 gTeachyTvText_BattleScript1[]; extern const u8 gTeachyTvText_StatusScript1[]; extern const u8 gTeachyTvText_MatchupsScript1[]; @@ -1038,4 +1038,27 @@ extern const u8 gText_SaveFailedScreen_CheckingBackupMemory[]; extern const u8 gText_SaveFailedScreen_BackupMemoryDamaged[]; extern const u8 gText_SaveFailedScreen_SaveCompleted[]; +// bag +extern const u8 gText_DepositItem[]; + +// item_menu +extern const u8 gOtherText_Register[]; +extern const u8 gOtherText_Walk[]; +extern const u8 gOtherText_Check[]; +extern const u8 gOtherText_Open[]; +extern const u8 gOtherText_Deselect[]; +extern const u8 gText_Items2[]; +extern const u8 gText_PokeBalls2[]; +extern const u8 gText_KeyItems2[]; +extern const u8 gText_CloseBag[]; +extern const u8 gText_CantWriteMailHere[]; +extern const u8 gText_DepositHowManyStrVars1[]; +extern const u8 gText_DepositedStrVar2StrVar1s[]; +extern const u8 gText_NoRoomToStoreItems[]; + +// union_room_battle +extern const u8 gText_CommStandbyAwaitingOtherPlayer[]; +extern const u8 gText_RefusedBattle[]; +extern const u8 gText_BattleWasRefused[]; + #endif //GUARD_STRINGS_H diff --git a/include/teachy_tv.h b/include/teachy_tv.h index 36bac6a67..3484f88c1 100644 --- a/include/teachy_tv.h +++ b/include/teachy_tv.h @@ -1,6 +1,16 @@ #ifndef GUARD_TEACHY_TV_H #define GUARD_TEACHY_TV_H +enum TeachyTvScript +{ + TTVSCR_BATTLE, + TTVSCR_STATUS, + TTVSCR_MATCHUPS, + TTVSCR_CATCHING, + TTVSCR_TMS, + TTVSCR_REGISTER +}; + void InitTeachyTvController(u8 mode, void (*cb)()); void CB2_ReturnToTeachyTV(void); void SetTeachyTvControllerModeToResume(void); diff --git a/include/tm_case.h b/include/tm_case.h index f77eae457..22fb021e0 100644 --- a/include/tm_case.h +++ b/include/tm_case.h @@ -1,8 +1,18 @@ #ifndef GUARD_TM_CASE_H #define GUARD_TM_CASE_H +enum TmCaseType +{ + TMCASE_FROMFIELD, + TMCASE_FROMPARTYGIVE, + TMCASE_FROMMARTSELL, + TMCASE_FROMPOKEMONSTORAGEPC, + TMCASE_FROMBATTLE, + TMCASE_NA +}; + void InitTMCase(u8 a0, void (* a1)(void), u8 a2); void ResetTMCaseCursorPos(void); -void PokeDude_InitTMCase(void); +void Pokedude_InitTMCase(void); #endif //GUARD_TM_CASE_H diff --git a/include/union_room.h b/include/union_room.h index d57683a8a..3cb8eb84a 100644 --- a/include/union_room.h +++ b/include/union_room.h @@ -2,11 +2,11 @@ #define GUARD_UNION_ROOM_H #include "global.h" -#include "librfu.h" +#include "link_rfu.h" struct UnkStruct_Shared { - struct GFtgtGname field_0; + struct GFtgtGname gname; u8 ALIGNED(4) playerName[PLAYER_NAME_LENGTH]; }; @@ -28,26 +28,27 @@ struct UnkStruct_x20 u8 field_1F; }; +// These arrays are dynamically allocated but must be +// represented as structs to match. +// Don't ask me why. + +// FIXME: Find a way around this. + struct UnkStruct_Main0 { - struct UnkStruct_x20 arr[8]; + struct UnkStruct_x20 arr[0]; }; struct UnkStruct_Main4 { - struct UnkStruct_x1C arr[5]; -}; - -struct UnkStruct_Main8 -{ - struct UnkStruct_x20 arr[5]; + struct UnkStruct_x1C arr[0]; }; struct UnkStruct_Leader { - struct UnkStruct_Main0 *field_0; - struct UnkStruct_Main4 *field_4; - struct UnkStruct_Main8 *field_8; + struct UnkStruct_Main0 * field_0; + struct UnkStruct_Main4 * field_4; + struct UnkStruct_Main0 * field_8; u8 state; u8 textState; u8 field_E; @@ -67,8 +68,8 @@ struct UnkStruct_Leader struct UnkStruct_Group { - struct UnkStruct_Main0 *field_0; - struct UnkStruct_Main4 *field_4; + struct UnkStruct_Main0 * field_0; + struct UnkStruct_Main4 * field_4; u8 state; u8 textState; u8 field_A; @@ -85,56 +86,56 @@ struct UnkStruct_Group u8 field_15; }; -struct UnkStruct_8019BA8 +struct UnionObj { - u8 field_0; - u8 field_1; - s8 field_2; - u8 field_3; + u8 state; + u8 gfxId; + s8 animState; + u8 schedAnim; }; struct UnkStruct_URoom { - struct UnkStruct_Main0 *field_0; - struct UnkStruct_Main4 *field_4; - struct UnkStruct_Main0 *field_8; - struct UnkStruct_Main4 *field_C; - u16 field_10; - u16 field_12; - u8 state; - u8 stateAfterPrint; - u8 textState; - u8 field_17; - u8 field_18; - u8 field_19; - u8 field_1A; - u8 field_1B; - u8 field_1C; - u8 field_1D; - u8 field_1E; - u8 field_1F; - u8 field_20; - u8 spriteIds[40]; - u8 field_49; - u8 field_4A; - u16 field_4C[6]; - u8 field_58[0x98 - 0x58]; - u16 field_98; - u16 field_9A[3]; - struct UnkStruct_8019BA8 field_A0[8]; - u8 field_C0[12][15]; - u8 field_174[48]; - u8 field_1A4[200]; + /* 0x000 */ struct UnkStruct_Main0 * field_0; + /* 0x004 */ struct UnkStruct_Main4 * field_4; + /* 0x008 */ struct UnkStruct_Main0 * field_8; + /* 0x00C */ struct UnkStruct_Main4 * field_C; + /* 0x010 */ u16 field_10; + /* 0x012 */ u16 field_12; + /* 0x014 */ u8 state; + /* 0x015 */ u8 stateAfterPrint; + /* 0x016 */ u8 textState; + /* 0x017 */ u8 field_17; + /* 0x018 */ u8 field_18; + /* 0x019 */ u8 field_19; + /* 0x01A */ u8 field_1A; + /* 0x01B */ u8 field_1B; + /* 0x01C */ u8 field_1C; + /* 0x01D */ u8 field_1D; + /* 0x01E */ u8 field_1E; + /* 0x01F */ u8 field_1F; + /* 0x020 */ u8 field_20; + /* 0x021 */ u8 spriteIds[40]; + /* 0x049 */ u8 field_49; + /* 0x04A */ u8 field_4A; + /* 0x04C */ u16 field_4C[6]; + /* 0x058 */ u8 field_58[4][11]; + /* 0x084 */ u16 field_98; + /* 0x086 */ u16 field_9A[3]; + /* 0x08C */ struct UnionObj unionObjs[8]; + /* 0x0AC */ u8 trainerCardStrbufs[12][15]; + /* 0x160 */ u8 field_174[48]; + /* 0x190 */ u8 field_1A4[200]; }; union UnkUnion_Main { - struct UnkStruct_Leader *leader; - struct UnkStruct_Group *group; - struct UnkStruct_URoom *uRoom; + struct UnkStruct_Leader * leader; + struct UnkStruct_Group * group; + struct UnkStruct_URoom * uRoom; }; -struct TradeUnkStruct +struct UnionRoomTrade { u16 field_0; u16 type; @@ -153,4 +154,6 @@ extern struct GFtgtGnameSub gUnknown_203B064; extern u16 gUnionRoomOfferedSpecies; extern u8 gUnionRoomRequestedMonType; +void sub_81173C0(u16 battleFlags); + #endif //GUARD_UNION_ROOM_H diff --git a/include/union_room_chat.h b/include/union_room_chat.h index 17e482525..66daac376 100644 --- a/include/union_room_chat.h +++ b/include/union_room_chat.h @@ -2,6 +2,7 @@ #define GUARD_UNION_ROOM_CHAT_H void sub_801DD98(void); +void sub_8128420(void); void copy_strings_to_sav1(void); #endif // GUARD_UNION_ROOM_CHAT_H diff --git a/include/union_room_message.h b/include/union_room_message.h new file mode 100644 index 000000000..b7de673ba --- /dev/null +++ b/include/union_room_message.h @@ -0,0 +1,114 @@ +#ifndef GUARD_UNION_ROOM_MESSAGE_H +#define GUARD_UNION_ROOM_MESSAGE_H + +#include "global.h" + +extern const u8 gUnknown_84571AC[]; +extern const u8 gUnknown_84571B0[]; +extern const u8 gUnknown_84571B4[]; +extern const u8 gUnknown_84571B8[]; +extern const u8 gUnknown_84571E0[]; +extern const u8 gUnknown_8457234[]; +extern const u8 gUnknown_8457264[]; +extern const u8 *const gUnknown_845742C[][5]; +extern const u8 gUnknown_845747C[]; +extern const u8 gUnknown_84574A0[]; +extern const u8 gUnknown_84574C4[]; +extern const u8 gUnknown_84574EC[]; +extern const u8 gUnknown_8457514[]; +extern const u8 gUnknown_8457530[]; +extern const u8 gUnknown_8457554[]; +extern const u8 *const gUnknown_8457608[]; +extern const u8 gUnknown_8457610[]; +extern const u8 *const gUnknown_845767C[]; +extern const u8 gUnknown_84576AC[]; +extern const u8 gUnknown_84576C4[]; +extern const u8 gUnknown_8457700[]; +extern const u8 gUnknown_845771C[]; +extern const u8 *const gUnknown_8457754[]; +extern const u8 gUnknown_845777C[]; +extern const u8 gUnknown_84577BC[]; +extern const u8 gUnknown_84577F8[]; +extern const u8 *const gUnknown_8457838[]; +extern const u8 gUnknown_84578BC[]; +extern const u8 *const gUnknown_8457A34[]; +extern const u8 *const gUnknown_8457B04[][2]; +extern const u8 *const gUnknown_8457BCC[]; +extern const u8 *const gUnknown_8457C20[]; +extern const u8 gUnknown_8457C48[]; +extern const u8 gUnknown_8457CA4[]; +extern const u8 gUnknown_8457CF8[]; +extern const u8 gUnknown_8457D44[]; +extern const u8 gUnknown_8457DB8[]; +extern const u8 gUnknown_8457E0C[]; +extern const u8 gUnknown_8457E28[]; +extern const u8 gUnknown_8457E44[]; +extern const u8 gUnknown_8457E60[]; +extern const u8 *const gUnknown_8457F80[][2]; +extern const u8 gUnknown_8457F90[]; +extern const u8 *const gUnknown_84580F4[][4]; +extern const u8 *const gUnknown_8458230[][2][3]; +extern const u8 *const gUnknown_8458314[]; +extern const u8 *const gUnknown_84583B4[]; +extern const u8 *const gUnknown_845842C[]; +extern const u8 gUnknown_8458434[]; +extern const u8 gUnknown_845847C[]; +extern const u8 gUnknown_84584C0[]; +extern const u8 *const gUnknown_8458548[]; +extern const u8 *const gUnknown_84585E8[]; +extern const u8 *const gUnknown_8458758[2][4]; +extern const u8 *const gUnknown_84588BC[2][4]; +extern const u8 *const gUnknown_84589AC[2][2]; +extern const u8 *const gUnknown_8458A78[2][4]; +extern const u8 gUnknown_8458A98[]; +extern const u8 gUnknown_8458AB8[]; +extern const u8 gUnknown_8458B44[]; +extern const u8 gUnknown_8458CD4[]; +extern const u8 gUnknown_8458D1C[]; +extern const u8 gUnknown_8458D54[]; +extern const u8 gUnknown_8458D78[]; +extern const u8 gUnknown_8458D9C[]; +extern const u8 gUnknown_8458DBC[]; +extern const u8 gUnknown_8458DE8[]; +extern const u8 gUnknown_8458E10[]; +extern const u8 gUnknown_8458E70[]; +extern const u8 gUnknown_8458ED0[]; +extern const u8 gUnknown_8458F04[]; +extern const u8 gUnknown_8458F9C[]; +extern const u8 gUnknown_8458FBC[]; +extern const u8 gUnknown_8458FC8[]; +extern const u8 gUnknown_8458FE4[]; +extern const u8 gUnknown_84591DC[]; +extern const u8 *const gUnknown_84591B8[]; +extern const u8 gUnknown_8459238[]; +extern const u8 gUnknown_8459250[]; +extern const u8 gUnknown_845928C[]; +extern const u8 *const gUnknown_845933C[]; +extern const u8 gUnknown_8459344[]; +extern const u8 gUnknown_845934C[]; +extern const u8 gUnknown_8459354[]; +extern const u8 gUnknown_8459360[]; +extern const u8 gUnknown_8459368[]; +extern const u8 gUnknown_8459370[]; +extern const u8 gUnknown_8459378[]; +extern const u8 gUnknown_8459394[]; +extern const u8 gUnknown_84593A4[]; +extern const u8 gUnknown_84593B4[]; +extern const u8 gUnknown_84593C4[]; +extern const u8 gUnknown_84593D4[]; +extern const u8 gUnknown_84593E4[]; +extern const u8 gUnknown_84593F4[]; +extern const u8 gUnknown_84593DC[]; +extern const u8 gUnknown_8459400[]; +extern const u8 gUnknown_8459410[]; +extern const u8 gUnknown_845941C[]; +extern const u8 gUnknown_845942C[]; +extern const u8 gUnknown_8459434[]; +extern const u8 gUnknown_8459440[]; +extern const u8 *const gUnknown_84594B0[]; +extern const u8 gUnknown_84594C4[]; +extern const u8 gUnknown_8459504[]; +extern const u8 *const gUnknown_8459580[]; +extern const u8 gUnknown_8459588[]; + +#endif //GUARD_UNION_ROOM_MESSAGE_H diff --git a/ld_script.txt b/ld_script.txt index f07e480a2..f0792ad9d 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -232,7 +232,7 @@ SECTIONS { src/pokedex_screen.o(.text); asm/pokedex_screen.o(.text); src/list_menu.o(.text); - asm/item_menu.o(.text); + src/item_menu.o(.text); src/save_location.o(.text); src/bag.o(.text); src/trainer_pokemon_sprites.o(.text); @@ -241,8 +241,9 @@ SECTIONS { src/mailbox_pc.o(.text); src/menu.o(.text); src/quest_log.o(.text); - asm/union_room.o(.text); - asm/union_room_player_avatar.o(.text); + src/union_room.o(.text); + src/rfu_union_tool.o(.text); + src/union_room_battle.o(.text); asm/pokemon_special_anim.o(.text); src/party_menu.o(.text); asm/union_room_chat.o(.text); @@ -517,7 +518,7 @@ SECTIONS { src/pokedex_screen.o(.rodata); data/pokedex_screen.o(.rodata); src/list_menu.o(.rodata); - data/item_menu.o(.rodata); + src/item_menu.o(.rodata); src/save_location.o(.rodata); src/bag.o(.rodata); src/trainer_pokemon_sprites.o(.rodata); @@ -527,7 +528,10 @@ SECTIONS { data/decorations.o(.rodata); src/menu.o(.rodata); src/quest_log.o(.rodata); - data/union_room.o(.rodata); + src/union_room.o(.rodata); + src/rfu_union_tool.o(.rodata); + src/union_room_battle.o(.rodata); + src/union_room_message.o(.rodata); data/pokemon_special_anim.o(.rodata); src/party_menu.o(.rodata); data/union_room_chat.o(.rodata); @@ -10,17 +10,18 @@ #include "menu.h" #include "money.h" #include "bag.h" +#include "strings.h" -extern const u8 gText_DepositItem[]; +static const u16 sBagWindowPalF[] = INCBIN_U16("data/bag/bag_window_pal.gbapal"); -const u16 gUnknown_8453098[] = INCBIN_U16("data/bag/bag_window_pal.gbapal"); -const u8 gUnknown_84530B8[][3] = { +static const u8 sTextColors[][3] = { {0, 1, 2}, {0, 2, 3}, {0, 3, 2}, {0, 8, 9} }; -const struct WindowTemplate gUnknown_84530C4[] = { + +static const struct WindowTemplate sDefaultBagWindowsStd[] = { { .bg = 0, .tilemapLeft = 0x0b, @@ -47,7 +48,8 @@ const struct WindowTemplate gUnknown_84530C4[] = { .baseBlock = 0x01f8 }, DUMMY_WIN_TEMPLATE }; -const struct WindowTemplate gUnknown_84530E4[] = { + +static const struct WindowTemplate sDefaultBagWindowsDeposit[] = { { .bg = 0, .tilemapLeft = 0x0b, @@ -74,7 +76,8 @@ const struct WindowTemplate gUnknown_84530E4[] = { .baseBlock = 0x01f8 }, DUMMY_WIN_TEMPLATE }; -const struct WindowTemplate gUnknown_8453104[] = { + +static const struct WindowTemplate sWindowTemplates[] = { { .bg = 0, .tilemapLeft = 24, @@ -99,122 +102,114 @@ const struct WindowTemplate gUnknown_8453104[] = { .height = 3, .paletteNum = 0xC, .baseBlock = 0x272 - } -}; - -const struct WindowTemplate gUnknown_845311C = { - .bg = 0, - .tilemapLeft = 23, - .tilemapTop = 15, - .width = 6, - .height = 4, - .paletteNum = 0xF, - .baseBlock = 0x28a -}; - -const struct WindowTemplate gUnknown_8453124 = { - .bg = 0, - .tilemapLeft = 21, - .tilemapTop = 9, - .width = 6, - .height = 4, - .paletteNum = 0xF, - .baseBlock = 0x28a -}; - -const struct WindowTemplate gUnknown_845312C[] = { - { - .bg = 0x00, - .tilemapLeft = 0x02, - .tilemapTop = 0x0f, - .width = 0x1a, - .height = 0x04, - .paletteNum = 0x0f, - .baseBlock = 0x02a2 }, { - .bg = 0x00, - .tilemapLeft = 0x06, - .tilemapTop = 0x0f, - .width = 0x0e, - .height = 0x04, - .paletteNum = 0x0c, - .baseBlock = 0x02a2 + .bg = 0, + .tilemapLeft = 23, + .tilemapTop = 15, + .width = 6, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x28a }, { - .bg = 0x00, - .tilemapLeft = 0x06, - .tilemapTop = 0x0f, - .width = 0x0f, - .height = 0x04, - .paletteNum = 0x0c, - .baseBlock = 0x02da + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 6, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x28a }, { - .bg = 0x00, - .tilemapLeft = 0x06, - .tilemapTop = 0x0f, - .width = 0x10, - .height = 0x04, - .paletteNum = 0x0c, - .baseBlock = 0x0316 + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x2a2 }, { - .bg = 0x00, - .tilemapLeft = 0x06, - .tilemapTop = 0x0f, - .width = 0x17, - .height = 0x04, - .paletteNum = 0x0c, - .baseBlock = 0x0356 + .bg = 0, + .tilemapLeft = 6, + .tilemapTop = 15, + .width = 14, + .height = 4, + .paletteNum = 0xC, + .baseBlock = 0x2a2 }, { - .bg = 0x00, - .tilemapLeft = 0x16, - .tilemapTop = 0x11, - .width = 0x07, - .height = 0x02, - .paletteNum = 0x0f, - .baseBlock = 0x020a + .bg = 0, + .tilemapLeft = 6, + .tilemapTop = 15, + .width = 15, + .height = 4, + .paletteNum = 0xC, + .baseBlock = 0x2da }, { - .bg = 0x00, - .tilemapLeft = 0x16, - .tilemapTop = 0x0f, - .width = 0x07, - .height = 0x04, - .paletteNum = 0x0f, - .baseBlock = 0x020a + .bg = 0, + .tilemapLeft = 6, + .tilemapTop = 15, + .width = 16, + .height = 4, + .paletteNum = 0xC, + .baseBlock = 0x316 }, { - .bg = 0x00, - .tilemapLeft = 0x16, - .tilemapTop = 0x0d, - .width = 0x07, - .height = 0x06, - .paletteNum = 0x0f, - .baseBlock = 0x020a + .bg = 0, + .tilemapLeft = 6, + .tilemapTop = 15, + .width = 23, + .height = 4, + .paletteNum = 0xC, + .baseBlock = 0x356 }, { - .bg = 0x00, - .tilemapLeft = 0x16, - .tilemapTop = 0x0b, - .width = 0x07, - .height = 0x08, - .paletteNum = 0x0f, - .baseBlock = 0x020a + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 17, + .width = 7, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 0x20a + }, { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 15, + .width = 7, + .height = 4, + .paletteNum = 0xF, + .baseBlock = 0x20a + }, { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 13, + .width = 7, + .height = 6, + .paletteNum = 0xF, + .baseBlock = 0x20a + }, { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 11, + .width = 7, + .height = 8, + .paletteNum = 0xF, + .baseBlock = 0x20a } }; -const u8 gUnknown_8453174[] = {16, 8, 4}; +static const u8 sUnused_8453174[] = {16, 8, 4}; -EWRAM_DATA u8 gUnknown_203AD34[11] = {}; +static EWRAM_DATA u8 sOpenWindows[11] = {}; -void sub_810B858(void) +void InitBagWindows(void) { u8 i; - if (gUnknown_203ACFC.location != 3) - InitWindows(gUnknown_84530C4); + if (gBagMenuState.location != 3) + InitWindows(sDefaultBagWindowsStd); else - InitWindows(gUnknown_84530E4); + InitWindows(sDefaultBagWindowsDeposit); DeactivateAllTextPrinters(); TextWindow_SetUserSelectedFrame(0, 0x64, 0xE0); TextWindow_LoadResourcesStdFrame0(0, 0x6D, 0xD0); TextWindow_SetStdFrame0_WithPal(0, 0x81, 0xC0); - LoadPalette(gUnknown_8453098, 0xF0, 0x20); + LoadPalette(sBagWindowPalF, 0xF0, 0x20); for (i = 0; i < 3; i++) { FillWindowPixelBuffer(i, 0x00); @@ -223,22 +218,22 @@ void sub_810B858(void) ScheduleBgCopyTilemapToVram(0); for (i = 0; i < 11; i++) { - gUnknown_203AD34[i] = 0xFF; + sOpenWindows[i] = 0xFF; } } -void sub_810B8F0(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 colorIdx) +void BagPrintTextOnWindow(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 colorIdx) { - AddTextPrinterParameterized4(windowId, fontId, x, y, letterSpacing, lineSpacing, gUnknown_84530B8[colorIdx], speed, str); + AddTextPrinterParameterized4(windowId, fontId, x, y, letterSpacing, lineSpacing, sTextColors[colorIdx], speed, str); } -void sub_810B958(const u8 * str) +void BagPrintTextOnWin1CenteredColor0(const u8 * str, u8 unused) { u32 x = 0x48 - GetStringWidth(1, str, 0); - AddTextPrinterParameterized3(2, 1, x / 2, 1, gUnknown_84530B8[0], 0, str); + AddTextPrinterParameterized3(2, 1, x / 2, 1, sTextColors[0], 0, str); } -void sub_810B994(void) +void BagDrawDepositItemTextBox(void) { u32 x; DrawStdFrameWithCustomTileAndPalette(2, FALSE, 0x081, 0x0C); @@ -246,77 +241,76 @@ void sub_810B994(void) AddTextPrinterParameterized(2, 0, gText_DepositItem, x / 2, 1, 0, NULL); } -u8 sub_810B9DC(u8 a0, u8 a1) +u8 ShowBagWindow(u8 whichWindow, u8 nItems) { - if (gUnknown_203AD34[a0] == 0xFF) + if (sOpenWindows[whichWindow] == 0xFF) { - gUnknown_203AD34[a0] = AddWindow(&gUnknown_8453104[a0 + a1]); - if (a0 != 6) + sOpenWindows[whichWindow] = AddWindow(&sWindowTemplates[whichWindow + nItems]); + if (whichWindow != 6) { - DrawStdFrameWithCustomTileAndPalette(gUnknown_203AD34[a0], FALSE, 0x064, 0x0E); + DrawStdFrameWithCustomTileAndPalette(sOpenWindows[whichWindow], FALSE, 0x064, 0xE); } else { - DrawStdFrameWithCustomTileAndPalette(gUnknown_203AD34[a0], FALSE, 0x081, 0x0C); + DrawStdFrameWithCustomTileAndPalette(sOpenWindows[whichWindow], FALSE, 0x081, 0xC); } ScheduleBgCopyTilemapToVram(0); } - return gUnknown_203AD34[a0]; + return sOpenWindows[whichWindow]; } -void sub_810BA3C(u8 a0) +void HideBagWindow(u8 whichWindow) { - ClearStdWindowAndFrameToTransparent(gUnknown_203AD34[a0], FALSE); - ClearWindowTilemap(gUnknown_203AD34[a0]); - RemoveWindow(gUnknown_203AD34[a0]); + ClearStdWindowAndFrameToTransparent(sOpenWindows[whichWindow], FALSE); + ClearWindowTilemap(sOpenWindows[whichWindow]); + RemoveWindow(sOpenWindows[whichWindow]); ScheduleBgCopyTilemapToVram(0); - gUnknown_203AD34[a0] = 0xFF; + sOpenWindows[whichWindow] = 0xFF; } -u8 sub_810BA70(u8 a0) +u8 OpenBagWindow(u8 whichWindow) { - if (gUnknown_203AD34[a0] == 0xFF) + if (sOpenWindows[whichWindow] == 0xFF) { - gUnknown_203AD34[a0] = AddWindow(&gUnknown_8453104[a0]); + sOpenWindows[whichWindow] = AddWindow(&sWindowTemplates[whichWindow]); } - return gUnknown_203AD34[a0]; + return sOpenWindows[whichWindow]; } -void sub_810BA9C(u8 a0) +void CloseBagWindow(u8 whichWindow) { - if (gUnknown_203AD34[a0] != 0xFF) + if (sOpenWindows[whichWindow] != 0xFF) { - ClearDialogWindowAndFrameToTransparent(gUnknown_203AD34[a0], FALSE); - ClearWindowTilemap(gUnknown_203AD34[a0]); - RemoveWindow(gUnknown_203AD34[a0]); + ClearDialogWindowAndFrameToTransparent(sOpenWindows[whichWindow], FALSE); + ClearWindowTilemap(sOpenWindows[whichWindow]); + RemoveWindow(sOpenWindows[whichWindow]); PutWindowTilemap(1); ScheduleBgCopyTilemapToVram(0); - gUnknown_203AD34[a0] = 0xFF; - + sOpenWindows[whichWindow] = 0xFF; } } -u8 sub_810BAD8(u8 a0) +u8 GetBagWindow(u8 whichWindow) { - return gUnknown_203AD34[a0]; + return sOpenWindows[whichWindow]; } -void sub_810BAE8(u8 taskId, const struct YesNoFuncTable * ptrs) +void BagCreateYesNoMenuBottomRight(u8 taskId, const struct YesNoFuncTable * ptrs) { - CreateYesNoMenuWithCallbacks(taskId, &gUnknown_845311C, 2, 0, 2, 0x64, 0x0E, ptrs); + CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates[3], 2, 0, 2, 0x064, 0x0E, ptrs); } -void sub_810BB14(u8 taskId, const struct YesNoFuncTable * ptrs) +void BagCreateYesNoMenuTopRight(u8 taskId, const struct YesNoFuncTable * ptrs) { - CreateYesNoMenuWithCallbacks(taskId, &gUnknown_8453124, 2, 0, 2, 0x064, 0x0E, ptrs); + CreateYesNoMenuWithCallbacks(taskId, &sWindowTemplates[4], 2, 0, 2, 0x064, 0x0E, ptrs); } -void sub_810BB40(void) +void BagPrintMoneyAmount(void) { - PrintMoneyAmountInMoneyBoxWithBorder(sub_810B9DC(2, 0), 0x081, 0x0C, GetMoney(&gSaveBlock1Ptr->money)); + PrintMoneyAmountInMoneyBoxWithBorder(ShowBagWindow(2, 0), 0x081, 0x0C, GetMoney(&gSaveBlock1Ptr->money)); } -void sub_810BB74(u8 windowId) +void BagDrawTextBoxOnWindow(u8 windowId) { DrawTextBorderOuter(windowId, 0x064, 0x0E); } diff --git a/src/battle_controller_oak_old_man.c b/src/battle_controller_oak_old_man.c index 6ae50d058..0807018a2 100644 --- a/src/battle_controller_oak_old_man.c +++ b/src/battle_controller_oak_old_man.c @@ -379,9 +379,9 @@ static void OpenBagAndChooseItem(void) nullsub_44(); FreeAllWindowBuffers(); if (gBattleTypeFlags & BATTLE_TYPE_FIRST_BATTLE) - sub_8107ECC(); + CB2_BagMenuFromBattle(); else - sub_810AF74(); + InitOldManBag(); } } diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index 7f1f738a3..cb9e04a50 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -1330,7 +1330,7 @@ static void OpenBagAndChooseItem(void) gBattlerControllerFuncs[gActiveBattler] = CompleteWhenChoseItem; nullsub_44(); FreeAllWindowBuffers(); - sub_8107ECC(); + CB2_BagMenuFromBattle(); } } diff --git a/src/battle_controller_pokedude.c b/src/battle_controller_pokedude.c index 86da27ee3..d8ebe5ba4 100644 --- a/src/battle_controller_pokedude.c +++ b/src/battle_controller_pokedude.c @@ -23,6 +23,7 @@ #include "battle_interface.h" #include "battle_message.h" #include "reshow_battle_screen.h" +#include "teachy_tv.h" #include "constants/songs.h" #include "constants/items.h" #include "constants/moves.h" @@ -733,15 +734,15 @@ static void OpenBagAndChooseItem(void) FreeAllWindowBuffers(); switch (gSpecialVar_0x8004) { - case 1: + case TTVSCR_STATUS: default: - callbackId = 7; + callbackId = ITEMMENULOCATION_TTVSCR_STATUS; break; - case 3: - callbackId = 8; + case TTVSCR_CATCHING: + callbackId = ITEMMENULOCATION_TTVSCR_CATCHING; break; } - sub_810B108(callbackId); + InitPokedudeBag(callbackId); } } diff --git a/src/battle_main.c b/src/battle_main.c index 51509513f..fd8aeffbc 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -86,7 +86,7 @@ static u8 CreateNPCTrainerParty(struct Pokemon *party, u16 trainerNum); static void CB2_HandleStartBattle(void); static void TryCorrectShedinjaLanguage(struct Pokemon *mon); static void BattleMainCB1(void); -static void CB2_QuitPokeDudeBattle(void); +static void CB2_QuitPokedudeBattle(void); static void sub_80111FC(struct Sprite *sprite); static void sub_8011B94(void); static void sub_8011BB0(void); @@ -1438,7 +1438,7 @@ void BattleMainCB2(void) gSpecialVar_Result = gBattleOutcome = B_OUTCOME_DREW; ResetPaletteFadeControl(); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); - SetMainCallback2(CB2_QuitPokeDudeBattle); + SetMainCallback2(CB2_QuitPokedudeBattle); } } @@ -1454,7 +1454,7 @@ void FreeRestoreBattleData(void) FreeBattleResources(); } -static void CB2_QuitPokeDudeBattle(void) +static void CB2_QuitPokedudeBattle(void) { UpdatePaletteFade(); if (!gPaletteFade.active) diff --git a/src/battle_message.c b/src/battle_message.c index c4faf73f9..c30150799 100644 --- a/src/battle_message.c +++ b/src/battle_message.c @@ -463,7 +463,7 @@ const u8 *const gPokeblockWasTooXStringTable[] = { static const u8 sText_PlayerUsedItem[] = _("{B_PLAYER_NAME} used\n{B_LAST_ITEM}!"); static const u8 sText_OldManUsedItem[] = _("The old man used\n{B_LAST_ITEM}!"); -static const u8 sText_PokeDudeUsedItem[] = _("The POKé DUDE used\n{B_LAST_ITEM}!"); +static const u8 sText_PokedudeUsedItem[] = _("The POKé DUDE used\n{B_LAST_ITEM}!"); static const u8 sText_Trainer1UsedItem[] = _("{B_TRAINER1_CLASS} {B_TRAINER1_NAME}\nused {B_LAST_ITEM}!"); static const u8 sText_TrainerBlockedBall[] = _("The TRAINER blocked the BALL!"); static const u8 sText_DontBeAThief[] = _("Don't be a thief!"); @@ -876,7 +876,7 @@ const u8 *const gBattleStringsTable[] = { Text_1A5D31, Text_1A5D6E, Text_1A5DB1, - sText_PokeDudeUsedItem, + sText_PokedudeUsedItem, gUnknown_83FDA4D, gUnknown_83FDA7A, gUnknown_83FDA8C, diff --git a/src/battle_setup.c b/src/battle_setup.c index 4859b9234..102a1b969 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -978,7 +978,7 @@ const u8 *BattleSetup_GetScriptAddrAfterBattle(void) if (sTrainerBattleEndScript != NULL) return sTrainerBattleEndScript; else - return EventScript_1C555B; + return Test_EventScript_Sign; } const u8 *BattleSetup_GetTrainerPostBattleScript(void) @@ -986,7 +986,7 @@ const u8 *BattleSetup_GetTrainerPostBattleScript(void) if (sTrainerABattleScriptRetAddr != NULL) return sTrainerABattleScriptRetAddr; else - return EventScript_1C555B; + return Test_EventScript_Sign; } void ScrSpecial_ShowTrainerNonBattlingSpeech(void) diff --git a/src/berry_pouch.c b/src/berry_pouch.c index 711a17768..63677574b 100644 --- a/src/berry_pouch.c +++ b/src/berry_pouch.c @@ -1269,7 +1269,7 @@ static void Task_ContextMenu_Sell(u8 taskId) { CopyItemName(gSpecialVar_ItemId, gStringVar1); StringExpandPlaceholders(gStringVar4, gText_OhNoICantBuyThat); - DisplayItemMessageInBerryPouch(taskId, sub_80BF8E4(), gStringVar4, Task_BerryPouch_DestroyDialogueWindowAndRefreshListMenu); + DisplayItemMessageInBerryPouch(taskId, GetDialogBoxFontId(), gStringVar4, Task_BerryPouch_DestroyDialogueWindowAndRefreshListMenu); } else { @@ -1285,7 +1285,7 @@ static void Task_ContextMenu_Sell(u8 taskId) data[2] = 99; CopyItemName(gSpecialVar_ItemId, gStringVar1); StringExpandPlaceholders(gStringVar4, gText_HowManyWouldYouLikeToSell); - DisplayItemMessageInBerryPouch(taskId, sub_80BF8E4(), gStringVar4, Task_Sell_PrintSelectMultipleUI); + DisplayItemMessageInBerryPouch(taskId, GetDialogBoxFontId(), gStringVar4, Task_Sell_PrintSelectMultipleUI); } } } @@ -1295,7 +1295,7 @@ static void Task_AskSellMultiple(u8 taskId) s16 * data = gTasks[taskId].data; ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_BERRY_POUCH, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6); StringExpandPlaceholders(gStringVar4, gText_ICanPayThisMuch_WouldThatBeOkay); - DisplayItemMessageInBerryPouch(taskId, sub_80BF8E4(), gStringVar4, Task_SellMultiple_CreateYesNoMenu); + DisplayItemMessageInBerryPouch(taskId, GetDialogBoxFontId(), gStringVar4, Task_SellMultiple_CreateYesNoMenu); } static void Task_SellMultiple_CreateYesNoMenu(u8 taskId) diff --git a/src/credits.c b/src/credits.c index a0138e57a..ceb2028f9 100644 --- a/src/credits.c +++ b/src/credits.c @@ -920,7 +920,7 @@ static s32 RollCredits(void) case CREDITSSCRCMD_MON: sCreditsMgr->mainseqno = CREDITSSCENE_MON_DESTROY_ASSETS; sCreditsMgr->whichMon = sCreditsScript[sCreditsMgr->scrcmdidx].param; - fade_screen(1, 0); + FadeScreen(1, 0); break; case CREDITSSCRCMD_THEENDGFX: sCreditsMgr->mainseqno = CREDITSSCENE_THEEND_DESTROY_ASSETS; @@ -1342,7 +1342,7 @@ static s32 RollCredits(void) "\tstrb r0, [r2, 0x9]\n" "\tmovs r0, 0x1\n" "\tmovs r1, 0\n" - "\tbl fade_screen\n" + "\tbl FadeScreen\n" "\tb _080F3E94\n" "\t.align 2, 0\n" "_080F3E50: .4byte sCreditsMgr\n" diff --git a/src/data.c b/src/data.c index dddeeac51..891c9f94f 100644 --- a/src/data.c +++ b/src/data.c @@ -60,12 +60,12 @@ const struct SpriteFrameImage gTrainerBackPicTable_Leaf[] = gTrainerBackPic_Leaf + 0x2000, 0x0800, }; -const struct SpriteFrameImage gTrainerBackPicTable_PokeDude[] = +const struct SpriteFrameImage gTrainerBackPicTable_Pokedude[] = { - gTrainerBackPic_PokeDude, 0x0800, - gTrainerBackPic_PokeDude + 0x0800, 0x0800, - gTrainerBackPic_PokeDude + 0x1000, 0x0800, - gTrainerBackPic_PokeDude + 0x1800, 0x0800, + gTrainerBackPic_Pokedude, 0x0800, + gTrainerBackPic_Pokedude + 0x0800, 0x0800, + gTrainerBackPic_Pokedude + 0x1000, 0x0800, + gTrainerBackPic_Pokedude + 0x1800, 0x0800, }; const struct SpriteFrameImage gTrainerBackPicTable_OldMan[] = diff --git a/src/data/trainer_graphics/back_pic_anims.h b/src/data/trainer_graphics/back_pic_anims.h index 2e107c21e..833a0cb28 100644 --- a/src/data/trainer_graphics/back_pic_anims.h +++ b/src/data/trainer_graphics/back_pic_anims.h @@ -16,7 +16,7 @@ static const union AnimCmd sAnimCmd_Leaf_1[] = { ANIMCMD_END }; -static const union AnimCmd sAnimCmd_PokeDude_1[] = { +static const union AnimCmd sAnimCmd_Pokedude_1[] = { ANIMCMD_FRAME(1, 24), ANIMCMD_FRAME(2, 9), ANIMCMD_FRAME(3, 24), @@ -60,9 +60,9 @@ const union AnimCmd *const sBackAnims_Leaf[] = { sAnimCmd_Leaf_1 }; -const union AnimCmd *const sBackAnims_PokeDude[] = { +const union AnimCmd *const sBackAnims_Pokedude[] = { sAnim_GeneralFrame0, - sAnimCmd_PokeDude_1 + sAnimCmd_Pokedude_1 }; const union AnimCmd *const sBackAnims_OldMan[] = { @@ -85,6 +85,6 @@ const union AnimCmd *const *const gTrainerBackAnimsPtrTable[] = { sBackAnims_Leaf, sBackAnims_RSBrendan, sBackAnims_RSMay, - sBackAnims_PokeDude, + sBackAnims_Pokedude, sBackAnims_OldMan }; diff --git a/src/data/trainer_graphics/back_pic_tables.h b/src/data/trainer_graphics/back_pic_tables.h index 86e7824c1..4d0c129a8 100644 --- a/src/data/trainer_graphics/back_pic_tables.h +++ b/src/data/trainer_graphics/back_pic_tables.h @@ -12,7 +12,7 @@ const struct CompressedSpriteSheet gTrainerBackPicTable[] = { { (const u32 *)gTrainerBackPic_Leaf, 0x2800, 1 }, { (const u32 *)gTrainerBackPic_RSBrendan, 0x2000, 2 }, { (const u32 *)gTrainerBackPic_RSMay, 0x2000, 3 }, - { (const u32 *)gTrainerBackPic_PokeDude, 0x2000, 4 }, + { (const u32 *)gTrainerBackPic_Pokedude, 0x2000, 4 }, { (const u32 *)gTrainerBackPic_OldMan, 0x2000, 5 } }; @@ -21,6 +21,6 @@ const struct CompressedSpritePalette gTrainerBackPicPaletteTable[] = { { gTrainerPalette_LeafBackPic, 1 }, { gTrainerPalette_RSBrendan1, 2 }, { gTrainerPalette_RSMay1, 3 }, - { gTrainerPalette_PokeDudeBackPic, 4 }, + { gTrainerPalette_PokedudeBackPic, 4 }, { gTrainerPalette_OldManBackPic, 5 } }; diff --git a/src/daycare.c b/src/daycare.c index b3e76faba..a377e97f5 100644 --- a/src/daycare.c +++ b/src/daycare.c @@ -37,9 +37,11 @@ #include "naming_screen.h" #include "help_system.h" #include "field_fadetransition.h" +#include "constants/daycare.h" +#include "constants/pokemon.h" +#include "constants/region_map.h" -#define EGG_MOVES_ARRAY_COUNT 10 -#define EGG_LVL_UP_MOVES_ARRAY_COUNT 50 +// Combination of RSE's Day-Care (re-used on Four Island), FRLG's Day-Care, and egg_hatch.c struct EggHatchData { @@ -119,7 +121,7 @@ static const struct ListMenuItem sLevelMenuItems[] = { {gExpandedPlaceholder_Empty, 0}, {gExpandedPlaceholder_Empty, 1}, - {gOtherText_Exit, 5} + {gOtherText_Exit, DAYCARE_LEVEL_MENU_EXIT} }; static const struct ListMenuTemplate sDaycareListMenuLevelTemplate = @@ -372,7 +374,7 @@ static const s16 sEggShardVelocities[][2] = // code -u8 *GetMonNick(struct Pokemon *mon, u8 *dest) +static u8 *DayCare_GetMonNickname(struct Pokemon *mon, u8 *dest) { u8 nickname[POKEMON_NAME_LENGTH * 2]; @@ -380,7 +382,7 @@ u8 *GetMonNick(struct Pokemon *mon, u8 *dest) return StringCopy10(dest, nickname); } -u8 *GetBoxMonNick(struct BoxPokemon *mon, u8 *dest) +static u8 *DayCare_GetBoxMonNickname(struct BoxPokemon *mon, u8 *dest) { u8 nickname[POKEMON_NAME_LENGTH * 2]; @@ -450,7 +452,7 @@ static void StorePokemonInDaycare(struct Pokemon *mon, struct DaycareMon *daycar u8 mailId; StringCopy(daycareMon->mail.OT_name, gSaveBlock2Ptr->playerName); - GetMonNick(mon, daycareMon->mail.monName); + DayCare_GetMonNickname(mon, daycareMon->mail.monName); // StripExtCtrlCodes(daycareMon->mail.monName); // daycareMon->mail.gameLanguage = LANGUAGE_ENGLISH; // daycareMon->mail.monLanguage = GetMonData(mon, MON_DATA_LANGUAGE); @@ -483,8 +485,8 @@ void StoreSelectedPokemonInDaycare(void) static void ShiftDaycareSlots(struct DayCare *daycare) { // This condition is only satisfied when the player takes out the first pokemon from the daycare. - if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != 0 - && GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) == 0) + if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != SPECIES_NONE + && GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) == SPECIES_NONE) { daycare->mons[0].mon = daycare->mons[1].mon; ZeroBoxMonData(&daycare->mons[1].mon); @@ -512,11 +514,8 @@ static void ApplyDaycareExperience(struct Pokemon *mon) while ((learnedMove = MonTryLearningNewMove(mon, firstMove)) != 0) { firstMove = FALSE; - if (learnedMove == 0xFFFF) - { - // Mon already knows 4 moves. + if (learnedMove == MON_HAS_MAX_MOVES) DeleteFirstMoveAndGiveMoveToMon(mon, gMoveToLearn); - } } } else @@ -535,7 +534,7 @@ static u16 TakeSelectedPokemonFromDaycare(struct DaycareMon *daycareMon) u32 experience; struct Pokemon pokemon; - GetBoxMonNick(&daycareMon->mon, gStringVar1); + DayCare_GetBoxMonNickname(&daycareMon->mon, gStringVar1); species = GetBoxMonData(&daycareMon->mon, MON_DATA_SPECIES); BoxMonToMon(&daycareMon->mon, &pokemon); @@ -595,7 +594,7 @@ static u8 GetNumLevelsGainedForDaycareMon(struct DaycareMon *daycareMon) { u8 numLevelsGained = GetNumLevelsGainedFromSteps(daycareMon); ConvertIntToDecimalStringN(gStringVar2, numLevelsGained, STR_CONV_MODE_LEFT_ALIGN, 2); - GetBoxMonNick(&daycareMon->mon, gStringVar1); + DayCare_GetBoxMonNickname(&daycareMon->mon, gStringVar1); return numLevelsGained; } @@ -604,7 +603,7 @@ static u32 GetDaycareCostForSelectedMon(struct DaycareMon *daycareMon) u32 cost; u8 numLevelsGained = GetNumLevelsGainedFromSteps(daycareMon); - GetBoxMonNick(&daycareMon->mon, gStringVar1); + DayCare_GetBoxMonNickname(&daycareMon->mon, gStringVar1); cost = 100 + 100 * numLevelsGained; ConvertIntToDecimalStringN(gStringVar2, cost, STR_CONV_MODE_LEFT_ALIGN, 5); return cost; @@ -639,7 +638,7 @@ static void ClearDaycareMonMail(struct DayCareMail *mail) { s32 i; - for (i = 0; i < PLAYER_NAME_LENGTH; i++) + for (i = 0; i < PLAYER_NAME_LENGTH/* + 1*/; i++) mail->OT_name[i] = 0; for (i = 0; i < POKEMON_NAME_LENGTH + 1; i++) mail->monName[i] = 0; @@ -777,7 +776,7 @@ static void _TriggerPendingDaycareEgg(struct DayCare *daycare) static void _TriggerPendingDaycareMaleEgg(struct DayCare *daycare) { - daycare->offspringPersonality = (Random()) | (0x8000); + daycare->offspringPersonality = (Random()) | (EGG_GENDER_MALE); FlagSet(FLAG_PENDING_DAYCARE_EGG); } @@ -815,7 +814,7 @@ static void RemoveIVIndexFromList(u8 *ivs, u8 selectedIv) static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) { u8 i; - u8 selectedIvs[3]; + u8 selectedIvs[INHERITED_IV_COUNT]; u8 availableIVs[NUM_STATS]; u8 whichParent[ARRAY_COUNT(selectedIvs)]; u8 iv; @@ -829,17 +828,15 @@ static void InheritIVs(struct Pokemon *egg, struct DayCare *daycare) // Select the 3 IVs that will be inherited. for (i = 0; i < ARRAY_COUNT(selectedIvs); i++) { - // Randomly pick an IV from the available list. + // Randomly pick an IV from the available list and stop from being chosen again. selectedIvs[i] = availableIVs[Random() % (NUM_STATS - i)]; - - // Remove the selected IV index from the available IV indices. RemoveIVIndexFromList(availableIVs, selectedIvs[i]); } // Determine which parent each of the selected IVs should inherit from. for (i = 0; i < ARRAY_COUNT(selectedIvs); i++) { - whichParent[i] = Random() % 2; + whichParent[i] = Random() % DAYCARE_MON_COUNT; } // Set each of inherited IVs on the egg mon. @@ -921,14 +918,14 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru numSharedParentMoves = 0; for (i = 0; i < MAX_MON_MOVES; i++) { - sHatchedEggMotherMoves[i] = 0; - sHatchedEggFatherMoves[i] = 0; - sHatchedEggFinalMoves[i] = 0; + sHatchedEggMotherMoves[i] = MOVE_NONE; + sHatchedEggFatherMoves[i] = MOVE_NONE; + sHatchedEggFinalMoves[i] = MOVE_NONE; } for (i = 0; i < EGG_MOVES_ARRAY_COUNT; i++) - sHatchedEggEggMoves[i] = 0; + sHatchedEggEggMoves[i] = MOVE_NONE; for (i = 0; i < EGG_LVL_UP_MOVES_ARRAY_COUNT; i++) - sHatchedEggLevelUpMoves[i] = 0; + sHatchedEggLevelUpMoves[i] = MOVE_NONE; numLevelUpMoves = GetLevelUpMovesBySpecies(GetMonData(egg, MON_DATA_SPECIES), sHatchedEggLevelUpMoves); for (i = 0; i < MAX_MON_MOVES; i++) @@ -947,7 +944,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru { if (sHatchedEggFatherMoves[i] == sHatchedEggEggMoves[j]) { - if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xFFFF) + if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == MON_HAS_MAX_MOVES) DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]); break; } @@ -966,7 +963,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru { if (sHatchedEggFatherMoves[i] == ItemIdToBattleMoveId(ITEM_TM01/*_FOCUS_PUNCH*/ + j) && CanMonLearnTMHM(egg, j)) { - if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == 0xFFFF) + if (GiveMoveToMon(egg, sHatchedEggFatherMoves[i]) == MON_HAS_MAX_MOVES) DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFatherMoves[i]); } } @@ -991,7 +988,7 @@ static void BuildEggMoveset(struct Pokemon *egg, struct BoxPokemon *father, stru { if (sHatchedEggLevelUpMoves[j] != MOVE_NONE && sHatchedEggFinalMoves[i] == sHatchedEggLevelUpMoves[j]) { - if (GiveMoveToMon(egg, sHatchedEggFinalMoves[i]) == 0xFFFF) + if (GiveMoveToMon(egg, sHatchedEggFinalMoves[i]) == MON_HAS_MAX_MOVES) DeleteFirstMoveAndGiveMoveToMon(egg, sHatchedEggFinalMoves[i]); break; } @@ -1036,7 +1033,7 @@ static void AlterEggSpeciesWithIncenseItem(u16 *species, struct DayCare *daycare if (motherItem == ITEM_LIGHT_BALL || fatherItem == ITEM_LIGHT_BALL) { - if (GiveMoveToMon(mon, MOVE_VOLT_TACKLE) == 0xFFFF) + if (GiveMoveToMon(mon, MOVE_VOLT_TACKLE) == MON_HAS_MAX_MOVES) DeleteFirstMoveAndGiveMoveToMon(mon, MOVE_VOLT_TACKLE); } }*/ @@ -1044,13 +1041,13 @@ static void AlterEggSpeciesWithIncenseItem(u16 *species, struct DayCare *daycare static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parentSlots) { u16 i; - u16 species[2]; + u16 species[DAYCARE_MON_COUNT]; u16 eggSpecies; // Determine which of the daycare mons is the mother and father of the egg. // The 0th index of the parentSlots array is considered the mother slot, and the // 1st index is the father slot. - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { species[i] = GetBoxMonData(&daycare->mons[i].mon, MON_DATA_SPECIES); if (species[i] == SPECIES_DITTO) @@ -1066,11 +1063,11 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent } eggSpecies = GetEggSpecies(species[parentSlots[0]]); - if (eggSpecies == SPECIES_NIDORAN_F && daycare->offspringPersonality & 0x8000) + if (eggSpecies == SPECIES_NIDORAN_F && daycare->offspringPersonality & EGG_GENDER_MALE) { eggSpecies = SPECIES_NIDORAN_M; } - if (eggSpecies == SPECIES_ILLUMISE && daycare->offspringPersonality & 0x8000) + if (eggSpecies == SPECIES_ILLUMISE && daycare->offspringPersonality & EGG_GENDER_MALE) { eggSpecies = SPECIES_VOLBEAT; } @@ -1078,19 +1075,19 @@ static u16 DetermineEggSpeciesAndParentSlots(struct DayCare *daycare, u8 *parent // Make Ditto the "mother" slot if the other daycare mon is male. if (species[parentSlots[1]] == SPECIES_DITTO && GetBoxMonGender(&daycare->mons[parentSlots[0]].mon) != MON_FEMALE) { - u8 temp = parentSlots[1]; + u8 ditto = parentSlots[1]; parentSlots[1] = parentSlots[0]; - parentSlots[0] = temp; + parentSlots[0] = ditto; } return eggSpecies; } -static void _GiveEggFromDaycare(struct DayCare *daycare) // give_egg +static void _GiveEggFromDaycare(struct DayCare *daycare) { struct Pokemon egg; u16 species; - u8 parentSlots[2]; // 0th index is "mother" daycare slot, 1st is "father" + u8 parentSlots[DAYCARE_MON_COUNT]; bool8 isEgg; species = DetermineEggSpeciesAndParentSlots(daycare, parentSlots); @@ -1118,7 +1115,7 @@ void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation) u8 metLocation; u8 isEgg; - CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, FALSE, 0, FALSE, 0); + CreateMon(mon, species, EGG_HATCH_LEVEL, 32, FALSE, 0, OT_ID_PLAYER_ID, 0); metLevel = 0; ball = ITEM_POKE_BALL; language = LANGUAGE_JAPANESE; @@ -1129,7 +1126,7 @@ void CreateEgg(struct Pokemon *mon, u16 species, bool8 setHotSpringsLocation) SetMonData(mon, MON_DATA_LANGUAGE, &language); if (setHotSpringsLocation) { - metLocation = 253; // hot springs; see PokemonSummaryScreen_PrintEggTrainerMemo + metLocation = METLOC_SPECIAL_EGG; SetMonData(mon, MON_DATA_MET_LOCATION, &metLocation); } @@ -1145,7 +1142,7 @@ static void SetInitialEggData(struct Pokemon *mon, u16 species, struct DayCare * u8 language; personality = daycare->offspringPersonality | (Random() << 16); - CreateMon(mon, species, EGG_HATCH_LEVEL, 0x20, TRUE, personality, FALSE, 0); + CreateMon(mon, species, EGG_HATCH_LEVEL, 32, TRUE, personality, OT_ID_PLAYER_ID, 0); metLevel = 0; ball = ITEM_POKE_BALL; language = LANGUAGE_JAPANESE; @@ -1161,7 +1158,7 @@ void GiveEggFromDaycare(void) _GiveEggFromDaycare(&gSaveBlock1Ptr->daycare); } -static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) +static bool8 TryProduceOrHatchEgg(struct DayCare *daycare) { u32 i, validEggs = 0; @@ -1171,15 +1168,16 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) daycare->mons[i].steps++, validEggs++; } - // try to trigger poke sex - if (daycare->offspringPersonality == 0 && validEggs == 2 && (daycare->mons[1].steps & 0xFF) == 0xFF) + // Check if an egg should be produced + if (daycare->offspringPersonality == 0 && validEggs == DAYCARE_MON_COUNT && (daycare->mons[1].steps & 0xFF) == 0xFF) { - u8 loveScore = GetDaycareCompatibilityScore(daycare); - if (loveScore > (Random() * 100u) / USHRT_MAX) + u8 compatability = GetDaycareCompatibilityScore(daycare); + if (compatability > (Random() * 100u) / USHRT_MAX) TriggerPendingDaycareEgg(); } - if (++daycare->stepCounter == 255) // hatch an egg + // Hatch Egg + if (++daycare->stepCounter == 255) { u32 steps; @@ -1191,10 +1189,9 @@ static bool8 _DoEggActions_CheckHatch(struct DayCare *daycare) continue; steps = GetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP); - if (steps != 0) // subtract needed steps + if (steps != 0) { steps -= 1; - SetMonData(&gPlayerParty[i], MON_DATA_FRIENDSHIP, &steps); } else // hatch the egg @@ -1212,7 +1209,7 @@ bool8 ShouldEggHatch(void) { if (GetBoxMonData(&gSaveBlock1Ptr->route5DayCareMon.mon, MON_DATA_SANITY_HAS_SPECIES)) gSaveBlock1Ptr->route5DayCareMon.steps++; - return _DoEggActions_CheckHatch(&gSaveBlock1Ptr->daycare); + return TryProduceOrHatchEgg(&gSaveBlock1Ptr->daycare); } static bool8 IsEggPending(struct DayCare *daycare) @@ -1226,22 +1223,22 @@ static bool8 IsEggPending(struct DayCare *daycare) static void _GetDaycareMonNicknames(struct DayCare *daycare) { u8 text[12]; - if (GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) != 0) + if (GetBoxMonData(&daycare->mons[0].mon, MON_DATA_SPECIES) != SPECIES_NONE) { - GetBoxMonNick(&daycare->mons[0].mon, gStringVar1); + DayCare_GetBoxMonNickname(&daycare->mons[0].mon, gStringVar1); GetBoxMonData(&daycare->mons[0].mon, MON_DATA_OT_NAME, text); StringCopy(gStringVar3, text); } - if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != 0) + if (GetBoxMonData(&daycare->mons[1].mon, MON_DATA_SPECIES) != SPECIES_NONE) { - GetBoxMonNick(&daycare->mons[1].mon, gStringVar2); + DayCare_GetBoxMonNickname(&daycare->mons[1].mon, gStringVar2); } } -u16 GetSelectedMonNickAndSpecies(void) +u16 GetSelectedMonNicknameAndSpecies(void) { - GetBoxMonNick(&gPlayerParty[GetCursorSelectionMonId()].box, gStringVar1); + DayCare_GetBoxMonNickname(&gPlayerParty[GetCursorSelectionMonId()].box, gStringVar1); return GetBoxMonData(&gPlayerParty[GetCursorSelectionMonId()].box, MON_DATA_SPECIES); } @@ -1252,26 +1249,19 @@ void GetDaycareMonNicknames(void) u8 GetDaycareState(void) { - // The daycare can be in 4 possible states: - // 0: default state--no deposited mons, no egg - // 1: there is an egg waiting for the player to pick it up - // 2: there is a single pokemon in the daycare - // 3: there are two pokemon in the daycare, no egg - u8 numMons; if (IsEggPending(&gSaveBlock1Ptr->daycare)) { - // There is an Egg waiting for the player. - return 1; + return DAYCARE_EGG_WAITING; } numMons = CountPokemonInDaycare(&gSaveBlock1Ptr->daycare); if (numMons != 0) { - return numMons + 1; + return numMons + 1; // DAYCARE_ONE_MON or DAYCARE_TWO_MONS } - return 0; + return DAYCARE_NO_MONS; } u8 GetDaycarePokemonCount(void) @@ -1283,15 +1273,15 @@ u8 GetDaycarePokemonCount(void) return 0; } +// Determine if the two given egg group lists contain any of the +// same egg groups. static bool8 EggGroupsOverlap(u16 *eggGroups1, u16 *eggGroups2) { - // Determine if the two given egg group lists contain any of the - // same egg groups. s32 i, j; - for (i = 0; i < 2; i++) + for (i = 0; i < EGG_GROUPS_PER_MON; i++) { - for (j = 0; j < 2; j++) + for (j = 0; j < EGG_GROUPS_PER_MON; j++) { if (eggGroups1[i] == eggGroups2[j]) return TRUE; @@ -1304,12 +1294,12 @@ static bool8 EggGroupsOverlap(u16 *eggGroups1, u16 *eggGroups2) static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) { u32 i; - u16 eggGroups[2][2]; - u16 species[2]; - u32 trainerIds[2]; - u32 genders[2]; + u16 eggGroups[DAYCARE_MON_COUNT][EGG_GROUPS_PER_MON]; + u16 species[DAYCARE_MON_COUNT]; + u32 trainerIds[DAYCARE_MON_COUNT]; + u32 genders[DAYCARE_MON_COUNT]; - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { u32 personality; @@ -1323,41 +1313,42 @@ static u8 GetDaycareCompatibilityScore(struct DayCare *daycare) // check unbreedable egg group if (eggGroups[0][0] == EGG_GROUP_UNDISCOVERED || eggGroups[1][0] == EGG_GROUP_UNDISCOVERED) - return 0; + return PARENTS_INCOMPATIBLE; // two Ditto can't breed if (eggGroups[0][0] == EGG_GROUP_DITTO && eggGroups[1][0] == EGG_GROUP_DITTO) - return 0; + return PARENTS_INCOMPATIBLE; - // now that we checked, one ditto can breed with any other mon + // one parent is Ditto if (eggGroups[0][0] == EGG_GROUP_DITTO || eggGroups[1][0] == EGG_GROUP_DITTO) { - if (trainerIds[0] == trainerIds[1]) // same trainer - return 20; + if (trainerIds[0] == trainerIds[1]) + return PARENTS_LOW_COMPATIBILITY; - return 50; // different trainers, more chance of poke sex + return PARENTS_MED_COMPATABILITY; } + // neither parent is Ditto else { - if (genders[0] == genders[1]) // no homo - return 0; + if (genders[0] == genders[1]) + return PARENTS_INCOMPATIBLE; if (genders[0] == MON_GENDERLESS || genders[1] == MON_GENDERLESS) - return 0; - if (!EggGroupsOverlap(eggGroups[0], eggGroups[1])) // not compatible with each other - return 0; + return PARENTS_INCOMPATIBLE; + if (!EggGroupsOverlap(eggGroups[0], eggGroups[1])) + return PARENTS_INCOMPATIBLE; - if (species[0] == species[1]) // same species + if (species[0] == species[1]) { - if (trainerIds[0] == trainerIds[1]) // same species and trainer - return 50; + if (trainerIds[0] == trainerIds[1]) + return PARENTS_MED_COMPATABILITY; // same species, same trainer - return 70; // different trainers, same species + return PARENTS_MAX_COMPATABILITY; // same species, different trainers } else { - if (trainerIds[0] != trainerIds[1]) // different trainers, different species - return 50; + if (trainerIds[0] != trainerIds[1]) + return PARENTS_MED_COMPATABILITY; // different species, different trainers - return 20; // different species, same trainer + return PARENTS_LOW_COMPATIBILITY; // different species, same trainer } } } @@ -1374,13 +1365,13 @@ void SetDaycareCompatibilityString(void) relationshipScore = GetDaycareCompatibilityScoreFromSave(); whichString = 0; - if (relationshipScore == 0) + if (relationshipScore == PARENTS_INCOMPATIBLE) whichString = 3; - if (relationshipScore == 20) + if (relationshipScore == PARENTS_LOW_COMPATIBILITY) whichString = 2; - if (relationshipScore == 50) + if (relationshipScore == PARENTS_MED_COMPATABILITY) whichString = 1; - if (relationshipScore == 70) + if (relationshipScore == PARENTS_MAX_COMPATABILITY) whichString = 0; StringCopy(gStringVar4, sCompatibilityMessages[whichString]); @@ -1389,20 +1380,20 @@ void SetDaycareCompatibilityString(void) bool8 NameHasGenderSymbol(const u8 *name, u8 genderRatio) { u8 i; - u8 symbolsCount[2]; // male, female - symbolsCount[0] = symbolsCount[1] = 0; + u8 symbolsCount[GENDER_COUNT]; + symbolsCount[MALE] = symbolsCount[FEMALE] = 0; for (i = 0; name[i] != EOS; i++) { if (name[i] == CHAR_MALE) - symbolsCount[0]++; + symbolsCount[MALE]++; if (name[i] == CHAR_FEMALE) - symbolsCount[1]++; + symbolsCount[FEMALE]++; } - if (genderRatio == MON_MALE && symbolsCount[0] != 0 && symbolsCount[1] == 0) + if (genderRatio == MON_MALE && symbolsCount[MALE] != 0 && symbolsCount[FEMALE] == 0) return TRUE; - if (genderRatio == MON_FEMALE && symbolsCount[1] != 0 && symbolsCount[0] == 0) + if (genderRatio == MON_FEMALE && symbolsCount[FEMALE] != 0 && symbolsCount[MALE] == 0) return TRUE; return FALSE; @@ -1431,13 +1422,13 @@ static u8 *AppendMonGenderSymbol(u8 *name, struct BoxPokemon *boxMon) static void GetDaycareLevelMenuText(struct DayCare *daycare, u8 *dest) { - u8 monNames[2][20]; + u8 monNames[DAYCARE_MON_COUNT][20]; u8 i; *dest = EOS; - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { - GetBoxMonNick(&daycare->mons[i].mon, monNames[i]); + DayCare_GetBoxMonNickname(&daycare->mons[i].mon, monNames[i]); AppendMonGenderSymbol(monNames[i], &daycare->mons[i].mon); } @@ -1455,7 +1446,7 @@ static void GetDaycareLevelMenuLevelText(struct DayCare *daycare, u8 *dest) u8 text[20]; *dest = EOS; - for (i = 0; i < 2; i++) + for (i = 0; i < DAYCARE_MON_COUNT; i++) { StringAppend(dest, gText_Lv); level = GetLevelAfterDaycareSteps(&daycare->mons[i].mon, daycare->mons[i].steps); @@ -1487,13 +1478,13 @@ static void DaycareAddTextPrinter(u8 windowId, const u8 *text, u32 x, u32 y) AddTextPrinter(&printer, 0xFF, NULL); } -static void DaycarePrintMonNick(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y) +static void DaycarePrintMonNickname(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y) { - u8 nick[POKEMON_NAME_LENGTH * 2]; + u8 nickname[POKEMON_NAME_LENGTH * 2]; - GetBoxMonNick(&daycare->mons[daycareSlotId].mon, nick); - AppendMonGenderSymbol(nick, &daycare->mons[daycareSlotId].mon); - DaycareAddTextPrinter(windowId, nick, 8, y); + DayCare_GetBoxMonNickname(&daycare->mons[daycareSlotId].mon, nickname); + AppendMonGenderSymbol(nickname, &daycare->mons[daycareSlotId].mon); + DaycareAddTextPrinter(windowId, nickname, 8, y); } static void DaycarePrintMonLvl(struct DayCare *daycare, u8 windowId, u32 daycareSlotId, u32 y) @@ -1519,7 +1510,7 @@ static void DaycarePrintMonInfo(u8 windowId, s32 daycareSlotId, u8 y) { if (daycareSlotId < (unsigned) DAYCARE_MON_COUNT) { - DaycarePrintMonNick(&gSaveBlock1Ptr->daycare, windowId, daycareSlotId, y); + DaycarePrintMonNickname(&gSaveBlock1Ptr->daycare, windowId, daycareSlotId, y); DaycarePrintMonLvl(&gSaveBlock1Ptr->daycare, windowId, daycareSlotId, y); } } @@ -1539,8 +1530,8 @@ static void Task_HandleDaycareLevelMenuInput(u8 taskId) case 1: gSpecialVar_Result = input; break; - case 5: - gSpecialVar_Result = 2; + case DAYCARE_LEVEL_MENU_EXIT: + gSpecialVar_Result = DAYCARE_EXITED_LEVEL_MENU; break; } DestroyListMenuTask(gTasks[taskId].tMenuListTaskId, NULL, NULL); @@ -1551,7 +1542,7 @@ static void Task_HandleDaycareLevelMenuInput(u8 taskId) } else if (gMain.newKeys & B_BUTTON) { - gSpecialVar_Result = 2; + gSpecialVar_Result = DAYCARE_EXITED_LEVEL_MENU; DestroyListMenuTask(gTasks[taskId].tMenuListTaskId, NULL, NULL); ClearStdWindowAndFrame(gTasks[taskId].tWindowId, TRUE); RemoveWindow(gTasks[taskId].tWindowId); @@ -1697,7 +1688,7 @@ static void AddHatchedMonToParty(u8 id) GetSetPokedexFlag(pokeNum, FLAG_SET_SEEN); GetSetPokedexFlag(pokeNum, FLAG_SET_CAUGHT); - GetMonNick(mon, gStringVar1); + DayCare_GetMonNickname(mon, gStringVar1); ball = ITEM_POKE_BALL; SetMonData(mon, MON_DATA_POKEBALL, &ball); @@ -1722,7 +1713,7 @@ static bool8 sub_8046E34(struct DayCare *daycare, u8 daycareId) u8 nick[0x20]; struct DaycareMon *daycareMon = &daycare->mons[daycareId]; - GetBoxMonNick(&daycareMon->mon, nick); + DayCare_GetBoxMonNickname(&daycareMon->mon, nick); if (daycareMon->mail.message.itemId != 0 && (StringCompare(nick, daycareMon->mail.monName) != 0 || StringCompare(gSaveBlock2Ptr->playerName, daycareMon->mail.OT_name) != 0)) @@ -1963,7 +1954,7 @@ static void CB2_EggHatch_1(void) } break; case 5: - GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1); + DayCare_GetMonNickname(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_HatchedFromEgg); EggHatchPrintMessage(sEggHatchData->windowId, gStringVar4, 0, 3, 0xFF); PlayFanfare(MUS_FANFA5); @@ -1980,7 +1971,7 @@ static void CB2_EggHatch_1(void) sEggHatchData->CB2_state++; break; case 8: - GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1); + DayCare_GetMonNickname(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar1); StringExpandPlaceholders(gStringVar4, gText_NickHatchPrompt); EggHatchPrintMessage(sEggHatchData->windowId, gStringVar4, 0, 2, 1); sEggHatchData->CB2_state++; @@ -1997,7 +1988,7 @@ static void CB2_EggHatch_1(void) switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: - GetMonNick(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar3); + DayCare_GetMonNickname(&gPlayerParty[sEggHatchData->eggPartyID], gStringVar3); species = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_SPECIES); gender = GetMonGender(&gPlayerParty[sEggHatchData->eggPartyID]); personality = GetMonData(&gPlayerParty[sEggHatchData->eggPartyID], MON_DATA_PERSONALITY, 0); diff --git a/src/event_object_lock.c b/src/event_object_lock.c index ea4fa00b9..e91642aa2 100644 --- a/src/event_object_lock.c +++ b/src/event_object_lock.c @@ -9,7 +9,7 @@ bool8 walkrun_is_standing_still(void) { - if (gPlayerAvatar.running1 == 1) + if (gPlayerAvatar.tileTransitionState == 1) return FALSE; else return TRUE; diff --git a/src/field_fadetransition.c b/src/field_fadetransition.c index dbc5f23b5..0af5f462c 100644 --- a/src/field_fadetransition.c +++ b/src/field_fadetransition.c @@ -56,12 +56,12 @@ void pal_fill_for_maplights(void) { case 0: palette_bg_faded_fill_black(); - fade_screen(0, 0); + FadeScreen(0, 0); palette_bg_faded_fill_black(); break; case 1: palette_bg_faded_fill_white(); - fade_screen(2, 0); + FadeScreen(2, 0); palette_bg_faded_fill_white(); break; } @@ -73,12 +73,12 @@ static void sub_807DBAC(void) { case 0: palette_bg_faded_fill_black(); - fade_screen(0, 3); + FadeScreen(0, 3); palette_bg_faded_fill_black(); break; case 1: palette_bg_faded_fill_white(); - fade_screen(2, 3); + FadeScreen(2, 3); palette_bg_faded_fill_white(); break; } @@ -87,7 +87,7 @@ static void sub_807DBAC(void) void sub_807DC00(void) { palette_bg_faded_fill_black(); - fade_screen(0, 0); + FadeScreen(0, 0); palette_bg_faded_fill_black(); } @@ -95,16 +95,16 @@ void sub_807DC18(void) { const struct MapHeader *header = warp1_get_mapheader(); if (header->regionMapSectionId != gMapHeader.regionMapSectionId && sub_80F8110(header->regionMapSectionId, FALSE)) - fade_screen(1, 0); + FadeScreen(1, 0); else { switch (sub_80C9D7C(GetCurrentMapType(), header->mapType)) { case 0: - fade_screen(1, 0); + FadeScreen(1, 0); break; case 1: - fade_screen(3, 0); + FadeScreen(3, 0); break; } } @@ -115,10 +115,10 @@ static void sub_807DC70(void) switch (sub_80C9D7C(GetCurrentMapType(), warp1_get_mapheader()->mapType)) { case 0: - fade_screen(1, 3); + FadeScreen(1, 3); break; case 1: - fade_screen(3, 3); + FadeScreen(3, 3); break; } } @@ -654,7 +654,7 @@ static void sub_807E678(u8 taskId) { case 0: ClearLinkCallback_2(); - fade_screen(1, 0); + FadeScreen(1, 0); sub_8055F88(); PlaySE(SE_KAIDAN); data[0]++; diff --git a/src/field_specials.c b/src/field_specials.c index 8d6014fba..57bf53830 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -1816,7 +1816,7 @@ static const struct { {MAP_GROUP(ROCKET_HIDEOUT_B1F), MAP_NUM(ROCKET_HIDEOUT_B1F), MAP_GROUP(CELADON_CITY_GAME_CORNER), MAP_NUM(CELADON_CITY_GAME_CORNER)}, {MAP_GROUP(SAFARI_ZONE_CENTER), MAP_NUM(SAFARI_ZONE_CENTER), MAP_GROUP(FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE), MAP_NUM(FUCHSIA_CITY_SAFARI_ZONE_ENTRANCE)}, {MAP_GROUP(FUCHSIA_CITY_GYM), MAP_NUM(FUCHSIA_CITY_GYM), MAP_GROUP(FUCHSIA_CITY), MAP_NUM(FUCHSIA_CITY)}, - {MAP_GROUP(FUCHSIA_CITY_BUILDING1), MAP_NUM(FUCHSIA_CITY_BUILDING1), MAP_GROUP(FUCHSIA_CITY), MAP_NUM(FUCHSIA_CITY)}, + {MAP_GROUP(FUCHSIA_CITY_WARDENS_HOUSE), MAP_NUM(FUCHSIA_CITY_WARDENS_HOUSE), MAP_GROUP(FUCHSIA_CITY), MAP_NUM(FUCHSIA_CITY)}, {MAP_GROUP(SAFFRON_CITY_DOJO), MAP_NUM(SAFFRON_CITY_DOJO), MAP_GROUP(SAFFRON_CITY), MAP_NUM(SAFFRON_CITY)}, {MAP_GROUP(SAFFRON_CITY_GYM), MAP_NUM(SAFFRON_CITY_GYM), MAP_GROUP(SAFFRON_CITY), MAP_NUM(SAFFRON_CITY)}, {MAP_GROUP(SILPH_CO_1F), MAP_NUM(SILPH_CO_1F), MAP_GROUP(SAFFRON_CITY), MAP_NUM(SAFFRON_CITY)}, diff --git a/src/item_menu.c b/src/item_menu.c new file mode 100644 index 000000000..ffba2eae9 --- /dev/null +++ b/src/item_menu.c @@ -0,0 +1,2400 @@ +#include "global.h" +#include "gflib.h" +#include "bag.h" +#include "battle_controllers.h" +#include "berry_pouch.h" +#include "decompress.h" +#include "event_scripts.h" +#include "event_object_80688E4.h" +#include "field_player_avatar.h" +#include "graphics.h" +#include "help_system.h" +#include "item.h" +#include "item_menu.h" +#include "item_menu_icons.h" +#include "item_use.h" +#include "link.h" +#include "list_menu.h" +#include "load_save.h" +#include "mail_data.h" +#include "map_name_popup.h" +#include "menu.h" +#include "menu_indicators.h" +#include "money.h" +#include "new_menu_helpers.h" +#include "overworld.h" +#include "party_menu.h" +#include "pokemon_storage_system.h" +#include "scanline_effect.h" +#include "script.h" +#include "shop.h" +#include "strings.h" +#include "teachy_tv.h" +#include "tm_case.h" +#include "constants/items.h" +#include "constants/songs.h" + +#define FREE_IF_SET(ptr) ({ if (ptr) Free(ptr); }) + +struct BagMenuAlloc +{ + MainCallback exitCB; + u8 itemOriginalLocation; + u8 pocketSwitchMode:4; + u8 itemMenuIcon:2; + u8 inhibitItemDescriptionPrint:2; + u16 contextMenuSelectedItem; + u8 pocketScrollArrowsTask; + u8 pocketSwitchArrowsTask; + u8 nItems[3]; + u8 maxShowed[3]; + u8 data[4]; +}; + +struct BagSlots +{ + struct ItemSlot bagPocket_Items[BAG_ITEMS_COUNT]; + struct ItemSlot bagPocket_KeyItems[BAG_KEYITEMS_COUNT]; + struct ItemSlot bagPocket_PokeBalls[BAG_POKEBALLS_COUNT]; + u16 itemsAbove[3]; + u16 cursorPos[3]; + u16 registeredItem; + u16 pocket; +}; + +EWRAM_DATA struct BagStruct gBagMenuState = {}; +static EWRAM_DATA struct BagMenuAlloc * sBagMenuDisplay = NULL; +static EWRAM_DATA void * sBagBgTilemapBuffer = NULL; +static EWRAM_DATA struct ListMenuItem * sListMenuItems = NULL; +static EWRAM_DATA u8 (*sListMenuItemStrings)[19] = NULL; +static EWRAM_DATA u8 sContextMenuItemsBuffer[4] = {}; +static EWRAM_DATA const u8 *sContextMenuItemsPtr = NULL; +static EWRAM_DATA u8 sContextMenuNumItems = 0; +static EWRAM_DATA struct BagSlots * sBackupPlayerBag = NULL; +EWRAM_DATA u16 gSpecialVar_ItemId = ITEM_NONE; + +static void CB2_OpenBagMenu(void); +static bool8 LoadBagMenuGraphics(void); +static void FadeOutOfBagMenu(void); +static void Task_WaitFadeOutOfBagMenu(u8 taskId); +static void NullBagMenuBufferPtrs(void); +static bool8 BagMenuInitBgsAndAllocTilemapBuffer(void); +static bool8 DoLoadBagGraphics(void); +static u8 CreateBagInputHandlerTask(u8 location); +static bool8 TryAllocListMenuBuffers(void); +static void Bag_BuildListMenuTemplate(u8 pocket); +static void BagListMenuGetItemNameColored(u8 *dest, u16 itemId); +static void BagListMenuMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list); +static void BagListMenuItemPrintFunc(u8 windowId, s32 itemId, u8 y); +static void bag_menu_print_cursor(u8 y, u8 colorIdx); +static void PrintBagPocketName(void); +static void PrintItemDescriptionOnMessageWindow(s32 itemIndex); +static void CreatePocketScrollArrowPair(void); +static void CreatePocketSwitchArrowPair(void); +static void BagDestroyPocketSwitchArrowPair(void); +static void CalculateInitialCursorPosAndItemsAbove(void); +static void UpdatePocketScrollPositions(void); +static void DestroyBagMenuResources(void); +static void Task_ItemMenu_WaitFadeAndSwitchToExitCallback(u8 taskId); +static void Task_AnimateWin0v(u8 taskId); +static void ShowBagOrBeginWin0OpenTask(void); +static void All_CalculateNItemsAndMaxShowed(void); +static void Task_BagMenu_HandleInput(u8 taskId); +static void Task_ItemContextMenuByLocation(u8 taskId); +static void Bag_FillMessageBoxWithPalette(u32 a0); +static u8 ProcessPocketSwitchInput(u8 taskId, u8 pocketId); +static void SwitchPockets(u8 taskId, s16 direction, bool16 a2); +static void Task_AnimateSwitchPockets(u8 taskId); +static void BeginMovingItemInPocket(u8 taskId, s16 itemIndex); +static void Task_MoveItemInPocket_HandleInput(u8 taskId); +static void ExecuteMoveItemInPocket(u8 taskId, u32 itemIndex); +static void AbortMovingItemInPocket(u8 taskId, u32 itemIndex); +static void CopyBagListBgTileRowToTilemapBuffer(u8 a0); +static void Task_ItemContext_FieldOrBattle(u8 taskId); +static void Task_FieldItemContextMenuHandleInput(u8 taskId); +static void Task_ItemMenuAction_Use(u8 taskId); +static void Task_ItemMenuAction_Toss(u8 taskId); +static void Task_ConfirmTossItems(u8 taskId); +static void Task_TossItem_No(u8 taskId); +static void Task_SelectQuantityToToss(u8 taskId); +static void Task_TossItem_Yes(u8 taskId); +static void Task_WaitAB_RedrawAndReturnToBag(u8 taskId); +static void Task_ItemMenuAction_ToggleSelect(u8 taskId); +static void Task_ItemMenuAction_Give(u8 taskId); +static void Task_PrintThereIsNoPokemon(u8 taskId); +static void Task_ItemMenuAction_Cancel(u8 taskId); +static void Task_PrintItemCantBeHeld(u8 taskId); +static void Task_WaitAButtonAndCloseContextMenu(u8 taskId); +static void Task_ItemMenuAction_BattleUse(u8 taskId); +static void Task_ItemContext_FieldGive(u8 taskId); +static void GoToTMCase_Give(void); +static void GoToBerryPouch_Give(void); +static void ReturnToBagMenuFromSubmenu_Give(void); +static void Task_ItemContext_PcBoxGive(u8 taskId); +static void GoToTMCase_PCBox(void); +static void GoToBerryPouch_PCBox(void); +static void ReturnToBagMenuFromSubmenu_PCBox(void); +static void Task_ItemContext_Sell(u8 taskId); +static void GoToTMCase_Sell(void); +static void GoToBerryPouch_Sell(void); +static void ReturnToBagMenuFromSubmenu_Sell(void); +static void Task_PrintSaleConfirmationText(u8 taskId); +static void Task_ShowSellYesNoMenu(u8 taskId); +static void Task_SellItem_No(u8 taskId); +static void Task_InitSaleQuantitySelectInterface(u8 taskId); +static void UpdateSalePriceDisplay(s32 price); +static void Task_SelectQuantityToSell(u8 taskId); +static void Task_SellItem_Yes(u8 taskId); +static void Task_FinalizeSaleToShop(u8 taskId); +static void Task_WaitPressAB_AfterSell(u8 taskId); +static void Task_ItemContext_Deposit(u8 taskId); +static void Task_SelectQuantityToDeposit(u8 taskId); +static void Task_TryDoItemDeposit(u8 taskId); +static bool8 BagIsTutorial(void); +static void Task_Bag_OldManTutorial(u8 taskId); +static void Task_Pokedude_FadeFromBag(u8 taskId); +static void Task_Pokedude_WaitFadeAndExitBag(u8 taskId); +static void Task_Bag_TeachyTvRegister(u8 taskId); +static void Task_Bag_TeachyTvCatching(u8 taskId); +static void Task_Bag_TeachyTvStatus(u8 taskId); +static void Task_Bag_TeachyTvTMs(u8 taskId); + +static const struct BgTemplate sBgTemplates[2] = { + { + .bg = 0, + .charBaseIndex = 0, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0x000 + }, { + .bg = 1, + .charBaseIndex = 3, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0x000 + } +}; + +static const u8 *const sPocketNames[] = { + gText_Items2, + gText_KeyItems2, + gText_PokeBalls2 +}; + +static const u16 sBagListBgTiles[][18] = { + INCBIN_U16("graphics/item_menu/bagmap_0.bin"), + INCBIN_U16("graphics/item_menu/bagmap_1.bin"), + INCBIN_U16("graphics/item_menu/bagmap_2.bin"), + INCBIN_U16("graphics/item_menu/bagmap_3.bin"), + INCBIN_U16("graphics/item_menu/bagmap_4.bin"), + INCBIN_U16("graphics/item_menu/bagmap_5.bin"), + INCBIN_U16("graphics/item_menu/bagmap_6.bin"), + INCBIN_U16("graphics/item_menu/bagmap_7.bin"), + INCBIN_U16("graphics/item_menu/bagmap_8.bin"), + INCBIN_U16("graphics/item_menu/bagmap_9.bin"), + INCBIN_U16("graphics/item_menu/bagmap_A.bin"), + INCBIN_U16("graphics/item_menu/bagmap_B.bin") +}; + +static const struct MenuAction sItemMenuContextActions[] = { + [ITEMMENUACTION_USE] = {gOtherText_Use, {.void_u8 = Task_ItemMenuAction_Use}}, + [ITEMMENUACTION_TOSS] = {gOtherText_Toss, {.void_u8 = Task_ItemMenuAction_Toss}}, + [ITEMMENUACTION_REGISTER] = {gOtherText_Register, {.void_u8 = Task_ItemMenuAction_ToggleSelect}}, + [ITEMMENUACTION_GIVE] = {gOtherText_Give, {.void_u8 = Task_ItemMenuAction_Give}}, + [ITEMMENUACTION_CANCEL] = {gFameCheckerText_Cancel, {.void_u8 = Task_ItemMenuAction_Cancel}}, + [ITEMMENUACTION_BATTLE_USE] = {gOtherText_Use, {.void_u8 = Task_ItemMenuAction_BattleUse}}, + [ITEMMENUACTION_CHECK] = {gOtherText_Check, {.void_u8 = Task_ItemMenuAction_Use}}, + [ITEMMENUACTION_OPEN] = {gOtherText_Open, {.void_u8 = Task_ItemMenuAction_Use}}, + [ITEMMENUACTION_OPEN_BERRIES] = {gOtherText_Open, {.void_u8 = Task_ItemMenuAction_BattleUse}}, + [ITEMMENUACTION_WALK] = {gOtherText_Walk, {.void_u8 = Task_ItemMenuAction_Use}}, + [ITEMMENUACTION_DESELECT] = {gOtherText_Deselect, {.void_u8 = Task_ItemMenuAction_ToggleSelect}}, + [ITEMMENUACTION_DUMMY] = {gString_Dummy, {.void_u8 = NULL}} +}; + +static const u8 sContextMenuItems_Field[][4] = { + { + ITEMMENUACTION_USE, + ITEMMENUACTION_GIVE, + ITEMMENUACTION_TOSS, + ITEMMENUACTION_CANCEL + }, { + ITEMMENUACTION_USE, + ITEMMENUACTION_REGISTER, + ITEMMENUACTION_CANCEL, + ITEMMENUACTION_DUMMY + }, { + ITEMMENUACTION_GIVE, + ITEMMENUACTION_TOSS, + ITEMMENUACTION_CANCEL, + ITEMMENUACTION_DUMMY + } +}; + +static const u8 sContextMenuItems_CheckGiveTossCancel[] = { + ITEMMENUACTION_CHECK, + ITEMMENUACTION_GIVE, + ITEMMENUACTION_TOSS, + ITEMMENUACTION_CANCEL +}; + +static const u8 sContextMenuItems_GiveIfNotKeyItemPocket[][2] = { + { + ITEMMENUACTION_GIVE, + ITEMMENUACTION_CANCEL + }, { + ITEMMENUACTION_CANCEL, + ITEMMENUACTION_DUMMY + }, { + ITEMMENUACTION_GIVE, + ITEMMENUACTION_CANCEL + } +}; + +static const u8 sContextMenuItems_Open[] = { + ITEMMENUACTION_OPEN, + ITEMMENUACTION_CANCEL +}; + +static const u8 sContextMenuItems_BattleUse[] = { + ITEMMENUACTION_BATTLE_USE, + ITEMMENUACTION_CANCEL +}; + +static const u8 sContextMenuItems_Cancel[] = { + ITEMMENUACTION_CANCEL, + ITEMMENUACTION_DUMMY +}; + +static const TaskFunc sItemContextTaskFuncs[] = { + [ITEMMENULOCATION_FIELD] = Task_ItemContext_FieldOrBattle, + [ITEMMENULOCATION_PARTY] = Task_ItemContext_FieldGive, + [ITEMMENULOCATION_SHOP] = Task_ItemContext_Sell, + [ITEMMENULOCATION_ITEMPC] = Task_ItemContext_Deposit, + [ITEMMENULOCATION_PCBOX] = Task_ItemContext_PcBoxGive, + [ITEMMENULOCATION_BATTLE] = Task_ItemContext_FieldOrBattle, + [ITEMMENULOCATION_OLD_MAN] = NULL +}; + +static const struct YesNoFuncTable sYesNoMenu_Toss = { + Task_TossItem_Yes, + Task_TossItem_No +}; + +static const struct YesNoFuncTable sYesNoMenu_Sell = { + Task_SellItem_Yes, + Task_SellItem_No +}; + +static const u8 sListItemTextColor_RegularItem[] = _("{COLOR_HIGHLIGHT_SHADOW RED TRANSPARENT GREEN}"); + +static const u8 sListItemTextColor_TmCase_BerryPouch[] = _("{COLOR_HIGHLIGHT_SHADOW LIGHT_GRAY TRANSPARENT BLACK}"); + +static const struct ScrollArrowsTemplate sPocketSwitchArrowPairTemplate = { + .firstArrowType = SCROLL_ARROW_LEFT, + .firstX = 8, + .firstY = 72, + .secondArrowType = SCROLL_ARROW_RIGHT, + .secondX = 72, + .secondY = 72, + .fullyUpThreshold = 0, + .fullyDownThreshold = 2, + .tileTag = 111, + .palTag = 111, + .palNum = 0, +}; + +static const u8 sBlit_SelectButton[] = INCBIN_U8("graphics/interface/select_button.4bpp"); + +void GoToBagMenu(u8 location, u8 pocket, MainCallback bagCallback) +{ + u8 i; + + NullBagMenuBufferPtrs(); + sBagMenuDisplay = Alloc(sizeof(struct BagMenuAlloc)); + if (sBagMenuDisplay == NULL) + SetMainCallback2(bagCallback); + else + { + if (location != ITEMMENULOCATION_LAST) + gBagMenuState.location = location; + if (bagCallback != NULL) + gBagMenuState.bagCallback = bagCallback; + sBagMenuDisplay->exitCB = NULL; + sBagMenuDisplay->itemOriginalLocation = 0xFF; + sBagMenuDisplay->itemMenuIcon = 0; + sBagMenuDisplay->inhibitItemDescriptionPrint = FALSE; + sBagMenuDisplay->pocketScrollArrowsTask = 0xFF; + sBagMenuDisplay->pocketSwitchArrowsTask = 0xFF; + if (location == ITEMMENULOCATION_ITEMPC) + sBagMenuDisplay->pocketSwitchMode = 1; + else if (location == ITEMMENULOCATION_OLD_MAN) + sBagMenuDisplay->pocketSwitchMode = 2; + else + sBagMenuDisplay->pocketSwitchMode = 0; + for (i = 0; i < 4; i++) + { + sBagMenuDisplay->data[i] = 0; + } + if (pocket == OPEN_BAG_ITEMS || pocket == OPEN_BAG_KEYITEMS || pocket == OPEN_BAG_POKEBALLS) + gBagMenuState.pocket = pocket; + gTextFlags.autoScroll = FALSE; + gSpecialVar_ItemId = ITEM_NONE; + SetMainCallback2(CB2_OpenBagMenu); + } +} + +void CB2_BagMenuFromStartMenu(void) +{ + GoToBagMenu(ITEMMENULOCATION_FIELD, OPEN_BAG_LAST, CB2_ReturnToFieldWithOpenMenu); +} + +void CB2_BagMenuFromBattle(void) +{ + GoToBagMenu(ITEMMENULOCATION_BATTLE, OPEN_BAG_LAST, SetCB2ToReshowScreenAfterMenu2); +} + +static void CB2_BagMenuRun(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + DoScheduledBgTilemapCopiesToVram(); + UpdatePaletteFade(); +} + +static void VBlankCB_BagMenuRun(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void CB2_OpenBagMenu(void) +{ + while (1) + { + if ((u8)sub_80BF72C() == TRUE) + break; + if (LoadBagMenuGraphics() == TRUE) + break; + if (MenuHelpers_LinkSomething() == TRUE) + break; + } +} + +static bool8 LoadBagMenuGraphics(void) +{ + u8 taskId; + + switch (gMain.state) + { + case 0: + SetVBlankHBlankCallbacksToNull(); + ClearScheduledBgCopiesToVram(); + gMain.state++; + break; + case 1: + ScanlineEffect_Stop(); + gMain.state++; + break; + case 2: + FreeAllSpritePalettes(); + gMain.state++; + break; + case 3: + ResetPaletteFade(); + gPaletteFade.bufferTransferDisabled = TRUE; + gMain.state++; + break; + case 4: + ResetSpriteData(); + gMain.state++; + break; + case 5: + ResetItemMenuIconState(); + gMain.state++; + break; + case 6: + if (!MenuHelpers_LinkSomething()) + { + ResetTasks(); + } + gMain.state++; + break; + case 7: + if (BagMenuInitBgsAndAllocTilemapBuffer()) + { + sBagMenuDisplay->data[0] = 0; + gMain.state++; + } + else + { + FadeOutOfBagMenu(); + return TRUE; + } + break; + case 8: + if (DoLoadBagGraphics() == TRUE) + gMain.state++; + break; + case 9: + InitBagWindows(); + gMain.state++; + break; + case 10: + All_CalculateNItemsAndMaxShowed(); + CalculateInitialCursorPosAndItemsAbove(); + UpdatePocketScrollPositions(); + gMain.state++; + break; + case 11: + if (!TryAllocListMenuBuffers()) + { + FadeOutOfBagMenu(); + return TRUE; + } + gMain.state++; + break; + case 12: + Bag_BuildListMenuTemplate(gBagMenuState.pocket); + gMain.state++; + break; + case 13: + if (gBagMenuState.location != ITEMMENULOCATION_ITEMPC) + PrintBagPocketName(); + else + BagDrawDepositItemTextBox(); + gMain.state++; + break; + case 14: + taskId = CreateBagInputHandlerTask(gBagMenuState.location); + gTasks[taskId].data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]); + gTasks[taskId].data[3] = 0; + gTasks[taskId].data[8] = 0; + gMain.state++; + break; + case 15: + CreateBagOrSatchelSprite(gBagMenuState.pocket); + gMain.state++; + break; + case 16: + CreatePocketScrollArrowPair(); + CreatePocketSwitchArrowPair(); + gMain.state++; + break; + case 17: + ItemMenuIcons_CreateInsertIndicatorBarHidden(); + gMain.state++; + break; + case 18: + ShowBagOrBeginWin0OpenTask(); + gMain.state++; + break; + case 19: + if (gBagMenuState.location == ITEMMENULOCATION_ITEMPC) + HelpSystem_SetSomeVariable2(29); + else + HelpSystem_SetSomeVariable2(9); + gPaletteFade.bufferTransferDisabled = FALSE; + gMain.state++; + break; + default: + SetVBlankCallback(VBlankCB_BagMenuRun); + SetMainCallback2(CB2_BagMenuRun); + return TRUE; + } + return FALSE; +} + +static void FadeOutOfBagMenu(void) +{ + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); + CreateTask(Task_WaitFadeOutOfBagMenu, 0); + SetVBlankCallback(VBlankCB_BagMenuRun); + SetMainCallback2(CB2_BagMenuRun); +} + +static void Task_WaitFadeOutOfBagMenu(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(gBagMenuState.bagCallback); + DestroyBagMenuResources(); + DestroyTask(taskId); + } +} + +static void NullBagMenuBufferPtrs(void) +{ + sBagMenuDisplay = NULL; + sBagBgTilemapBuffer = NULL; + sListMenuItems = NULL; + sListMenuItemStrings = NULL; +} + +static bool8 BagMenuInitBgsAndAllocTilemapBuffer(void) +{ + void **buff; + ResetAllBgsCoordinatesAndBgCntRegs(); + buff = &sBagBgTilemapBuffer; + *buff = Alloc(0x800); + if (*buff == NULL) + return FALSE; + memset(*buff, 0, 0x800); + ResetBgsAndClearDma3BusyFlags(FALSE); + InitBgsFromTemplates(0, sBgTemplates, NELEMS(sBgTemplates)); + SetBgTilemapBuffer(1, *buff); + ScheduleBgCopyTilemapToVram(1); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON | DISPCNT_WIN0_ON); + ShowBg(0); + ShowBg(1); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + return TRUE; +} + +static bool8 DoLoadBagGraphics(void) +{ + switch (sBagMenuDisplay->data[0]) + { + case 0: + ResetTempTileDataBuffers(); + DecompressAndCopyTileDataToVram(1, gUnknown_8E830CC, 0, 0, 0); + sBagMenuDisplay->data[0]++; + break; + case 1: + if (FreeTempTileDataBuffersIfPossible() != TRUE) + { + if (gBagMenuState.location != ITEMMENULOCATION_ITEMPC) + LZDecompressWram(gUnknown_8E832C0, sBagBgTilemapBuffer); + else + LZDecompressWram(gUnknown_8E83444, sBagBgTilemapBuffer); + sBagMenuDisplay->data[0]++; + } + break; + case 2: + LoadCompressedPalette(gBagBgPalette, 0x00, 0x60); + if (!BagIsTutorial() && gSaveBlock2Ptr->playerGender != MALE) + LoadCompressedPalette(gBagBgPalette_FemaleOverride, 0x00, 0x20); + sBagMenuDisplay->data[0]++; + break; + case 3: + if (BagIsTutorial() == TRUE || gSaveBlock2Ptr->playerGender == MALE) + LoadCompressedSpriteSheet(&gSpriteSheet_Backpack); + else + LoadCompressedSpriteSheet(&gSpriteSheet_Satchel); + sBagMenuDisplay->data[0]++; + break; + case 4: + LoadCompressedSpritePalette(&gSpritePalette_BagOrSatchel); + sBagMenuDisplay->data[0]++; + break; + case 5: + LoadCompressedSpriteSheet(&gBagSwapSpriteSheet); + sBagMenuDisplay->data[0]++; + break; + default: + LoadCompressedSpritePalette(&gBagSwapSpritePalette); + sBagMenuDisplay->data[0] = 0; + return TRUE; + } + + return FALSE; +} + +static u8 CreateBagInputHandlerTask(u8 location) +{ + switch (location) + { + case ITEMMENULOCATION_OLD_MAN: + return CreateTask(Task_Bag_OldManTutorial, 0); + case ITEMMENULOCATION_TTVSCR_REGISTER: + return CreateTask(Task_Bag_TeachyTvRegister, 0); + case ITEMMENULOCATION_TTVSCR_TMS: + return CreateTask(Task_Bag_TeachyTvTMs, 0); + case ITEMMENULOCATION_TTVSCR_STATUS: + return CreateTask(Task_Bag_TeachyTvStatus, 0); + case ITEMMENULOCATION_TTVSCR_CATCHING: + return CreateTask(Task_Bag_TeachyTvCatching, 0); + default: + return CreateTask(Task_BagMenu_HandleInput, 0); + } +} + +static bool8 TryAllocListMenuBuffers(void) +{ + // The items pocket has the highest capacity, + 1 for CANCEL + sListMenuItems = Alloc((BAG_ITEMS_COUNT + 1) * sizeof(struct ListMenuItem)); + if (sListMenuItems == NULL) + return FALSE; + sListMenuItemStrings = Alloc((BAG_ITEMS_COUNT + 1) * sizeof(*sListMenuItemStrings)); + if (sListMenuItemStrings == NULL) + return FALSE; + return TRUE; +} + +static void Bag_BuildListMenuTemplate(u8 pocket) +{ + u16 i; + struct BagPocket * bagPocket = &gBagPockets[pocket]; + for (i = 0; i < sBagMenuDisplay->nItems[pocket]; i++) + { + BagListMenuGetItemNameColored(sListMenuItemStrings[i], bagPocket->itemSlots[i].itemId); + sListMenuItems[i].label = sListMenuItemStrings[i]; + sListMenuItems[i].index = i; + } + StringCopy(sListMenuItemStrings[i], sListItemTextColor_RegularItem); + StringAppend(sListMenuItemStrings[i], gFameCheckerText_Cancel); + sListMenuItems[i].label = sListMenuItemStrings[i]; + sListMenuItems[i].index = i; + gMultiuseListMenuTemplate.items = sListMenuItems; + gMultiuseListMenuTemplate.totalItems = sBagMenuDisplay->nItems[pocket] + 1; + gMultiuseListMenuTemplate.windowId = 0; + gMultiuseListMenuTemplate.header_X = 0; + gMultiuseListMenuTemplate.item_X = 9; + gMultiuseListMenuTemplate.cursor_X = 1; + gMultiuseListMenuTemplate.lettersSpacing = 0; + gMultiuseListMenuTemplate.itemVerticalPadding = 2; + gMultiuseListMenuTemplate.upText_Y = 2; + gMultiuseListMenuTemplate.maxShowed = sBagMenuDisplay->maxShowed[pocket]; + gMultiuseListMenuTemplate.fontId = 2; + gMultiuseListMenuTemplate.cursorPal = 2; + gMultiuseListMenuTemplate.fillValue = 0; + gMultiuseListMenuTemplate.cursorShadowPal = 3; + gMultiuseListMenuTemplate.moveCursorFunc = BagListMenuMoveCursorFunc; + gMultiuseListMenuTemplate.itemPrintFunc = BagListMenuItemPrintFunc; + gMultiuseListMenuTemplate.cursorKind = 0; + gMultiuseListMenuTemplate.scrollMultiple = 0; +} + +static void BagListMenuGetItemNameColored(u8 *dest, u16 itemId) +{ + if (itemId == ITEM_TM_CASE || itemId == ITEM_BERRY_POUCH) + StringCopy(dest, sListItemTextColor_TmCase_BerryPouch); + else + StringCopy(dest, sListItemTextColor_RegularItem); + StringAppend(dest, ItemId_GetName(itemId)); +} + +static void BagListMenuMoveCursorFunc(s32 itemIndex, bool8 onInit, struct ListMenu *list) +{ + if (onInit != TRUE) + { + PlaySE(SE_BAG1); + sub_8098580(); + } + if (sBagMenuDisplay->itemOriginalLocation == 0xFF) + { + DestroyItemMenuIcon(sBagMenuDisplay->itemMenuIcon ^ 1); + if (sBagMenuDisplay->nItems[gBagMenuState.pocket] != itemIndex) + CreateItemMenuIcon(BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, itemIndex), sBagMenuDisplay->itemMenuIcon); + else + CreateItemMenuIcon(ITEM_N_A, sBagMenuDisplay->itemMenuIcon); + sBagMenuDisplay->itemMenuIcon ^= 1; + if (!sBagMenuDisplay->inhibitItemDescriptionPrint) + PrintItemDescriptionOnMessageWindow(itemIndex); + } +} + +static void BagListMenuItemPrintFunc(u8 windowId, s32 itemId, u8 y) +{ + u16 bagItemId; + u16 bagItemQuantity; + if (sBagMenuDisplay->itemOriginalLocation != 0xFF) + { + if (sBagMenuDisplay->itemOriginalLocation == (u8)itemId) + bag_menu_print_cursor(y, 2); + else + bag_menu_print_cursor(y, 0xFF); + } + if (itemId != -2 && sBagMenuDisplay->nItems[gBagMenuState.pocket] != itemId) + { + bagItemId = BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, itemId); + bagItemQuantity = BagGetQuantityByPocketPosition(gBagMenuState.pocket + 1, itemId); + if (gBagMenuState.pocket != POCKET_KEY_ITEMS - 1 && !itemid_is_unique(bagItemId)) + { + ConvertIntToDecimalStringN(gStringVar1, bagItemQuantity, STR_CONV_MODE_RIGHT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + BagPrintTextOnWindow(windowId, 0, gStringVar4, 0x6e, y, 0, 0, 0xFF, 1); + } + else if (gSaveBlock1Ptr->registeredItem != ITEM_NONE && gSaveBlock1Ptr->registeredItem == bagItemId) + { + BlitBitmapToWindow(windowId, sBlit_SelectButton, 0x70, y, 0x18, 0x10); + } + } +} + +static void bag_menu_print_cursor_(u8 taskId, u8 colorIdx) +{ + bag_menu_print_cursor(ListMenuGetYCoordForPrintingArrowCursor(taskId), colorIdx); +} + +static void bag_menu_print_cursor(u8 y, u8 colorIdx) +{ + if (colorIdx == 0xFF) + { + FillWindowPixelRect(0, PIXEL_FILL(0), 1, y, GetMenuCursorDimensionByFont(2, 0), GetMenuCursorDimensionByFont(2, 1)); + } + else + { + BagPrintTextOnWindow(0, 2, gFameCheckerText_ListMenuCursor, 1, y, 0, 0, 0, colorIdx); + } +} + +static void PrintBagPocketName(void) +{ + FillWindowPixelBuffer(2, PIXEL_FILL(0)); + BagPrintTextOnWin1CenteredColor0(sPocketNames[gBagMenuState.pocket], gBagMenuState.pocket); +} + +static void PrintItemDescriptionOnMessageWindow(s32 itemIndex) +{ + const u8 *description; + if (itemIndex != sBagMenuDisplay->nItems[gBagMenuState.pocket]) + description = ItemId_GetDescription(BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, itemIndex)); + else + description = gText_CloseBag; + FillWindowPixelBuffer(1, PIXEL_FILL(0)); + BagPrintTextOnWindow(1, 2, description, 0, 3, 2, 0, 0, 0); +} + +static void CreatePocketScrollArrowPair(void) +{ + sBagMenuDisplay->pocketScrollArrowsTask = AddScrollIndicatorArrowPairParameterized( + SCROLL_ARROW_UP, + 160, + 8, + 104, + sBagMenuDisplay->nItems[gBagMenuState.pocket] - sBagMenuDisplay->maxShowed[gBagMenuState.pocket] + 1, + 110, + 110, + &gBagMenuState.cursorPos[gBagMenuState.pocket] + ); +} + +static void CreatePocketSwitchArrowPair(void) +{ + if (sBagMenuDisplay->pocketSwitchMode != 1) + { + sBagMenuDisplay->pocketSwitchArrowsTask = AddScrollIndicatorArrowPair(&sPocketSwitchArrowPairTemplate, &gBagMenuState.pocket); + } +} + +static void CreatePocketScrollArrowPair_SellQuantity(void) +{ + sBagMenuDisplay->contextMenuSelectedItem = 1; + sBagMenuDisplay->pocketScrollArrowsTask = AddScrollIndicatorArrowPairParameterized( + SCROLL_ARROW_UP, + 152, + 72, + 104, + 2, + 110, + 110, + &sBagMenuDisplay->contextMenuSelectedItem + ); +} + +static void CreateArrowPair_QuantitySelect(void) +{ + sBagMenuDisplay->contextMenuSelectedItem = 1; + sBagMenuDisplay->pocketScrollArrowsTask = AddScrollIndicatorArrowPairParameterized( + SCROLL_ARROW_UP, + 212, + 120, + 152, + 2, + 110, + 110, + &sBagMenuDisplay->contextMenuSelectedItem + ); +} + +static void BagDestroyPocketScrollArrowPair(void) +{ + if (sBagMenuDisplay->pocketScrollArrowsTask != 0xFF) + { + RemoveScrollIndicatorArrowPair(sBagMenuDisplay->pocketScrollArrowsTask); + sBagMenuDisplay->pocketScrollArrowsTask = 0xFF; + } + BagDestroyPocketSwitchArrowPair(); +} + +static void BagDestroyPocketSwitchArrowPair(void) +{ + if (sBagMenuDisplay->pocketSwitchArrowsTask != 0xFF) + { + RemoveScrollIndicatorArrowPair(sBagMenuDisplay->pocketSwitchArrowsTask); + sBagMenuDisplay->pocketSwitchArrowsTask = 0xFF; + } +} + +void ResetBagCursorPositions(void) +{ + u8 i; + gBagMenuState.pocket = POCKET_ITEMS - 1; + gBagMenuState.bagOpen = FALSE; + for (i = 0; i < 3; i++) + { + gBagMenuState.itemsAbove[i] = 0; + gBagMenuState.cursorPos[i] = 0; + } +} + +void PocketCalculateInitialCursorPosAndItemsAbove(u8 pocketId) +{ + if (gBagMenuState.cursorPos[pocketId] != 0 && gBagMenuState.cursorPos[pocketId] + sBagMenuDisplay->maxShowed[pocketId] > sBagMenuDisplay->nItems[pocketId] + 1) + { + gBagMenuState.cursorPos[pocketId] = (sBagMenuDisplay->nItems[pocketId] + 1) - sBagMenuDisplay->maxShowed[pocketId]; + } + if (gBagMenuState.cursorPos[pocketId] + gBagMenuState.itemsAbove[pocketId] >= sBagMenuDisplay->nItems[pocketId] + 1) + { + if (sBagMenuDisplay->nItems[pocketId] + 1 < 2) + gBagMenuState.itemsAbove[pocketId] = 0; + else + gBagMenuState.itemsAbove[pocketId] = sBagMenuDisplay->nItems[pocketId]; + } +} + +static void CalculateInitialCursorPosAndItemsAbove(void) +{ + u8 i; + for (i = 0; i < 3; i++) + { + PocketCalculateInitialCursorPosAndItemsAbove(i); + } +} + +static void UpdatePocketScrollPositions(void) +{ + u8 i; + u8 j; + + for (i = 0; i < 3; i++) + { + if (gBagMenuState.itemsAbove[i] > 3) + { + for (j = 0; j <= gBagMenuState.itemsAbove[i] - 3; gBagMenuState.itemsAbove[i]--, gBagMenuState.cursorPos[i]++, j++) + { + if (gBagMenuState.cursorPos[i] + sBagMenuDisplay->maxShowed[i] == sBagMenuDisplay->nItems[i] + 1) + break; + } + } + } +} + +static void DestroyBagMenuResources(void) +{ + FREE_IF_SET(sBagMenuDisplay); + FREE_IF_SET(sBagBgTilemapBuffer); + FREE_IF_SET(sListMenuItems); + FREE_IF_SET(sListMenuItemStrings); + FreeAllWindowBuffers(); +} + +void ItemMenu_StartFadeToExitCallback(u8 taskId) +{ + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); + gTasks[taskId].func = Task_ItemMenu_WaitFadeAndSwitchToExitCallback; +} + +static void Task_ItemMenu_WaitFadeAndSwitchToExitCallback(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (!gPaletteFade.active && FuncIsActiveTask(Task_AnimateWin0v) != TRUE) + { + DestroyListMenuTask(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]); + if (sBagMenuDisplay->exitCB != NULL) + SetMainCallback2(sBagMenuDisplay->exitCB); + else + SetMainCallback2(gBagMenuState.bagCallback); + BagDestroyPocketScrollArrowPair(); + DestroyBagMenuResources(); + DestroyTask(taskId); + } +} + +static void ShowBagOrBeginWin0OpenTask(void) +{ + u16 paldata = RGB_BLACK; + u8 taskId; + + LoadPalette(&paldata, 0x00, 0x02); + SetGpuReg(REG_OFFSET_WININ, 0); + SetGpuReg(REG_OFFSET_WINOUT, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN0_CLR); + BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + if (gBagMenuState.bagOpen == TRUE) + { + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, 240)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, 0)); + } + else + { + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE(0, 240)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, 160)); + taskId = CreateTask(Task_AnimateWin0v, 0); + gTasks[taskId].data[0] = 192; + gTasks[taskId].data[1] = -16; + gBagMenuState.bagOpen = TRUE; + } +} + +void Bag_BeginCloseWin0Animation(void) +{ + + u8 taskId = CreateTask(Task_AnimateWin0v, 0); + gTasks[taskId].data[0] = -16; + gTasks[taskId].data[1] = 16; + gBagMenuState.bagOpen = FALSE; +} + +void CB2_SetUpReshowBattleScreenAfterMenu(void) +{ + gBagMenuState.bagOpen = FALSE; +} + +static void Task_AnimateWin0v(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + data[0] += data[1]; + if (data[0] > 160) + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(0, 160)); + else + SetGpuReg(REG_OFFSET_WIN0V, data[0]); + if ((data[1] == 16 && data[0] == 160) || (data[1] == -16 && data[0] == 0)) + DestroyTask(taskId); +} + +void MoveItemSlotInList(struct ItemSlot * itemSlots_, u32 from, u32 to_) +{ + // dumb assignments needed to match + struct ItemSlot *itemSlots = itemSlots_; + u32 to = to_; + + if (from != to) + { + s16 i, count; + struct ItemSlot firstSlot = itemSlots[from]; + + if (to > from) + { + to--; + for (i = from, count = to; i < count; i++) + itemSlots[i] = itemSlots[i + 1]; + } + else + { + for (i = from, count = to; i > count; i--) + itemSlots[i] = itemSlots[i - 1]; + } + itemSlots[to] = firstSlot; + } +} + +void Pocket_CalculateNItemsAndMaxShowed(u8 pocketId) +{ + u16 i; + struct BagPocket * pocket = &gBagPockets[pocketId]; + BagPocketCompaction(pocket->itemSlots, pocket->capacity); + sBagMenuDisplay->nItems[pocketId] = 0; + for (i = 0; i < pocket->capacity; i++) + { + if (pocket->itemSlots[i].itemId == ITEM_NONE) + break; + sBagMenuDisplay->nItems[pocketId]++; + } + if (sBagMenuDisplay->nItems[pocketId] + 1 > 6) + sBagMenuDisplay->maxShowed[pocketId] = 6; + else + sBagMenuDisplay->maxShowed[pocketId] = sBagMenuDisplay->nItems[pocketId] + 1; +} + +static void All_CalculateNItemsAndMaxShowed(void) +{ + u8 i; + for (i = 0; i < 3; i++) + Pocket_CalculateNItemsAndMaxShowed(i); +} + +void DisplayItemMessageInBag(u8 taskId, u8 fontId, const u8 * string, TaskFunc followUpFunc) +{ + s16 *data = gTasks[taskId].data; + data[10] = OpenBagWindow(5); + FillWindowPixelBuffer(data[10], PIXEL_FILL(1)); + DisplayMessageAndContinueTask(taskId, data[10], 0x06D, 0x0D, fontId, GetTextSpeedSetting(), string, followUpFunc); + ScheduleBgCopyTilemapToVram(0); +} + +void ItemMenu_SetExitCallback(MainCallback cb) +{ + sBagMenuDisplay->exitCB = cb; +} + +static u8 GetSelectedItemIndex(u8 pocket) +{ + return gBagMenuState.cursorPos[pocket] + gBagMenuState.itemsAbove[pocket]; +} + +static void Task_BagMenu_HandleInput(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 cursorPos; + u16 itemsAbove; + s32 input; + + if (gPaletteFade.active) + return; + if (FuncIsActiveTask(Task_AnimateWin0v) == TRUE) + return; + if ((u8)sub_80BF72C() == TRUE) + return; + switch (ProcessPocketSwitchInput(taskId, gBagMenuState.pocket)) + { + case 1: + SwitchPockets(taskId, -1, FALSE); + return; + case 2: + SwitchPockets(taskId, 1, FALSE); + return; + default: + if (JOY_NEW(SELECT_BUTTON) && gBagMenuState.location == ITEMMENULOCATION_FIELD) + { + ListMenuGetScrollAndRow(data[0], &cursorPos, &itemsAbove); + if (cursorPos + itemsAbove != sBagMenuDisplay->nItems[gBagMenuState.pocket]) + { + PlaySE(SE_SELECT); + BeginMovingItemInPocket(taskId, cursorPos + itemsAbove); + return; + } + } + break; + } + input = ListMenu_ProcessInput(data[0]); + ListMenuGetScrollAndRow(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]); + switch (input) + { + case LIST_NOTHING_CHOSEN: + return; + case LIST_CANCEL: + PlaySE(SE_SELECT); + gSpecialVar_ItemId = ITEM_NONE; + Bag_BeginCloseWin0Animation(); + gTasks[taskId].func = ItemMenu_StartFadeToExitCallback; + break; + default: + PlaySE(SE_SELECT); + if (input == sBagMenuDisplay->nItems[gBagMenuState.pocket]) + { + gSpecialVar_ItemId = ITEM_NONE; + Bag_BeginCloseWin0Animation(); + gTasks[taskId].func = ItemMenu_StartFadeToExitCallback; + } + else + { + BagDestroyPocketScrollArrowPair(); + bag_menu_print_cursor_(data[0], 2); + data[1] = input; + data[2] = BagGetQuantityByPocketPosition(gBagMenuState.pocket + 1, input); + gSpecialVar_ItemId = BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, input); + gTasks[taskId].func = Task_ItemContextMenuByLocation; + } + break; + } +} + +static void Task_ItemContextMenuByLocation(u8 taskId) +{ + Bag_FillMessageBoxWithPalette(1); + sItemContextTaskFuncs[gBagMenuState.location](taskId); +} + +static void Task_RedrawArrowsAndReturnToBagMenuSelect(u8 taskId) +{ + Bag_FillMessageBoxWithPalette(0); + CreatePocketScrollArrowPair(); + CreatePocketSwitchArrowPair(); + gTasks[taskId].func = Task_BagMenu_HandleInput; +} + +static void Bag_FillMessageBoxWithPalette(u32 a0) +{ + SetBgTilemapPalette(1, 0, 14, 30, 6, a0 + 1); + ScheduleBgCopyTilemapToVram(1); +} + +static u8 ProcessPocketSwitchInput(u8 taskId, u8 pocketId) +{ + u8 lrState; + if (sBagMenuDisplay->pocketSwitchMode != 0) + return 0; + lrState = GetLRKeysState(); + if (JOY_NEW(DPAD_LEFT) || lrState == 1) + { + if (pocketId == POCKET_ITEMS - 1) + return 0; + PlaySE(SE_BAG2); + return 1; + } + if (JOY_NEW(DPAD_RIGHT) || lrState == 2) + { + if (pocketId >= POCKET_POKE_BALLS - 1) + return 0; + PlaySE(SE_BAG2); + return 2; + } + return 0; +} + +static void SwitchPockets(u8 taskId, s16 direction, bool16 a2) +{ + s16 *data = gTasks[taskId].data; + data[13] = 0; + data[12] = 0; + data[11] = direction; + if (!a2) + { + ClearWindowTilemap(0); + ClearWindowTilemap(1); + ClearWindowTilemap(2); + DestroyListMenuTask(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]); + ScheduleBgCopyTilemapToVram(0); + DestroyItemMenuIcon(sBagMenuDisplay->itemMenuIcon ^ 1); + BagDestroyPocketScrollArrowPair(); + } + FillBgTilemapBufferRect_Palette0(1, 0x02D, 11, 1, 18, 12); + ScheduleBgCopyTilemapToVram(1); + sub_8098528(gBagMenuState.pocket + direction); + SetTaskFuncWithFollowupFunc(taskId, Task_AnimateSwitchPockets, gTasks[taskId].func); +} + +static void Task_AnimateSwitchPockets(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (!MenuHelpers_LinkSomething() && !BagIsTutorial()) + { + switch (ProcessPocketSwitchInput(taskId, gBagMenuState.pocket + data[11])) + { + case 1: + gBagMenuState.pocket += data[11]; + SwitchTaskToFollowupFunc(taskId); + SwitchPockets(taskId, -1, TRUE); + return; + case 2: + gBagMenuState.pocket += data[11]; + SwitchTaskToFollowupFunc(taskId); + SwitchPockets(taskId, 1, TRUE); + return; + } + } + switch (data[13]) + { + case 0: + if (data[12] != 0x7FFF) + { + data[12]++; + CopyBagListBgTileRowToTilemapBuffer(data[12]); + if (data[12] == 12) + data[12] = 0x7FFF; + } + if (data[12] == 0x7FFF) + data[13]++; + break; + case 1: + gBagMenuState.pocket += data[11]; + PrintBagPocketName(); + Bag_BuildListMenuTemplate(gBagMenuState.pocket); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]); + PutWindowTilemap(1); + PutWindowTilemap(2); + ScheduleBgCopyTilemapToVram(0); + CreatePocketScrollArrowPair(); + CreatePocketSwitchArrowPair(); + SwitchTaskToFollowupFunc(taskId); + break; + } +} + +static void BeginMovingItemInPocket(u8 taskId, s16 itemIndex) +{ + u16 itemsAbove; + u16 cursorPos; + s16 *data = gTasks[taskId].data; + ListMenuGetScrollAndRow(data[0], &cursorPos, &itemsAbove); + ListMenuSetUnkIndicatorsStructField(data[0], 0x10, 1); + data[1] = itemIndex; + sBagMenuDisplay->itemOriginalLocation = itemIndex; + StringCopy(gStringVar1, ItemId_GetName(BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, data[1]))); + StringExpandPlaceholders(gStringVar4, gOtherText_WhereShouldTheStrVar1BePlaced); + FillWindowPixelBuffer(1, PIXEL_FILL(0)); + BagPrintTextOnWindow(1, 2, gStringVar4, 0, 3, 2, 0, 0, 0); + ItemMenuIcons_MoveInsertIndicatorBar(0, ListMenuGetYCoordForPrintingArrowCursor(data[0])); + ItemMenuIcons_ToggleInsertIndicatorBarVisibility(FALSE); + BagDestroyPocketSwitchArrowPair(); + bag_menu_print_cursor_(data[0], 2); + gTasks[taskId].func = Task_MoveItemInPocket_HandleInput; +} + +static void Task_MoveItemInPocket_HandleInput(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + s32 input; + u16 itemsAbove; + u16 cursorPos; + if ((u8)sub_80BF72C() == TRUE) + return; + input = ListMenu_ProcessInput(data[0]); + ListMenuGetScrollAndRow(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]); + ItemMenuIcons_MoveInsertIndicatorBar(0, ListMenuGetYCoordForPrintingArrowCursor(data[0])); + if (JOY_NEW(SELECT_BUTTON)) + { + PlaySE(SE_SELECT); + sBagMenuDisplay->itemOriginalLocation = 0xFF; + ListMenuGetScrollAndRow(data[0], &cursorPos, &itemsAbove); + ExecuteMoveItemInPocket(taskId, cursorPos + itemsAbove); + return; + } + switch (input) + { + case LIST_NOTHING_CHOSEN: + return; + case LIST_CANCEL: + PlaySE(SE_SELECT); + sBagMenuDisplay->itemOriginalLocation = 0xFF; + ListMenuGetScrollAndRow(data[0], &cursorPos, &itemsAbove); + AbortMovingItemInPocket(taskId, cursorPos + itemsAbove); + break; + default: + PlaySE(SE_SELECT); + sBagMenuDisplay->itemOriginalLocation = 0xFF; + ExecuteMoveItemInPocket(taskId, input); + break; + } +} + +static void ExecuteMoveItemInPocket(u8 taskId, u32 itemIndex) +{ + s16 *data = gTasks[taskId].data; + if (data[1] == itemIndex || data[1] == itemIndex - 1) + { + AbortMovingItemInPocket(taskId, itemIndex); + } + else + { + MoveItemSlotInList(gBagPockets[gBagMenuState.pocket].itemSlots, data[1], itemIndex); + DestroyListMenuTask(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]); + if (data[1] < itemIndex) + gBagMenuState.itemsAbove[gBagMenuState.pocket]--; + Bag_BuildListMenuTemplate(gBagMenuState.pocket); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]); + ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE); + CreatePocketSwitchArrowPair(); + gTasks[taskId].func = Task_BagMenu_HandleInput; + } +} + +static void AbortMovingItemInPocket(u8 taskId, u32 itemIndex) +{ + s16 *data = gTasks[taskId].data; + DestroyListMenuTask(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]); + if (data[1] < itemIndex) + gBagMenuState.itemsAbove[gBagMenuState.pocket]--; + Bag_BuildListMenuTemplate(gBagMenuState.pocket); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]); + ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE); + CreatePocketSwitchArrowPair(); + gTasks[taskId].func = Task_BagMenu_HandleInput; +} + +static void InitQuantityToTossOrDeposit(u16 cursorPos, const u8 *str) +{ + u8 r4; + u8 r5 = ShowBagWindow(6, 2); + CopyItemName(BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, cursorPos), gStringVar1); + StringExpandPlaceholders(gStringVar4, str); + BagPrintTextOnWindow(r5, 2, gStringVar4, 0, 2, 1, 0, 0, 1); + r4 = ShowBagWindow(0, 0); + ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, 3); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + BagPrintTextOnWindow(r4, 0, gStringVar4, 4, 10, 1, 0, 0, 1); + CreateArrowPair_QuantitySelect(); +} + +static void UpdateQuantityToTossOrDeposit(s16 value, u8 ndigits) +{ + u8 r6 = GetBagWindow(0); + FillWindowPixelBuffer(r6, PIXEL_FILL(1)); + ConvertIntToDecimalStringN(gStringVar1, value, STR_CONV_MODE_LEADING_ZEROS, ndigits); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + BagPrintTextOnWindow(r6, 0, gStringVar4, 4, 10, 1, 0, 0, 1); +} + +static void CopyBagListBgTileRowToTilemapBuffer(u8 frame) +{ + CopyToBgTilemapBufferRect(1, sBagListBgTiles[12 - frame], 11, 13 - frame, 18, 1); + ScheduleBgCopyTilemapToVram(1); +} + +static void OpenContextMenu(u8 taskId) +{ + u8 r6; + u8 r4; + switch (gBagMenuState.location) + { + case ITEMMENULOCATION_BATTLE: + case ITEMMENULOCATION_TTVSCR_STATUS: + if (gSpecialVar_ItemId == ITEM_BERRY_POUCH) + { + sContextMenuItemsBuffer[0] = ITEMMENUACTION_OPEN_BERRIES; + sContextMenuItemsBuffer[1] = ITEMMENUACTION_CANCEL; + sContextMenuItemsPtr = sContextMenuItemsBuffer; + sContextMenuNumItems = 2; + } + else if (ItemId_GetBattleUsage(gSpecialVar_ItemId)) + { + sContextMenuItemsPtr = sContextMenuItems_BattleUse; + sContextMenuNumItems = 2; + } + else + { + sContextMenuItemsPtr = sContextMenuItems_Cancel; + sContextMenuNumItems = 1; + } + break; + case ITEMMENULOCATION_OLD_MAN: + case ITEMMENULOCATION_TTVSCR_CATCHING: + sContextMenuItemsPtr = sContextMenuItems_BattleUse; + sContextMenuNumItems = 2; + break; + default: + if (MenuHelpers_LinkSomething() == TRUE || InUnionRoom() == TRUE) + { + if (gSpecialVar_ItemId == ITEM_TM_CASE || gSpecialVar_ItemId == ITEM_BERRY_POUCH) + { + sContextMenuItemsPtr = sContextMenuItems_Open; + sContextMenuNumItems = 2; + } + else + { + if (gBagMenuState.pocket == POCKET_KEY_ITEMS - 1) + sContextMenuNumItems = 1; + else + sContextMenuNumItems = 2; + sContextMenuItemsPtr = sContextMenuItems_GiveIfNotKeyItemPocket[gBagMenuState.pocket]; + } + } + else + { + switch (gBagMenuState.pocket) + { + case OPEN_BAG_ITEMS: + sContextMenuNumItems = 4; + if (ItemIsMail(gSpecialVar_ItemId) == TRUE) + sContextMenuItemsPtr = sContextMenuItems_CheckGiveTossCancel; + else + sContextMenuItemsPtr = sContextMenuItems_Field[gBagMenuState.pocket]; + break; + case OPEN_BAG_KEYITEMS: + sContextMenuItemsPtr = sContextMenuItemsBuffer; + sContextMenuNumItems = 3; + sContextMenuItemsBuffer[2] = ITEMMENUACTION_CANCEL; + if (gSaveBlock1Ptr->registeredItem == gSpecialVar_ItemId) + sContextMenuItemsBuffer[1] = ITEMMENUACTION_DESELECT; + else + sContextMenuItemsBuffer[1] = ITEMMENUACTION_REGISTER; + if (gSpecialVar_ItemId == ITEM_TM_CASE || gSpecialVar_ItemId == ITEM_BERRY_POUCH) + sContextMenuItemsBuffer[0] = ITEMMENUACTION_OPEN; + else if (gSpecialVar_ItemId == ITEM_BICYCLE && TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_ACRO_BIKE | PLAYER_AVATAR_FLAG_MACH_BIKE)) + sContextMenuItemsBuffer[0] = ITEMMENUACTION_WALK; + else + sContextMenuItemsBuffer[0] = ITEMMENUACTION_USE; + break; + case OPEN_BAG_POKEBALLS: + sContextMenuItemsPtr = sContextMenuItems_Field[gBagMenuState.pocket]; + sContextMenuNumItems = 3; + break; + } + } + } + r6 = ShowBagWindow(10, sContextMenuNumItems - 1); + AddItemMenuActionTextPrinters( + r6, + 2, + GetMenuCursorDimensionByFont(2, 0), + 2, + GetFontAttribute(2, FONTATTR_LETTER_SPACING), + GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, + sContextMenuNumItems, + sItemMenuContextActions, + sContextMenuItemsPtr + ); + Menu_InitCursor(r6, 2, 0, 2, GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT) + 2, sContextMenuNumItems, 0); + r4 = ShowBagWindow(6, 0); + CopyItemName(gSpecialVar_ItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gOtherText_StrVar1); + BagPrintTextOnWindow(r4, 2, gStringVar4, 0, 2, 1, 0, 0, 1); +} + +static void Task_ItemContext_FieldOrBattle(u8 taskId) +{ + OpenContextMenu(taskId); + gTasks[taskId].func = Task_FieldItemContextMenuHandleInput; +} + +static void Task_FieldItemContextMenuHandleInput(u8 taskId) +{ + s8 input; + if ((u8)sub_80BF72C() != TRUE) + { + input = Menu_ProcessInputNoWrapAround(); + switch (input) + { + case -1: + PlaySE(SE_SELECT); + sItemMenuContextActions[ITEMMENUACTION_CANCEL].func.void_u8(taskId); + break; + case -2: + break; + default: + PlaySE(SE_SELECT); + sItemMenuContextActions[sContextMenuItemsPtr[input]].func.void_u8(taskId); + break; + } + } +} + +static void Task_ItemMenuAction_Use(u8 taskId) +{ + if (ItemId_GetFieldFunc(gSpecialVar_ItemId) != NULL) + { + HideBagWindow(10); + HideBagWindow(6); + PutWindowTilemap(0); + PutWindowTilemap(1); + ScheduleBgCopyTilemapToVram(0); + if (CalculatePlayerPartyCount() == 0 && ItemId_GetType(gSpecialVar_ItemId) == 1) + Task_PrintThereIsNoPokemon(taskId); + else + ItemId_GetFieldFunc(gSpecialVar_ItemId)(taskId); + } +} + +static void Task_ItemMenuAction_Toss(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + ClearWindowTilemap(GetBagWindow(10)); + ClearWindowTilemap(GetBagWindow(6)); + HideBagWindow(10); + HideBagWindow(6); + PutWindowTilemap(0); + data[8] = 1; + if (data[2] == 1) + { + Task_ConfirmTossItems(taskId); + } + else + { + InitQuantityToTossOrDeposit(data[1], gText_TossOutHowManyStrVar1s); + gTasks[taskId].func = Task_SelectQuantityToToss; + } +} + +static void Task_ConfirmTossItems(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_ThrowAwayStrVar2OfThisItemQM); + BagPrintTextOnWindow(ShowBagWindow(6, 1), 2, gStringVar4, 0, 2, 1, 0, 0, 1); + BagCreateYesNoMenuBottomRight(taskId, &sYesNoMenu_Toss); +} + +static void Task_TossItem_No(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + HideBagWindow(6); + PutWindowTilemap(1); + ScheduleBgCopyTilemapToVram(0); + bag_menu_print_cursor_(data[0], 1); + Task_RedrawArrowsAndReturnToBagMenuSelect(taskId); +} + +static void Task_SelectQuantityToToss(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE) + { + UpdateQuantityToTossOrDeposit(data[8], 3); + } + else if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + ClearWindowTilemap(GetBagWindow(6)); + HideBagWindow(6); + HideBagWindow(0); + ScheduleBgCopyTilemapToVram(0); + BagDestroyPocketScrollArrowPair(); + Task_ConfirmTossItems(taskId); + } + else if (JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + HideBagWindow(6); + HideBagWindow(0); + PutWindowTilemap(0); + PutWindowTilemap(1); + ScheduleBgCopyTilemapToVram(0); + bag_menu_print_cursor_(data[0], 1); + BagDestroyPocketScrollArrowPair(); + Task_RedrawArrowsAndReturnToBagMenuSelect(taskId); + } +} + +static void Task_TossItem_Yes(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + HideBagWindow(6); + CopyItemName(BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, data[1]), gStringVar1); + ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_ThrewAwayStrVar2StrVar1s); + BagPrintTextOnWindow(ShowBagWindow(6, 3), 2, gStringVar4, 0, 2, 1, 0, 0, 1); + gTasks[taskId].func = Task_WaitAB_RedrawAndReturnToBag; +} + +static void Task_WaitAB_RedrawAndReturnToBag(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + RemoveBagItem(gSpecialVar_ItemId, data[8]); + HideBagWindow(6); + DestroyListMenuTask(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]); + Pocket_CalculateNItemsAndMaxShowed(gBagMenuState.pocket); + PocketCalculateInitialCursorPosAndItemsAbove(gBagMenuState.pocket); + Bag_BuildListMenuTemplate(gBagMenuState.pocket); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]); + PutWindowTilemap(1); + ScheduleBgCopyTilemapToVram(0); + bag_menu_print_cursor_(data[0], 1); + Task_RedrawArrowsAndReturnToBagMenuSelect(taskId); + } +} + +static void Task_ItemMenuAction_ToggleSelect(u8 taskId) +{ + u16 itemId; + s16 *data = gTasks[taskId].data; + itemId = BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, data[1]); + if (gSaveBlock1Ptr->registeredItem == itemId) + gSaveBlock1Ptr->registeredItem = ITEM_NONE; + else + gSaveBlock1Ptr->registeredItem = itemId; + + DestroyListMenuTask(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]); + Bag_BuildListMenuTemplate(gBagMenuState.pocket); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]); + CopyWindowToVram(0, 1); + Task_ItemMenuAction_Cancel(taskId); +} + +static void Task_ItemMenuAction_Give(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 itemId = BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, data[1]); + HideBagWindow(10); + HideBagWindow(6); + PutWindowTilemap(0); + PutWindowTilemap(1); + CopyWindowToVram(0, 1); + if (!CanWriteMailHere(itemId)) + DisplayItemMessageInBag(taskId, 2, gText_CantWriteMailHere, Task_WaitAButtonAndCloseContextMenu); + else if (!itemid_is_unique(itemId)) + { + if (CalculatePlayerPartyCount() == 0) + { + Task_PrintThereIsNoPokemon(taskId); + } + else + { + sBagMenuDisplay->exitCB = CB2_ChooseMonToGiveItem; + gTasks[taskId].func = ItemMenu_StartFadeToExitCallback; + } + } + else + Task_PrintItemCantBeHeld(taskId); +} + +static void Task_PrintThereIsNoPokemon(u8 taskId) +{ + DisplayItemMessageInBag(taskId, 2, gText_ThereIsNoPokemon, Task_WaitAButtonAndCloseContextMenu); +} + +static void Task_PrintItemCantBeHeld(u8 taskId) +{ + CopyItemName(gSpecialVar_ItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_ItemCantBeHeld); + DisplayItemMessageInBag(taskId, 2, gStringVar4, Task_WaitAButtonAndCloseContextMenu); +} + +static void Task_WaitAButtonAndCloseContextMenu(u8 taskId) +{ + if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + Task_ReturnToBagFromContextMenu(taskId); + } +} + +void Task_ReturnToBagFromContextMenu(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + CloseBagWindow(5); + DestroyListMenuTask(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]); + Pocket_CalculateNItemsAndMaxShowed(gBagMenuState.pocket); + PocketCalculateInitialCursorPosAndItemsAbove(gBagMenuState.pocket); + Bag_BuildListMenuTemplate(gBagMenuState.pocket); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]); + ScheduleBgCopyTilemapToVram(0); + bag_menu_print_cursor_(data[0], 1); + Task_RedrawArrowsAndReturnToBagMenuSelect(taskId); +} + +static void unref_sub_810A288(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 itemsAbove; + u16 cursorPos; + ListMenuGetScrollAndRow(data[0], &cursorPos, &itemsAbove); + PrintItemDescriptionOnMessageWindow(cursorPos + itemsAbove); + PutWindowTilemap(0); + ScheduleBgCopyTilemapToVram(0); + bag_menu_print_cursor_(data[0], 1); + Task_RedrawArrowsAndReturnToBagMenuSelect(taskId); +} + +static void Task_ItemMenuAction_Cancel(u8 taskId) +{ + HideBagWindow(10); + HideBagWindow(6); + PutWindowTilemap(0); + PutWindowTilemap(1); + ScheduleBgCopyTilemapToVram(0); + bag_menu_print_cursor_(gTasks[taskId].data[0], 1); + Task_RedrawArrowsAndReturnToBagMenuSelect(taskId); +} + +static void Task_ItemMenuAction_BattleUse(u8 taskId) +{ + if (ItemId_GetBattleFunc(gSpecialVar_ItemId) != NULL) + { + HideBagWindow(10); + HideBagWindow(6); + PutWindowTilemap(0); + PutWindowTilemap(1); + CopyWindowToVram(0, 1); + ItemId_GetBattleFunc(gSpecialVar_ItemId)(taskId); + } +} + +static void Task_ItemContext_FieldGive(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 itemId = BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, data[1]); + if (!CanWriteMailHere(itemId)) + { + DisplayItemMessageInBag(taskId, 2, gText_CantWriteMailHere, Task_WaitAButtonAndCloseContextMenu); + } + else if (itemId == ITEM_TM_CASE) + { + ItemMenu_SetExitCallback(GoToTMCase_Give); + ItemMenu_StartFadeToExitCallback(taskId); + } + else if (itemId == ITEM_BERRY_POUCH) + { + ItemMenu_SetExitCallback(GoToBerryPouch_Give); + ItemMenu_StartFadeToExitCallback(taskId); + } + else if (gBagMenuState.pocket != POCKET_KEY_ITEMS - 1 && !itemid_is_unique(itemId)) + { + Bag_BeginCloseWin0Animation(); + gTasks[taskId].func = ItemMenu_StartFadeToExitCallback; + } + else + { + Task_PrintItemCantBeHeld(taskId); + } +} + +static void GoToTMCase_Give(void) +{ + InitTMCase(TMCASE_FROMPARTYGIVE, ReturnToBagMenuFromSubmenu_Give, FALSE); +} + +static void GoToBerryPouch_Give(void) +{ + InitBerryPouch(BERRYPOUCH_FROMPARTYGIVE, ReturnToBagMenuFromSubmenu_Give, FALSE); +} + +static void ReturnToBagMenuFromSubmenu_Give(void) +{ + CB2_SelectBagItemToGive(); +} + +static void Task_ItemContext_PcBoxGive(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 itemId = BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, data[1]); + if (ItemIsMail(itemId) == TRUE) + { + DisplayItemMessageInBag(taskId, 2, gText_CantWriteMailHere, Task_WaitAButtonAndCloseContextMenu); + } + else if (itemId == ITEM_TM_CASE) + { + ItemMenu_SetExitCallback(GoToTMCase_PCBox); + ItemMenu_StartFadeToExitCallback(taskId); + } + else if (itemId == ITEM_BERRY_POUCH) + { + ItemMenu_SetExitCallback(GoToBerryPouch_PCBox); + ItemMenu_StartFadeToExitCallback(taskId); + } + else if (gBagMenuState.pocket != POCKET_KEY_ITEMS - 1 && !itemid_is_unique(itemId)) + { + Bag_BeginCloseWin0Animation(); + gTasks[taskId].func = ItemMenu_StartFadeToExitCallback; + } + else + { + Task_PrintItemCantBeHeld(taskId); + } +} + +static void GoToTMCase_PCBox(void) +{ + InitTMCase(TMCASE_FROMPOKEMONSTORAGEPC, ReturnToBagMenuFromSubmenu_PCBox, FALSE); +} + +static void GoToBerryPouch_PCBox(void) +{ + InitBerryPouch(BERRYPOUCH_FROMPOKEMONSTORAGEPC, ReturnToBagMenuFromSubmenu_PCBox, FALSE); +} + +static void ReturnToBagMenuFromSubmenu_PCBox(void) +{ + GoToBagMenu(ITEMMENULOCATION_PCBOX, OPEN_BAG_LAST, sub_808CE60); +} + +static void Task_ItemContext_Sell(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (gSpecialVar_ItemId == ITEM_TM_CASE) + { + ItemMenu_SetExitCallback(GoToTMCase_Sell); + ItemMenu_StartFadeToExitCallback(taskId); + } + else if (gSpecialVar_ItemId == ITEM_BERRY_POUCH) + { + ItemMenu_SetExitCallback(GoToBerryPouch_Sell); + ItemMenu_StartFadeToExitCallback(taskId); + } + else if (itemid_get_market_price(gSpecialVar_ItemId) == 0) + { + CopyItemName(gSpecialVar_ItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_OhNoICantBuyThat); + DisplayItemMessageInBag(taskId, GetDialogBoxFontId(), gStringVar4, Task_ReturnToBagFromContextMenu); + } + else + { + data[8] = 1; + if (data[2] == 1) + { + BagPrintMoneyAmount(); + Task_PrintSaleConfirmationText(taskId); + } + else + { + if (data[2] > 99) + data[2] = 99; + CopyItemName(gSpecialVar_ItemId, gStringVar1); + StringExpandPlaceholders(gStringVar4, gText_HowManyWouldYouLikeToSell); + DisplayItemMessageInBag(taskId, GetDialogBoxFontId(), gStringVar4, Task_InitSaleQuantitySelectInterface); + } + } +} + +static void GoToTMCase_Sell(void) +{ + InitTMCase(TMCASE_FROMMARTSELL, ReturnToBagMenuFromSubmenu_Sell, FALSE); +} + +static void GoToBerryPouch_Sell(void) +{ + InitBerryPouch(BERRYPOUCH_FROMMARTSELL, ReturnToBagMenuFromSubmenu_Sell, FALSE); +} + +static void ReturnToBagMenuFromSubmenu_Sell(void) +{ + GoToBagMenu(ITEMMENULOCATION_SHOP, OPEN_BAG_LAST, CB2_ReturnToField); +} + +static void Task_PrintSaleConfirmationText(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6); + StringExpandPlaceholders(gStringVar4, gText_ICanPayThisMuch_WouldThatBeOkay); + DisplayItemMessageInBag(taskId, GetDialogBoxFontId(), gStringVar4, Task_ShowSellYesNoMenu); +} + +static void Task_ShowSellYesNoMenu(u8 taskId) +{ + BagCreateYesNoMenuTopRight(taskId, &sYesNoMenu_Sell); +} + +static void Task_SellItem_No(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + HideBagWindow(2); + CloseBagWindow(5); + PutWindowTilemap(2); + PutWindowTilemap(0); + PutWindowTilemap(1); + ScheduleBgCopyTilemapToVram(0); + bag_menu_print_cursor_(data[0], 1); + Task_RedrawArrowsAndReturnToBagMenuSelect(taskId); +} + +static void Task_InitSaleQuantitySelectInterface(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u8 r4 = ShowBagWindow(0, 1); + ConvertIntToDecimalStringN(gStringVar1, 1, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + BagPrintTextOnWindow(r4, 0, gStringVar4, 4, 10, 1, 0, 0xFF, 1); + UpdateSalePriceDisplay(itemid_get_market_price(BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, data[1])) / 2 * data[8]); + BagPrintMoneyAmount(); + CreatePocketScrollArrowPair_SellQuantity(); + gTasks[taskId].func = Task_SelectQuantityToSell; +} + +static void UpdateSalePriceDisplay(s32 amount) +{ + PrintMoneyAmount(GetBagWindow(0), 56, 10, amount, 0); +} + +static void Task_SelectQuantityToSell(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE) + { + UpdateQuantityToTossOrDeposit(data[8], 2); + UpdateSalePriceDisplay(itemid_get_market_price(BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, data[1])) / 2 * data[8]); + } + else if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + HideBagWindow(0); + PutWindowTilemap(0); + ScheduleBgCopyTilemapToVram(0); + BagDestroyPocketScrollArrowPair(); + Task_PrintSaleConfirmationText(taskId); + } + else if (JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + HideBagWindow(0); + HideBagWindow(2); + CloseBagWindow(5); + PutWindowTilemap(2); + PutWindowTilemap(0); + PutWindowTilemap(1); + ScheduleBgCopyTilemapToVram(0); + BagDestroyPocketScrollArrowPair(); + bag_menu_print_cursor_(data[0], 1); + Task_RedrawArrowsAndReturnToBagMenuSelect(taskId); + } +} + +static void Task_SellItem_Yes(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + PutWindowTilemap(0); + ScheduleBgCopyTilemapToVram(0); + CopyItemName(gSpecialVar_ItemId, gStringVar1); + ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(BagGetItemIdByPocketPosition(gBagMenuState.pocket + 1, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6); + StringExpandPlaceholders(gStringVar4, gText_TurnedOverItemsWorthYen); + DisplayItemMessageInBag(taskId, 2, gStringVar4, Task_FinalizeSaleToShop); +} + +static void Task_FinalizeSaleToShop(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + PlaySE(SE_SHOP); + RemoveBagItem(gSpecialVar_ItemId, data[8]); + AddMoney(&gSaveBlock1Ptr->money, itemid_get_market_price(gSpecialVar_ItemId) / 2 * data[8]); + RecordItemPurchase(gSpecialVar_ItemId, data[8], 2); + DestroyListMenuTask(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]); + Pocket_CalculateNItemsAndMaxShowed(gBagMenuState.pocket); + PocketCalculateInitialCursorPosAndItemsAbove(gBagMenuState.pocket); + sBagMenuDisplay->inhibitItemDescriptionPrint = TRUE; + Bag_BuildListMenuTemplate(gBagMenuState.pocket); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]); + bag_menu_print_cursor_(data[0], 2); + BagDrawTextBoxOnWindow(GetBagWindow(2)); + PrintMoneyAmountInMoneyBox(GetBagWindow(2), GetMoney(&gSaveBlock1Ptr->money), 0); + gTasks[taskId].func = Task_WaitPressAB_AfterSell; +} + +static void Task_WaitPressAB_AfterSell(u8 taskId) +{ + if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + HideBagWindow(2); + PutWindowTilemap(2); + sBagMenuDisplay->inhibitItemDescriptionPrint = FALSE; + Task_ReturnToBagFromContextMenu(taskId); + } +} + +static void Task_ItemContext_Deposit(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + data[8] = 1; + if (data[2] == 1) + { + Task_TryDoItemDeposit(taskId); + } + else + { + InitQuantityToTossOrDeposit(data[1], gText_DepositHowManyStrVars1); + gTasks[taskId].func = Task_SelectQuantityToDeposit; + } +} + +static void Task_SelectQuantityToDeposit(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (AdjustQuantityAccordingToDPadInput(&data[8], data[2]) == TRUE) + { + UpdateQuantityToTossOrDeposit(data[8], 3); + } + else if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + ClearWindowTilemap(GetBagWindow(6)); + HideBagWindow(6); + HideBagWindow(0); + ScheduleBgCopyTilemapToVram(0); + BagDestroyPocketScrollArrowPair(); + Task_TryDoItemDeposit(taskId); + } + else if (JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + HideBagWindow(6); + HideBagWindow(0); + PutWindowTilemap(1); + ScheduleBgCopyTilemapToVram(0); + bag_menu_print_cursor_(data[0], 1); + BagDestroyPocketScrollArrowPair(); + Task_RedrawArrowsAndReturnToBagMenuSelect(taskId); + } +} + +static void Task_TryDoItemDeposit(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (AddPCItem(gSpecialVar_ItemId, data[8]) == TRUE) + { + ItemUse_SetQuestLogEvent(28, 0, gSpecialVar_ItemId, 0xFFFF); + CopyItemName(gSpecialVar_ItemId, gStringVar1); + ConvertIntToDecimalStringN(gStringVar2, data[8], STR_CONV_MODE_LEFT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_DepositedStrVar2StrVar1s); + BagPrintTextOnWindow(ShowBagWindow(6, 3), 2, gStringVar4, 0, 2, 1, 0, 0, 1); + gTasks[taskId].func = Task_WaitAB_RedrawAndReturnToBag; + } + else + { + DisplayItemMessageInBag(taskId, 2, gText_NoRoomToStoreItems, Task_WaitAButtonAndCloseContextMenu); + } +} + +bool8 UseRegisteredKeyItemOnField(void) +{ + u8 taskId; + if (InUnionRoom() == TRUE) + return FALSE; + DismissMapNamePopup(); + ChangeBgY(0, 0, 0); + if (gSaveBlock1Ptr->registeredItem != ITEM_NONE) + { + if (CheckBagHasItem(gSaveBlock1Ptr->registeredItem, 1) == TRUE) + { + ScriptContext2_Enable(); + FreezeObjectEvents(); + sub_805C270(); + sub_805C780(); + gSpecialVar_ItemId = gSaveBlock1Ptr->registeredItem; + taskId = CreateTask(ItemId_GetFieldFunc(gSaveBlock1Ptr->registeredItem), 8); + gTasks[taskId].data[3] = 1; + return TRUE; + } + gSaveBlock1Ptr->registeredItem = ITEM_NONE; + } + ScriptContext1_SetupScript(EventScript_BagItemCanBeRegistered); + return TRUE; +} + +static bool8 BagIsTutorial(void) +{ + if ( + gBagMenuState.location == ITEMMENULOCATION_OLD_MAN + || gBagMenuState.location == ITEMMENULOCATION_TTVSCR_CATCHING + || gBagMenuState.location == ITEMMENULOCATION_TTVSCR_STATUS + || gBagMenuState.location == ITEMMENULOCATION_TTVSCR_REGISTER + || gBagMenuState.location == ITEMMENULOCATION_TTVSCR_TMS + ) + return TRUE; + return FALSE; +} + +static void BackUpPlayerBag(void) +{ + u32 i; + sBackupPlayerBag = AllocZeroed(sizeof(struct BagSlots)); + memcpy(sBackupPlayerBag->bagPocket_Items, gSaveBlock1Ptr->bagPocket_Items, BAG_ITEMS_COUNT * sizeof(struct ItemSlot)); + memcpy(sBackupPlayerBag->bagPocket_KeyItems, gSaveBlock1Ptr->bagPocket_KeyItems, BAG_KEYITEMS_COUNT * sizeof(struct ItemSlot)); + memcpy(sBackupPlayerBag->bagPocket_PokeBalls, gSaveBlock1Ptr->bagPocket_PokeBalls, BAG_POKEBALLS_COUNT * sizeof(struct ItemSlot)); + sBackupPlayerBag->registeredItem = gSaveBlock1Ptr->registeredItem; + sBackupPlayerBag->pocket = gBagMenuState.pocket; + for (i = 0; i < 3; i++) + { + sBackupPlayerBag->itemsAbove[i] = gBagMenuState.itemsAbove[i]; + sBackupPlayerBag->cursorPos[i] = gBagMenuState.cursorPos[i]; + } + ClearItemSlots(gSaveBlock1Ptr->bagPocket_Items, BAG_ITEMS_COUNT); + ClearItemSlots(gSaveBlock1Ptr->bagPocket_KeyItems, BAG_KEYITEMS_COUNT); + ClearItemSlots(gSaveBlock1Ptr->bagPocket_PokeBalls, BAG_POKEBALLS_COUNT); + gSaveBlock1Ptr->registeredItem = ITEM_NONE; + ResetBagCursorPositions(); +} + +static void RestorePlayerBag(void) +{ + u32 i; + memcpy(gSaveBlock1Ptr->bagPocket_Items, sBackupPlayerBag->bagPocket_Items, BAG_ITEMS_COUNT * sizeof(struct ItemSlot)); + memcpy(gSaveBlock1Ptr->bagPocket_KeyItems, sBackupPlayerBag->bagPocket_KeyItems, BAG_KEYITEMS_COUNT * sizeof(struct ItemSlot)); + memcpy(gSaveBlock1Ptr->bagPocket_PokeBalls, sBackupPlayerBag->bagPocket_PokeBalls, BAG_POKEBALLS_COUNT * sizeof(struct ItemSlot)); + gSaveBlock1Ptr->registeredItem = sBackupPlayerBag->registeredItem; + gBagMenuState.pocket = sBackupPlayerBag->pocket; + for (i = 0; i < 3; i++) + { + gBagMenuState.itemsAbove[i] = sBackupPlayerBag->itemsAbove[i]; + gBagMenuState.cursorPos[i] = sBackupPlayerBag->cursorPos[i]; + } + Free(sBackupPlayerBag); +} + +void InitOldManBag(void) +{ + BackUpPlayerBag(); + AddBagItem(ITEM_POTION, 1); + AddBagItem(ITEM_POKE_BALL, 1); + GoToBagMenu(ITEMMENULOCATION_OLD_MAN, OPEN_BAG_ITEMS, SetCB2ToReshowScreenAfterMenu2); +} + +static void Task_Bag_OldManTutorial(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (!gPaletteFade.active) + { + switch (data[8]) + { + case 102: + case 204: + PlaySE(SE_BAG2); + SwitchPockets(taskId, 1, FALSE); + break; + case 306: + PlaySE(SE_SELECT); + bag_menu_print_cursor_(data[0], 2); + Bag_FillMessageBoxWithPalette(1); + gSpecialVar_ItemId = ITEM_POKE_BALL; + OpenContextMenu(taskId); + break; + case 408: + PlaySE(SE_SELECT); + HideBagWindow(10); + HideBagWindow(6); + PutWindowTilemap(0); + PutWindowTilemap(1); + CopyWindowToVram(0, 1); + DestroyListMenuTask(data[0], NULL, NULL); + RestorePlayerBag(); + Bag_BeginCloseWin0Animation(); + gTasks[taskId].func = Task_Pokedude_FadeFromBag; + return; + } + data[8]++; + } +} + +static void Task_Pokedude_FadeFromBag(u8 taskId) +{ + BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, RGB_BLACK); + gTasks[taskId].func = Task_Pokedude_WaitFadeAndExitBag; +} + +static void Task_Pokedude_WaitFadeAndExitBag(u8 taskId) +{ + if (!gPaletteFade.active && FuncIsActiveTask(Task_AnimateWin0v) != TRUE) + { + if (sBagMenuDisplay->exitCB != NULL) + SetMainCallback2(sBagMenuDisplay->exitCB); + else + SetMainCallback2(gBagMenuState.bagCallback); + BagDestroyPocketScrollArrowPair(); + DestroyBagMenuResources(); + DestroyTask(taskId); + } +} + +void InitPokedudeBag(u8 a0) +{ + MainCallback cb2; + u8 location; + BackUpPlayerBag(); + AddBagItem(ITEM_POTION, 1); + AddBagItem(ITEM_ANTIDOTE, 1); + AddBagItem(ITEM_TEACHY_TV, 1); + AddBagItem(ITEM_TM_CASE, 1); + AddBagItem(ITEM_POKE_BALL, 5); + AddBagItem(ITEM_GREAT_BALL, 1); + AddBagItem(ITEM_NEST_BALL, 1); + switch (a0) + { + default: + cb2 = CB2_ReturnToTeachyTV; + location = a0; + break; + case 7: + cb2 = SetCB2ToReshowScreenAfterMenu2; + location = ITEMMENULOCATION_TTVSCR_STATUS; + break; + case 8: + cb2 = SetCB2ToReshowScreenAfterMenu2; + location = ITEMMENULOCATION_TTVSCR_CATCHING; + break; + } + GoToBagMenu(location, OPEN_BAG_ITEMS, cb2); +} + +static bool8 Task_BButtonInterruptTeachyTv(u8 taskId) +{ + if (JOY_NEW(B_BUTTON)) + { + RestorePlayerBag(); + SetTeachyTvControllerModeToResume(); + sBagMenuDisplay->exitCB = CB2_ReturnToTeachyTV; + gTasks[taskId].func = Task_Pokedude_FadeFromBag; + return TRUE; + } + else + { + return FALSE; + } +} + +static void Task_Bag_TeachyTvRegister(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (!gPaletteFade.active && Task_BButtonInterruptTeachyTv(taskId) != TRUE) + { + switch (data[8]) + { + case 102: + PlaySE(SE_BAG2); + SwitchPockets(taskId, 1, FALSE); + break; + case 204: + PlaySE(SE_SELECT); + bag_menu_print_cursor_(data[0], 2); + Bag_FillMessageBoxWithPalette(1); + gSpecialVar_ItemId = ITEM_TEACHY_TV; + OpenContextMenu(taskId); + break; + case 306: + PlaySE(SE_SELECT); + Menu_MoveCursorNoWrapAround(1); + break; + case 408: + PlaySE(SE_SELECT); + gSaveBlock1Ptr->registeredItem = gSpecialVar_ItemId; + HideBagWindow(10); + HideBagWindow(6); + PutWindowTilemap(0); + PutWindowTilemap(1); + DestroyListMenuTask(data[0], &gBagMenuState.cursorPos[gBagMenuState.pocket], &gBagMenuState.itemsAbove[gBagMenuState.pocket]); + Bag_BuildListMenuTemplate(gBagMenuState.pocket); + data[0] = ListMenuInit(&gMultiuseListMenuTemplate, gBagMenuState.cursorPos[gBagMenuState.pocket], gBagMenuState.itemsAbove[gBagMenuState.pocket]); + Bag_FillMessageBoxWithPalette(0); + bag_menu_print_cursor_(data[0], 1); + CopyWindowToVram(0, 1); + break; + case 510: + case 612: + gMain.newKeys = 0; + gMain.newAndRepeatedKeys = DPAD_DOWN; + ListMenu_ProcessInput(data[0]); + break; + case 714: + PlaySE(SE_SELECT); + DestroyListMenuTask(data[0], NULL, NULL); + RestorePlayerBag(); + Bag_BeginCloseWin0Animation(); + gTasks[taskId].func = Task_Pokedude_FadeFromBag; + return; + } + data[8]++; + } +} + +static void Task_Bag_TeachyTvCatching(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (!gPaletteFade.active) + { + if (Task_BButtonInterruptTeachyTv(taskId) == TRUE) + { + FreeRestoreBattleData(); + LoadPlayerParty(); + return; + } + switch (data[8]) + { + case 102: + case 204: + PlaySE(SE_BAG2); + SwitchPockets(taskId, 1, FALSE); + break; + case 306: + case 408: + gMain.newKeys = 0; + gMain.newAndRepeatedKeys = DPAD_DOWN; + ListMenu_ProcessInput(data[0]); + break; + case 510: + case 612: + gMain.newKeys = 0; + gMain.newAndRepeatedKeys = DPAD_UP; + ListMenu_ProcessInput(data[0]); + break; + case 714: + PlaySE(SE_SELECT); + bag_menu_print_cursor_(data[0], 2); + Bag_FillMessageBoxWithPalette(1); + gSpecialVar_ItemId = ITEM_POKE_BALL; + OpenContextMenu(taskId); + break; + case 816: + PlaySE(SE_SELECT); + HideBagWindow(10); + HideBagWindow(6); + PutWindowTilemap(0); + PutWindowTilemap(1); + CopyWindowToVram(0, 1); + DestroyListMenuTask(data[0], NULL, NULL); + RestorePlayerBag(); + Bag_BeginCloseWin0Animation(); + gTasks[taskId].func = Task_Pokedude_FadeFromBag; + return; + } + data[8]++; + } +} + +static void Task_Bag_TeachyTvStatus(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (!gPaletteFade.active) + { + if (Task_BButtonInterruptTeachyTv(taskId) == TRUE) + { + FreeRestoreBattleData(); + LoadPlayerParty(); + return; + } + switch (data[8]) + { + case 102: + gMain.newKeys = 0; + gMain.newAndRepeatedKeys = DPAD_DOWN; + ListMenu_ProcessInput(data[0]); + break; + case 204: + PlaySE(SE_SELECT); + bag_menu_print_cursor_(data[0], 2); + Bag_FillMessageBoxWithPalette(1); + gSpecialVar_ItemId = ITEM_ANTIDOTE; + OpenContextMenu(taskId); + break; + case 306: + PlaySE(SE_SELECT); + HideBagWindow(10); + HideBagWindow(6); + PutWindowTilemap(0); + PutWindowTilemap(1); + CopyWindowToVram(0, 1); + DestroyListMenuTask(data[0], NULL, NULL); + RestorePlayerBag(); + gItemUseCB = ItemUseCB_MedicineStep; + ItemMenu_SetExitCallback(ChooseMonForInBattleItem); + gTasks[taskId].func = Task_Pokedude_FadeFromBag; + return; + } + data[8]++; + } +} + +static void Task_Bag_TeachyTvTMs(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + if (!gPaletteFade.active && Task_BButtonInterruptTeachyTv(taskId) != TRUE) + { + switch (data[8]) + { + case 102: + PlaySE(SE_BAG2); + SwitchPockets(taskId, 1, 0); + break; + case 204: + gMain.newKeys = 0; + gMain.newAndRepeatedKeys = DPAD_DOWN; + ListMenu_ProcessInput(data[0]); + break; + case 306: + PlaySE(SE_SELECT); + bag_menu_print_cursor_(data[0], 2); + Bag_FillMessageBoxWithPalette(1); + gSpecialVar_ItemId = ITEM_TM_CASE; + OpenContextMenu(taskId); + break; + case 408: + PlaySE(SE_SELECT); + HideBagWindow(10); + HideBagWindow(6); + PutWindowTilemap(0); + PutWindowTilemap(1); + CopyWindowToVram(0, 1); + DestroyListMenuTask(data[0], NULL, NULL); + RestorePlayerBag(); + sBagMenuDisplay->exitCB = Pokedude_InitTMCase; + gTasks[taskId].func = Task_Pokedude_FadeFromBag; + return; + } + data[8]++; + } +} diff --git a/src/item_menu_icons.c b/src/item_menu_icons.c index 0c2c60437..d389c7781 100644 --- a/src/item_menu_icons.c +++ b/src/item_menu_icons.c @@ -5,14 +5,14 @@ #include "malloc.h" #include "constants/items.h" -static EWRAM_DATA u8 gUnknown_2039878[12] = {0}; -EWRAM_DATA void * gUnknown_2039884 = NULL; -static EWRAM_DATA void * gUnknown_2039888 = NULL; +static EWRAM_DATA u8 sItemMenuIconSpriteIds[12] = {0}; +static EWRAM_DATA void * sItemIconTilesBuffer = NULL; +static EWRAM_DATA void * sItemIconTilesBufferPadded = NULL; static void sub_8098560(struct Sprite * sprite); static void sub_80985BC(struct Sprite * sprite); -static const struct OamData gUnknown_83D416C = { +static const struct OamData sOamData_BagOrSatchel = { .affineMode = ST_OAM_AFFINE_NORMAL, .shape = ST_OAM_SQUARE, .size = 3, @@ -20,36 +20,36 @@ static const struct OamData gUnknown_83D416C = { .paletteNum = 0 }; -static const union AnimCmd gUnknown_83D4174[] = { +static const union AnimCmd sAnim_BagOrSatchel_OpenItemPocket[] = { ANIMCMD_FRAME( 0, 5), ANIMCMD_FRAME(0x40, 0), ANIMCMD_END }; -static const union AnimCmd gUnknown_83D4180[] = { +static const union AnimCmd sAnim_BagOrSatchel_OpenKeyItemPocket[] = { ANIMCMD_FRAME( 0, 5), ANIMCMD_FRAME(0x80, 0), ANIMCMD_END }; -static const union AnimCmd gUnknown_83D418C[] = { +static const union AnimCmd sAnim_BagOrSatchel_OpenPokeBallsPocket[] = { ANIMCMD_FRAME( 0, 5), ANIMCMD_FRAME(0xc0, 0), ANIMCMD_END }; -static const union AnimCmd *const gUnknown_83D4198[] = { - gUnknown_83D4180, - gUnknown_83D418C, - gUnknown_83D4174 +static const union AnimCmd *const sAnimTable_BagOrSatchel[] = { + sAnim_BagOrSatchel_OpenKeyItemPocket, + sAnim_BagOrSatchel_OpenPokeBallsPocket, + sAnim_BagOrSatchel_OpenItemPocket }; -static const union AffineAnimCmd gUnknown_83D41A4[] = { +static const union AffineAnimCmd sAffineAnim_Idle[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_END }; -static const union AffineAnimCmd gUnknown_83D41B4[] = { +static const union AffineAnimCmd sAffineAnim_Wobble[] = { AFFINEANIMCMD_FRAME(0, 0, -2, 2), AFFINEANIMCMD_FRAME(0, 0, 2, 4), AFFINEANIMCMD_FRAME(0, 0, -2, 4), @@ -57,35 +57,35 @@ static const union AffineAnimCmd gUnknown_83D41B4[] = { AFFINEANIMCMD_END }; -static const union AffineAnimCmd *const gUnknown_83D41DC[] = { - gUnknown_83D41A4, - gUnknown_83D41B4 +static const union AffineAnimCmd *const sAffineAnimTable_BagOrSatchel[] = { + sAffineAnim_Idle, + sAffineAnim_Wobble }; -const struct CompressedSpriteSheet gUnknown_83D41E4 = { +const struct CompressedSpriteSheet gSpriteSheet_Backpack = { gUnknown_8E8362C, 0x2000, 100 }; -const struct CompressedSpriteSheet gUnknown_83D41EC = { +const struct CompressedSpriteSheet gSpriteSheet_Satchel = { gUnknown_8E83DBC, 0x2000, 100 }; -const struct CompressedSpritePalette gUnknown_83D41F4 = { +const struct CompressedSpritePalette gSpritePalette_BagOrSatchel = { gUnknown_8E84560, 100 }; -static const struct SpriteTemplate gUnknown_83D41FC = { +static const struct SpriteTemplate sSpriteTemplate_BagOrSatchel = { 100, 100, - &gUnknown_83D416C, - gUnknown_83D4198, + &sOamData_BagOrSatchel, + sAnimTable_BagOrSatchel, NULL, - gUnknown_83D41DC, + sAffineAnimTable_BagOrSatchel, SpriteCallbackDummy }; @@ -139,7 +139,7 @@ static const struct SpriteTemplate gUnknown_83D4250 = { SpriteCallbackDummy }; -static const struct OamData gUnknown_83D4268 = { +static const struct OamData sOamData_ItemIcon = { .affineMode = ST_OAM_AFFINE_OFF, .shape = ST_OAM_SQUARE, .size = 2, @@ -147,26 +147,26 @@ static const struct OamData gUnknown_83D4268 = { .paletteNum = 2 }; -static const union AnimCmd gUnknown_83D4270[] = { +static const union AnimCmd sAnim_ItemIcon_0[] = { ANIMCMD_FRAME(0, 0), ANIMCMD_END }; -static const union AnimCmd *const gUnknown_83D4278[] = { - gUnknown_83D4270 +static const union AnimCmd *const sAnimTable_ItemIcon[] = { + sAnim_ItemIcon_0 }; -static const struct SpriteTemplate gUnknown_83D427C = { +static const struct SpriteTemplate sSpriteTemplate_ItemIcon = { 102, 102, - &gUnknown_83D4268, - gUnknown_83D4278, + &sOamData_ItemIcon, + sAnimTable_ItemIcon, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy }; -static const void *const gUnknown_83D4294[][2] = { +static const void *const sItemIconGfxPtrs[][2] = { {gFile_graphics_items_icons_question_mark_sheet, gFile_graphics_items_icon_palettes_question_mark_palette}, {gFile_graphics_items_icons_master_ball_sheet, gFile_graphics_items_icon_palettes_master_ball_palette}, {gFile_graphics_items_icons_ultra_ball_sheet, gFile_graphics_items_icon_palettes_ultra_ball_palette}, @@ -549,19 +549,19 @@ void ResetItemMenuIconState(void) { u16 i; - for (i = 0; i < NELEMS(gUnknown_2039878); i++) - gUnknown_2039878[i] = 0xFF; + for (i = 0; i < NELEMS(sItemMenuIconSpriteIds); i++) + sItemMenuIconSpriteIds[i] = 0xFF; } -void sub_80984FC(u8 animNum) +void CreateBagOrSatchelSprite(u8 animNum) { - gUnknown_2039878[0] = CreateSprite(&gUnknown_83D41FC, 40, 68, 0); + sItemMenuIconSpriteIds[0] = CreateSprite(&sSpriteTemplate_BagOrSatchel, 40, 68, 0); sub_8098528(animNum); } void sub_8098528(u8 animNum) { - struct Sprite * sprite = &gSprites[gUnknown_2039878[0]]; + struct Sprite * sprite = &gSprites[sItemMenuIconSpriteIds[0]]; sprite->pos2.y = -5; sprite->callback = sub_8098560; StartSpriteAnim(sprite, animNum); @@ -577,7 +577,7 @@ static void sub_8098560(struct Sprite * sprite) void sub_8098580(void) { - struct Sprite * sprite = &gSprites[gUnknown_2039878[0]]; + struct Sprite * sprite = &gSprites[sItemMenuIconSpriteIds[0]]; if (sprite->affineAnimEnded) { StartSpriteAffineAnim(sprite, 1); @@ -594,40 +594,44 @@ static void sub_80985BC(struct Sprite * sprite) } } -void sub_80985E4(void) +void ItemMenuIcons_CreateInsertIndicatorBarHidden(void) { u8 i; - u8 * ptr = &gUnknown_2039878[1]; + u8 * ptr = &sItemMenuIconSpriteIds[1]; for (i = 0; i < 9; i++) { ptr[i] = CreateSprite(&gUnknown_83D4250, i * 16 + 0x60, 7, 0); - if (i != 0) + switch (i) { - if (i == 8) - StartSpriteAnim(&gSprites[ptr[i]], 2); - else - StartSpriteAnim(&gSprites[ptr[i]], 1); + case 0: + break; + case 8: + StartSpriteAnim(&gSprites[ptr[i]], 2); + break; + default: + StartSpriteAnim(&gSprites[ptr[i]], 1); + break; } gSprites[ptr[i]].invisible = TRUE; } } -void sub_8098660(u8 flag) +void ItemMenuIcons_ToggleInsertIndicatorBarVisibility(bool8 invisible) { u8 i; - u8 * ptr = &gUnknown_2039878[1]; + u8 * ptr = &sItemMenuIconSpriteIds[1]; for (i = 0; i < 9; i++) { - gSprites[ptr[i]].invisible = flag; + gSprites[ptr[i]].invisible = invisible; } } -void sub_80986A8(s16 x, u16 y) +void ItemMenuIcons_MoveInsertIndicatorBar(s16 x, u16 y) { u8 i; - u8 * ptr = &gUnknown_2039878[1]; + u8 * ptr = &sItemMenuIconSpriteIds[1]; for (i = 0; i < 9; i++) { @@ -636,15 +640,15 @@ void sub_80986A8(s16 x, u16 y) } } -static bool8 sub_80986EC(void) +static bool8 TryAllocItemIconTilesBuffers(void) { void ** ptr1, ** ptr2; - ptr1 = &gUnknown_2039884; + ptr1 = &sItemIconTilesBuffer; *ptr1 = Alloc(0x120); if (*ptr1 == NULL) return FALSE; - ptr2 = &gUnknown_2039888; + ptr2 = &sItemIconTilesBufferPadded; *ptr2 = AllocZeroed(0x200); if (*ptr2 == NULL) { @@ -671,27 +675,27 @@ u8 AddItemIconObject(u16 tilesTag, u16 paletteTag, u16 itemId) struct CompressedSpritePalette spritePalette; u8 spriteId; - if (!sub_80986EC()) + if (!TryAllocItemIconTilesBuffers()) return MAX_SPRITES; - LZDecompressWram(sub_8098974(itemId, 0), gUnknown_2039884); - CopyItemIconPicTo4x4Buffer(gUnknown_2039884, gUnknown_2039888); - spriteSheet.data = gUnknown_2039888; + LZDecompressWram(GetItemIconGfxPtr(itemId, 0), sItemIconTilesBuffer); + CopyItemIconPicTo4x4Buffer(sItemIconTilesBuffer, sItemIconTilesBufferPadded); + spriteSheet.data = sItemIconTilesBufferPadded; spriteSheet.size = 0x200; spriteSheet.tag = tilesTag; LoadSpriteSheet(&spriteSheet); - spritePalette.data = sub_8098974(itemId, 1); + spritePalette.data = GetItemIconGfxPtr(itemId, 1); spritePalette.tag = paletteTag; LoadCompressedSpritePalette(&spritePalette); - CpuCopy16(&gUnknown_83D427C, &template, sizeof(struct SpriteTemplate)); + CpuCopy16(&sSpriteTemplate_ItemIcon, &template, sizeof(struct SpriteTemplate)); template.tileTag = tilesTag; template.paletteTag = paletteTag; spriteId = CreateSprite(&template, 0, 0, 0); - Free(gUnknown_2039884); - Free(gUnknown_2039888); + Free(sItemIconTilesBuffer); + Free(sItemIconTilesBufferPadded); return spriteId; } @@ -702,17 +706,17 @@ u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origT struct CompressedSpritePalette spritePalette; u8 spriteId; - if (!sub_80986EC()) + if (!TryAllocItemIconTilesBuffers()) return MAX_SPRITES; - LZDecompressWram(sub_8098974(itemId, 0), gUnknown_2039884); - CopyItemIconPicTo4x4Buffer(gUnknown_2039884, gUnknown_2039888); - spriteSheet.data = gUnknown_2039888; + LZDecompressWram(GetItemIconGfxPtr(itemId, 0), sItemIconTilesBuffer); + CopyItemIconPicTo4x4Buffer(sItemIconTilesBuffer, sItemIconTilesBufferPadded); + spriteSheet.data = sItemIconTilesBufferPadded; spriteSheet.size = 0x200; spriteSheet.tag = tilesTag; LoadSpriteSheet(&spriteSheet); - spritePalette.data = sub_8098974(itemId, 1); + spritePalette.data = GetItemIconGfxPtr(itemId, 1); spritePalette.tag = paletteTag; LoadCompressedSpritePalette(&spritePalette); @@ -721,14 +725,14 @@ u8 AddItemIconObjectWithCustomObjectTemplate(const struct SpriteTemplate * origT template.paletteTag = paletteTag; spriteId = CreateSprite(&template, 0, 0, 0); - Free(gUnknown_2039884); - Free(gUnknown_2039888); + Free(sItemIconTilesBuffer); + Free(sItemIconTilesBufferPadded); return spriteId; } void CreateItemMenuIcon(u16 itemId, u8 idx) { - u8 * ptr = &gUnknown_2039878[10]; + u8 * ptr = &sItemMenuIconSpriteIds[10]; u8 spriteId; if (ptr[idx] == 0xFF) @@ -747,7 +751,7 @@ void CreateItemMenuIcon(u16 itemId, u8 idx) void DestroyItemMenuIcon(u8 idx) { - u8 * ptr = &gUnknown_2039878[10]; + u8 * ptr = &sItemMenuIconSpriteIds[10]; if (ptr[idx] != 0xFF) { @@ -756,16 +760,16 @@ void DestroyItemMenuIcon(u8 idx) } } -const void * sub_8098974(u16 itemId, u8 attrId) +const void * GetItemIconGfxPtr(u16 itemId, u8 attrId) { if (itemId > ITEM_N_A) itemId = ITEM_NONE; - return gUnknown_83D4294[itemId][attrId]; + return sItemIconGfxPtrs[itemId][attrId]; } void sub_80989A0(u16 itemId, u8 idx) { - u8 * ptr = &gUnknown_2039878[10]; + u8 * ptr = &sItemMenuIconSpriteIds[10]; u8 spriteId; if (ptr[idx] == 0xFF) diff --git a/src/item_pc.c b/src/item_pc.c index 217acc829..7c7abdce3 100644 --- a/src/item_pc.c +++ b/src/item_pc.c @@ -348,7 +348,7 @@ static bool8 ItemPc_DoGfxSetup(void) gMain.state++; break; case 14: - sub_80985E4(); + ItemMenuIcons_CreateInsertIndicatorBarHidden(); gMain.state++; break; case 15: @@ -780,8 +780,8 @@ static void ItemPc_MoveItemModeInit(u8 taskId, s16 pos) StringExpandPlaceholders(gStringVar4, gOtherText_WhereShouldTheStrVar1BePlaced); FillWindowPixelBuffer(1, 0x00); ItemPc_AddTextPrinterParameterized(1, 2, gStringVar4, 0, 3, 2, 3, 0, 0); - sub_80986A8(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0])); - sub_8098660(0); + ItemMenuIcons_MoveInsertIndicatorBar(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0])); + ItemMenuIcons_ToggleInsertIndicatorBarVisibility(FALSE); ItemPc_PrintOrRemoveCursor(data[0], 2); gTasks[taskId].func = Task_ItemPcMoveItemModeRun; } @@ -792,7 +792,7 @@ static void Task_ItemPcMoveItemModeRun(u8 taskId) ListMenu_ProcessInput(data[0]); ListMenuGetScrollAndRow(data[0], &sListMenuState.scroll, &sListMenuState.row); - sub_80986A8(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0])); + ItemMenuIcons_MoveInsertIndicatorBar(-32, ListMenuGetYCoordForPrintingArrowCursor(data[0])); if (JOY_NEW(A_BUTTON | SELECT_BUTTON)) { PlaySE(SE_SELECT); @@ -814,13 +814,13 @@ static void ItemPc_InsertItemIntoNewSlot(u8 taskId, u32 pos) ItemPc_MoveItemModeCancel(taskId, pos); else { - ItemMenu_MoveItemSlotToNewPositionInArray(gSaveBlock1Ptr->pcItems, data[1], pos); + MoveItemSlotInList(gSaveBlock1Ptr->pcItems, data[1], pos); DestroyListMenuTask(data[0], &sListMenuState.scroll, &sListMenuState.row); if (data[1] < pos) sListMenuState.row--; ItemPc_BuildListMenuTemplate(); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row); - sub_8098660(1); + ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE); gTasks[taskId].func = Task_ItemPcMain; } } @@ -834,7 +834,7 @@ static void ItemPc_MoveItemModeCancel(u8 taskId, u32 pos) sListMenuState.row--; ItemPc_BuildListMenuTemplate(); data[0] = ListMenuInit(&gMultiuseListMenuTemplate, sListMenuState.scroll, sListMenuState.row); - sub_8098660(1); + ItemMenuIcons_ToggleInsertIndicatorBarVisibility(TRUE); gTasks[taskId].func = Task_ItemPcMain; } diff --git a/src/item_use.c b/src/item_use.c index d5db22ca1..57771754a 100644 --- a/src/item_use.c +++ b/src/item_use.c @@ -154,7 +154,7 @@ static void sub_80A0FBC(u8 taskId) { ItemMenu_SetExitCallback(gUnknown_83E2954[itemType]); if (itemType == 1) - sub_8108CB4(); + Bag_BeginCloseWin0Animation(); ItemMenu_StartFadeToExitCallback(taskId); } } @@ -188,7 +188,7 @@ static void sub_80A10C4(u8 taskId, bool8 a1, u8 a2, const u8 * str) { StringExpandPlaceholders(gStringVar4, str); if (a1 == FALSE) - DisplayItemMessageInBag(taskId, a2, gStringVar4, sub_810A1F8); + DisplayItemMessageInBag(taskId, a2, gStringVar4, Task_ReturnToBagFromContextMenu); else DisplayItemMessageOnField(taskId, a2, gStringVar4, sub_80A112C); } @@ -345,7 +345,7 @@ void FieldUseFunc_CoinCase(u8 taskId) StringExpandPlaceholders(gStringVar4, gUnknown_8416537); ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, 0xFFFF); if (gTasks[taskId].data[3] == 0) - DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8); + DisplayItemMessageInBag(taskId, 2, gStringVar4, Task_ReturnToBagFromContextMenu); else DisplayItemMessageOnField(taskId, 2, gStringVar4, sub_80A112C); } @@ -356,7 +356,7 @@ void FieldUseFunc_PowderJar(u8 taskId) StringExpandPlaceholders(gStringVar4, gUnknown_8416644); ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, 0xFFFF); if (gTasks[taskId].data[3] == 0) - DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8); + DisplayItemMessageInBag(taskId, 2, gStringVar4, Task_ReturnToBagFromContextMenu); else DisplayItemMessageOnField(taskId, 2, gStringVar4, sub_80A112C); } @@ -384,7 +384,7 @@ void FieldUseFunc_PokeFlute(u8 taskId) { // Now that's a catchy tune! if (gTasks[taskId].data[3] == 0) - DisplayItemMessageInBag(taskId, 2, gUnknown_841665C, sub_810A1F8); + DisplayItemMessageInBag(taskId, 2, gUnknown_841665C, Task_ReturnToBagFromContextMenu); else DisplayItemMessageOnField(taskId, 2, gUnknown_841665C, sub_80A112C); } @@ -401,7 +401,7 @@ static void sub_80A1674(u8 taskId) if (WaitFanfare(FALSE)) { if (gTasks[taskId].data[3] == 0) - DisplayItemMessageInBag(taskId, 2, gUnknown_84166A7, sub_810A1F8); + DisplayItemMessageInBag(taskId, 2, gUnknown_84166A7, Task_ReturnToBagFromContextMenu); else DisplayItemMessageOnField(taskId, 2, gUnknown_84166A7, sub_80A112C); } @@ -458,7 +458,7 @@ void FieldUseFunc_TmCase(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - fade_screen(1, 0); + FadeScreen(1, 0); gTasks[taskId].func = Task_InitTMCaseFromField; } } @@ -489,7 +489,7 @@ void FieldUseFunc_BerryPouch(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - fade_screen(1, 0); + FadeScreen(1, 0); gTasks[taskId].func = Task_InitBerryPouchFromField; } } @@ -518,7 +518,7 @@ void BattleUseFunc_BerryPouch(u8 taskId) static void InitBerryPouchFromBattle(void) { - InitBerryPouch(BERRYPOUCH_FROMBATTLE, sub_8107ECC, 0); + InitBerryPouch(BERRYPOUCH_FROMBATTLE, CB2_BagMenuFromBattle, 0); } void FieldUseFunc_TeachyTv(u8 taskId) @@ -532,7 +532,7 @@ void FieldUseFunc_TeachyTv(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - fade_screen(1, 0); + FadeScreen(1, 0); gTasks[taskId].func = Task_InitTeachyTvFromField; } } @@ -562,7 +562,7 @@ void FieldUseFunc_SuperRepel(u8 taskId) } else // An earlier repel is still in effect - DisplayItemMessageInBag(taskId, 2, gUnknown_841659E, sub_810A1F8); + DisplayItemMessageInBag(taskId, 2, gUnknown_841659E, Task_ReturnToBagFromContextMenu); } static void sub_80A19E8(u8 taskId) @@ -572,15 +572,15 @@ static void sub_80A19E8(u8 taskId) ItemUse_SetQuestLogEvent(QL_EVENT_USED_ITEM, NULL, gSpecialVar_ItemId, 0xFFFF); VarSet(VAR_REPEL_STEP_COUNT, ItemId_GetHoldEffectParam(gSpecialVar_ItemId)); sub_80A1A44(); - DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8); + DisplayItemMessageInBag(taskId, 2, gStringVar4, Task_ReturnToBagFromContextMenu); } } static void sub_80A1A44(void) { RemoveBagItem(gSpecialVar_ItemId, 1); - sub_8108DC8(ItemId_GetPocket(gSpecialVar_ItemId)); - sub_81089F4(ItemId_GetPocket(gSpecialVar_ItemId)); + Pocket_CalculateNItemsAndMaxShowed(ItemId_GetPocket(gSpecialVar_ItemId)); + PocketCalculateInitialCursorPosAndItemsAbove(ItemId_GetPocket(gSpecialVar_ItemId)); CopyItemName(gSpecialVar_ItemId, gStringVar2); StringExpandPlaceholders(gStringVar4, gUnknown_841658C); } @@ -613,7 +613,7 @@ static void sub_80A1B48(u8 taskId) if (++gTasks[taskId].data[8] > 7) { PlaySE(SE_BIDORO); - DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8); + DisplayItemMessageInBag(taskId, 2, gStringVar4, Task_ReturnToBagFromContextMenu); } } @@ -662,7 +662,7 @@ void FieldUseFunc_TownMap(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - fade_screen(1, 0); + FadeScreen(1, 0); gTasks[taskId].func = sub_80A1CC0; } } @@ -694,7 +694,7 @@ void FieldUseFunc_FameChecker(u8 taskId) else { StopPokemonLeagueLightingEffectTask(); - fade_screen(1, 0); + FadeScreen(1, 0); gTasks[taskId].func = sub_80A1D68; } } @@ -745,18 +745,18 @@ void BattleUseFunc_PokeBallEtc(u8 taskId) if (!IsPlayerPartyAndPokemonStorageFull()) { RemoveBagItem(gSpecialVar_ItemId, 1); - sub_8108CB4(); + Bag_BeginCloseWin0Animation(); ItemMenu_StartFadeToExitCallback(taskId); } else { - DisplayItemMessageInBag(taskId, 2, gUnknown_8416631, sub_810A1F8); + DisplayItemMessageInBag(taskId, 2, gUnknown_8416631, Task_ReturnToBagFromContextMenu); } } void BattleUseFunc_PokeFlute(u8 taskId) { - sub_8108CB4(); + Bag_BeginCloseWin0Animation(); ItemMenu_StartFadeToExitCallback(taskId); } @@ -764,7 +764,7 @@ void BattleUseFunc_GuardSpec(u8 taskId) { if (ExecuteTableBasedItemEffect(&gPlayerParty[gBattlerPartyIndexes[gBattlerInMenuId]], gSpecialVar_ItemId, gBattlerPartyIndexes[gBattlerInMenuId], 0)) { - DisplayItemMessageInBag(taskId, 2, gText_WontHaveEffect, sub_810A1F8); + DisplayItemMessageInBag(taskId, 2, gText_WontHaveEffect, Task_ReturnToBagFromContextMenu); } else { @@ -790,7 +790,7 @@ static void Task_BattleUse_StatBooster_WaitButton_ReturnToBattle(u8 taskId) { if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) { - sub_8108CB4(); + Bag_BeginCloseWin0Animation(); ItemMenu_StartFadeToExitCallback(taskId); } } diff --git a/src/link_rfu_2.c b/src/link_rfu_2.c index 41fe72e20..17f604ee8 100644 --- a/src/link_rfu_2.c +++ b/src/link_rfu_2.c @@ -1917,7 +1917,7 @@ void ClearAndInitHostRFUtgtGname(void) InitHostRFUtgtGname(&gHostRFUtgtGnameBuffer, 0, 0, 0); } -void sub_80FAF58(u8 a0, u32 a1, u32 a2) +void SetHostRFUtgtGname(u8 a0, u32 a1, u32 a2) { InitHostRFUtgtGname(&gHostRFUtgtGnameBuffer, a0, a2, a1); } @@ -1944,7 +1944,7 @@ void sub_80FAFE0(u8 a0) void sub_80FB008(u8 a0, u32 a1, u32 a2) { if (a0) - sub_80FAF58(a0, a1, a2); + SetHostRFUtgtGname(a0, a1, a2); rfu_REQ_configGameData(0, 2, (void *)&gHostRFUtgtGnameBuffer, gHostRFUtgtUnameBuffer); } diff --git a/src/link_rfu_3.c b/src/link_rfu_3.c index 87197f57f..31ea0830b 100644 --- a/src/link_rfu_3.c +++ b/src/link_rfu_3.c @@ -603,7 +603,7 @@ static u8 GetConnectedChildStrength(u8 maxFlags) } #endif -void InitHostRFUtgtGname(struct GFtgtGname *data, u8 r9, bool32 r2, s32 r3) +void InitHostRFUtgtGname(struct GFtgtGname *data, u8 activity, bool32 r2, s32 r3) { s32 i; @@ -617,7 +617,7 @@ void InitHostRFUtgtGname(struct GFtgtGname *data, u8 r9, bool32 r2, s32 r3) r3 >>= 8; } data->playerGender = gSaveBlock2Ptr->playerGender; - data->unk_0a_0 = r9; + data->unk_0a_0 = activity; data->unk_0a_7 = r2; data->unk_00.unk_00_0 = GAME_LANGUAGE; data->unk_00.unk_01_2 = GAME_VERSION; @@ -681,7 +681,7 @@ bool8 sub_80FCCF4(struct GFtgtGname *gname, u8 *uname, u8 idx) return retVal; } -void sub_80FCD50(struct GFtgtGname *gname, u8 *uname) +void LinkRfu3_SetGnameUnameFromStaticBuffers(struct GFtgtGname *gname, u8 *uname) { memcpy(gname, &gHostRFUtgtGnameBuffer, RFU_GAME_NAME_LENGTH); memcpy(uname, gHostRFUtgtUnameBuffer, RFU_USER_NAME_LENGTH); @@ -929,7 +929,7 @@ void RecordMixTrainerNames(void) } } -bool32 sub_80FD338(u16 id, u8 *name) +bool32 PlayerHasMetTrainerBefore(u16 id, u8 *name) { s32 i; diff --git a/src/menu_helpers.c b/src/menu_helpers.c index 905e3c1ea..dedd7aa9e 100644 --- a/src/menu_helpers.c +++ b/src/menu_helpers.c @@ -107,7 +107,7 @@ bool8 itemid_link_can_give_berry(u16 itemId) return FALSE; } -bool8 itemid_80BF6D8_mail_related(u16 itemId) +bool8 CanWriteMailHere(u16 itemId) { if (IsUpdateLinkStateCBActive() != TRUE && InUnionRoom() != TRUE) return TRUE; @@ -242,7 +242,7 @@ bool8 AdjustQuantityAccordingToDPadInput(s16 *arg0, u16 arg1) return FALSE; } -u8 sub_80BF8E4(void) +u8 GetDialogBoxFontId(void) { if (!ContextNpcGetTextColor()) return 4; diff --git a/src/mevent.c b/src/mevent.c index b22d02cbc..afad326b5 100644 --- a/src/mevent.c +++ b/src/mevent.c @@ -652,7 +652,7 @@ void BlankMEventBuffer2(void) gSaveBlock1Ptr->mysteryEventBuffers.buffer_310.crc = 0; } -u16 sub_81440E8(void) +u16 GetWonderCardFlagId(void) { if (ValidateReceivedWonderCard()) return gSaveBlock1Ptr->mysteryEventBuffers.mecard.data.unk_00; @@ -674,7 +674,7 @@ bool32 sub_8144124(u16 a0) bool32 CheckReceivedGiftFromWonderCard(void) { - u16 value = sub_81440E8(); + u16 value = GetWonderCardFlagId(); if (!sub_8144124(value)) return FALSE; if (FlagGet(gUnknown_8466F00[value - 1000]) == TRUE) diff --git a/src/new_game.c b/src/new_game.c index 471c49e67..381ba28c8 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -98,7 +98,7 @@ void ResetMenuAndMonGlobals(void) gDifferentSaveFile = FALSE; ZeroPlayerPartyMons(); ZeroEnemyPartyMons(); - sub_81089BC(); + ResetBagCursorPositions(); ResetTMCaseCursorPos(); BerryPouch_CursorResetToTop(); ResetQuestLog(); diff --git a/src/party_menu.c b/src/party_menu.c index d12a17e6c..df0e70b37 100644 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -3451,7 +3451,7 @@ static void CursorCB_Give(u8 taskId) void CB2_SelectBagItemToGive(void) { - GoToBagMenu(1, 3, CB2_GiveHoldItem); + GoToBagMenu(ITEMMENULOCATION_PARTY, OPEN_BAG_LAST, CB2_GiveHoldItem); } void CB2_GiveHoldItem(void) @@ -4283,12 +4283,12 @@ void CB2_ShowPartyMenuForItemUse(void) static void CB2_ReturnToBagMenu(void) { - GoToBagMenu(11, 3, NULL); + GoToBagMenu(ITEMMENULOCATION_LAST, OPEN_BAG_LAST, NULL); } static void CB2_ReturnToTMCaseMenu(void) { - InitTMCase(5, NULL, 0xFF); + InitTMCase(TMCASE_NA, NULL, 0xFF); } static void CB2_ReturnToBerryPouchMenu(void) @@ -5818,7 +5818,7 @@ static void Task_ContinueChoosingHalfParty(u8 taskId) } } -void sub_81277F4(u8 menuType, MainCallback callback) +void ChooseMonForTradingBoard(u8 menuType, MainCallback callback) { InitPartyMenu(menuType, PARTY_LAYOUT_SINGLE, @@ -5904,7 +5904,7 @@ void OpenPartyMenuInBattle(void) void ChooseMonForInBattleItem(void) { - InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), PARTY_ACTION_REUSABLE_ITEM, FALSE, PARTY_MSG_USE_ON_WHICH_MON, sub_8120FCC, sub_8107ECC); + InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), PARTY_ACTION_REUSABLE_ITEM, FALSE, PARTY_MSG_USE_ON_WHICH_MON, sub_8120FCC, CB2_BagMenuFromBattle); nullsub_44(); UpdatePartyToBattleOrder(); } @@ -5919,7 +5919,7 @@ void sub_81279E0(void) FALSE, PARTY_MSG_NONE, sub_8120C3C, - sub_8107ECC); + CB2_BagMenuFromBattle); sub_80EB2F4(8); } else @@ -5929,7 +5929,7 @@ void sub_81279E0(void) if (GetPocketByItemId(gSpecialVar_ItemId) == POCKET_BERRY_POUCH) callback = CB2_ReturnToBerryPouchMenu; else - callback = sub_8107ECC; + callback = CB2_BagMenuFromBattle; InitPartyMenu(PARTY_MENU_TYPE_IN_BATTLE, GetPartyLayoutFromBattleType(), PARTY_ACTION_USE_ITEM, diff --git a/src/player_pc.c b/src/player_pc.c index 00d41abe6..928676844 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -322,7 +322,7 @@ static void Task_DepositItem_WaitFadeAndGoToBag(u8 taskId) if (!gPaletteFade.active) { CleanupOverworldWindowsAndTilemaps(); - GoToBagMenu(3, POCKET_ITEMS - 1, CB2_ReturnToField); + GoToBagMenu(ITEMMENULOCATION_ITEMPC, OPEN_BAG_ITEMS, CB2_ReturnToField); gFieldCallback = CB2_ReturnFromDepositMenu; DestroyTask(taskId); } @@ -331,7 +331,7 @@ static void Task_DepositItem_WaitFadeAndGoToBag(u8 taskId) static void Task_PlayerPcDepositItem(u8 taskId) { gTasks[taskId].func = Task_DepositItem_WaitFadeAndGoToBag; - fade_screen(1, 0); + FadeScreen(1, 0); } static void Task_ReturnToItemStorageSubmenu(u8 taskId) @@ -394,7 +394,7 @@ static void Task_WithdrawItemBeginFade(u8 taskId) { gTasks[taskId].func = Task_WithdrawItem_WaitFadeAndGoToItemStorage; ItemPc_SetInitializedFlag(0); - fade_screen(1, 0); + FadeScreen(1, 0); } static void Task_PlayerPcCancel(u8 taskId) @@ -556,7 +556,7 @@ static void Task_MailSubmenuHandleInput(u8 taskId) static void Task_PlayerPcReadMail(u8 taskId) { - fade_screen(1, 0); + FadeScreen(1, 0); gTasks[taskId].func = Task_WaitFadeAndReadSelectedMail; } @@ -663,7 +663,7 @@ static void Task_PlayerPcGiveMailToMon(u8 taskId) } else { - fade_screen(1, 0); + FadeScreen(1, 0); gTasks[taskId].func = Task_WaitFadeAndGoToPartyMenu; } } diff --git a/src/pokemon.c b/src/pokemon.c index 1270a25ed..d1305861a 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -1547,7 +1547,7 @@ const struct SpriteTemplate gUnknown_825DF50[] = .paletteTag = 0, .oam = &gOamData_824F018, .anims = NULL, - .images = gTrainerBackPicTable_PokeDude, + .images = gTrainerBackPicTable_Pokedude, .affineAnims = gSpriteAffineAnimTable_82348C8, .callback = sub_80120C4, }, @@ -3982,49 +3982,49 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov retVal = FALSE; } if ((itemEffect[cmdIndex] & 0xF) - && gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_ATK] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] += itemEffect[cmdIndex] & 0xF; - if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] > 12) - gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] = 12; + gBattleMons[gActiveBattler].statStages[STAT_ATK] += itemEffect[cmdIndex] & 0xF; + if (gBattleMons[gActiveBattler].statStages[STAT_ATK] > 12) + gBattleMons[gActiveBattler].statStages[STAT_ATK] = 12; retVal = FALSE; } break; // in-battle stat boosting effects? case 1: if ((itemEffect[cmdIndex] & 0xF0) - && gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_DEF] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] += (itemEffect[cmdIndex] & 0xF0) >> 4; - if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] > 12) - gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] = 12; + gBattleMons[gActiveBattler].statStages[STAT_DEF] += (itemEffect[cmdIndex] & 0xF0) >> 4; + if (gBattleMons[gActiveBattler].statStages[STAT_DEF] > 12) + gBattleMons[gActiveBattler].statStages[STAT_DEF] = 12; retVal = FALSE; } if ((itemEffect[cmdIndex] & 0xF) - && gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_SPEED] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] += itemEffect[cmdIndex] & 0xF; - if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] > 12) - gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] = 12; + gBattleMons[gActiveBattler].statStages[STAT_SPEED] += itemEffect[cmdIndex] & 0xF; + if (gBattleMons[gActiveBattler].statStages[STAT_SPEED] > 12) + gBattleMons[gActiveBattler].statStages[STAT_SPEED] = 12; retVal = FALSE; } break; // more stat boosting effects? case 2: if ((itemEffect[cmdIndex] & 0xF0) - && gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_ACC] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] += (itemEffect[cmdIndex] & 0xF0) >> 4; - if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] > 12) - gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] = 12; + gBattleMons[gActiveBattler].statStages[STAT_ACC] += (itemEffect[cmdIndex] & 0xF0) >> 4; + if (gBattleMons[gActiveBattler].statStages[STAT_ACC] > 12) + gBattleMons[gActiveBattler].statStages[STAT_ACC] = 12; retVal = FALSE; } if ((itemEffect[cmdIndex] & 0xF) - && gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_SPATK] < 12) { - gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] += itemEffect[cmdIndex] & 0xF; - if (gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] > 12) - gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] = 12; + gBattleMons[gActiveBattler].statStages[STAT_SPATK] += itemEffect[cmdIndex] & 0xF; + if (gBattleMons[gActiveBattler].statStages[STAT_SPATK] > 12) + gBattleMons[gActiveBattler].statStages[STAT_SPATK] = 12; retVal = FALSE; } break; @@ -4496,25 +4496,25 @@ bool8 PokemonItemUseNoEffect(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mo && !(gBattleMons[gActiveBattler].status2 & STATUS2_FOCUS_ENERGY)) retVal = FALSE; if ((itemEffect[cmdIndex] & 0xF) - && gBattleMons[gActiveBattler].statStages[STAT_STAGE_ATK] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_ATK] < 12) retVal = FALSE; break; // in-battle stat boosting effects? case 1: if ((itemEffect[cmdIndex] & 0xF0) - && gBattleMons[gActiveBattler].statStages[STAT_STAGE_DEF] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_DEF] < 12) retVal = FALSE; if ((itemEffect[cmdIndex] & 0xF) - && gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPEED] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_SPEED] < 12) retVal = FALSE; break; // more stat boosting effects? case 2: if ((itemEffect[cmdIndex] & 0xF0) - && gBattleMons[gActiveBattler].statStages[STAT_STAGE_ACC] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_ACC] < 12) retVal = FALSE; if ((itemEffect[cmdIndex] & 0xF) - && gBattleMons[gActiveBattler].statStages[STAT_STAGE_SPATK] < 12) + && gBattleMons[gActiveBattler].statStages[STAT_SPATK] < 12) retVal = FALSE; break; case 3: diff --git a/src/quest_log.c b/src/quest_log.c index 38b3733ea..0cda4eb77 100644 --- a/src/quest_log.c +++ b/src/quest_log.c @@ -1049,7 +1049,7 @@ static void sub_811175C(u8 sceneNum, struct UnkStruct_203AE98 * a1) static void sub_81118F4(s8 a0) { - fade_screen(1, a0); + FadeScreen(1, a0); sQuestLogCB = QuestLog_AdvancePlayhead; } @@ -1309,7 +1309,7 @@ static void QuestLog_CloseTextWindow(void) static void QuestLog_SkipToEndOfPlayback(s8 a0) { - fade_screen(1, a0); + FadeScreen(1, a0); sQuestLogCB = QuestLog_WaitFadeAndCancelPlayback; } diff --git a/src/rfu_union_tool.c b/src/rfu_union_tool.c new file mode 100644 index 000000000..20b29de9b --- /dev/null +++ b/src/rfu_union_tool.c @@ -0,0 +1,663 @@ +#include "global.h" +#include "event_data.h" +#include "event_object_movement.h" +#include "event_object_80688E4.h" +#include "event_object_8097404.h" +#include "field_player_avatar.h" +#include "fieldmap.h" +#include "rfu_union_tool.h" +#include "script.h" +#include "task.h" +#include "constants/flags.h" +#include "constants/event_object_movement.h" +#include "constants/object_events.h" + +static EWRAM_DATA struct UnionObj * UnionObjWork = NULL; +static EWRAM_DATA u32 sUnionObjRefreshTimer = 0; + +static u8 StartUnionObjAnimTask(void); +static u32 sub_811BBC8(u32 playerIdx, u32 arg1); +static void sub_811C008(s32 arg0, s32 arg1, u8 arg2); + +static const u8 sUnionObjectEventGfxIds[][10] = { + [MALE] = { + OBJECT_EVENT_GFX_COOLTRAINER_M, + OBJECT_EVENT_GFX_BLACKBELT, + OBJECT_EVENT_GFX_CAMPER, + OBJECT_EVENT_GFX_YOUNGSTER, + OBJECT_EVENT_GFX_BOY, + OBJECT_EVENT_GFX_BUG_CATCHER, + OBJECT_EVENT_GFX_MAN, + OBJECT_EVENT_GFX_ROCKER + }, + [FEMALE] = { + OBJECT_EVENT_GFX_COOLTRAINER_F, + OBJECT_EVENT_GFX_CHANNELER, + OBJECT_EVENT_GFX_PICNICKER, + OBJECT_EVENT_GFX_LASS, + OBJECT_EVENT_GFX_WOMAN_1, + OBJECT_EVENT_GFX_BATTLE_GIRL, + OBJECT_EVENT_GFX_WOMAN_2, + OBJECT_EVENT_GFX_BEAUTY + } +}; + +static const s16 sUnionPartnerCoords[][2] = { + { 4, 6}, + {13, 8}, + {10, 6}, + { 1, 8}, + {13, 4}, + { 7, 4}, + { 1, 4}, + { 7, 8} +}; + +static const s8 sFacingDirectionOffsets[][2] = { + [DIR_NONE] = { 0, 0}, + [DIR_SOUTH] = { 1, 0}, + [DIR_NORTH] = { 0, -1}, + [DIR_WEST] = {-1, 0}, + [DIR_EAST] = { 0, 1} +}; + +static const u8 sOppositeFacingDirection[] = { + [DIR_NONE] = DIR_NONE, + [DIR_SOUTH] = DIR_NORTH, + [DIR_NORTH] = DIR_SOUTH, + [DIR_WEST] = DIR_EAST, + [DIR_EAST] = DIR_WEST +}; + +static const u8 gUnknown_845711B[] = { + 1, + 3, + 1, + 4, + 2 +}; + +static const u8 sUnionRoomLocalIds[] = { + 9, + 8, + 7, + 2, + 6, + 5, + 4, + 3 +}; + +static const u16 sUnref_8457128[] = { + 0x63, + 0x64, + 0x65, + 0x66, + 0x67, + 0x68, + 0x69, + 0x6A +}; + +static bool32 is_walking_or_running(void) +{ + if (gPlayerAvatar.tileTransitionState == 2 || gPlayerAvatar.tileTransitionState == 0) + { + return TRUE; + } + else + { + return FALSE; + } +} + +static u8 GetUnionRoomPlayerGraphicsId(u32 gender, u32 id) +{ + return sUnionObjectEventGfxIds[gender][id % 8]; +} + +static void GetUnionRoomPlayerFacingCoords(u32 id, u32 dirn, s32 * xp, s32 * yp) +{ + *xp = sUnionPartnerCoords[id][0] + sFacingDirectionOffsets[dirn][0] + 7; + *yp = sUnionPartnerCoords[id][1] + sFacingDirectionOffsets[dirn][1] + 7; +} + +static bool32 sub_811B58C(u32 id, u32 dirn, s32 x, s32 y) +{ + if (sUnionPartnerCoords[id][0] + sFacingDirectionOffsets[dirn][0] + 7 != x) + { + return FALSE; + } + else if (sUnionPartnerCoords[id][1] + sFacingDirectionOffsets[dirn][1] + 7 != y) + { + return FALSE; + } + else + { + return TRUE; + } +} + +static bool32 IsUnionRoomPlayerHidden(u32 player_idx) +{ + return FlagGet(FLAG_HIDE_UNION_ROOM_PLAYER_1 + player_idx); +} + +static void HideUnionRoomPlayer(u32 player_idx) +{ + FlagSet(FLAG_HIDE_UNION_ROOM_PLAYER_1 + player_idx); +} + +static void ShowUnionRoomPlayer(u32 player_idx) +{ + FlagClear(FLAG_HIDE_UNION_ROOM_PLAYER_1 + player_idx); +} + +static void SetUnionRoomPlayerGfx(u32 playerIdx, u32 gfxId) +{ + VarSet(VAR_OBJ_GFX_ID_0 + playerIdx, gfxId); +} + +static void CreateUnionRoomPlayerObjectEvent(u32 playerIdx) +{ + TrySpawnObjectEvent(sUnionRoomLocalIds[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); +} + +static void RemoveUnionRoomPlayerObjectEvent(u32 playerIdx) +{ + RemoveObjectEventByLocalIdAndMap(sUnionRoomLocalIds[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); +} + +static bool32 SetUnionRoomPlayerEnterExitMovement(u32 playerIdx, const u8 * movement) +{ + u8 objectId; + struct ObjectEvent * object; + if (TryGetObjectEventIdByLocalIdAndMap(sUnionRoomLocalIds[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId)) + { + return FALSE; + } + object = &gObjectEvents[objectId]; + if (ObjectEventIsMovementOverridden(object)) + { + return FALSE; + } + if (ObjectEventSetHeldMovement(object, *movement)) + { + AGB_ASSERT_EX(0, ABSPATH("rfu_union_tool.c"), 387); + return FALSE; + } + return TRUE; +} +static bool32 TryReleaseUnionRoomPlayerObjectEvent(u32 playerIdx) +{ + u8 objectId; + struct ObjectEvent * object; + if (TryGetObjectEventIdByLocalIdAndMap(sUnionRoomLocalIds[playerIdx], gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &objectId)) + { + return TRUE; + } + object = &gObjectEvents[objectId]; + if (!ObjectEventClearHeldMovementIfFinished(object)) + { + return FALSE; + } + if (!ScriptContext2_IsEnabled()) + { + UnfreezeObjectEvent(object); + } + else + { + FreezeObjectEvent(object); + } + return TRUE; +} + +u8 ZeroUnionObjWork(struct UnionObj * ptr) +{ + s32 i; + + sUnionObjRefreshTimer = 0; + UnionObjWork = ptr; + AGB_ASSERT_EX(UnionObjWork != NULL, ABSPATH("rfu_union_tool.c"), 442) + for (i = 0; i < 8; i++) + { + ptr[i].state = 0; + ptr[i].gfxId = 0; + ptr[i].animState = 0; + ptr[i].schedAnim = 0; + } + return StartUnionObjAnimTask(); +} + +static const u8 sMovement_UnionPlayerExit[2] = { + MOVEMENT_ACTION_FLY_UP, + MOVEMENT_ACTION_STEP_END +}; + +static bool32 AnimateUnionRoomPlayerDespawn(s8 * a0, u32 playerIdx, struct UnionObj * ptr) +{ + switch (*a0) + { + case 0: + if (SetUnionRoomPlayerEnterExitMovement(playerIdx, sMovement_UnionPlayerExit) == TRUE) + { + HideUnionRoomPlayer(playerIdx); + (*a0)++; + } + break; + case 1: + if (TryReleaseUnionRoomPlayerObjectEvent(playerIdx)) + { + RemoveUnionRoomPlayerObjectEvent(playerIdx); + HideUnionRoomPlayer(playerIdx); + *a0 = 0; + return TRUE; + } + break; + } + return FALSE; +} + +static const u8 sMovement_UnionPlayerEnter[2] = { + MOVEMENT_ACTION_FLY_DOWN, + MOVEMENT_ACTION_STEP_END +}; + +static bool32 AnimateUnionRoomPlayerSpawn(s8 * a0, u32 playerIdx, struct UnionObj * ptr) +{ + s16 x, y; + + switch (*a0) + { + case 0: + if (!is_walking_or_running()) + { + break; + } + PlayerGetDestCoords(&x, &y); + if (sub_811B58C(playerIdx, 0, x, y) == TRUE) + { + break; + } + player_get_pos_including_state_based_drift(&x, &y); + if (sub_811B58C(playerIdx, 0, x, y) == TRUE) + { + break; + } + SetUnionRoomPlayerGfx(playerIdx, ptr->gfxId); + CreateUnionRoomPlayerObjectEvent(playerIdx); + ShowUnionRoomPlayer(playerIdx); + (*a0)++; + // fallthrough + case 3: // incorrect? + if (SetUnionRoomPlayerEnterExitMovement(playerIdx, sMovement_UnionPlayerEnter) == 1) + { + (*a0)++; + } + break; + case 2: + if (TryReleaseUnionRoomPlayerObjectEvent(playerIdx)) + { + *a0 = 0; + return TRUE; + } + break; + } + return FALSE; +} + +static bool32 sub_811B8BC(u32 playerIdx, u32 a1, u32 a2) +{ + struct UnionObj * ptr = &UnionObjWork[playerIdx]; + AGB_ASSERT_EX(UnionObjWork != NULL, ABSPATH("rfu_union_tool.c"), 561) + ptr->schedAnim = 1; + ptr->gfxId = GetUnionRoomPlayerGraphicsId(a1, a2); + if (ptr->state == 0) + { + return TRUE; + } + else + { + return FALSE; + } +} + +static bool32 sub_811B90C(u32 playerIdx) +{ + struct UnionObj * ptr = &UnionObjWork[playerIdx]; + AGB_ASSERT_EX(UnionObjWork != NULL, ABSPATH("rfu_union_tool.c"), 577) + ptr->schedAnim = 2; + if (ptr->state == 1) + { + return TRUE; + } + else + { + return FALSE; + } +} + +static void AnimateUnionObj(u32 playerIdx, struct UnionObj * ptr) +{ + switch (ptr->state) + { + case 0: + if (ptr->schedAnim == 1) + { + ptr->state = 2; + ptr->animState = 0; + } + else + { + break; + } + // fallthrough + case 2: + if (!sub_811BBC8(playerIdx, 0) && ptr->schedAnim == 2) + { + ptr->state = 0; + ptr->animState = 0; + RemoveUnionRoomPlayerObjectEvent(playerIdx); + HideUnionRoomPlayer(playerIdx); + } + else if (AnimateUnionRoomPlayerSpawn(&ptr->animState, playerIdx, ptr) == TRUE) + { + ptr->state = 1; + } + break; + case 1: + if (ptr->schedAnim == 2) + { + ptr->state = 3; + ptr->animState = 0; + } + else + { + break; + } + // fallthrough + case 3: + if (AnimateUnionRoomPlayerDespawn(&ptr->animState, playerIdx, ptr) == TRUE) + { + ptr->state = 0; + } + break; + } + ptr->schedAnim = 0; +} + +static void Task_AnimateUnionObjs(u8 taskId) +{ + s32 i; + AGB_ASSERT_EX(UnionObjWork != NULL, ABSPATH("rfu_union_tool.c"), 643) + for (i = 0; i < 8; i++) + { + AnimateUnionObj(i, &UnionObjWork[i]); + } +} + +static u8 StartUnionObjAnimTask(void) +{ + if (FuncIsActiveTask(Task_AnimateUnionObjs) == TRUE) + { + AGB_ASSERT_EX(0, ABSPATH("rfu_union_tool.c"), 655) + return NUM_TASKS; + } + else + { + return CreateTask(Task_AnimateUnionObjs, 5); + } +} + +static void sub_811BA5C(void) +{ + u8 taskId = FindTaskIdByFunc(Task_AnimateUnionObjs); + if (taskId < NUM_TASKS) + { + DestroyTask(taskId); + } +} + +void sub_811BA78(void) +{ + s32 i; + for (i = 0; i < 8; i++) + { + if (!IsUnionRoomPlayerHidden(i)) + { + RemoveUnionRoomPlayerObjectEvent(i); + HideUnionRoomPlayer(i); + } + } + UnionObjWork = NULL; + sub_811BA5C(); +} + +void sub_811BAAC(u8 * sp8, s32 r9) +{ + s32 r7; + + for (r7 = 0; r7 < 5; r7++) + { + s32 r5 = 5 * r9 + r7; + sp8[r5] = sprite_new(OBJECT_EVENT_GFX_MAN, r5 - 0x38, sUnionPartnerCoords[r9][0] + sFacingDirectionOffsets[r7][0], sUnionPartnerCoords[r9][1] + sFacingDirectionOffsets[r7][1], 3, 1); + sub_8069124(r5 - 0x38, TRUE); + } +} + +void sub_811BB40(u8 * r5) +{ + s32 i; + for (i = 0; i < 40; i++) + { + DestroySprite(&gSprites[r5[i]]); + } +} + +void sub_811BB68(void) +{ + s32 i, j, x, y; + for (i = 0; i < 8; i++) + { + for (j = 0; j < 5; j++) + { + GetUnionRoomPlayerFacingCoords(i, j, &x, &y); + sub_8059024(x, y, 0); + } + } +} + +static u8 sub_811BBA0(u32 r1, u32 unused, struct GFtgtGname * r2) +{ + if (r1 != 0) + { + return gUnknown_845711B[r1]; + } + else if (r2->unk_0a_0 == 0x45) + { + return 1; + } + else + { + return 4; + } +} + +static u32 sub_811BBC8(u32 a0, u32 a1) +{ + return sub_806916C(5 * a0 + a1 - 0x38); +} + +static void sub_811BBE0(u32 r5, u32 r6, u8 r8, struct GFtgtGname * r9) +{ + s32 x, y; + s32 r7 = 5 * r5 + r6; + if (sub_811BBC8(r5, r6) == 1) + { + sub_8069124(r7 - 0x38, FALSE); + sub_80691A4(r7 - 0x38, 1); + } + sub_8069094(r7 - 0x38, r8); + sub_811C008(r6, r5, sub_811BBA0(r6, r5, r9)); + GetUnionRoomPlayerFacingCoords(r5, r6, &x, &y); + sub_8059024(x, y, 1); +} + +static void sub_811BC68(u32 a0, u32 a1) +{ + s32 x, y; + sub_80691A4(5 * a0 + a1 - 0x38, 2); + GetUnionRoomPlayerFacingCoords(a0, a1, &x, &y); + sub_8059024(x, y, 0); +} + +static void sub_811BCA0(u32 r7, struct GFtgtGname * r8) +{ + s16 x, y, x2, y2; + s32 i; + + PlayerGetDestCoords(&x, &y); + player_get_pos_including_state_based_drift(&x2, &y2); + if (sub_806916C(5 * r7 - 0x38) == 1) + { + if (sub_811B58C(r7, 0, x, y) == TRUE || sub_811B58C(r7, 0, x2, y2) == TRUE) + { + return; + } + sub_811BBE0(r7, 0, GetUnionRoomPlayerGraphicsId(r8->playerGender, r8->unk_00.playerTrainerId[0]), r8); + } + for (i = 1; i < 5; i++) + { + if (r8->unk_04[i - 1] == 0) + { + sub_811BC68(r7, i); + } + else if (sub_811B58C(r7, i, x, y) == FALSE && sub_811B58C(r7, i, x2, y2) == FALSE) + { + sub_811BBE0(r7, i, GetUnionRoomPlayerGraphicsId((r8->unk_04[i - 1] >> 3) & 1, r8->unk_04[i - 1] & 7), r8); + } + } +} + +static void sub_811BDA8(u32 r5, struct GFtgtGname * r4) +{ + u32 i; + switch (r4->unk_0a_0) + { + case 0x40: + case 0x54: + sub_811B8BC(r5, r4->playerGender, r4->unk_00.playerTrainerId[0]); + for (i = 0; i < 5; i++) + { + sub_811BC68(r5, i); + } + break; + case 0x41: + case 0x44: + case 0x45: + case 0x48: + case 0x51: + case 0x52: + case 0x53: + sub_811B90C(r5); + sub_811BCA0(r5, r4); + break; + default: + AGB_ASSERT_EX(0, ABSPATH("rfu_union_tool.c"), 979) + } +} + +static void sub_811BE6C(u32 r5, struct GFtgtGname * unused) +{ + s32 i; + sub_811B90C(r5); + for (i = 0; i < 5; i++) + { + sub_811BC68(r5, i); + } +} + +static void UpdateUnionRoomPlayerSprites(struct UnkStruct_URoom *r0) +{ + s32 i; + struct UnkStruct_x20 * r4; + sUnionObjRefreshTimer = 0; + for (i = 0, r4 = r0->field_0->arr; i < 8; i++) + { + if (r4[i].field_1A_0 == 1) + { + sub_811BDA8(i, &r4[i].unk.gname); + } + else if (r4[i].field_1A_0 == 2) + { + sub_811BE6C(i, &r4[i].unk.gname); + } + } +} + +void sub_811BECC(struct UnkStruct_URoom *unused) +{ + sUnionObjRefreshTimer = 300; +} + +void sub_811BEDC(struct UnkStruct_URoom *r2) +{ + if (++sUnionObjRefreshTimer > 300) + { + UpdateUnionRoomPlayerSprites(r2); + } +} + +bool32 sub_811BF00(struct UnkStruct_Main0 *arg0, s16 *arg1, s16 *arg2, u8 *arg3) +{ + s16 x, y; + s32 i, j; + struct UnkStruct_x20 * r4; + if (!is_walking_or_running()) + { + return FALSE; + } + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + for (i = 0, r4 = arg0->arr; i < 8; i++) + { + for (j = 0; j < 5; j++) + { + s32 r3 = 5 * i + j; + if (x != sUnionPartnerCoords[i][0] + sFacingDirectionOffsets[j][0] + 7) + { + continue; + } + if (y != sUnionPartnerCoords[i][1] + sFacingDirectionOffsets[j][1] + 7) + { + continue; + } + if (sub_806916C(r3 - 0x38) != 0) + { + continue; + } + if (sub_8069294(r3 - 0x38) != 0) + { + continue; + } + if (r4[i].field_1A_0 != 1) + { + continue; + } + sub_811C008(j, i, sOppositeFacingDirection[GetPlayerFacingDirection()]); + *arg1 = j; + *arg2 = i; + return TRUE; + } + } + return FALSE; +} + +static void sub_811C008(s32 arg0, s32 arg1, u8 arg2) +{ + sub_8069058(5 * arg1 - 0x38 + arg0, arg2); +} + +void sub_811C028(u32 arg0, u32 arg1, struct UnkStruct_Main0 *arg2) +{ + return sub_811C008(arg0, arg1, sub_811BBA0(arg0, arg1, &arg2->arr[arg1].unk.gname)); +} diff --git a/src/safari_zone.c b/src/safari_zone.c index cb0a58586..65fb89bca 100644 --- a/src/safari_zone.c +++ b/src/safari_zone.c @@ -47,7 +47,7 @@ bool8 SafariZoneTakeStep(void) gSafariZoneStepCounter--; if (gSafariZoneStepCounter == 0) { - ScriptContext1_SetupScript(EventScript_SafariTimesUp); + ScriptContext1_SetupScript(SafariZone_EventScript_TimesUp); return TRUE; } return FALSE; @@ -55,7 +55,7 @@ bool8 SafariZoneTakeStep(void) void SafariZoneRetirePrompt(void) { - ScriptContext1_SetupScript(EventScript_SafariRetire); + ScriptContext1_SetupScript(SafariZone_EventScript_RetirePrompt); } void CB2_EndSafariBattle(void) @@ -66,14 +66,14 @@ void CB2_EndSafariBattle(void) } else if (gBattleOutcome == B_OUTCOME_NO_SAFARI_BALLS) { - ScriptContext2_RunNewScript(EventScript_SafariWarpOut); + ScriptContext2_RunNewScript(SafariZone_EventScript_OutOfBallsMidBattle); WarpIntoMap(); gFieldCallback = sub_807E3EC; SetMainCallback2(CB2_LoadMap); } else if (gBattleOutcome == B_OUTCOME_CAUGHT) { - ScriptContext1_SetupScript(EventScript_SafariOutOfBalls); + ScriptContext1_SetupScript(SafariZone_EventScript_OutOfBalls); ScriptContext1_Stop(); SetMainCallback2(CB2_ReturnToFieldContinueScriptPlayMapMusic); } diff --git a/src/scrcmd.c b/src/scrcmd.c index 51e7d2c35..c2c422a0a 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -630,7 +630,7 @@ static bool8 IsPaletteNotActive(void) bool8 ScrCmd_fadescreen(struct ScriptContext *ctx) { - fade_screen(ScriptReadByte(ctx), 0); + FadeScreen(ScriptReadByte(ctx), 0); SetupNativeScript(ctx, IsPaletteNotActive); return TRUE; } @@ -640,7 +640,7 @@ bool8 ScrCmd_fadescreenspeed(struct ScriptContext *ctx) u8 mode = ScriptReadByte(ctx); u8 speed = ScriptReadByte(ctx); - fade_screen(mode, speed); + FadeScreen(mode, speed); SetupNativeScript(ctx, IsPaletteNotActive); return TRUE; } @@ -1064,7 +1064,7 @@ bool8 ScrCmd_addobject(struct ScriptContext *ctx) { u16 objectId = VarGet(ScriptReadHalfword(ctx)); - show_sprite(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); + TrySpawnObjectEvent(objectId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup); return FALSE; } @@ -1074,7 +1074,7 @@ bool8 ScrCmd_addobject_at(struct ScriptContext *ctx) u8 mapGroup = ScriptReadByte(ctx); u8 mapNum = ScriptReadByte(ctx); - show_sprite(objectId, mapNum, mapGroup); + TrySpawnObjectEvent(objectId, mapNum, mapGroup); return FALSE; } diff --git a/src/script_menu.c b/src/script_menu.c index 42be3b539..72ff1dc9e 100644 --- a/src/script_menu.c +++ b/src/script_menu.c @@ -565,36 +565,37 @@ const struct MultichoiceListStruct gScriptMultiChoiceMenus[] = { { sScriptMultiChoiceMenu_TrainerTowerMode, NELEMS(sScriptMultiChoiceMenu_TrainerTowerMode) } }; +// From Cool to Berries goes unused const u8 *const gStdStringPtrs[] = { - gText_Cool, - gText_Beauty, - gText_Cute, - gText_Smart, - gText_Tough, - gText_Cool_2, - gText_Beauty_2, - gText_Cute_2, - gText_Smart_2, - gText_Tough_2, - gText_Items, - gText_KeyItems, - gText_PokeBalls, - gText_TMsAndHMs, - gText_Berries, - gText_Boulderbadge, - gText_Cascadebadge, - gText_Thunderbadge, - gText_Rainbowbadge, - gText_Soulbadge, - gText_Marshbadge, - gText_Volcanobadge, - gText_Earthbadge, - gText_Coins_2, - gText_ItemsPocket, - gText_KeyItemsPocket, - gText_PokeBallsPocket, - gText_TmCase, - gText_BerryPouch_2 + [STDSTRING_COOL] = gText_Cool, + [STDSTRING_BEAUTY] = gText_Beauty, + [STDSTRING_CUTE] = gText_Cute, + [STDSTRING_SMART] = gText_Smart, + [STDSTRING_TOUGH] = gText_Tough, + [STDSTRING_COOL2] = gText_Cool_2, + [STDSTRING_BEAUTY2] = gText_Beauty_2, + [STDSTRING_CUTE2] = gText_Cute_2, + [STDSTRING_SMART2] = gText_Smart_2, + [STDSTRING_TOUGH2] = gText_Tough_2, + [STDSTRING_ITEMS] = gText_Items, + [STDSTRING_KEY_ITEMS] = gText_KeyItems, + [STDSTRING_POKEBALLS] = gText_PokeBalls, + [STDSTRING_TMHMS] = gText_TMsAndHMs, + [STDSTRING_BERRIES] = gText_Berries, + [STDSTRING_BOULDER_BADGE] = gText_Boulderbadge, + [STDSTRING_CASCADE_BADGE] = gText_Cascadebadge, + [STDSTRING_THUNDER_BADGE] = gText_Thunderbadge, + [STDSTRING_RAINBOW_BADGE] = gText_Rainbowbadge, + [STDSTRING_SOUL_BADGE] = gText_Soulbadge, + [STDSTRING_MARSH_BADGE] = gText_Marshbadge, + [STDSTRING_VOLCANO_BADGE] = gText_Volcanobadge, + [STDSTRING_EARTH_BADGE] = gText_Earthbadge, + [STDSTRING_COINS] = gText_Coins_2, + [STDSTRING_ITEMS_POCKET] = gText_ItemsPocket, + [STDSTRING_KEY_ITEMS_POCKET] = gText_KeyItemsPocket, + [STDSTRING_POKEBALLS_POCKET] = gText_PokeBallsPocket, + [STDSTRING_TM_CASE] = gText_TmCase, + [STDSTRING_BERRY_POUCH] = gText_BerryPouch_2 }; static const u8 *const sDescriptionPtrs_CableClub_TradeBattleCancel[] = { diff --git a/src/shop.c b/src/shop.c index b410b32b9..97061f8c0 100644 --- a/src/shop.c +++ b/src/shop.c @@ -294,20 +294,20 @@ static void Task_ShopMenu(u8 taskId) static void Task_HandleShopMenuBuy(u8 taskId) { SetWordTaskArg(taskId, 0xE, (u32)CB2_InitBuyMenu); - fade_screen(1, 0); + FadeScreen(1, 0); gTasks[taskId].func = Task_GoToBuyOrSellMenu; } static void Task_HandleShopMenuSell(u8 taskId) { SetWordTaskArg(taskId, 0xE, (u32)CB2_GoToSellMenu); - fade_screen(1, 0); + FadeScreen(1, 0); gTasks[taskId].func = Task_GoToBuyOrSellMenu; } static void CB2_GoToSellMenu(void) { - GoToBagMenu(2, POCKET_POKE_BALLS, CB2_ReturnToField); + GoToBagMenu(ITEMMENULOCATION_SHOP, OPEN_BAG_LAST, CB2_ReturnToField); gFieldCallback = MapPostLoadHook_ReturnToShopMenu; } diff --git a/src/start_menu.c b/src/start_menu.c index 59bfb8643..b159f0375 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -446,7 +446,7 @@ static void StartMenu_FadeScreenIfLeavingOverworld(void) && sStartMenuCallback != StartMenuSafariZoneRetireCallback) { StopPokemonLeagueLightingEffectTask(); - fade_screen(1, 0); + FadeScreen(1, 0); } } @@ -554,7 +554,7 @@ static bool8 StartMenuLinkPlayerCallback(void) { PlayRainStoppingSoundEffect(); CleanupOverworldWindowsAndTilemaps(); - ShowTrainerCardInLink(gUnknown_300502C, CB2_ReturnToFieldWithOpenMenu); + ShowTrainerCardInLink(gLocalLinkPlayerId, CB2_ReturnToFieldWithOpenMenu); return TRUE; } return FALSE; diff --git a/src/teachy_tv.c b/src/teachy_tv.c index 11d4a80b1..1467131b0 100644 --- a/src/teachy_tv.c +++ b/src/teachy_tv.c @@ -34,16 +34,6 @@ #include "fieldmap.h" #include "strings.h" -enum TeachyTvScript -{ - TTVSCR_BATTLE, - TTVSCR_STATUS, - TTVSCR_MATCHUPS, - TTVSCR_CATCHING, - TTVSCR_TMS, - TTVSCR_REGISTER -}; - struct TeachyTvCtrlBlk { MainCallback callback; @@ -805,7 +795,7 @@ static void TTVcmd_NpcMoveAndSetupTextPrinter(u8 taskId) if (spriteAddr->pos2.x == 0x78) { StartSpriteAnim(&gSprites[data[1]], 0); - TeachyTvInitTextPrinter(gTeachyTvText_PokeDudeSaysHello); + TeachyTvInitTextPrinter(gTeachyTvText_PokedudeSaysHello); data[2] = 0; ++data[3]; } @@ -1103,9 +1093,9 @@ static void TTVcmd_TaskBattleOrFadeByOptionChosen(u8 taskId) static void TeachyTvSetupBagItemsByOptionChosen(void) { if (sStaticResources.whichScript == TTVSCR_TMS) - sub_810B108(10); + InitPokedudeBag(ITEMMENULOCATION_TTVSCR_TMS); else - sub_810B108(9); + InitPokedudeBag(ITEMMENULOCATION_TTVSCR_REGISTER); } static void TeachyTvPostBattleFadeControl(u8 taskId) diff --git a/src/tm_case.c b/src/tm_case.c index 40509ed1b..d45061bde 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -67,7 +67,7 @@ struct UnkStruct_203B11C static EWRAM_DATA struct UnkStruct_203B10C sTMCaseStaticResources = {}; static EWRAM_DATA struct UnkStruct_203B118 * sTMCaseDynamicResources = NULL; -static EWRAM_DATA struct UnkStruct_203B11C * sPokeDudePackBackup = NULL; +static EWRAM_DATA struct UnkStruct_203B11C * sPokedudePackBackup = NULL; static EWRAM_DATA void * sTilemapBuffer = NULL; // tilemap buffer static EWRAM_DATA struct ListMenuItem * sListMenuItemsBuffer = NULL; static EWRAM_DATA u8 (* sListMenuStringsBuffer)[29] = NULL; @@ -977,7 +977,7 @@ static void Task_SelectTMAction_FromSellMenu(u8 taskId) { CopyItemName(gSpecialVar_ItemId, gStringVar1); StringExpandPlaceholders(gStringVar4, gText_OhNoICantBuyThat); - TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, Subtask_CloseContextMenuAndReturnToMain); + TMCase_PrintMessageWithFollowupTask(taskId, GetDialogBoxFontId(), gStringVar4, Subtask_CloseContextMenuAndReturnToMain); } else { @@ -993,7 +993,7 @@ static void Task_SelectTMAction_FromSellMenu(u8 taskId) data[2] = 99; CopyItemName(gSpecialVar_ItemId, gStringVar1); StringExpandPlaceholders(gStringVar4, gText_HowManyWouldYouLikeToSell); - TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, Task_InitQuantitySelectUI); + TMCase_PrintMessageWithFollowupTask(taskId, GetDialogBoxFontId(), gStringVar4, Task_InitQuantitySelectUI); } } } @@ -1004,7 +1004,7 @@ static void Task_AskConfirmSaleWithAmount(u8 taskId) ConvertIntToDecimalStringN(gStringVar3, itemid_get_market_price(BagGetItemIdByPocketPosition(POCKET_TM_CASE, data[1])) / 2 * data[8], STR_CONV_MODE_LEFT_ALIGN, 6); StringExpandPlaceholders(gStringVar4, gText_ICanPayThisMuch_WouldThatBeOkay); - TMCase_PrintMessageWithFollowupTask(taskId, sub_80BF8E4(), gStringVar4, Task_PlaceYesNoBox); + TMCase_PrintMessageWithFollowupTask(taskId, GetDialogBoxFontId(), gStringVar4, Task_PlaceYesNoBox); } static void Task_PlaceYesNoBox(u8 taskId) @@ -1133,13 +1133,13 @@ static void Task_AfterSale_ReturnToList(u8 taskId) } } -void PokeDude_InitTMCase(void) +void Pokedude_InitTMCase(void) { - sPokeDudePackBackup = AllocZeroed(sizeof(*sPokeDudePackBackup)); - memcpy(sPokeDudePackBackup->bagPocket_TMHM, gSaveBlock1Ptr->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM)); - memcpy(sPokeDudePackBackup->bagPocket_KeyItems, gSaveBlock1Ptr->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems)); - sPokeDudePackBackup->unk_160 = sTMCaseStaticResources.selectedRow; - sPokeDudePackBackup->unk_162 = sTMCaseStaticResources.scrollOffset; + sPokedudePackBackup = AllocZeroed(sizeof(*sPokedudePackBackup)); + memcpy(sPokedudePackBackup->bagPocket_TMHM, gSaveBlock1Ptr->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM)); + memcpy(sPokedudePackBackup->bagPocket_KeyItems, gSaveBlock1Ptr->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems)); + sPokedudePackBackup->unk_160 = sTMCaseStaticResources.selectedRow; + sPokedudePackBackup->unk_162 = sTMCaseStaticResources.scrollOffset; ClearItemSlots(gSaveBlock1Ptr->bagPocket_TMHM, NELEMS(gSaveBlock1Ptr->bagPocket_TMHM)); ClearItemSlots(gSaveBlock1Ptr->bagPocket_KeyItems, NELEMS(gSaveBlock1Ptr->bagPocket_KeyItems)); ResetTMCaseCursorPos(); @@ -1234,7 +1234,7 @@ static void Task_TMCaseDude_Playback(u8 taskId) break; case 8: FillBG2RowWithPalette_2timesNplus1(1); - TMCase_PrintMessageWithFollowupTask(taskId, 4, gPokeDudeText_TMTypes, 0); + TMCase_PrintMessageWithFollowupTask(taskId, 4, gPokedudeText_TMTypes, 0); gTasks[taskId].func = Task_TMCaseDude_Playback; data[8]++; break; @@ -1256,7 +1256,7 @@ static void Task_TMCaseDude_Playback(u8 taskId) break; case 18: FillBG2RowWithPalette_2timesNplus1(1); - TMCase_PrintMessageWithFollowupTask(taskId, 4, gPokeDudeText_ReadTMDescription, NULL); + TMCase_PrintMessageWithFollowupTask(taskId, 4, gPokedudeText_ReadTMDescription, NULL); gTasks[taskId].func = Task_TMCaseDude_Playback; // this function data[8]++; break; @@ -1267,12 +1267,12 @@ static void Task_TMCaseDude_Playback(u8 taskId) case 21: if (!gPaletteFade.active) { - memcpy(gSaveBlock1Ptr->bagPocket_TMHM, sPokeDudePackBackup->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM)); - memcpy(gSaveBlock1Ptr->bagPocket_KeyItems, sPokeDudePackBackup->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems)); + memcpy(gSaveBlock1Ptr->bagPocket_TMHM, sPokedudePackBackup->bagPocket_TMHM, sizeof(gSaveBlock1Ptr->bagPocket_TMHM)); + memcpy(gSaveBlock1Ptr->bagPocket_KeyItems, sPokedudePackBackup->bagPocket_KeyItems, sizeof(gSaveBlock1Ptr->bagPocket_KeyItems)); DestroyListMenuTask(data[0], NULL, NULL); - sTMCaseStaticResources.selectedRow = sPokeDudePackBackup->unk_160; - sTMCaseStaticResources.scrollOffset = sPokeDudePackBackup->unk_162; - Free(sPokeDudePackBackup); + sTMCaseStaticResources.selectedRow = sPokedudePackBackup->unk_160; + sTMCaseStaticResources.scrollOffset = sPokedudePackBackup->unk_162; + Free(sPokedudePackBackup); CpuFastCopy(gPlttBufferFaded, gPlttBufferUnfaded, 0x400); CB2_SetUpReshowBattleScreenAfterMenu(); BeginNormalPaletteFade(0xFFFFFFFF, -2, 0, 16, 0); diff --git a/src/trade_scene.c b/src/trade_scene.c index 9e3c1d0ce..b420cb196 100644 --- a/src/trade_scene.c +++ b/src/trade_scene.c @@ -2443,7 +2443,7 @@ static void CreateInGameTradePokemonInternal(u8 playerSlot, u8 inGameTradeIdx) const struct InGameTrade * inGameTrade = &sInGameTrades[inGameTradeIdx]; u8 level = GetMonData(&gPlayerParty[playerSlot], MON_DATA_LEVEL); struct MailStruct mail; - u8 metLocation = MAPSEC_IN_GAME_TRADE; + u8 metLocation = METLOC_IN_GAME_TRADE; struct Pokemon * tradeMon = &gEnemyParty[0]; u8 mailNum; CreateMon(tradeMon, inGameTrade->species, level, 32, TRUE, inGameTrade->personality, TRUE, inGameTrade->otId); diff --git a/src/union_room.c b/src/union_room.c new file mode 100644 index 000000000..4e3428cc6 --- /dev/null +++ b/src/union_room.c @@ -0,0 +1,4607 @@ +#include "global.h" +#include "gflib.h" +#include "battle.h" +#include "berry_crush.h" +#include "cable_club.h" +#include "data.h" +#include "decompress.h" +#include "dodrio_berry_picking.h" +#include "dynamic_placeholder_text_util.h" +#include "easy_chat.h" +#include "event_data.h" +#include "event_object_lock.h" +#include "field_control_avatar.h" +#include "field_fadetransition.h" +#include "field_player_avatar.h" +#include "field_weather.h" +#include "link.h" +#include "link_rfu.h" +#include "list_menu.h" +#include "load_save.h" +#include "menu.h" +#include "mevent.h" +#include "mystery_gift_menu.h" +#include "new_menu_helpers.h" +#include "overworld.h" +#include "party_menu.h" +#include "pokemon_jump.h" +#include "quest_log.h" +#include "random.h" +#include "save_location.h" +#include "script.h" +#include "script_pokemon_util.h" +#include "start_menu.h" +#include "strings.h" +#include "task.h" +#include "trade.h" +#include "trade_scene.h" +#include "trainer_card.h" +#include "union_room.h" +#include "union_room_chat.h" +#include "rfu_union_tool.h" +#include "union_room_message.h" +#include "constants/songs.h" +#include "constants/maps.h" +#include "constants/cable_club.h" +#include "constants/field_weather.h" +#include "constants/species.h" + +static EWRAM_DATA u8 sUnionRoomPlayerName[12] = {}; +static EWRAM_DATA u8 gUnknown_203B058 = 0; +static EWRAM_DATA u8 gUnknown_203B059 = 0; +static EWRAM_DATA union UnkUnion_Main sUnionRoomMain = {}; +static EWRAM_DATA u32 sUnref_203B060 = 0; +EWRAM_DATA struct GFtgtGnameSub gUnknown_203B064 = {}; +EWRAM_DATA u16 gUnionRoomOfferedSpecies = SPECIES_NONE; +EWRAM_DATA u8 gUnionRoomRequestedMonType = TYPE_NORMAL; +static EWRAM_DATA struct UnionRoomTrade sUnionRoomTrade = {}; + +static struct UnkStruct_Leader * sLeader; +static struct UnkStruct_Group * sGroup; +static struct UnkStruct_URoom * sURoom; + +static void sub_8115A68(u8 taskId); +static void sub_81161E4(struct UnkStruct_Leader * leader); +static bool8 sub_8116444(struct UnkStruct_Leader * leader, u32 a1, u32 a2); +static void sub_81164C8(u8 windowId, s32 itemId, u8 y); +static u8 sub_8116524(struct UnkStruct_Main0 * a0); +static u8 sub_81165E8(struct UnkStruct_Main0 * a0); +static void sub_8116738(u8 taskId); +static u32 sub_8116D10(struct UnkStruct_Group * group, s32 id); +static void sub_8116D60(struct UnkStruct_Group * group, s32 id); +static void sub_8116E1C(u8 taskId); +static void sub_8116F94(u8 windowId, s32 itemId, u8 y); +static u8 sub_8116FE4(void); +static void sub_8117990(void); +static void sub_81179A4(void); +static void sub_8117A0C(u8 taskId); +static void sub_8117F20(u8 taskId); +static void sub_81182DC(u8 taskId); +static void sub_81186E0(u8 taskId); +static u16 ReadAsU16(const u8 *data); +static void sub_8119904(struct UnkStruct_URoom * uRoom); +static bool32 sub_8119944(struct UnkStruct_URoom * uRoom); +static void sub_81199FC(u8 taskId); +static u8 sub_8119B94(void); +static u8 sub_8119E84(struct UnkStruct_Main4 * arg0, struct UnkStruct_Main4 * arg1, u32 arg2); +static bool32 sub_8119FB0(struct GFtgtGname * arg0, s16 arg1); +static u8 sub_811A054(struct UnkStruct_Main4 * arg0, u32 arg1); +static u8 sub_811A084(struct UnkStruct_Main4 * arg0, u32 arg1); +static bool32 sub_811A0B4(const u8 * str); +static bool32 sub_811A0E0(void); +static bool8 PrintOnTextbox(u8 *textState, const u8 *str); +static s8 sub_811A14C(u8 *dest, bool32 arg1); +static s32 sub_811A218(u8 *arg0, u8 *arg1, u8 *arg2, const struct WindowTemplate * winTemplate, const struct ListMenuTemplate * menuTemplate); +static s32 sub_811A2EC(u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3, const struct WindowTemplate * winTemplate, const struct ListMenuTemplate * menuTemplate, struct UnkStruct_Main0 * arg6); +static void sub_811A3F8(void); +static void sub_811A41C(void); +static void sub_811A444(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 colorIdx); +static void sub_811A5E4(struct UnkStruct_x20 * arg0, u8 count); +static void sub_811A650(struct UnkStruct_x1C * arg0, u8 count); +static bool8 sub_811A694(struct UnkStruct_Shared * arg0, const struct UnkStruct_Shared * arg1); +static bool32 sub_811A6DC(struct UnkStruct_Shared * arg0, struct UnkStruct_Shared * arg1); +static u32 sub_811A748(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1); +static u8 sub_811A798(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1, u8 arg2); +static void sub_811A81C(u8 windowId, u8 x, u8 y, struct UnkStruct_x20 * arg3, u8 arg4, u8 id); +static void sub_811A910(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 * arg3, u8 arg4, u8 id); +static bool32 sub_811A9B8(void); +static u32 sub_811A9FC(s32 a0); +static u32 sub_811AA24(struct UnkStruct_x20 * unkX20); +static s32 sub_811AA5C(struct UnkStruct_Main0 * arg0, u8 arg1, u8 arg2, u32 playerGender); +static void nullsub_92(u8 windowId, s32 itemId, u8 y); +static void sub_811ACA4(u8 windowId, s32 itemId, u8 y); +static s32 sub_811AD7C(struct UnkStruct_x20 * arg, s32 arg1); +static s32 GetUnionRoomPlayerGender(s32 a0, struct UnkStruct_Main0 * a1); +static s32 sub_811ADD0(u32 type, u32 species); +static void sub_811AE68(u8 *dst, s32 arg1, u32 playerGender); +static void sub_811AECC(u8 *dst, u8 arg1); +static s32 sub_811AF6C(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom * arg3); +static bool32 sub_811B0A4(struct UnkStruct_URoom * arg0); +static bool32 HasAtLeastTwoMonsOfLevel30OrLower(void); +static void ResetUnionRoomTrade(struct UnionRoomTrade * trade); +static bool32 RegisterTradeMonAndGetIsEgg(u32 monId, struct UnionRoomTrade * trade); +static void RegisterTradeMon(u32 monId, struct UnionRoomTrade * trade); +static u32 GetPartyPositionOfRegisteredMon(struct UnionRoomTrade * trade, u8 mpId); +static void sub_811B258(bool32 a0); +static void sub_811B298(void); +static u8 sub_811B2A8(s32 a0); +static u8 sub_811B2D8(struct UnkStruct_URoom * arg0); +static void sub_811B31C(u8 *dest, struct UnkStruct_URoom * uRoom, bool8 gender); + +#define _8456CD8(a, b) ((a) | ((b) << 8)) + +static const u8 *const gUnknown_8456C74[] = { + gUnknown_84571AC, + gUnknown_8459394, + gUnknown_84593A4, + gUnknown_84593B4, + gUnknown_84593C4, + gUnknown_84593D4, + gUnknown_84593E4, + gUnknown_84593F4, + gUnknown_84593DC, + gUnknown_8459400, + gUnknown_8459410, + gUnknown_845941C, + gUnknown_845942C, + gUnknown_8459434, + gUnknown_8459440, + gUnknown_84571AC, + gUnknown_84571AC, + gUnknown_84571AC, + gUnknown_84571AC, + gUnknown_84571AC, + gUnknown_84571AC, + gUnknown_84593E4, + gUnknown_84593F4 +}; + +static const struct WindowTemplate gUnknown_8456CD0 = { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 0, + .width = 30, + .height = 2, + .paletteNum = 0xF, + .baseBlock = 0x008 +}; + +static const u32 gUnknown_8456CD8[] = { + _8456CD8( 1, 2), + _8456CD8( 2, 2), + _8456CD8( 3, 4), + _8456CD8( 4, 2), + _8456CD8( 9, 37), + _8456CD8(10, 37), + _8456CD8(11, 53), + _8456CD8(13, 53), + _8456CD8(14, 53) +}; + +static const struct WindowTemplate gUnknown_8456CFC = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 3, + .width = 13, + .height = 10, + .paletteNum = 15, + .baseBlock = 0x044 +}; + +static const struct WindowTemplate gUnknown_8456D04 = { + .bg = 0, + .tilemapLeft = 16, + .tilemapTop = 3, + .width = 7, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x0C6 +}; + +const struct ListMenuItem gUnknown_8456D0C[] = { + {gUnknown_84571AC, 0}, + {gUnknown_84571AC, 1}, + {gUnknown_84571AC, 2}, + {gUnknown_84571AC, 3}, + {gUnknown_84571AC, 4} +}; + +static const struct ListMenuTemplate gUnknown_8456D34 = { + .items = gUnknown_8456D0C, + .moveCursorFunc = NULL, + .itemPrintFunc = sub_81164C8, + .totalItems = 5, + .maxShowed = 5, + .windowId = 0, + .header_X = 0, + .item_X = 1, + .cursor_X = 0, + .upText_Y = 0, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 2, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = 2, + .cursorKind = 1 +}; + +static const struct WindowTemplate gUnknown_8456D4C = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 3, + .width = 17, + .height = 10, + .paletteNum = 15, + .baseBlock = 0x044 +}; + +static const struct WindowTemplate gUnknown_8456D54 = { + .bg = 0, + .tilemapLeft = 20, + .tilemapTop = 3, + .width = 7, + .height = 4, + .paletteNum = 15, + .baseBlock = 0x0EE +}; + +static const struct ListMenuItem gUnknown_8456D5C[] = { + {gUnknown_84571AC, 0}, + {gUnknown_84571AC, 1}, + {gUnknown_84571AC, 2}, + {gUnknown_84571AC, 3}, + {gUnknown_84571AC, 4}, + {gUnknown_84571AC, 5}, + {gUnknown_84571AC, 6}, + {gUnknown_84571AC, 7}, + {gUnknown_84571AC, 8}, + {gUnknown_84571AC, 9}, + {gUnknown_84571AC, 10}, + {gUnknown_84571AC, 11}, + {gUnknown_84571AC, 12}, + {gUnknown_84571AC, 13}, + {gUnknown_84571AC, 14}, + {gUnknown_84571AC, 15} +}; + +static const struct ListMenuTemplate gUnknown_8456DDC = { + .items = gUnknown_8456D5C, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = sub_8116F94, + .totalItems = 16, + .maxShowed = 5, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 0, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 0, + .itemVerticalPadding = 2, + .scrollMultiple = LIST_MULTIPLE_SCROLL_DPAD, + .fontId = 2, + .cursorKind = 0 +}; + +static const struct WindowTemplate gUnknown_8456DF4 = { + .bg = 0, + .tilemapLeft = 20, + .tilemapTop = 6, + .width = 8, + .height = 7, + .paletteNum = 15, + .baseBlock = 0x001 +}; + +static const struct ListMenuItem gUnknown_8456DFC[] = { + {gUnknown_8459354, _8456CD8( 8, 2)}, + {gUnknown_8459344, _8456CD8(65, 2)}, + {gUnknown_845934C, _8456CD8(69, 2)}, + {gUnknown_8459360, _8456CD8(64, 0)} +}; + +static const struct ListMenuTemplate gUnknown_8456E1C = { + .items = gUnknown_8456DFC, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = NULL, + .totalItems = 4, + .maxShowed = 4, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 0, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 1, + .itemVerticalPadding = 0, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = 2, + .cursorKind = 0 +}; + +static const struct WindowTemplate gUnknown_8456E34 = { + .bg = 0, + .tilemapLeft = 18, + .tilemapTop = 8, + .width = 11, + .height = 5, + .paletteNum = 15, + .baseBlock = 0x001 +}; + +static const struct ListMenuItem gUnknown_8456E3C[] = { + {gText_Register, 1}, + {gUnknown_8459370, 2}, + {gUnknown_8459360, 3} +}; + +static const struct ListMenuTemplate gUnknown_8456E54 = { + .items = gUnknown_8456E3C, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = NULL, + .totalItems = 3, + .maxShowed = 3, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 0, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 1, + .itemVerticalPadding = 0, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = 2, + .cursorKind = 0 +}; + +static const struct WindowTemplate gUnknown_8456E6C = { + .bg = 0, + .tilemapLeft = 20, + .tilemapTop = 2, + .width = 9, + .height = 11, + .paletteNum = 15, + .baseBlock = 0x001 +}; + +static const struct ListMenuItem gUnknown_8456E74[] = { + {gTypeNames[TYPE_NORMAL], TYPE_NORMAL}, + {gTypeNames[TYPE_FIRE], TYPE_FIRE}, + {gTypeNames[TYPE_WATER], TYPE_WATER}, + {gTypeNames[TYPE_ELECTRIC], TYPE_ELECTRIC}, + {gTypeNames[TYPE_GRASS], TYPE_GRASS}, + {gTypeNames[TYPE_ICE], TYPE_ICE}, + {gTypeNames[TYPE_GROUND], TYPE_GROUND}, + {gTypeNames[TYPE_ROCK], TYPE_ROCK}, + {gTypeNames[TYPE_FLYING], TYPE_FLYING}, + {gTypeNames[TYPE_PSYCHIC], TYPE_PSYCHIC}, + {gTypeNames[TYPE_FIGHTING], TYPE_FIGHTING}, + {gTypeNames[TYPE_POISON], TYPE_POISON}, + {gTypeNames[TYPE_BUG], TYPE_BUG}, + {gTypeNames[TYPE_GHOST], TYPE_GHOST}, + {gTypeNames[TYPE_DRAGON], TYPE_DRAGON}, + {gTypeNames[TYPE_STEEL], TYPE_STEEL}, + {gTypeNames[TYPE_DARK], TYPE_DARK}, + {gUnknown_8459360, NUMBER_OF_MON_TYPES} +}; + +static const struct ListMenuTemplate gUnknown_8456F04 = { + .items = gUnknown_8456E74, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = NULL, + .totalItems = NUMBER_OF_MON_TYPES, + .maxShowed = 6, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 0, + .upText_Y = 2, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 1, + .itemVerticalPadding = 0, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = 2, + .cursorKind = 0 +}; + +static const struct WindowTemplate gUnknown_8456F1C = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 1, + .width = 28, + .height = 2, + .paletteNum = 13, + .baseBlock = 0x001 +}; + +static const struct WindowTemplate gUnknown_8456F24 = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 5, + .width = 28, + .height = 10, + .paletteNum = 13, + .baseBlock = 0x039 +}; + +static const struct ListMenuItem gUnknown_8456F2C[] = { + {gUnknown_84571AC, -3}, + {gUnknown_84571AC, 0}, + {gUnknown_84571AC, 1}, + {gUnknown_84571AC, 2}, + {gUnknown_84571AC, 3}, + {gUnknown_84571AC, 4}, + {gUnknown_84571AC, 5}, + {gUnknown_84571AC, 6}, + {gUnknown_84571AC, 7}, + {gUnknown_8459368, 8} +}; + +static const struct ListMenuTemplate gUnknown_8456F7C = { + .items = gUnknown_8456F2C, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = sub_811ACA4, + .totalItems = 10, + .maxShowed = 5, + .windowId = 0, + .header_X = 0, + .item_X = 12, + .cursor_X = 0, + .upText_Y = 2, + .cursorPal = 14, + .fillValue = 15, + .cursorShadowPal = 13, + .lettersSpacing = 1, + .itemVerticalPadding = 1, + .scrollMultiple = LIST_NO_MULTIPLE_SCROLL, + .fontId = 2, + .cursorKind = 0 +}; + +static const struct WindowTemplate gUnknown_8456F94 = { + .bg = 0, + .tilemapLeft = 1, + .tilemapTop = 5, + .width = 28, + .height = 10, + .paletteNum = 13, + .baseBlock = 0x039 +}; + +static const struct ListMenuItem gUnknown_8456F9C[] = { + {gUnknown_84571AC, 0}, + {gUnknown_84571AC, 1}, + {gUnknown_84571AC, 2}, + {gUnknown_84571AC, 3}, + {gUnknown_84571AC, 4}, + {gUnknown_84571AC, 5}, + {gUnknown_84571AC, 6}, + {gUnknown_84571AC, 7}, + {gUnknown_84571AC, 8}, + {gUnknown_84571AC, 9}, + {gUnknown_84571AC, 10}, + {gUnknown_84571AC, 11}, + {gUnknown_84571AC, 12}, + {gUnknown_84571AC, 13}, + {gUnknown_84571AC, 14}, + {gUnknown_84571AC, 15} +}; + +static const struct ListMenuTemplate gUnknown_845701C = { + .items = gUnknown_8456F9C, + .moveCursorFunc = ListMenuDefaultCursorMoveFunc, + .itemPrintFunc = nullsub_92, + .totalItems = 16, + .maxShowed = 4, + .windowId = 0, + .header_X = 0, + .item_X = 8, + .cursor_X = 1, + .upText_Y = 0, + .cursorPal = 2, + .fillValue = 1, + .cursorShadowPal = 3, + .lettersSpacing = 1, + .itemVerticalPadding = 0, + .scrollMultiple = LIST_MULTIPLE_SCROLL_DPAD, + .fontId = 2, + .cursorKind = 0 +}; + +static const struct UnkStruct_Shared gUnknown_8457034 = {}; + +// starts at gUnknown_082F0474 in pokeemerald, union link groups + +ALIGNED(4) static const u8 gUnknown_845704C[] = {0x01, 0xFF}; +ALIGNED(4) static const u8 gUnknown_8457050[] = {0x02, 0xFF}; +ALIGNED(4) static const u8 gUnknown_8457054[] = {0x03, 0xFF}; +ALIGNED(4) static const u8 gUnknown_8457058[] = {0x04, 0xFF}; +ALIGNED(4) static const u8 gUnknown_845705C[] = {0x09, 0xFF}; +ALIGNED(4) static const u8 gUnknown_8457060[] = {0x0A, 0xFF}; +ALIGNED(4) static const u8 gUnknown_8457064[] = {0x0B, 0xFF}; +ALIGNED(4) static const u8 gUnknown_8457068[] = {0x15, 0xFF}; +ALIGNED(4) static const u8 gUnknown_845706C[] = {0x16, 0xFF}; +ALIGNED(4) static const u8 gUnknown_8457070[] = {0x40, 0x41, 0x44, 0x45, 0x48, 0x51, 0x52, 0x53, 0x54, 0xFF}; +ALIGNED(4) static const u8 gUnknown_845707C[] = {0x0C, 0xFF}; +ALIGNED(4) static const u8 gUnknown_8457080[] = {0x01, 0x02, 0x03, 0x04, 0x09, 0x0A, 0x0B, 0x15, 0x16, 0x0D, 0xFF}; +ALIGNED(4) static const u8 gUnknown_845708C[] = {0x01, 0x02, 0x03, 0x04, 0x0A, 0xFF}; + +static const u8 *const gUnknown_8457094[] = { + gUnknown_845704C, + gUnknown_8457050, + gUnknown_8457054, + gUnknown_8457058, + gUnknown_845705C, + gUnknown_8457060, + gUnknown_8457064, + gUnknown_8457068, + gUnknown_845706C, + gUnknown_8457070, + gUnknown_845707C, + gUnknown_8457080, + gUnknown_845708C +}; + +static const u8 gUnknown_84570C8[] = {0x01, 0x02, 0x03, 0x04, 0x09, 0x0A, 0x0B, 0x15, 0x16, 0xF7, 0x00, 0xAF, 0xF7, 0x01, 0xFF, 0x00}; + +#undef _8456CD8 + +// These are functions in Emerald but inlined in FireRed + +#define IntlConvPartnerUname7(dest, arg1) ({ \ + StringCopy7(dest, (arg1).unk.playerName); \ + ConvertInternationalString(dest, (arg1).unk.gname.unk_00.unk_00_0); \ +}) + +#define IntlConvPartnerUname(dest, arg1) ({ \ + StringCopy(dest, (arg1).unk.playerName); \ + ConvertInternationalString(dest, (arg1).unk.gname.unk_00.unk_00_0); \ +}) + +#define CopyTrainerCardData(dest, src, _version) ({ \ + (dest) = *((struct TrainerCard * )(src)); \ + (dest).version = _version; \ +}) + +#define GetStringRightAlignXOffset(_fontId, _string, _maxWidth) ({ \ + u16 strWidth = GetStringWidth(_fontId, _string, 0); \ + _maxWidth - strWidth; \ +}) + +static void sub_811586C(u8 windowId, u8 arg1, u8 stringId) +{ + FillWindowPixelBuffer(windowId, PIXEL_FILL(1)); + switch (arg1 << 8) + { + case 0x200: + sub_811A444(windowId, 2, gUnknown_845742C[0][stringId - 1], 0, 2, 0); + break; + case 0x400: + sub_811A444(windowId, 2, gUnknown_845742C[1][stringId - 1], 0, 2, 0); + break; + case 0x2500: + sub_811A444(windowId, 2, gUnknown_845742C[2][stringId - 1], 0, 2, 0); + break; + case 0x3500: + sub_811A444(windowId, 2, gUnknown_845742C[3][stringId - 1], 0, 2, 0); + break; + } + + CopyWindowToVram(windowId, 2); +} + +static void sub_8115924(u8 windowId) +{ + u8 text[12]; + u8 text2[12]; + + sub_811A444(windowId, 2, gSaveBlock2Ptr->playerName, 0, 2, 0); + StringCopy(text2, gUnknown_84571B4); + ConvertIntToDecimalStringN(text, ReadAsU16(gSaveBlock2Ptr->playerTrainerId), STR_CONV_MODE_LEADING_ZEROS, 5); + StringAppend(text2, text); + sub_811A444(windowId, 0, text2, 0, 0x10, 0); +} + +static void sub_811599C(u8 *dst, u8 caseId) +{ + switch (caseId) + { + case 1 ... 4: + case 9 ... 11: + case 21 ... 22: + // UB: argument *dst isn't used, instead it always prints to gStringVar4 + StringExpandPlaceholders(gStringVar4, gUnknown_8457234); + break; + } +} + +void TryBecomeLinkLeader(void) +{ + u8 taskId; + struct UnkStruct_Leader * dataPtr; + + taskId = CreateTask(sub_8115A68, 0); + sUnionRoomMain.leader = dataPtr = (void*)(gTasks[taskId].data); + sLeader = dataPtr; + + dataPtr->state = 0; + dataPtr->textState = 0; + gSpecialVar_Result = 0; +} + +static void sub_8115A68(u8 taskId) +{ + u32 id, val; + struct UnkStruct_Leader * data = sUnionRoomMain.leader; + + switch (data->state) + { + case 0: + gUnknown_203B058 = gUnknown_8456CD8[gSpecialVar_0x8004]; + gUnknown_203B059 = gUnknown_8456CD8[gSpecialVar_0x8004] >> 8; + SetHostRFUtgtGname(gUnknown_203B058, 0, 0); + sub_800B1F4(); + OpenLink(); + sub_80FBB8C(gUnknown_203B059 & 0xF); + data->state = 3; + break; + case 3: + data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); + data->field_0 = AllocZeroed(5 * sizeof(struct UnkStruct_x20)); + data->field_8 = AllocZeroed(5 * sizeof(struct UnkStruct_x20)); + sub_811A650(data->field_4->arr, 4); + sub_811A5E4(data->field_0->arr, 5); + LinkRfu3_SetGnameUnameFromStaticBuffers(&data->field_0->arr[0].unk.gname, data->field_0->arr[0].unk.playerName); + data->field_0->arr[0].field_18 = 0; + data->field_0->arr[0].field_1A_0 = 1; + data->field_0->arr[0].field_1A_1 = 0; + data->field_0->arr[0].field_1B = 0; + data->field_17 = sub_811A054(data->field_4, 0xFF); + data->field_10 = AddWindow(&gUnknown_8456CD0); + data->listWindowId = AddWindow(&gUnknown_8456CFC); + data->field_11 = AddWindow(&gUnknown_8456D04); + + FillWindowPixelBuffer(data->field_10, PIXEL_FILL(2)); + sub_811A444(data->field_10, 0, gUnknown_845747C, 8, 2, 4); + PutWindowTilemap(data->field_10); + CopyWindowToVram(data->field_10, 2); + + DrawStdWindowFrame(data->listWindowId, FALSE); + gMultiuseListMenuTemplate = gUnknown_8456D34; + gMultiuseListMenuTemplate.windowId = data->listWindowId; + data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + + DrawStdWindowFrame(data->field_11, FALSE); + PutWindowTilemap(data->field_11); + CopyWindowToVram(data->field_11, 2); + + CopyBgTilemapBufferToVram(0); + data->field_13 = 1; + data->state = 4; + break; + case 4: + StringCopy(gStringVar1, gUnknown_8456C74[gUnknown_203B058]); + if ((gUnknown_203B059 >> 4) != 0) + { + if (data->field_13 > (gUnknown_203B059 >> 4) - 1 && (gUnknown_203B059 & 0xF) != 0) + StringExpandPlaceholders(gStringVar4, gUnknown_8457264); + else + StringExpandPlaceholders(gStringVar4, gUnknown_8457234); + } + else + { + sub_811599C(gStringVar4, gUnknown_203B058); + } + + sub_811586C(data->field_11, gUnknown_203B059, data->field_13); + data->state = 5; + break; + case 5: + if (PrintOnTextbox(&data->textState, gStringVar4)) + data->state = 6; + break; + case 6: + sub_8116444(data, 7, 10); + if (JOY_NEW(B_BUTTON)) + { + if (data->field_13 == 1) + data->state = 23; + else if ((gUnknown_203B059 & 0xF0) != 0) + data->state = 30; + else + data->state = 19; + } + if ((gUnknown_203B059 >> 4) != 0 + && data->field_13 > (gUnknown_203B059 >> 4) - 1 + && (gUnknown_203B059 & 0xF) != 0 + && sub_80FC1CC() + && JOY_NEW(START_BUTTON)) + { + data->state = 15; + sub_80F8F5C(); + } + if (data->state == 6 && sub_80FA5D4()) + { + data->state = 9; + } + break; + case 9: + if (!sub_80FA5D4()) + { + data->state = 6; + data->field_13 = sub_81165E8(data->field_0); + } + break; + case 10: + id = ((gUnknown_203B058 & 0xF) == 2) ? 1 : 0; + if (PrintOnTextbox(&data->textState, gUnknown_845767C[id])) + { + data->field_13 = sub_81165E8(data->field_0); + RedrawListMenu(data->listTaskId); + data->state = 4; + } + break; + case 29: + id = ((gUnknown_203B059 & 0xF) == 2) ? 0 : 1; + if (PrintOnTextbox(&data->textState, gUnknown_845767C[id])) + { + data->state = 21; + } + break; + case 7: + if (PrintOnTextbox(&data->textState, gStringVar4)) + { + data->state = 11; + } + break; + case 11: + switch (sub_811A14C(&data->textState, sub_80FA634(ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName))) + { + case 0: + LoadWirelessStatusIndicatorSpriteGfx(); + CreateWirelessStatusIndicatorSprite(0, 0); + data->field_19 = 5; + sub_80FA670(5, ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + data->state = 12; + break; + case 1: + case -1: + data->field_19 = 6; + sub_80FA670(6, ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + data->state = 12; + break; + case -3: + data->state = 9; + break; + } + break; + case 12: + val = sub_80FA6FC(ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + if (val == 1) + { + if (data->field_19 == 5) + { + data->field_0->arr[data->field_13].field_1B = 0; + RedrawListMenu(data->listTaskId); + data->field_13++; + if (data->field_13 == (gUnknown_203B059 & 0xF)) + { + if ((gUnknown_203B059 & 0xF0) != 0 || data->field_13 == 4) + { + data->state = 15; + } + else + { + IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->field_13 - 1]); + StringExpandPlaceholders(gStringVar4, gUnknown_8457554); + data->state = 13; + } + + sub_80F8F5C(); + sub_811586C(data->field_11, gUnknown_203B059, data->field_13); + } + else + { + data->state = 4; + } + } + else + { + sub_80FBD4C(data->field_0->arr[data->field_13].unk.playerName, ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId)); + data->field_0->arr[data->field_13].field_1A_0 = 0; + sub_81165E8(data->field_0); + RedrawListMenu(data->listTaskId); + data->state = 4; + } + + data->field_19 = 0; + } + else if (val == 2) + { + sub_80FB9E4(0, 0); + data->state = 4; + } + break; + case 13: + if (PrintOnTextbox(&data->textState, gStringVar4)) + data->state = 14; + break; + case 14: + if (++data->field_E > 120) + data->state = 17; + break; + case 15: + if (PrintOnTextbox(&data->textState, gUnknown_8457514)) + data->state = 16; + break; + case 16: + switch (sub_811A14C(&data->textState, FALSE)) + { + case 0: + data->state = 17; + break; + case 1: + case -1: + if ((gUnknown_203B059 & 0xF0) != 0) + data->state = 30; + else + data->state = 19; + break; + } + break; + case 19: + if (PrintOnTextbox(&data->textState, gUnknown_8457530)) + data->state = 20; + break; + case 20: + switch (sub_811A14C(&data->textState, FALSE)) + { + case 0: + data->state = 23; + break; + case 1: + case -1: + if ((gUnknown_203B059 & 0xF0) != 0) + data->state = 15; + else if (data->field_13 == (gUnknown_203B059 & 0xF)) + data->state = 15; + else + data->state = 4; + break; + } + break; + case 17: + if (!sub_8116444(data, 7, 23)) + data->state = 18; + break; + case 18: + if (sub_80F8F40()) + { + if (sub_80F8F7C(FALSE)) + { + data->state = 26; + } + } + else + { + data->state = 29; + data->textState = 0; + } + break; + case 30: + if (PrintOnTextbox(&data->textState, gUnknown_8457610)) + data->state = 23; + break; + case 21: + case 23: + DestroyWirelessStatusIndicatorSprite(); + sub_80F8DC0(); + sub_81161E4(data); + data->state++; + break; + case 24: + EnableBothScriptContexts(); + DestroyTask(taskId); + gSpecialVar_Result = 5; + break; + case 22: + EnableBothScriptContexts(); + DestroyTask(taskId); + gSpecialVar_Result = 8; + break; + case 26: + if (sub_80FBA00()) + { + data->state = 29; + } + else + { + if (gReceivedRemoteLinkPlayers != 0) + { + sub_80FAFE0(1); + sub_8117990(); + sub_81161E4(data); + DestroyTask(taskId); + } + } + break; + } +} + +static void sub_81161E4(struct UnkStruct_Leader * data) +{ + ClearWindowTilemap(data->field_11); + ClearStdWindowAndFrame(data->field_11, FALSE); + DestroyListMenuTask(data->listTaskId, 0, 0); + ClearWindowTilemap(data->field_10); + ClearStdWindowAndFrame(data->listWindowId, FALSE); + CopyBgTilemapBufferToVram(0); + RemoveWindow(data->field_11); + RemoveWindow(data->listWindowId); + RemoveWindow(data->field_10); + DestroyTask(data->field_17); + + Free(data->field_8); + Free(data->field_0); + Free(data->field_4); +} + +static void sub_8116244(u8 *dst, u8 caseId) +{ + switch (caseId) + { + case 1: + case 2: + case 4: + StringExpandPlaceholders(dst, gUnknown_84574A0); + break; + case 21: + case 22: + StringExpandPlaceholders(dst, gUnknown_84574C4); + break; + case 3: + case 9: + case 10: + case 11: + StringExpandPlaceholders(dst, gUnknown_84574EC); + break; + } +} + +static void sub_81162E0(u8 *dst, u8 caseId) +{ + switch (caseId) + { + case 65: + case 68: + StringExpandPlaceholders(dst, gUnknown_8457E28); + break; + case 69: + case 72: + StringExpandPlaceholders(dst, gUnknown_8457E44); + break; + } +} + +static void sub_811631C(u8 *dst, u8 caseId) +{ + switch (caseId) + { + case 1: + case 2: + case 4: + case 21: + case 22: + StringExpandPlaceholders(dst, gUnknown_8459238); + break; + case 3: + case 9: + case 10: + case 11: + StringExpandPlaceholders(dst, gUnknown_8459250); + break; + } +} + +static void sub_81163B0(u8 *dst, u8 caseId) +{ + switch (caseId) + { + case 1: + case 2: + case 4: + case 21: + case 22: + StringExpandPlaceholders(dst, gUnknown_84576AC); + break; + case 3: + case 9: + case 10: + case 11: + StringExpandPlaceholders(dst, gUnknown_84576C4); + break; + } +} + +static bool8 sub_8116444(struct UnkStruct_Leader * data, u32 arg1, u32 arg2) +{ + switch (sub_8116524(data->field_0)) + { + case 1: + PlaySE(SE_PC_LOGIN); + RedrawListMenu(data->listTaskId); + IntlConvPartnerUname7(gStringVar2, data->field_0->arr[data->field_13]); + sub_8116244(gStringVar4, gUnknown_203B058); + data->state = arg1; + break; + case 2: + sub_80FB9E4(0, 0); + RedrawListMenu(data->listTaskId); + data->state = arg2; + return TRUE; + } + + return FALSE; +} + +static void sub_81164C8(u8 windowId, s32 itemId, u8 y) +{ + struct UnkStruct_Leader * data = sUnionRoomMain.leader; + u8 var = 0; + + switch (data->field_0->arr[itemId].field_1A_0) + { + case 1: + if (data->field_0->arr[itemId].field_1B != 0) + var = 2; + break; + case 2: + var = 1; + break; + } + + sub_811A910(windowId, 0, y, &data->field_0->arr[itemId], var, itemId); +} + +static u8 sub_8116524(struct UnkStruct_Main0 * arg0) +{ + struct UnkStruct_Leader * data = sUnionRoomMain.leader; + u8 ret = 0; + u8 i; + s32 id; + + for (i = 1; i < 5; i++) + { + u16 var = data->field_0->arr[i].field_1A_0; + if (var == 1) + { + id = sub_811A748(&data->field_0->arr[i], data->field_4->arr); + if (id != 0xFF) + { + data->field_0->arr[i].unk = data->field_4->arr[id].unk0; + data->field_0->arr[i].field_18 = var; + } + else + { + data->field_0->arr[i].field_1A_0 = 2; + ret = 2; + } + } + } + + for (id = 0; id < 4; id++) + sub_811A798(data->field_0->arr, &data->field_4->arr[id], 5); + + if (ret != 2) + { + for (id = 0; id < 5; id++) + { + if (data->field_0->arr[id].field_1B != 0) + ret = 1; + } + } + + return ret; +} + +static u8 sub_81165E8(struct UnkStruct_Main0 * arg0) +{ + struct UnkStruct_Leader * data = sUnionRoomMain.leader; + u8 copiedCount; + s32 i; + u8 ret; + + for (i = 0; i < 5; i++) + data->field_8->arr[i] = data->field_0->arr[i]; + + copiedCount = 0; + for (i = 0; i < 5; i++) + { + if (data->field_8->arr[i].field_1A_0 == 1) + { + data->field_0->arr[copiedCount] = data->field_8->arr[i]; + copiedCount++; + } + } + + ret = copiedCount; + for (; copiedCount < 5; copiedCount++) + { + data->field_0->arr[copiedCount].unk = gUnknown_8457034; + data->field_0->arr[copiedCount].field_18 = 0; + data->field_0->arr[copiedCount].field_1A_0 = 0; + data->field_0->arr[copiedCount].field_1A_1 = 0; + data->field_0->arr[copiedCount].field_1B = 0; + } + + for (i = 0; i < 5; i++) + { + if (data->field_0->arr[i].field_1A_0 != 1) + continue; + if (data->field_0->arr[i].field_1B != 0x40) + continue; + + ret = i; + break; + } + + return ret; +} + +void TryJoinLinkGroup(void) +{ + u8 taskId; + struct UnkStruct_Group * dataPtr; + + taskId = CreateTask(sub_8116738, 0); + sUnionRoomMain.group = dataPtr = (void*)(gTasks[taskId].data); + sGroup = dataPtr; + + dataPtr->state = 0; + dataPtr->textState = 0; + gSpecialVar_Result = 0; +} + +static void sub_8116738(u8 taskId) +{ + s32 id; + struct UnkStruct_Group * data = sUnionRoomMain.group; + + switch (data->state) + { + case 0: + SetHostRFUtgtGname(gUnknown_84570C8[gSpecialVar_0x8004], 0, 0); + gUnknown_203B058 = gUnknown_84570C8[gSpecialVar_0x8004]; + sub_800B1F4(); + OpenLink(); + sub_80FBBD8(); + data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); + data->field_0 = AllocZeroed(16 * sizeof(struct UnkStruct_x20)); + data->state = 1; + break; + case 1: + if (PrintOnTextbox(&data->textState, gUnknown_84591B8[gSpecialVar_0x8004])) + data->state = 2; + break; + case 2: + sub_811A650(data->field_4->arr, 4); + sub_811A5E4(data->field_0->arr, 16); + data->field_11 = sub_811A054(data->field_4, gSpecialVar_0x8004); + data->field_C = AddWindow(&gUnknown_8456CD0); + data->listWindowId = AddWindow(&gUnknown_8456D4C); + data->field_D = AddWindow(&gUnknown_8456D54); + + FillWindowPixelBuffer(data->field_C, PIXEL_FILL(2)); + sub_811A444(data->field_C, 0, gUnknown_8458FC8, 8, 2, 4); + PutWindowTilemap(data->field_C); + CopyWindowToVram(data->field_C, 2); + + DrawStdWindowFrame(data->listWindowId, FALSE); + gMultiuseListMenuTemplate = gUnknown_8456DDC; + gMultiuseListMenuTemplate.windowId = data->listWindowId; + data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + + DrawStdWindowFrame(data->field_D, FALSE); + PutWindowTilemap(data->field_D); + sub_8115924(data->field_D); + CopyWindowToVram(data->field_D, 2); + + CopyBgTilemapBufferToVram(0); + data->field_F = 0; + data->state = 3; + break; + case 3: + id = sub_8116FE4(); + switch (id) + { + case 1: + PlaySE(SE_PC_LOGIN); + RedrawListMenu(data->listTaskId); + break; + case 0: + id = ListMenu_ProcessInput(data->listTaskId); + if (JOY_NEW(A_BUTTON) && id != -1) + { + // this unused variable along with the assignment is needed to match + u32 unusedVar; + unusedVar = data->field_0->arr[id].unk.gname.unk_0a_0; + + if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.gname.unk_0a_7) + { + u32 var = sub_8116D10(data, id); + if (var == 0) + { + sub_8116D60(data, id); + data->state = 5; + PlaySE(SE_PN_ON); + } + else + { + StringCopy(gStringVar4, gUnknown_8457608[var - 1]); + data->state = 18; + PlaySE(SE_PN_ON); + } + } + else + { + PlaySE(SE_WALL_HIT); + } + } + else if (JOY_NEW(B_BUTTON)) + { + data->state = 10; + } + break; + default: + RedrawListMenu(data->listTaskId); + break; + } + break; + case 5: + sub_811631C(gStringVar4, gUnknown_203B058); + if (PrintOnTextbox(&data->textState, gStringVar4)) + { + IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->field_F]); + data->state = 6; + } + break; + case 6: + if (gReceivedRemoteLinkPlayers != 0) + { + gUnknown_203B058 = data->field_0->arr[data->field_F].unk.gname.unk_0a_0; + sub_80FB9E4(0, 0); + switch (gUnknown_203B058) + { + case 1 ... 5: + case 9 ... 11: + case 13 ... 14: + case 21 ... 22: + data->state = 20; + break; + } + } + + switch (sub_80FB9F4()) + { + case 1: + data->state = 12; + break; + case 2: + case 6: + case 9: + data->state = 14; + break; + case 5: + sub_81163B0(gStringVar4, gUnknown_203B058); + if (PrintOnTextbox(&data->textState, gStringVar4)) + { + sub_80FB9E4(7, 0); + StringCopy(gStringVar1, gUnknown_8456C74[gUnknown_203B058]); + StringExpandPlaceholders(gStringVar4, gUnknown_8457700); + } + break; + case 7: + if (data->field_15 > 0xF0) + { + if (PrintOnTextbox(&data->textState, gStringVar4)) + { + sub_80FB9E4(12, 0); + data->field_15 = 0; + } + } + else + { + data->field_15++; + } + break; + } + + if (!sub_80FB9F4() && JOY_NEW(B_BUTTON)) + data->state = 7; + break; + case 7: + if (PrintOnTextbox(&data->textState, gUnknown_845771C)) + data->state = 8; + break; + case 8: + switch (sub_811A14C(&data->textState, sub_80FB9F4())) + { + case 0: + sub_80FA6BC(); + data->state = 9; + RedrawListMenu(data->listTaskId); + break; + case 1: + case -1: + data->state = 5; + RedrawListMenu(data->listTaskId); + break; + case -3: + data->state = 6; + RedrawListMenu(data->listTaskId); + break; + } + break; + case 9: + if (sub_80FB9F4()) + data->state = 6; + break; + case 10: + case 12: + case 14: + case 18: + case 20: + ClearWindowTilemap(data->field_D); + ClearStdWindowAndFrame(data->field_D, FALSE); + DestroyListMenuTask(data->listTaskId, 0, 0); + ClearWindowTilemap(data->field_C); + ClearStdWindowAndFrame(data->listWindowId, FALSE); + CopyBgTilemapBufferToVram(0); + RemoveWindow(data->field_D); + RemoveWindow(data->listWindowId); + RemoveWindow(data->field_C); + DestroyTask(data->field_11); + Free(data->field_0); + Free(data->field_4); + data->state++; + break; + case 13: + DestroyWirelessStatusIndicatorSprite(); + if (PrintOnTextbox(&data->textState, gUnknown_8457754[sub_80FB9F4()])) + { + gSpecialVar_Result = 6; + data->state = 23; + } + break; + case 11: + DestroyWirelessStatusIndicatorSprite(); + gSpecialVar_Result = 5; + data->state = 23; + break; + case 15: + DestroyWirelessStatusIndicatorSprite(); + if (PrintOnTextbox(&data->textState, gUnknown_8457754[sub_80FB9F4()])) + { + gSpecialVar_Result = 8; + data->state = 23; + } + break; + case 19: + if (PrintOnTextbox(&data->textState, gStringVar4)) + { + gSpecialVar_Result = 8; + data->state = 23; + } + break; + case 23: + DestroyTask(taskId); + sub_811A41C(); + sub_80F8DC0(); + break; + case 21: + sub_8117990(); + DestroyTask(taskId); + break; + } +} + +static u32 sub_8116D10(struct UnkStruct_Group * arg0, s32 id) +{ + struct UnkStruct_x20 * structPtr = &arg0->field_0->arr[id]; + + if (gUnknown_203B058 == 4 && structPtr->unk.gname.unk_00.unk_01_2 != VERSION_FIRE_RED && structPtr->unk.gname.unk_00.unk_01_2 != VERSION_LEAF_GREEN) + { + if (!(gSaveBlock2Ptr->specialSaveWarpFlags & CHAMPION_SAVEWARP)) + return 1; + else if (structPtr->unk.gname.unk_00.isChampion) + return 0; + } + else + { + return 0; + } + + return 2; +} + +static void sub_8116D60(struct UnkStruct_Group * data, s32 id) +{ + data->field_F = id; + LoadWirelessStatusIndicatorSpriteGfx(); + CreateWirelessStatusIndicatorSprite(0, 0); + RedrawListMenu(data->listTaskId); + IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->field_F]); + sub_80FB008(gUnknown_84570C8[gSpecialVar_0x8004], 0, 1); + sub_80FBF54(data->field_0->arr[data->field_F].unk.playerName, ReadAsU16(data->field_0->arr[data->field_F].unk.gname.unk_00.playerTrainerId)); +} + +u8 sub_8116DE0(void) +{ + u8 taskId; + struct UnkStruct_Group * dataPtr; + + taskId = CreateTask(sub_8116E1C, 0); + sUnionRoomMain.group = dataPtr = (void*)(gTasks[taskId].data); + + dataPtr->state = 0; + dataPtr->textState = 0; + + sGroup = dataPtr; + + return taskId; +} + +static void sub_8116E1C(u8 taskId) +{ + struct UnkStruct_Group * data = sUnionRoomMain.group; + + switch (data->state) + { + case 0: + SetHostRFUtgtGname(0, 0, 0); + sub_800B1F4(); + OpenLink(); + sub_80FBBD8(); + sub_80FB128(TRUE); + data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); + data->field_0 = AllocZeroed(16 * sizeof(struct UnkStruct_x20)); + data->state = 2; + break; + case 2: + sub_811A650(data->field_4->arr, 4); + sub_811A5E4(data->field_0->arr, 16); + data->field_11 = sub_811A054(data->field_4, 0xFF); + data->field_F = 0; + data->state = 3; + break; + case 3: + if (sub_8116FE4() == 1) + PlaySE(SE_PC_LOGIN); + if (gTasks[taskId].data[15] == 0xFF) + data->state = 10; + break; + case 10: + DestroyTask(data->field_11); + Free(data->field_0); + Free(data->field_4); + sub_80F8DC0(); + data->state++; + break; + case 11: + sub_80F8DC0(); + DestroyTask(taskId); + break; + } +} + +static bool32 sub_8116F28(u32 arg0, u32 id) +{ + if (id == 0xFF) + return TRUE; + + if (id <= NELEMS(gUnknown_8457094)) // UB: <= may access data outside the array + { + const u8 *bytes = gUnknown_8457094[id]; + + while ((*(bytes) != 0xFF)) + { + if ((*bytes) == arg0) + return TRUE; + bytes++; + } + } + + return FALSE; +} + +static u8 sub_8116F5C(struct UnkStruct_Group * data, u32 id) +{ + if (data->field_0->arr[id].field_1A_0 == 1) + { + if (data->field_0->arr[id].unk.gname.unk_0a_7) + return 3; + else if (data->field_0->arr[id].field_1A_1 != 0) + return 1; + else if (data->field_0->arr[id].field_1B != 0) + return 2; + } + + return 0; +} + +static void sub_8116F94(u8 windowId, s32 itemId, u8 y) +{ + struct UnkStruct_Group * data = sUnionRoomMain.group; + u8 var = sub_8116F5C(data, itemId); + + sub_811A81C(windowId, 8, y, &data->field_0->arr[itemId], var, itemId); +} + +static u8 sub_8116FE4(void) +{ + struct UnkStruct_Group * data = sUnionRoomMain.group; + u8 ret = 0; + u8 i; + s32 id; + + for (i = 0; i < 16; i++) + { + if (data->field_0->arr[i].field_1A_0 != 0) + { + id = sub_811A748(&data->field_0->arr[i], data->field_4->arr); + if (id != 0xFF) + { + if (data->field_0->arr[i].field_1A_0 == 1) + { + if (sub_811A6DC(&data->field_0->arr[i].unk, &data->field_4->arr[id].unk0)) + { + data->field_0->arr[i].unk = data->field_4->arr[id].unk0; + data->field_0->arr[i].field_1B = 0x40; + ret = 1; + } + else + { + if (data->field_0->arr[i].field_1B != 0) + { + data->field_0->arr[i].field_1B--; + if (data->field_0->arr[i].field_1B == 0) + ret = 2; + } + } + } + else + { + data->field_0->arr[i].field_1A_0 = 1; + data->field_0->arr[i].field_1B = 0x40; + ret = 1; + } + + data->field_0->arr[i].field_18 = 0; + } + else + { + if (data->field_0->arr[i].field_1A_0 != 2) + { + data->field_0->arr[i].field_18++; + if (data->field_0->arr[i].field_18 >= 300) + { + data->field_0->arr[i].field_1A_0 = 2; + ret = 2; + } + } + } + } + } + + for (id = 0; id < 4; id++) + { + if (sub_811A798(data->field_0->arr, &data->field_4->arr[id], 16) != 0xFF) + ret = 1; + } + + return ret; +} + +static void sub_8117100(u8 taskId) +{ + CB2_ReturnFromLinkTrade(); + DestroyTask(taskId); +} + +u8 sub_8117118(void) +{ + u8 taskId = CreateTask(sub_8117100, 0); + + return taskId; +} + +static void sub_8117130(u8 taskId) +{ + u32 monId = GetPartyPositionOfRegisteredMon(&sUnionRoomTrade, GetMultiplayerId()); + + switch (gTasks[taskId].data[0]) + { + case 0: + gTasks[taskId].data[0]++; + SendBlock(0, &gPlayerParty[monId], sizeof(struct Pokemon)); + break; + case 1: + if (GetBlockReceivedStatus() == 3) + { + gEnemyParty[0] = *(struct Pokemon*)(gBlockRecvBuffer[GetMultiplayerId() ^ 1]); + IncrementGameStat(GAME_STAT_NUM_UNION_ROOM_BATTLES); + ResetBlockReceivedFlags(); + gTasks[taskId].data[0]++; + } + break; + case 2: + memcpy(gBlockSendBuffer, gSaveBlock1Ptr->mail, sizeof(struct MailStruct) * PARTY_SIZE + 4); + if (SendBlock(0, gBlockSendBuffer, sizeof(struct MailStruct) * PARTY_SIZE + 4)) + gTasks[taskId].data[0]++; + break; + case 3: + if (GetBlockReceivedStatus() == 3) + { + memcpy(gLinkPartnerMail, gBlockRecvBuffer[GetMultiplayerId() ^ 1], sizeof(struct MailStruct) * PARTY_SIZE); + ResetBlockReceivedFlags(); + gSelectedTradeMonPositions[TRADE_PLAYER] = monId; + gSelectedTradeMonPositions[TRADE_PARTNER] = PARTY_SIZE; + gMain.savedCallback = CB2_ReturnToField; + SetMainCallback2(CB2_InitTradeAnim_LinkTrade); + ResetUnionRoomTrade(&sUnionRoomTrade); + DestroyTask(taskId); + } + break; + } +} + +static void sub_8117280(u8 taskId) +{ + switch (gTasks[taskId].data[0]) + { + case 0: + if (GetMultiplayerId() == 0) + sub_800A474(2); + gTasks[taskId].data[0]++; + break; + case 1: + if (GetBlockReceivedStatus() == sub_800A8D4()) + { + s32 i; + u16 *recvBuff; + + for (i = 0; i < GetLinkPlayerCount(); i++) + { + recvBuff = gBlockRecvBuffer[i]; + CopyTrainerCardData(gTrainerCards[i], recvBuff, gLinkPlayers[i].version); + } + + if (GetLinkPlayerCount() == 2) + { + recvBuff = gBlockRecvBuffer[GetMultiplayerId() ^ 1]; + sub_81446D0(recvBuff[48]); + } + else + { + sub_81446C4(); + } + + ResetBlockReceivedFlags(); + DestroyTask(taskId); + } + break; + } +} + +static void sub_8117354(void) +{ + switch (gMain.state) + { + case 0: + CreateTask(sub_8117280, 5); + gMain.state++; + break; + case 1: + if (!FuncIsActiveTask(sub_8117280)) + ShowTrainerCardInLink(GetMultiplayerId() ^ 1, CB2_ReturnToField); + break; + } + + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); +} + +void sub_81173C0(u16 battleFlags) +{ + HealPlayerParty(); + SavePlayerParty(); + LoadPlayerBag(); + gLinkPlayers[0].linkType = LINKTYPE_BATTLE; + gLinkPlayers[GetMultiplayerId()].id = GetMultiplayerId(); + gLinkPlayers[GetMultiplayerId() ^ 1].id = GetMultiplayerId() ^ 1; + gMain.savedCallback = sub_8081668; + gBattleTypeFlags = battleFlags; + PlayBattleBGM(); +} + +static void sub_8117440(u16 linkService, u16 x, u16 y) +{ + VarSet(VAR_CABLE_CLUB_STATE, linkService); + SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); + SetDynamicWarpWithCoords(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); + WarpIntoMap(); +} + +static void sub_81174B4(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 linkService) +{ + gSpecialVar_0x8004 = linkService; + VarSet(VAR_CABLE_CLUB_STATE, linkService); + gFieldLinkPlayerCount = GetLinkPlayerCount(); + gLocalLinkPlayerId = GetMultiplayerId(); + SetCableClubWarp(); + SetWarpDestination(mapGroup, mapNum, -1, x, y); + WarpIntoMap(); +} + +static void sub_8117534(void) +{ + switch (gMain.state) + { + case 0: + CreateTask(sub_8117280, 5); + gMain.state++; + break; + case 1: + if (!FuncIsActiveTask(sub_8117280)) + SetMainCallback2(sub_8056788); + break; + } + + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); +} + +static void sub_8117594(void *arg0, bool32 arg1) +{ + TrainerCard_GenerateCardForLinkPlayer((struct TrainerCard * )arg0); + if (arg1) + *((u16 *)(arg0 + sizeof(struct TrainerCard))) = GetWonderCardFlagId(); + else + *((u16 *)(arg0 + sizeof(struct TrainerCard))) = 0; +} + +static void sub_81175BC(u8 taskId) +{ + sub_81446C4(); + switch (gUnknown_203B058) + { + case 1 ... 4: + case 9 ... 11: + case 13: + case 14: + RecordMixTrainerNames(); + break; + } + + switch (gUnknown_203B058) + { + case 65: + case 81: + CleanupOverworldWindowsAndTilemaps(); + gMain.savedCallback = sub_811C1C8; + InitChooseHalfPartyForBattle(2); + break; + case 1: + CleanupOverworldWindowsAndTilemaps(); + sub_8117594(gBlockSendBuffer, TRUE); + HealPlayerParty(); + SavePlayerParty(); + LoadPlayerBag(); + sub_81174B4(MAP_GROUP(BATTLE_COLOSSEUM_2P), MAP_NUM(BATTLE_COLOSSEUM_2P), 6, 8, USING_SINGLE_BATTLE); + SetMainCallback2(sub_8117534); + break; + case 2: + CleanupOverworldWindowsAndTilemaps(); + HealPlayerParty(); + SavePlayerParty(); + LoadPlayerBag(); + sub_8117594(gBlockSendBuffer, TRUE); + sub_81174B4(MAP_GROUP(BATTLE_COLOSSEUM_2P), MAP_NUM(BATTLE_COLOSSEUM_2P), 6, 8, USING_DOUBLE_BATTLE); + SetMainCallback2(sub_8117534); + break; + case 3: + CleanupOverworldWindowsAndTilemaps(); + HealPlayerParty(); + SavePlayerParty(); + LoadPlayerBag(); + sub_8117594(gBlockSendBuffer, TRUE); + sub_81174B4(MAP_GROUP(BATTLE_COLOSSEUM_4P), MAP_NUM(BATTLE_COLOSSEUM_4P), 5, 8, USING_MULTI_BATTLE); + SetMainCallback2(sub_8117534); + break; + case 4: + sub_8117594(gBlockSendBuffer, TRUE); + CleanupOverworldWindowsAndTilemaps(); + sub_81174B4(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, USING_TRADE_CENTER); + SetMainCallback2(sub_8117534); + break; + case 68: + CreateTask(sub_8117130, 0); + break; + case 5: + case 69: + if (GetMultiplayerId() == 0) + { + sub_80F8CFC(); + } + else + { + sub_80F8D14(); + SetHostRFUtgtGname(69, 0, 1); + } + sub_8128420(); + break; + case 8: + case 72: + sub_8117594(gBlockSendBuffer, FALSE); + SetMainCallback2(sub_8117354); + break; + case 9: + sub_8117440(USING_MINIGAME, 5, 1); + sub_8147AA8(GetCursorSelectionMonId(), CB2_LoadMap); + break; + case 10: + sub_8117440(USING_BERRY_CRUSH, 9, 1); + sub_814B754(CB2_LoadMap); + break; + case 11: + sub_8117440(USING_MINIGAME, 5, 1); + sub_81507FC(GetCursorSelectionMonId(), CB2_LoadMap); + break; + } + + DestroyTask(taskId); + gSpecialVar_Result = 1; + ScriptContext2_Disable(); +} + +static void sub_8117900(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 *sendBuff = (u16*)(gBlockSendBuffer); + + switch (data[0]) + { + case 0: + gSpecialVar_Result = 1; + EnableBothScriptContexts(); + data[0]++; + break; + case 1: + if (!ScriptContext1_IsScriptSetUp()) + { + FadeScreen(FADE_TO_BLACK, 0); + data[0]++; + } + break; + case 2: + if (!gPaletteFade.active) + { + sub_800AB9C(); + data[0]++; + } + break; + case 3: + if (IsLinkTaskFinished()) + { + DestroyTask(taskId); + sub_81179A4(); + } + break; + } +} + +static void sub_8117990(void) +{ + CreateTask(sub_8117900, 0); +} + +static void sub_81179A4(void) +{ + u8 taskId = CreateTask(sub_81175BC, 0); + gTasks[taskId].data[0] = 0; +} + +void MEvent_CreateTask_Leader(u32 arg0) +{ + u8 taskId; + struct UnkStruct_Leader * dataPtr; + + taskId = CreateTask(sub_8117A0C, 0); + sUnionRoomMain.leader = dataPtr = (void*)(gTasks[taskId].data); + + dataPtr->state = 0; + dataPtr->textState = 0; + dataPtr->field_18 = arg0; + gSpecialVar_Result = 0; +} + +static void sub_8117A0C(u8 taskId) +{ + struct UnkStruct_Leader * data = sUnionRoomMain.leader; + struct WindowTemplate winTemplate; + s32 val; + + switch (data->state) + { + case 0: + gUnknown_203B058 = data->field_18; + gUnknown_203B059 = 2; + SetHostRFUtgtGname(data->field_18, 0, 0); + sub_80FAF74(FALSE, FALSE); + sub_800B1F4(); + OpenLink(); + sub_80FBB8C(2); + data->state = 1; + break; + case 1: + data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); + data->field_0 = AllocZeroed(5 * sizeof(struct UnkStruct_x20)); + data->field_8 = AllocZeroed(5 * sizeof(struct UnkStruct_x20)); + sub_811A650(data->field_4->arr, 4); + sub_811A5E4(data->field_0->arr, 5); + LinkRfu3_SetGnameUnameFromStaticBuffers(&data->field_0->arr[0].unk.gname, data->field_0->arr[0].unk.playerName); + data->field_0->arr[0].field_18 = 0; + data->field_0->arr[0].field_1A_0 = 1; + data->field_0->arr[0].field_1A_1 = 0; + data->field_0->arr[0].field_1B = 0; + data->field_17 = sub_811A054(data->field_4, 0xFF); + + winTemplate = gUnknown_8456CFC; + winTemplate.baseBlock = GetMysteryGiftBaseBlock(); + data->listWindowId = AddWindow(&winTemplate); + MG_DrawTextBorder(data->listWindowId); + gMultiuseListMenuTemplate = gUnknown_8456D34; + gMultiuseListMenuTemplate.windowId = data->listWindowId; + data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + + CopyBgTilemapBufferToVram(0); + data->field_13 = 1; + data->state = 2; + break; + case 2: + StringCopy(gStringVar1, gUnknown_8456C74[gUnknown_203B058]); + sub_811599C(gStringVar4, gUnknown_203B058); + data->state = 3; + break; + case 3: + AddTextPrinterToWindow1(gStringVar4); + data->state = 4; + break; + case 4: + sub_8116444(data, 5, 6); + if (JOY_NEW(B_BUTTON)) + { + data->state = 13; + DestroyWirelessStatusIndicatorSprite(); + } + break; + case 6: + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_84577F8)) + { + data->field_13 = sub_81165E8(data->field_0); + RedrawListMenu(data->listTaskId); + data->state = 2; + } + break; + case 5: + data->state = 7; + break; + case 7: + switch (mevent_message_print_and_prompt_yes_no(&data->textState, (u16 *)&data->field_14, FALSE, gStringVar4)) + { + case 0: + LoadWirelessStatusIndicatorSpriteGfx(); + CreateWirelessStatusIndicatorSprite(0, 0); + data->field_0->arr[data->field_13].field_1B = 0; + RedrawListMenu(data->listTaskId); + data->field_19 = 5; + sub_80FA670(5, ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + data->state = 8; + break; + case 1: + case -1: + data->field_19 = 6; + sub_80FA670(6, ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + data->state = 8; + break; + } + break; + case 8: + val = sub_80FA6FC(ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId), data->field_0->arr[data->field_13].unk.playerName); + if (val == 1) + { + if (data->field_19 == 5) + { + data->field_0->arr[data->field_13].field_1B = 0; + RedrawListMenu(data->listTaskId); + data->field_13++; + IntlConvPartnerUname7(gStringVar1, data->field_0->arr[data->field_13 - 1]); + StringExpandPlaceholders(gStringVar4, gUnknown_8457554); + data->state = 9; + sub_80F8F5C(); + } + else + { + sub_80FBD4C(data->field_0->arr[data->field_13].unk.playerName, ReadAsU16(data->field_0->arr[data->field_13].unk.gname.unk_00.playerTrainerId)); + data->field_0->arr[data->field_13].field_1A_0 = 0; + sub_81165E8(data->field_0); + RedrawListMenu(data->listTaskId); + data->state = 2; + } + + data->field_19 = 0; + } + else if (val == 2) + { + sub_80FB9E4(0, 0); + data->state = 2; + } + break; + case 9: + AddTextPrinterToWindow1(gStringVar4); + data->state = 10; + break; + case 10: + if (++data->field_E > 120) + data->state = 11; + break; + case 11: + if (!sub_8116444(data, 5, 6)) + data->state = 12; + break; + case 12: + if (sub_80F8F40()) + { + sub_80F8F7C(FALSE); + data->state = 15; + } + else + { + data->state = 6; + } + break; + case 13: + DestroyWirelessStatusIndicatorSprite(); + sub_80F8DC0(); + DestroyListMenuTask(data->listTaskId, 0, 0); + CopyBgTilemapBufferToVram(0); + RemoveWindow(data->listWindowId); + DestroyTask(data->field_17); + Free(data->field_8); + Free(data->field_0); + Free(data->field_4); + data->state++; + break; + case 14: + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_84571B8)) + { + DestroyTask(taskId); + gSpecialVar_Result = 5; + } + break; + case 15: + if (sub_80FB9F4() == 1 || sub_80FB9F4() == 2) + { + data->state = 13; + } + else if (gReceivedRemoteLinkPlayers != 0) + { + sub_80FAFE0(1); + data->state++; + } + break; + case 16: + DestroyListMenuTask(data->listTaskId, 0, 0); + CopyBgTilemapBufferToVram(0); + RemoveWindow(data->listWindowId); + DestroyTask(data->field_17); + Free(data->field_8); + Free(data->field_0); + Free(data->field_4); + sub_800AB9C(); + data->state++; + break; + case 17: + if (IsLinkTaskFinished()) + DestroyTask(taskId); + break; + } +} + +void MEvent_CreateTask_CardOrNewsWithFriend(u32 arg0) +{ + u8 taskId; + struct UnkStruct_Group * dataPtr; + + taskId = CreateTask(sub_8117F20, 0); + sUnionRoomMain.group = dataPtr = (void*)(gTasks[taskId].data); + sGroup = dataPtr; + + dataPtr->state = 0; + dataPtr->textState = 0; + dataPtr->field_12 = arg0 - 21; + gSpecialVar_Result = 0; +} + +static void sub_8117F20(u8 taskId) +{ + s32 id; + struct WindowTemplate winTemplate1, winTemplate2; + struct UnkStruct_Group * data = sUnionRoomMain.group; + + switch (data->state) + { + case 0: + SetHostRFUtgtGname(data->field_12 + 21, 0, 0); + sub_800B1F4(); + OpenLink(); + sub_80FBBD8(); + data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); + data->field_0 = AllocZeroed(16 * sizeof(struct UnkStruct_x20)); + data->state = 1; + break; + case 1: + AddTextPrinterToWindow1(gUnknown_8458FE4); + data->state = 2; + break; + case 2: + sub_811A650(data->field_4->arr, 4); + sub_811A5E4(data->field_0->arr, 16); + data->field_11 = sub_811A054(data->field_4, data->field_12 + 7); + + winTemplate1 = gUnknown_8456D4C; + winTemplate1.baseBlock = GetMysteryGiftBaseBlock(); + data->listWindowId = AddWindow(&winTemplate1); + + data->field_D = AddWindow(&gUnknown_8456D54); + + MG_DrawTextBorder(data->listWindowId); + gMultiuseListMenuTemplate = gUnknown_8456DDC; + gMultiuseListMenuTemplate.windowId = data->listWindowId; + data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + + MG_DrawTextBorder(data->field_D); + FillWindowPixelBuffer(data->field_D, PIXEL_FILL(1)); + PutWindowTilemap(data->field_D); + sub_8115924(data->field_D); + CopyWindowToVram(data->field_D, 2); + + CopyBgTilemapBufferToVram(0); + data->field_F = 0; + data->state = 3; + break; + case 3: + id = sub_8116FE4(); + switch (id) + { + case 1: + PlaySE(SE_PC_LOGIN); + default: + RedrawListMenu(data->listTaskId); + break; + case 0: + id = ListMenu_ProcessInput(data->listTaskId); + if (JOY_NEW(A_BUTTON) && id != -1) + { + // this unused variable along with the assignment is needed to match + u32 unusedVar; + unusedVar = data->field_0->arr[id].unk.gname.unk_0a_0; + + if (data->field_0->arr[id].field_1A_0 == 1 && !data->field_0->arr[id].unk.gname.unk_0a_7) + { + data->field_F = id; + LoadWirelessStatusIndicatorSpriteGfx(); + CreateWirelessStatusIndicatorSprite(0, 0); + RedrawListMenu(data->listTaskId); + IntlConvPartnerUname(gStringVar1, data->field_0->arr[data->field_F]); + sub_80FBF54(data->field_0->arr[data->field_F].unk.playerName, ReadAsU16(data->field_0->arr[data->field_F].unk.gname.unk_00.playerTrainerId)); + PlaySE(SE_PN_ON); + data->state = 4; + } + else + { + PlaySE(SE_WALL_HIT); + } + } + else if (JOY_NEW(B_BUTTON)) + { + data->state = 6; + } + break; + } + break; + case 4: + AddTextPrinterToWindow1(gUnknown_8459238); + IntlConvPartnerUname(gStringVar1, data->field_0->arr[data->field_F]); + data->state = 5; + break; + case 5: + if (gReceivedRemoteLinkPlayers != 0) + { + gUnknown_203B058 = data->field_0->arr[data->field_F].unk.gname.unk_0a_0; + data->state = 10; + } + + switch (sub_80FB9F4()) + { + case 1: + case 2: + case 6: + data->state = 8; + break; + case 5: + AddTextPrinterToWindow1(gUnknown_84576AC); + sub_80FB9E4(0, 0); + break; + } + break; + case 6: + case 8: + case 10: + DestroyListMenuTask(data->listTaskId, 0, 0); + CopyBgTilemapBufferToVram(0); + RemoveWindow(data->field_D); + RemoveWindow(data->listWindowId); + DestroyTask(data->field_11); + Free(data->field_0); + Free(data->field_4); + data->state++; + break; + case 9: + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_8457838[sub_80FB9F4()])) + { + DestroyWirelessStatusIndicatorSprite(); + DestroyTask(taskId); + sub_80F8DC0(); + gSpecialVar_Result = 5; + } + break; + case 7: + DestroyWirelessStatusIndicatorSprite(); + AddTextPrinterToWindow1(gUnknown_84571B8); + DestroyTask(taskId); + sub_80F8DC0(); + gSpecialVar_Result = 5; + break; + case 11: + data->state++; + sub_800AB9C(); + break; + case 12: + if (IsLinkTaskFinished()) + DestroyTask(taskId); + break; + } +} + +void MEvent_CreateTask_CardOrNewsOverWireless(u32 arg0) +{ + u8 taskId; + struct UnkStruct_Group * dataPtr; + + taskId = CreateTask(sub_81182DC, 0); + sUnionRoomMain.group = dataPtr = (void*)(gTasks[taskId].data); + sGroup = dataPtr; + + dataPtr->state = 0; + dataPtr->textState = 0; + dataPtr->field_12 = arg0 - 21; + gSpecialVar_Result = 0; +} + +static void sub_81182DC(u8 taskId) +{ + s32 id; + struct WindowTemplate winTemplate; + struct UnkStruct_Group * data = sUnionRoomMain.group; + + switch (data->state) + { + case 0: + SetHostRFUtgtGname(0, 0, 0); + sub_800B1F4(); + OpenLink(); + sub_80FBBD8(); + data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); + data->field_0 = AllocZeroed(16 * sizeof(struct UnkStruct_x20)); + data->state = 1; + break; + case 1: + AddTextPrinterToWindow1(gUnknown_84591DC); + data->state = 2; + break; + case 2: + sub_811A650(data->field_4->arr, 4); + sub_811A5E4(data->field_0->arr, 16); + data->field_11 = sub_811A084(data->field_4, data->field_12 + 7); + + if (data->field_13 != 0) + { + winTemplate = gUnknown_8456D4C; + winTemplate.baseBlock = GetMysteryGiftBaseBlock(); + data->listWindowId = AddWindow(&winTemplate); + + MG_DrawTextBorder(data->listWindowId); + gMultiuseListMenuTemplate = gUnknown_8456DDC; + gMultiuseListMenuTemplate.windowId = data->listWindowId; + data->listTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + + CopyBgTilemapBufferToVram(0); + } + + data->field_F = 0; + data->state = 3; + break; + case 3: + id = sub_8116FE4(); + switch (id) + { + case 1: + PlaySE(SE_PC_LOGIN); + default: + if (data->field_13 != 0) + RedrawListMenu(data->listTaskId); + break; + case 0: + if (data->field_13 != 0) + id = ListMenu_ProcessInput(data->listTaskId); + if (data->field_14 > 120) + { + if (data->field_0->arr[0].field_1A_0 == 1 && !data->field_0->arr[0].unk.gname.unk_0a_7) + { + if (sub_8119FB0(&data->field_0->arr[0].unk.gname, data->field_12 + 7)) + { + data->field_F = 0; + data->field_14 = 0; + LoadWirelessStatusIndicatorSpriteGfx(); + CreateWirelessStatusIndicatorSprite(0, 0); + sub_80FBF54(data->field_0->arr[0].unk.playerName, ReadAsU16(data->field_0->arr[0].unk.gname.unk_00.playerTrainerId)); + PlaySE(SE_PN_ON); + data->state = 4; + } + else + { + PlaySE(SE_BOO); + data->state = 10; + } + } + } + else if (JOY_NEW(B_BUTTON)) + { + data->state = 6; + data->field_14 = 0; + } + data->field_14++; + break; + } + break; + case 4: + AddTextPrinterToWindow1(gUnknown_845928C); + IntlConvPartnerUname(gStringVar1, data->field_0->arr[data->field_F]); + data->state = 5; + break; + case 5: + if (gReceivedRemoteLinkPlayers != 0) + { + gUnknown_203B058 = data->field_0->arr[data->field_F].unk.gname.unk_0a_0; + data->state = 12; + } + + switch (sub_80FB9F4()) + { + case 1: + case 2: + case 6: + data->state = 8; + break; + case 5: + AddTextPrinterToWindow1(gUnknown_845777C); + sub_80FB9E4(0, 0); + break; + } + break; + case 6: + case 8: + case 10: + case 12: + if (data->field_13 != 0) + { + DestroyListMenuTask(data->listTaskId, 0, 0); + CopyBgTilemapBufferToVram(0); + RemoveWindow(data->listWindowId); + } + DestroyTask(data->field_11); + Free(data->field_0); + Free(data->field_4); + data->state++; + break; + case 9: + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_84577BC)) + { + DestroyWirelessStatusIndicatorSprite(); + DestroyTask(taskId); + sub_80F8DC0(); + gSpecialVar_Result = 5; + } + break; + case 7: + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_84571E0)) + { + DestroyWirelessStatusIndicatorSprite(); + DestroyTask(taskId); + sub_80F8DC0(); + gSpecialVar_Result = 5; + } + break; + case 11: + if (MG_PrintTextOnWindow1AndWaitButton(&data->textState, gUnknown_845933C[data->field_12])) + { + DestroyWirelessStatusIndicatorSprite(); + DestroyTask(taskId); + sub_80F8DC0(); + gSpecialVar_Result = 5; + } + break; + case 13: + data->state++; + sub_800AB9C(); + break; + case 14: + if (IsLinkTaskFinished()) + DestroyTask(taskId); + break; + } +} + +void UnionRoomSpecial(void) +{ + struct UnkStruct_URoom * dataPtr; + + ClearAndInitHostRFUtgtGname(); + CreateTask(sub_81186E0, 10); + + // dumb line needed to match + sUnionRoomMain.uRoom = sUnionRoomMain.uRoom; + + dataPtr = AllocZeroed(sizeof(*sUnionRoomMain.uRoom)); + sUnionRoomMain.uRoom = dataPtr; + sURoom = dataPtr; + + dataPtr->state = 0; + dataPtr->textState = 0; + dataPtr->field_10 = 0; + dataPtr->field_12 = 0; + + gSpecialVar_Result = 0; + sub_8107D38(0xD0, 1); +} + +static u16 ReadAsU16(const u8 *ptr) +{ + return (ptr[1] << 8) | (ptr[0]); +} + +static void sub_8118664(u32 nextState, const u8 *src) +{ + struct UnkStruct_URoom * data = sUnionRoomMain.uRoom; + + data->state = 8; + data->stateAfterPrint = nextState; + if (src != gStringVar4) + StringExpandPlaceholders(gStringVar4, src); +} + +static void sub_811868C(const u8 *src) +{ + struct UnkStruct_URoom * data = sUnionRoomMain.uRoom; + + data->state = 26; + if (src != gStringVar4) + StringExpandPlaceholders(gStringVar4, src); +} + +static void sub_81186B0(struct UnkStruct_URoom * data) +{ + memcpy(&gDecompressionBuffer[0x3F00], data->field_0, 8 * sizeof(struct UnkStruct_x20)); +} + +static void sub_81186C8(struct UnkStruct_URoom * data) +{ + memcpy(data->field_0, &gDecompressionBuffer[0x3F00], 8 * sizeof(struct UnkStruct_x20)); +} + +static void sub_81186E0(u8 taskId) +{ + u32 id = 0; + s32 var5 = 0; + s32 playerGender = MALE; + struct UnkStruct_URoom * data = sUnionRoomMain.uRoom; + s16 *taskData = gTasks[taskId].data; + + switch (data->state) + { + case 0: + data->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); + data->field_C = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); + data->field_0 = AllocZeroed(8 * sizeof(struct UnkStruct_x20)); + data->field_8 = AllocZeroed(sizeof(struct UnkStruct_x20)); + sub_811A5E4(data->field_0->arr, 8); + gUnknown_203B058 = 0x40; + data->field_20 = sub_8119E84(data->field_C, data->field_4, 9); + ZeroUnionObjWork(data->unionObjs); + sub_811BB68(); + data->state = 1; + break; + case 1: + sub_811BAAC(data->spriteIds, taskData[0]); + if (++taskData[0] == 8) + data->state = 2; + break; + case 2: + SetHostRFUtgtGname(0x40, 0, 0); + sub_80FAFA0(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); + sub_800B1F4(); + OpenLink(); + sub_80FBC00(); + sub_811A5E4(&data->field_8->arr[0], 1); + sub_811A650(data->field_4->arr, 4); + sub_811A650(data->field_C->arr, 4); + gSpecialVar_Result = 0; + data->state = 3; + break; + case 3: + if ((GetPartyMenuType() == PARTY_MENU_TYPE_UNION_ROOM_REGISTER + || GetPartyMenuType() == PARTY_MENU_TYPE_UNION_ROOM_TRADE) + && sUnionRoomTrade.field_0 != 0) + { + id = GetCursorSelectionMonId(); + switch (sUnionRoomTrade.field_0) + { + case 1: + sub_80FB008(0x54, 0, 1); + if (id >= PARTY_SIZE) + { + ResetUnionRoomTrade(&sUnionRoomTrade); + sub_80FAFA0(0, 0, 0); + sub_811868C(gUnknown_8458D54); + } + else if (!RegisterTradeMonAndGetIsEgg(GetCursorSelectionMonId(), &sUnionRoomTrade)) + { + sub_8118664(0x34, gUnknown_8458CD4); + } + else + { + data->state = 55; + } + break; + case 2: + sub_81186C8(data); + taskData[1] = sUnionRoomTrade.field_8; + if (id >= PARTY_SIZE) + { + sub_811868C(gUnknown_8458D9C); + } + else + { + sub_80FB008(0x54, 0, 1); + gUnknown_203B058 = 0x44; + RegisterTradeMon(GetCursorSelectionMonId(), &sUnionRoomTrade); + data->state = 51; + } + break; + } + sUnionRoomTrade.field_0 = 0; + } + else + { + data->state = 4; + } + break; + case 4: + if (gSpecialVar_Result != 0) + { + if (gSpecialVar_Result == 9) + { + sub_80FB008(0x54, 0, 1); + PlaySE(SE_PC_LOGIN); + StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); + data->state = 42; + gSpecialVar_Result = 0; + } + else if (gSpecialVar_Result == 11) + { + sub_80FB008(0x54, 0, 1); + data->state = 23; + gSpecialVar_Result = 0; + } + else + { + taskData[0] = 0; + taskData[1] = gSpecialVar_Result - 1; + data->state = 24; + gSpecialVar_Result = 0; + } + } + else if (ScriptContext2_IsEnabled() != TRUE) + { + if (JOY_NEW(A_BUTTON)) + { + if (sub_811BF00(data->field_0, &taskData[0], &taskData[1], data->spriteIds)) + { + PlaySE(SE_SELECT); + sub_811B298(); + data->state = 24; + break; + } + else if (sub_811A9B8()) + { + sub_80FB008(0x54, 0, 1); + PlaySE(SE_PC_LOGIN); + sub_811B298(); + StringCopy(gStringVar1, gSaveBlock2Ptr->playerName); + data->state = 45; + break; + } + } + + switch (sub_8119B94()) + { + case 1: + PlaySE(SE_TOY_C); + case 2: + sub_811BECC(data); + break; + case 4: + data->state = 11; + sub_811B298(); + sub_80FAFA0(0, 0, 0); + sub_80FB008(0x53, sub_811B2D8(data), 0); + break; + } + sub_811BEDC(data); + } + break; + case 23: + if (!FuncIsActiveTask(Task_StartMenuHandleInput)) + { + sub_80FB008(0x40, 0, 0); + data->state = 4; + } + break; + case 24: + sub_811A0E0(); + playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); + sub_80FB008(0x54, 0, 1); + switch (sub_811AA5C(data->field_0, taskData[0], taskData[1], playerGender)) + { + case 0: + data->state = 26; + break; + case 1: + sub_80FC114(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.gname, gUnknown_203B058); + data->field_12 = id; // Should be just 0, but won't match any other way. + data->state = 25; + break; + case 2: + sub_8118664(0x13, gStringVar4); + break; + } + break; + case 25: + sub_811A0E0(); + switch (sub_80FB9F4()) + { + case 4: + sub_811B258(TRUE); + data->state = 4; + break; + case 1: + case 2: + if (sub_80FBB0C() == TRUE) + sub_811868C(gUnknown_8457F90); + else + sub_8118664(30, gUnknown_8457F90); + + gUnknown_203B058 = 0x40; + break; + } + + if (gReceivedRemoteLinkPlayers != 0) + { + sub_8117594(gBlockSendBuffer, TRUE); + CreateTask(sub_8117280, 5); + data->state = 38; + } + break; + case 38: + if (!FuncIsActiveTask(sub_8117280)) + { + if (gUnknown_203B058 == 0x44) + sub_8118664(31, gUnknown_84578BC); + else + data->state = 5; + } + break; + case 30: + if (gReceivedRemoteLinkPlayers == 0) + { + sub_811B258(FALSE); + sub_811C028(taskData[0], taskData[1], data->field_0); + data->state = 2; + } + break; + case 5: + id = sub_811AA24(&data->field_0->arr[taskData[1]]); + playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); + sub_8118664(6, gUnknown_8457B04[id][playerGender]); + break; + case 6: + var5 = sub_811A218(&data->textState, &data->field_1B, &data->field_1C, &gUnknown_8456DF4, &gUnknown_8456E1C); + if (var5 != -1) + { + if (gReceivedRemoteLinkPlayers == 0) + { + data->state = 28; + } + else + { + data->field_98 = 0; + playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); + if (var5 == -2 || var5 == 0x40) + { + data->field_4C[0] = 0x40; + sub_80F9E2C(data->field_4C); + StringCopy(gStringVar4, gUnknown_845842C[gLinkPlayers[0].gender]); + data->state = 32; + } + else + { + gUnknown_203B058 = var5; + gUnknown_203B059 = (u32)(var5) >> 8; + if (gUnknown_203B058 == 0x41 && !HasAtLeastTwoMonsOfLevel30OrLower()) + { + sub_8118664(5, gUnknown_845847C); + } + else + { + data->field_4C[0] = gUnknown_203B058 | 0x40; + sub_80F9E2C(data->field_4C); + data->state = 27; + } + } + } + } + break; + case 28: + StringCopy(gStringVar4, gUnknown_8458434); + data->state = 36; + break; + case 27: + sub_811B0A4(data); + playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); + id = sub_811A9FC(data->field_4C[0] & 0x3F); + if (PrintOnTextbox(&data->textState, gUnknown_84580F4[playerGender][id])) + { + taskData[3] = 0; + data->state = 29; + } + break; + case 32: + sub_800AAC0(); + data->state = 36; + break; + case 31: + data->field_4C[0] = 0x44; + data->field_4C[1] = sUnionRoomTrade.species; + data->field_4C[2] = sUnionRoomTrade.level; + sub_80F9E2C(data->field_4C); + data->state = 29; + break; + case 29: + if (gReceivedRemoteLinkPlayers == 0) + { + StringCopy(gStringVar4, gUnknown_8458434); + data->state = 28; + } + else + { + sub_811B0A4(data); + if (data->field_98 == 0x51) + { + if (gUnknown_203B058 == 8) + { + sub_811B31C(gStringVar4, data, FALSE); + data->state = 40; + } + else + { + data->state = 13; + } + } + else if (data->field_98 == 0x52) + { + data->state = 32; + sub_811AE68(gStringVar4, gUnknown_203B058 | 0x40, gLinkPlayers[0].gender); + gUnknown_203B058 = 0; + } + } + break; + + case 7: + id = sub_811AA24(&data->field_0->arr[taskData[1]]); + playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); + sub_8118664(6, gUnknown_8457B04[id][playerGender]); + break; + case 40: + if (PrintOnTextbox(&data->textState, gStringVar4)) + { + data->state = 41; + sub_800AB9C(); + data->field_98 = 0; + data->field_9A[0] = 0; + } + break; + case 41: + if (IsLinkTaskFinished()) + { + if (GetMultiplayerId() == 0) + { + StringCopy(gStringVar1, gLinkPlayers[GetMultiplayerId() ^ 1].name); + id = PlayerHasMetTrainerBefore(gLinkPlayers[1].trainerId, gLinkPlayers[1].name); + StringExpandPlaceholders(gStringVar4, gUnknown_8457C20[id]); + data->state = 33; + } + else + { + data->state = 7; + } + } + break; + case 19: + switch (sub_811A14C(&data->textState, FALSE)) + { + case 0: + CopyBgTilemapBufferToVram(0); + gUnknown_203B058 = 0x45; + sub_80FB008(0x45, 0, 1); + sub_80FC114(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.gname, gUnknown_203B058); + data->field_12 = taskData[1]; + data->state = 20; + taskData[3] = 0; + break; + case 1: + case -1: + playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); + sub_811868C(gUnknown_8458548[playerGender]); + break; + } + break; + case 20: + if (++taskData[2] > 60) + { + data->state = 21; + taskData[2] = 0; + } + break; + case 21: + switch (sub_80FB9F4()) + { + case 4: + sub_811B258(TRUE); + data->state = 4; + break; + case 1: + case 2: + playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); + sub_80FB008(0x54, 0, 1); + if (sub_80FBB0C() == TRUE) + sub_811868C(gUnknown_84585E8[playerGender]); + else + sub_8118664(30, gUnknown_84585E8[playerGender]); + break; + case 3: + data->state = 22; + break; + } + taskData[3]++; + break; + case 22: + if (sub_80FBA00()) + { + playerGender = GetUnionRoomPlayerGender(taskData[1], data->field_0); + sub_80FB008(0x54, 0, 1); + if (sub_80FBB0C() == TRUE) + sub_811868C(gUnknown_84585E8[playerGender]); + else + sub_8118664(30, gUnknown_84585E8[playerGender]); + } + if (gReceivedRemoteLinkPlayers != 0) + data->state = 16; + break; + case 11: + PlaySE(SE_PINPON); + sub_80F8FA0(); + data->state = 12; + data->field_9A[0] = 0; + break; + case 12: + if (sub_80FBA00()) + { + sub_811B258(FALSE); + data->state = 2; + } + else if (gReceivedRemoteLinkPlayers != 0) + { + sub_8117594(gBlockSendBuffer, TRUE); + CreateTask(sub_8117280, 5); + data->state = 39; + } + break; + case 39: + sub_8119904(data); + if (!FuncIsActiveTask(sub_8117280)) + { + data->state = 33; + StringCopy(gStringVar1, gLinkPlayers[1].name); + id = PlayerHasMetTrainerBefore(gLinkPlayers[1].trainerId, gLinkPlayers[1].name); + StringExpandPlaceholders(gStringVar4, gUnknown_8457BCC[id]); + } + break; + case 33: + sub_8119904(data); + if (PrintOnTextbox(&data->textState, gStringVar4)) + data->state = 34; + break; + case 34: + sub_8119904(data); + if (sub_8119944(data) && JOY_NEW(B_BUTTON)) + { + sub_80FBD6C(1); + StringCopy(gStringVar4, gUnknown_8457E60); + data->state = 36; + } + break; + case 35: + sub_8118664(9, gStringVar4); + break; + case 9: + switch (sub_811A14C(&data->textState, FALSE)) + { + case 0: + data->field_4C[0] = 0x51; + if (gUnknown_203B058 == 0x45) + sub_80FB008(gUnknown_203B058 | 0x40, sub_811B2A8(1), 0); + else + sub_80FB008(gUnknown_203B058 | 0x40, sub_811B2A8(1), 1); + + data->field_8->arr[0].field_1B = 0; + taskData[3] = 0; + if (gUnknown_203B058 == 0x41) + { + if (!HasAtLeastTwoMonsOfLevel30OrLower()) + { + data->field_4C[0] = 0x52; + sub_80F9E2C(data->field_4C); + data->state = 10; + StringCopy(gStringVar4, gUnknown_84584C0); + } + else + { + sub_80F9E2C(data->field_4C); + data->state = 13; + } + } + else if (gUnknown_203B058 == 0x48) + { + sub_80F9E2C(data->field_4C); + sub_811B31C(gStringVar4, data, 1); + data->state = 40; + } + else + { + sub_80F9E2C(data->field_4C); + data->state = 13; + } + break; + case 1: + case -1: + data->field_4C[0] = 0x52; + sub_80F9E2C(data->field_4C); + data->state = 10; + sub_81162E0(gStringVar4, gUnknown_203B058); + break; + } + break; + case 10: + sub_800AAC0(); + data->state = 36; + break; + case 36: + if (gReceivedRemoteLinkPlayers == 0) + { + gUnknown_203B058 = 0x40; + sub_8118664(0x25, gStringVar4); + memset(data->field_4C, 0, sizeof(data->field_4C)); + data->field_9A[0] = 0; + data->field_98 = 0; + } + break; + case 37: + data->state = 2; + sub_811B258(FALSE); + break; + case 13: + sub_811AECC(gStringVar4, gUnknown_203B058 | 0x40); + sub_8118664(14, gStringVar4); + break; + case 14: + sub_800AB9C(); + data->state = 15; + break; + case 15: + if (IsLinkTaskFinished()) + data->state = 16; + break; + case 16: + Free(data->field_8); + Free(data->field_0); + Free(data->field_C); + Free(data->field_4); + DestroyTask(data->field_20); + sub_811BB40(data->spriteIds); + data->state = 17; + break; + case 17: + BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); + data->state = 18; + break; + case 18: + if (!UpdatePaletteFade()) + { + sub_811BA78(); + DestroyTask(taskId); + Free(sUnionRoomMain.uRoom); + sub_81179A4(); + } + break; + case 42: + if (sub_80F9800()->species == SPECIES_NONE) + { + data->state = 43; + } + else + { + if (sub_80F9800()->species == SPECIES_EGG) + { + StringCopy(gStringVar4, gUnknown_8458DE8); + } + else + { + StringCopy(gStringVar1, gSpeciesNames[sub_80F9800()->species]); + ConvertIntToDecimalStringN(gStringVar2, sub_80F9800()->level, STR_CONV_MODE_LEFT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gUnknown_8458DBC); + } + sub_8118664(44, gStringVar4); + } + break; + case 43: + if (PrintOnTextbox(&data->textState, gUnknown_8458AB8)) + data->state = 47; + break; + case 47: + var5 = sub_811A218(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_8456E34, &gUnknown_8456E54); + if (var5 != -1) + { + if (var5 == -2 || var5 == 3) + { + data->state = 4; + sub_811B258(TRUE); + } + else + { + switch (var5) + { + case 1: // REGISTER + sub_8118664(53, gUnknown_8458D1C); + break; + case 2: // INFO + sub_8118664(47, gUnknown_8458B44); + break; + } + } + DestroyHelpMessageWindow_(); + } + break; + case 53: + BeginNormalPaletteFade(-1, 0, 0, 0x10, RGB_BLACK); + data->state = 54; + break; + case 54: + if (!gPaletteFade.active) + { + sUnionRoomTrade.field_0 = 1; + gFieldCallback = sub_807DCE4; + ChooseMonForTradingBoard(PARTY_MENU_TYPE_UNION_ROOM_REGISTER, CB2_ReturnToField); + } + break; + case 52: + var5 = sub_811A218(&data->textState, &data->field_1D, &data->field_1E, &gUnknown_8456E6C, &gUnknown_8456F04); + if (var5 != -1) + { + switch (var5) + { + case -2: + case 18: + ResetUnionRoomTrade(&sUnionRoomTrade); + sub_80FAFA0(0, 0, 0); + sub_811868C(gUnknown_8458D54); + break; + default: + sUnionRoomTrade.type = var5; + data->state = 55; + break; + } + } + break; + case 55: + sub_80FAFA0(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); + sub_811868C(gUnknown_8458D78); + break; + case 44: + switch (sub_811A14C(&data->textState, FALSE)) + { + case 0: + data->state = 56; + break; + case 1: + case -1: + sub_811B258(TRUE); + data->state = 4; + break; + } + break; + case 56: + if (PrintOnTextbox(&data->textState, gUnknown_8458E10)) + { + sub_80FAFA0(0, 0, 0); + ResetUnionRoomTrade(&sUnionRoomTrade); + sub_811B258(TRUE); + data->state = 4; + } + break; + case 45: + if (PrintOnTextbox(&data->textState, gUnknown_8458A98)) + data->state = 46; + break; + case 46: + sub_811A3F8(); + data->state = 48; + break; + case 48: + var5 = sub_811A2EC(&data->textState, &data->field_1D, &data->field_4A, &data->field_1E, &gUnknown_8456F24, &gUnknown_8456F7C, data->field_0); + if (var5 != -1) + { + switch (var5) + { + case -2: + case 8: + sub_811B258(TRUE); + DestroyHelpMessageWindow_(); + data->state = 4; + break; + default: + switch (sub_811ADD0(data->field_0->arr[var5].unk.gname.type, data->field_0->arr[var5].unk.gname.species)) + { + case 0: + IntlConvPartnerUname(gStringVar1, data->field_0->arr[var5]); + sub_8118664(49, gUnknown_8458E70); + taskData[1] = var5; + break; + case 1: + IntlConvPartnerUname(gStringVar1, data->field_0->arr[var5]); + StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.gname.type]); + sub_8118664(46, gUnknown_8458ED0); + break; + case 2: + IntlConvPartnerUname(gStringVar1, data->field_0->arr[var5]); + StringCopy(gStringVar2, gTypeNames[data->field_0->arr[var5].unk.gname.type]); + sub_8118664(46, gUnknown_8458F04); + break; + } + break; + } + } + break; + case 49: + switch (sub_811A14C(&data->textState, FALSE)) + { + case 0: + data->state = 50; + break; + case -1: + case 1: + sub_811B258(TRUE); + data->state = 4; + break; + } + break; + case 50: + if (PrintOnTextbox(&data->textState, gUnknown_8458D1C)) + { + sUnionRoomTrade.field_0 = 2; + memcpy(&gUnknown_203B064, &data->field_0->arr[taskData[1]].unk.gname.unk_00, sizeof(gUnknown_203B064)); + gUnionRoomRequestedMonType = data->field_0->arr[taskData[1]].unk.gname.type; + gUnionRoomOfferedSpecies = data->field_0->arr[taskData[1]].unk.gname.species; + gFieldCallback = sub_807DCE4; + ChooseMonForTradingBoard(PARTY_MENU_TYPE_UNION_ROOM_TRADE, CB2_ReturnToField); + sub_81186B0(data); + sUnionRoomTrade.field_8 = taskData[1]; + } + break; + case 51: + gUnknown_203B058 = 0x44; + sub_80FC114(data->field_0->arr[taskData[1]].unk.playerName, &data->field_0->arr[taskData[1]].unk.gname, 0x44); + IntlConvPartnerUname(gStringVar1, data->field_0->arr[taskData[1]]); + sub_811A0B4(gUnknown_8457A34[2]); + data->state = 25; + break; + case 26: + if (PrintOnTextbox(&data->textState, gStringVar4)) + { + sub_811B258(TRUE); + sub_811C028(taskData[0], taskData[1], data->field_0); + data->state = 4; + } + break; + case 8: + if (PrintOnTextbox(&data->textState, gStringVar4)) + data->state = data->stateAfterPrint; + break; + } +} + +void var_800D_set_xB(void) +{ + if (InUnionRoom() == TRUE) + gSpecialVar_Result = 11; +} + +static void sub_8119904(struct UnkStruct_URoom * arg0) +{ + if (gRecvCmds[1][1] != 0 && (gRecvCmds[1][0] & 0xFF00) == 0x2F00) + { + arg0->field_9A[0] = gRecvCmds[1][1]; + if (gRecvCmds[1][1] == 0x44) + { + arg0->field_9A[1] = gRecvCmds[1][2]; + arg0->field_9A[2] = gRecvCmds[1][3]; + } + } +} + +static bool32 sub_8119944(struct UnkStruct_URoom * arg0) +{ + if (arg0->field_9A[0] != 0) + { + s32 var = sub_811AF6C(gStringVar4, gLinkPlayers[1].gender, &arg0->field_9A[0], arg0); + if (var == 0) + { + return TRUE; + } + else if (var == 1) + { + arg0->state = 35; + gUnknown_203B058 = arg0->field_9A[0]; + return FALSE; + } + else if (var == 2) + { + arg0->state = 36; + sub_800AAC0(); + return FALSE; + } + } + + return TRUE; +} + +void InitUnionRoom(void) +{ + struct UnkStruct_URoom * ptr; + + sUnionRoomPlayerName[0] = EOS; + if (gQuestLogState == 2 || gQuestLogState == 3) + return; + CreateTask(sub_81199FC, 0); + sUnionRoomMain.uRoom = sUnionRoomMain.uRoom; // Needed to match. + sUnionRoomMain.uRoom = ptr = AllocZeroed(sizeof(struct UnkStruct_URoom)); + sURoom = sUnionRoomMain.uRoom; + ptr->state = 0; + ptr->textState = 0; + ptr->field_10 = 0; + ptr->field_12 = 0; + sUnionRoomPlayerName[0] = EOS; +} + +static void sub_81199FC(u8 taskId) +{ + s32 i; + u8 text[32]; + struct UnkStruct_URoom * structPtr = sUnionRoomMain.uRoom; + + switch (structPtr->state) + { + case 0: + structPtr->state = 1; + break; + case 1: + SetHostRFUtgtGname(0xC, 0, 0); + sub_800B1F4(); + OpenLink(); + sub_80FBC00(); + sub_80FB128(1); + structPtr->state = 2; + break; + case 2: + structPtr->field_4 = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); + sub_811A650(structPtr->field_4->arr, 4); + structPtr->field_C = AllocZeroed(4 * sizeof(struct UnkStruct_x1C)); + sub_811A650(structPtr->field_C->arr, 4); + structPtr->field_0 = AllocZeroed(8 * sizeof(struct UnkStruct_x20)); + sub_811A5E4(structPtr->field_0->arr, 8); + structPtr->field_8 = AllocZeroed(sizeof(struct UnkStruct_x20)); + sub_811A5E4(&structPtr->field_8->arr[0], 1); + structPtr->field_20 = sub_8119E84(structPtr->field_C, structPtr->field_4, 10); + structPtr->state = 3; + break; + case 3: + switch (sub_8119B94()) + { + case 1: + case 2: + if (sUnionRoomPlayerName[0] == EOS) + { + for (i = 0; i < PLAYER_NAME_LENGTH; i++) + { + if (structPtr->field_0->arr[i].field_1A_0 == 1) + { + IntlConvPartnerUname(text, structPtr->field_0->arr[i]); + if (PlayerHasMetTrainerBefore(ReadAsU16(structPtr->field_0->arr[i].unk.gname.unk_00.playerTrainerId), text)) + { + StringCopy(sUnionRoomPlayerName, text); + break; + } + } + } + } + break; + case 3: + break; + } + break; + case 4: + Free(structPtr->field_8); + Free(structPtr->field_0); + Free(structPtr->field_C); + Free(structPtr->field_4); + DestroyTask(structPtr->field_20); + Free(sUnionRoomMain.uRoom); + sub_80F8DC0(); + DestroyTask(taskId); + break; + } +} + +bool16 BufferUnionRoomPlayerName(void) +{ + if (sUnionRoomPlayerName[0] != EOS) + { + StringCopy(gStringVar1, sUnionRoomPlayerName); + sUnionRoomPlayerName[0] = EOS; + return TRUE; + } + else + { + return FALSE; + } +} + +static u8 sub_8119B94(void) +{ + s32 i; + u8 j; + struct UnkStruct_URoom * structPtr = sUnionRoomMain.uRoom; + s32 r7 = 0; + + for (i = 0; i < 4; i++) + { + if (sub_811A694(&structPtr->field_C->arr[i].unk0, &gUnknown_8457034) == TRUE) + { + structPtr->field_8->arr[0].unk = structPtr->field_C->arr[i].unk0; + structPtr->field_8->arr[0].field_18 = 0; + structPtr->field_8->arr[0].field_1A_0 = 1; + structPtr->field_8->arr[0].field_1B = 1; + return 4; + } + } + for (j = 0; j < 8; j++) + { + if (structPtr->field_0->arr[j].field_1A_0 != 0) + { + i = sub_811A748(&structPtr->field_0->arr[j], &structPtr->field_4->arr[0]); + if (i != 0xFF) + { + if (structPtr->field_0->arr[j].field_1A_0 == 1) + { + if (sub_811A6DC(&structPtr->field_0->arr[j].unk, &structPtr->field_4->arr[i].unk0)) + { + structPtr->field_0->arr[j].unk = structPtr->field_4->arr[i].unk0; + structPtr->field_0->arr[j].field_1B = 0x40; + r7 = 1; + } + else if (structPtr->field_0->arr[j].field_1B != 0) + { + structPtr->field_0->arr[j].field_1B--; + if (structPtr->field_0->arr[j].field_1B == 0) + r7 = 2; + } + } + else + { + structPtr->field_0->arr[j].field_1A_0 = 1; + structPtr->field_0->arr[j].field_1B = 0; + r7 = 2; + } + structPtr->field_0->arr[j].field_18 = 0; + } + else if (structPtr->field_0->arr[j].field_1A_0 != 2) + { + structPtr->field_0->arr[j].field_18++; + if (structPtr->field_0->arr[j].field_18 >= 600) + { + structPtr->field_0->arr[j].field_1A_0 = 2; + r7 = 2; + } + } + else if (structPtr->field_0->arr[j].field_1A_0 == 2) + { + structPtr->field_0->arr[j].field_18++; + if (structPtr->field_0->arr[j].field_18 >= 900) + { + sub_811A5E4(&structPtr->field_0->arr[j], 1); + } + } + } + } + for (i = 0; i < 4; i++) + { + if (sub_811A798(&structPtr->field_0->arr[0], &structPtr->field_4->arr[i], 8) != 0xFF) + r7 = 1; + } + + return r7; +} + +static void sub_8119D34(u8 taskId) +{ + s32 i, j; + struct UnkStruct_Shared sp0; + struct UnkStruct_Main4 ** ptr = (void*) gTasks[taskId].data; + bool8 r4; + + for (i = 0; i < 4; i++) + { + r4 = sub_80FCC3C(&sp0.gname, sp0.playerName, i); + if (!sub_8116F28(sp0.gname.unk_0a_0, gTasks[taskId].data[4])) + { + sp0 = gUnknown_8457034; + } + if (sp0.gname.unk_00.unk_00_0 == 1) + { + sp0 = gUnknown_8457034; + } + if (!r4) + { + for (j = 0; j < i; j++) + { + if (!sub_811A694(&ptr[1]->arr[j].unk0, &sp0)) + { + sp0 = gUnknown_8457034; + } + } + ptr[1]->arr[i].unk0 = sp0; + ptr[1]->arr[i].unk18 = sub_811A694(&ptr[1]->arr[i].unk0, &gUnknown_8457034); + } + else + { + ptr[0]->arr[i].unk0 = sp0; + ptr[0]->arr[i].unk18 = sub_811A694(&ptr[0]->arr[i].unk0, &gUnknown_8457034); + } + } +} + +static u8 sub_8119E84(struct UnkStruct_Main4 * a0, struct UnkStruct_Main4 * a1, u32 a2) +{ + u8 taskId = CreateTask(sub_8119D34, 0); + struct UnkStruct_Main4 ** data = (void *)gTasks[taskId].data; + data[0] = a0; + data[1] = a1; + gTasks[taskId].data[4] = a2; + return taskId; +} + +static void sub_8119EB8(u8 taskId) +{ + s32 i, j; + struct UnkStruct_Main4 ** ptr = (void*) gTasks[taskId].data; + + for (i = 0; i < 4; i++) + { + sub_80FCC3C(&ptr[0]->arr[i].unk0.gname, ptr[0]->arr[i].unk0.playerName, i); + if (!sub_8116F28(ptr[0]->arr[i].unk0.gname.unk_0a_0, gTasks[taskId].data[2])) + { + ptr[0]->arr[i].unk0 = gUnknown_8457034; + } + for (j = 0; j < i; j++) + { + if (!sub_811A694(&ptr[0]->arr[j].unk0, &ptr[0]->arr[i].unk0)) + { + ptr[0]->arr[i].unk0 = gUnknown_8457034; + } + } + ptr[0]->arr[i].unk18 = sub_811A694(&ptr[0]->arr[i].unk0, &gUnknown_8457034); + } +} + +static bool32 sub_8119FB0(struct GFtgtGname * arg0, s16 arg1) +{ + if (arg1 == 7) + { + if (!arg0->unk_00.unk_00_5) + { + return FALSE; + } + else + { + return TRUE; + } + } + else if (arg1 == 8) + { + if (!arg0->unk_00.unk_00_4) + { + return FALSE; + } + else + { + return TRUE; + } + } + else + { + return FALSE; + } +} + +static void sub_8119FD8(u8 taskId) +{ + s32 i; + struct UnkStruct_Main4 ** ptr = (void*) gTasks[taskId].data; + + for (i = 0; i < 4; i++) + { + if (sub_80FCCF4(&ptr[0]->arr[i].unk0.gname, ptr[0]->arr[i].unk0.playerName, i)) + { + sub_8119FB0(&ptr[0]->arr[i].unk0.gname, gTasks[taskId].data[2]); + } + ptr[0]->arr[i].unk18 = sub_811A694(&ptr[0]->arr[i].unk0, &gUnknown_8457034); + } +} + +static u8 sub_811A054(struct UnkStruct_Main4 * a0, u32 a1) +{ + u8 taskId = CreateTask(sub_8119EB8, 0); + struct UnkStruct_Main4 ** ptr = (void*) gTasks[taskId].data; + ptr[0] = a0; + gTasks[taskId].data[2] = a1; + return taskId; +} + +static u8 sub_811A084(struct UnkStruct_Main4 * a0, u32 a1) +{ + u8 taskId = CreateTask(sub_8119FD8, 0); + struct UnkStruct_Main4 ** ptr = (void*) gTasks[taskId].data; + ptr[0] = a0; + gTasks[taskId].data[2] = a1; + return taskId; +} + +static bool32 sub_811A0B4(const u8 *src) +{ + LoadStdWindowFrameGfx(); + DrawDialogueFrame(0, 1); + StringExpandPlaceholders(gStringVar4, src); + AddTextPrinterWithCustomSpeedForMessage(FALSE, 1); + return FALSE; +} + +static bool32 sub_811A0E0(void) +{ + if (!RunTextPrinters_CheckPrinter0Active()) + { + return TRUE; + } + else + { + return FALSE; + } +} + +static bool8 PrintOnTextbox(u8 *textState, const u8 *str) +{ + switch (*textState) + { + case 0: + LoadStdWindowFrameGfx(); + DrawDialogueFrame(0, 1); + StringExpandPlaceholders(gStringVar4, str); + AddTextPrinterForMessage(TRUE); + (*textState)++; + break; + case 1: + if (!RunTextPrinters_CheckPrinter0Active()) + { + *textState = 0; + return TRUE; + } + break; + } + return FALSE; +} + +static s8 sub_811A14C(u8 *arg0, bool32 arg1) +{ + s8 r1; + + switch (*arg0) + { + case 0: + if (arg1) + { + return -3; + } + DisplayYesNoMenuDefaultYes(); + (*arg0)++; + break; + case 1: + if (arg1) + { + DestroyYesNoMenu(); + *arg0 = 0; + return -3; + } + r1 = Menu_ProcessInputNoWrapClearOnChoose(); + if (r1 == -1 || r1 == 0 || r1 == 1) + { + *arg0 = 0; + return r1; + } + break; + } + return -2; +} + +static u8 sub_811A1AC(const struct WindowTemplate * template) +{ + u8 windowId = AddWindow(template); + DrawStdWindowFrame(windowId, FALSE); + FillWindowPixelBuffer(windowId, PIXEL_FILL(15)); + sub_811A444(windowId, 0, gUnknown_8459378, 8, 1, 6); + PutWindowTilemap(windowId); + CopyWindowToVram(windowId, 2); + return windowId; +} + +static void sub_811A1FC(u8 windowId) +{ + ClearStdWindowAndFrame(windowId, TRUE); + RemoveWindow(windowId); +} + +static s32 sub_811A218(u8 *arg0, u8 *arg1, u8 *arg2, const struct WindowTemplate * winTemplate, const struct ListMenuTemplate * menuTemplate) +{ + s32 r1, r8; + + switch (*arg0) + { + case 0: + *arg1 = AddWindow(winTemplate); + DrawStdWindowFrame(*arg1, FALSE); + gMultiuseListMenuTemplate = *menuTemplate; + gMultiuseListMenuTemplate.windowId = *arg1; + *arg2 = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + CopyWindowToVram(*arg1, TRUE); + (*arg0)++; + break; + case 1: + r8 = ListMenu_ProcessInput(*arg2); + if (JOY_NEW(A_BUTTON)) + { + DestroyListMenuTask(*arg2, NULL, NULL); + ClearStdWindowAndFrame(*arg1, TRUE); + RemoveWindow(*arg1); + *arg0 = 0; + return r8; + } + else if (JOY_NEW(B_BUTTON)) + { + DestroyListMenuTask(*arg2, NULL, NULL); + ClearStdWindowAndFrame(*arg1, TRUE); + RemoveWindow(*arg1); + *arg0 = 0; + return -2; + } + break; + } + + return -1; +} + +static s32 sub_811A2EC(u8 *arg0, u8 *arg1, u8 *arg2, u8 *arg3, const struct WindowTemplate * winTemplate, const struct ListMenuTemplate * menuTemplate, struct UnkStruct_Main0 * arg6) +{ + s32 input; + s32 r4; + + switch (*arg0) + { + case 0: + *arg3 = sub_811A1AC(&gUnknown_8456F1C); + *arg1 = AddWindow(winTemplate); + DrawStdWindowFrame(*arg1, FALSE); + gMultiuseListMenuTemplate = *menuTemplate; + gMultiuseListMenuTemplate.windowId = *arg1; + *arg2 = ListMenuInit(&gMultiuseListMenuTemplate, 0, 1); + CopyWindowToVram(*arg1, TRUE); + (*arg0)++; + break; + case 1: + input = ListMenu_ProcessInput(*arg2); + if (JOY_NEW(A_BUTTON | B_BUTTON)) + { + if (input == 8 || JOY_NEW(B_BUTTON)) + { + DestroyListMenuTask(*arg2, NULL, NULL); + ClearStdWindowAndFrame(*arg1, TRUE); + RemoveWindow(*arg1); + sub_811A1FC(*arg3); + *arg0 = 0; + return -2; + } + else + { + r4 = sub_811AD7C(arg6->arr, input); + if (r4 >= 0) + { + DestroyListMenuTask(*arg2, NULL, NULL); + ClearStdWindowAndFrame(*arg1, TRUE); + RemoveWindow(*arg1); + sub_811A1FC(*arg3); + *arg0 = 0; + return r4; + } + else + { + PlaySE(SE_WALL_HIT); + } + } + } + break; + } + + return -1; +} + +static void sub_811A3F8(void) +{ + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0); + CopyBgTilemapBufferToVram(0); +} + +static void sub_811A41C(void) +{ + FillBgTilemapBufferRect(0, 0, 0, 0, 32, 32, 0); + CopyBgTilemapBufferToVram(0); + EnableBothScriptContexts(); +} + +static void sub_811A444(u8 windowId, u8 fontId, const u8 *str, u8 x, u8 y, u8 colorIdx) +{ + struct TextPrinterTemplate printerTemplate; + + printerTemplate.currentChar = str; + printerTemplate.windowId = windowId; + printerTemplate.fontId = fontId; + printerTemplate.x = x; + printerTemplate.y = y; + printerTemplate.currentX = x; + printerTemplate.currentY = y; + printerTemplate.unk = 0; + + gTextFlags.useAlternateDownArrow = FALSE; + switch (colorIdx) + { + case 0: + printerTemplate.letterSpacing = 0; + printerTemplate.lineSpacing = 0; + printerTemplate.fgColor = 2; + printerTemplate.bgColor = 1; + printerTemplate.shadowColor = 3; + break; + case 1: + printerTemplate.letterSpacing = 0; + printerTemplate.lineSpacing = 0; + printerTemplate.fgColor = 4; + printerTemplate.bgColor = 1; + printerTemplate.shadowColor = 5; + break; + case 2: + printerTemplate.letterSpacing = 0; + printerTemplate.lineSpacing = 0; + printerTemplate.fgColor = 6; + printerTemplate.bgColor = 1; + printerTemplate.shadowColor = 7; + break; + case 3: + printerTemplate.letterSpacing = 0; + printerTemplate.lineSpacing = 0; + printerTemplate.fgColor = 1; + printerTemplate.bgColor = 1; + printerTemplate.shadowColor = 3; + break; + case 4: + printerTemplate.letterSpacing = 0; + printerTemplate.lineSpacing = 0; + printerTemplate.fgColor = 1; + printerTemplate.bgColor = 2; + printerTemplate.shadowColor = 3; + break; + case 5: + printerTemplate.letterSpacing = 0; + printerTemplate.lineSpacing = 0; + printerTemplate.fgColor = 7; + printerTemplate.bgColor = 15; + printerTemplate.shadowColor = 9; + break; + case 6: + printerTemplate.letterSpacing = 0; + printerTemplate.lineSpacing = 0; + printerTemplate.fgColor = 14; + printerTemplate.bgColor = 15; + printerTemplate.shadowColor = 9; + break; + } + + AddTextPrinter(&printerTemplate, 0xFF, NULL); +} + +static void sub_811A5E4(struct UnkStruct_x20 * arg0, u8 count) +{ + s32 i; + + for (i = 0; i < count; i++) + { + arg0[i].unk = gUnknown_8457034; + arg0[i].field_18 = 0xFF; + arg0[i].field_1A_0 = 0; + arg0[i].field_1A_1 = 0; + arg0[i].field_1B = 0; + } +} + +static void sub_811A650(struct UnkStruct_x1C * arg0, u8 count) +{ + s32 i; + + for (i = 0; i < 4; i++) + { + arg0[i].unk0 = gUnknown_8457034; + arg0[i].unk18 = 0; + } +} + +static bool8 sub_811A694(struct UnkStruct_Shared * arg0, const struct UnkStruct_Shared * arg1) +{ + s32 i; + + for (i = 0; i < 2; i++) + { + if (arg0->gname.unk_00.playerTrainerId[i] != arg1->gname.unk_00.playerTrainerId[i]) + { + return TRUE; + } + } + + for (i = 0; i < 8; i++) + { + if (arg0->playerName[i] != arg1->playerName[i]) + { + return TRUE; + } + } + + return FALSE; +} + +static bool32 sub_811A6DC(struct UnkStruct_Shared * arg0, struct UnkStruct_Shared * arg1) +{ + s32 i; + + if (arg0->gname.unk_0a_0 != arg1->gname.unk_0a_0) + { + return TRUE; + } + + if (arg0->gname.unk_0a_7 != arg1->gname.unk_0a_7) + { + return TRUE; + } + + for (i = 0; i < 4; i++) + { + if (arg0->gname.unk_04[i] != arg1->gname.unk_04[i]) + { + return TRUE; + } + } + + if (arg0->gname.species != arg1->gname.species) + { + return TRUE; + } + + if (arg0->gname.type != arg1->gname.type) + { + return TRUE; + } + + return FALSE; +} + +static u32 sub_811A748(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1) +{ + u8 result = 0xFF; + s32 i; + + for (i = 0; i < 4; i++) + { + if (arg1[i].unk18 && !sub_811A694(&arg0->unk, &arg1[i].unk0)) + { + result = i; + arg1[i].unk18 = FALSE; + } + } + + return result; +} + +static u8 sub_811A798(struct UnkStruct_x20 * arg0, struct UnkStruct_x1C * arg1, u8 arg2) +{ + s32 i; + + if (arg1->unk18) + { + for (i = 0; i < arg2; i++) + { + if (arg0[i].field_1A_0 == 0) + { + arg0[i].unk = arg1->unk0; + arg0[i].field_18 = 0; + arg0[i].field_1A_0 = 1; + arg0[i].field_1B = 64; + arg1->unk18 = FALSE; + return i; + } + } + } + + return 0xFF; +} + +static void sub_811A81C(u8 arg0, u8 arg1, u8 arg2, struct UnkStruct_x20 * arg3, u8 arg4, u8 id) +{ + u8 r2; + u8 sp0[6]; + u8 sp10[30]; + + ConvertIntToDecimalStringN(gStringVar4, id + 1, STR_CONV_MODE_LEADING_ZEROS, 2); + StringAppend(gStringVar4, gUnknown_84571B0); + sub_811A444(arg0, 0, gStringVar4, arg1, arg2, 0); + arg1 += 18; + r2 = arg3->unk.gname.unk_0a_0; + if (arg3->field_1A_0 == 1 && !(r2 & 0x40)) + { + IntlConvPartnerUname(sp10, *arg3); + sub_811A444(arg0, 2, sp10, arg1, arg2, arg4); + ConvertIntToDecimalStringN(sp0, arg3->unk.gname.unk_00.playerTrainerId[0] | (arg3->unk.gname.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5); + StringCopy(gStringVar4, gUnknown_84571B4); + StringAppend(gStringVar4, sp0); + arg1 += 77; + sub_811A444(arg0, 0, gStringVar4, arg1, arg2, arg4); + } +} + +static void sub_811A910(u8 windowId, u8 x, u8 y, struct UnkStruct_x20 * arg3, u8 arg4, u8 id) +{ + u8 sp0[6]; + u8 sp10[30]; + + if (arg3->field_1A_0 == 1) + { + IntlConvPartnerUname(sp10, *arg3); + sub_811A444(windowId, 2, sp10, x, y, arg4); + ConvertIntToDecimalStringN(sp0, arg3->unk.gname.unk_00.playerTrainerId[0] | (arg3->unk.gname.unk_00.playerTrainerId[1] << 8), STR_CONV_MODE_LEADING_ZEROS, 5); + StringCopy(gStringVar4, gUnknown_84571B4); + StringAppend(gStringVar4, sp0); + x += 71; + sub_811A444(windowId, 0, gStringVar4, x, y, arg4); + } +} + +static bool32 sub_811A9B8(void) +{ + s16 x, y; + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + if (x != 9) + { + return FALSE; + } + if (y != 8) + { + return FALSE; + } + if (gPlayerAvatar.tileTransitionState == 2 || gPlayerAvatar.tileTransitionState == 0) + { + return TRUE; + } + + return FALSE; +} + +static u32 sub_811A9FC(s32 arg0) +{ + switch (arg0) + { + case 5: + return 1; + case 4: + return 2; + case 8: + return 3; + case 3: + default: + return 0; + } +} + +static u32 sub_811AA24(struct UnkStruct_x20 * arg0) +{ + u8 sp0[30]; + IntlConvPartnerUname(sp0, *arg0); + return PlayerHasMetTrainerBefore(ReadAsU16(arg0->unk.gname.unk_00.playerTrainerId), sp0); +} + +static s32 sub_811AA5C(struct UnkStruct_Main0 * arg0, u8 arg1, u8 arg2, u32 playerGender) +{ + bool32 r2; + + struct UnkStruct_x20 * r5 = &arg0->arr[arg2]; + + if (!r5->unk.gname.unk_0a_7 && arg1 == 0) + { + IntlConvPartnerUname(gStringVar1, *r5); + r2 = PlayerHasMetTrainerBefore(ReadAsU16(r5->unk.gname.unk_00.playerTrainerId), gStringVar1); + if (r5->unk.gname.unk_0a_0 == 0x45) + { + StringExpandPlaceholders(gStringVar4, gUnknown_8457F80[r2][playerGender]); + return 2; + } + else + { + sub_811A0B4(gUnknown_8457A34[r2]); + return 1; + } + } + else + { + IntlConvPartnerUname(gStringVar1, *r5); + if (arg1 != 0) + { + playerGender = (r5->unk.gname.unk_00.playerTrainerId[arg1 + 1] >> 3) & 1; + } + switch (r5->unk.gname.unk_0a_0 & 0x3F) + { + case 1: + StringExpandPlaceholders(gStringVar4, gUnknown_8458758[playerGender][Random() % 4]); + break; + case 4: + StringExpandPlaceholders(gStringVar4, gUnknown_8458A78[playerGender][Random() % 2]); + break; + case 5: + StringExpandPlaceholders(gStringVar4, gUnknown_84588BC[playerGender][Random() % 4]); + break; + case 8: + StringExpandPlaceholders(gStringVar4, gUnknown_84589AC[playerGender][Random() % 2]); + break; + default: + StringExpandPlaceholders(gStringVar4, gUnknown_8457F90); + break; + } + return 0; + } +} + +static void nullsub_92(u8 windowId, s32 itemId, u8 y) +{ + +} + +static void sub_811ABE4(u8 windowId, u8 y, struct GFtgtGname * gname, const u8 * uname, u8 colorIdx) +{ + u8 level_t[4]; + u16 species = gname->species; + u8 type = gname->type; + u8 level = gname->level; + + sub_811A444(windowId, 2, uname, 8, y, colorIdx); + if (species == SPECIES_EGG) + { + sub_811A444(windowId, 2, gUnknown_8458FBC, 0x44, y, colorIdx); + } + else + { + BlitMoveInfoIcon(windowId, type + 1, 0x44, y); + sub_811A444(windowId, 2, gSpeciesNames[species], 0x76, y, colorIdx); + ConvertIntToDecimalStringN(level_t, level, STR_CONV_MODE_LEFT_ALIGN, 3); + sub_811A444(windowId, 2, level_t, GetStringRightAlignXOffset(2, level_t, 218), y, colorIdx); + } +} + +static void sub_811ACA4(u8 windowId, s32 itemId, u8 y) +{ + struct UnkStruct_Leader * leader = sUnionRoomMain.leader; + struct GFtgtGname * rfu; + s32 i, j; + u8 uname[8]; + + if (itemId == -3 && y == gUnknown_8456F7C.upText_Y) + { + rfu = sub_80F9800(); + if (rfu->species != SPECIES_NONE) + { + sub_811ABE4(windowId, y, rfu, gSaveBlock2Ptr->playerName, 5); + } + } + else + { + j = 0; + for (i = 0; i < 8; i++) + { + if (leader->field_0->arr[i].field_1A_0 == 1 && leader->field_0->arr[i].unk.gname.species != SPECIES_NONE) + { + j++; + } + if (j == itemId + 1) + { + IntlConvPartnerUname(uname, leader->field_0->arr[i]); + sub_811ABE4(windowId, y, &leader->field_0->arr[i].unk.gname, uname, 6); + break; + } + } + } +} + +static s32 sub_811AD7C(struct UnkStruct_x20 * arg, s32 arg1) +{ + s32 i; + s32 j = 0; + + for (i = 0; i < 8; i++) + { + if (arg[i].field_1A_0 == 1 && arg[i].unk.gname.species != SPECIES_NONE) + { + j++; + } + if (j == arg1 + 1) + { + return i; + } + } + + return -1; +} + +static s32 GetUnionRoomPlayerGender(s32 arg1, struct UnkStruct_Main0 * arg0) +{ + return arg0->arr[arg1].unk.gname.playerGender; +} + +static s32 sub_811ADD0(u32 type, u32 species) +{ + s32 i; + + if (species == SPECIES_EGG) + { + for (i = 0; i < gPlayerPartyCount; i++) + { + species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); + if (species == SPECIES_EGG) + { + return 0; + } + } + return 2; + } + else + { + for (i = 0; i < gPlayerPartyCount; i++) + { + species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); + if (gBaseStats[species].type1 == type || gBaseStats[species].type2 == type) + { + return 0; + } + } + return 1; + } +} + +static void sub_811AE68(u8 *dst, s32 arg1, u32 playerGender) +{ + switch (arg1) + { + case 0x41: + StringExpandPlaceholders(dst, gUnknown_8458314[playerGender]); + break; + case 0x45: + StringExpandPlaceholders(dst, gUnknown_84585E8[playerGender]); + break; + case 0x44: + StringExpandPlaceholders(dst, gUnknown_8458F9C); + break; + case 0x48: + StringExpandPlaceholders(dst, gUnknown_84583B4[playerGender]); + break; + } +} + +static void sub_811AECC(u8 *dst, u8 arg1) +{ + u8 mpId = GetMultiplayerId(); + u8 gender = gLinkPlayers[mpId ^ 1].gender; + + switch (arg1) + { + case 0x41: + StringCopy(dst, gUnknown_8458230[mpId][gender][0]); + break; + case 0x44: + StringCopy(dst, gUnknown_8458230[mpId][gender][2]); + break; + case 0x45: + StringCopy(dst, gUnknown_8458230[mpId][gender][1]); + break; + } +} + +static s32 sub_811AF6C(u8 *dst, u32 gender, u16 *arg2, struct UnkStruct_URoom * arg3) +{ + s32 result = 0; + u16 species = SPECIES_NONE; + s32 i; + + switch (arg2[0]) + { + case 0x41: + StringExpandPlaceholders(dst, gUnknown_8457CA4); + result = 1; + break; + case 0x45: + StringExpandPlaceholders(dst, gUnknown_8457CF8); + result = 1; + break; + case 0x44: + ConvertIntToDecimalStringN(arg3->field_58[0], sUnionRoomTrade.playerLevel, STR_CONV_MODE_LEFT_ALIGN, 3); + StringCopy(arg3->field_58[1], gSpeciesNames[sUnionRoomTrade.playerSpecies]); + for (i = 0; i < 4; i++) + { + if (gRfuLinkStatus->partner[i].serialNo == 2) + { + ConvertIntToDecimalStringN(arg3->field_58[2], arg2[2], STR_CONV_MODE_LEFT_ALIGN, 3); + StringCopy(arg3->field_58[3], gSpeciesNames[arg2[1]]); + species = arg2[1]; + break; + } + } + if (species == SPECIES_EGG) + { + StringCopy(dst, gUnknown_8457DB8); + } + else + { + for (i = 0; i < 4; i++) + { + DynamicPlaceholderTextUtil_SetPlaceholderPtr(i, arg3->field_58[i]); + } + DynamicPlaceholderTextUtil_ExpandPlaceholders(dst, gUnknown_8457D44); + } + result = 1; + break; + case 0x48: + StringExpandPlaceholders(dst, gUnknown_8457C48); + result = 1; + break; + case 0x40: + StringExpandPlaceholders(dst, gUnknown_8457E0C); + result = 2; + break; + } + + return result; +} + +static bool32 sub_811B0A4(struct UnkStruct_URoom * arg0) +{ + if (gRecvCmds[0][1] != 0) + { + if (gRecvCmds[0][1] == 0x51) + { + arg0->field_98 = 0x51; + return TRUE; + } + else if (gRecvCmds[0][1] == 0x52) + { + arg0->field_98 = 0x52; + return TRUE; + } + } + return FALSE; +} + +bool32 InUnionRoom(void) +{ + return gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(UNION_ROOM) + && gSaveBlock1Ptr->location.mapNum == MAP_NUM(UNION_ROOM) + ? TRUE : FALSE; +} + +static bool32 HasAtLeastTwoMonsOfLevel30OrLower(void) +{ + s32 i; + s32 count = 0; + + for (i = 0; i < gPlayerPartyCount; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_LEVEL) <= 30 + && GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2) != SPECIES_EGG) + { + count++; + } + } + + if (count > 1) + return TRUE; + else + return FALSE; +} + +static void ResetUnionRoomTrade(struct UnionRoomTrade * arg0) +{ + arg0->field_0 = 0; + arg0->type = 0; + arg0->playerPersonality = 0; + arg0->playerSpecies = 0; + arg0->playerLevel = 0; + arg0->species = 0; + arg0->level = 0; + arg0->personality = 0; +} + +void Script_ResetUnionRoomTrade(void) +{ + ResetUnionRoomTrade(&sUnionRoomTrade); +} + +static bool32 RegisterTradeMonAndGetIsEgg(u32 monId, struct UnionRoomTrade * trade) +{ + trade->playerSpecies = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2); + trade->playerLevel = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); + trade->playerPersonality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); + if (trade->playerSpecies == SPECIES_EGG) + return TRUE; + else + return FALSE; +} + +static void RegisterTradeMon(u32 monId, struct UnionRoomTrade * trade) +{ + trade->species = GetMonData(&gPlayerParty[monId], MON_DATA_SPECIES2); + trade->level = GetMonData(&gPlayerParty[monId], MON_DATA_LEVEL); + trade->personality = GetMonData(&gPlayerParty[monId], MON_DATA_PERSONALITY); +} + +static u32 GetPartyPositionOfRegisteredMon(struct UnionRoomTrade * trade, u8 multiplayerId) +{ + u16 response = 0; + u16 species; + u32 personality; + u32 cur_personality; + u16 cur_species; + s32 i; + + // player + if (multiplayerId == 0) + { + species = trade->playerSpecies; + personality = trade->playerPersonality; + } + // partner + else + { + species = trade->species; + personality = trade->personality; + } + + for (i = 0; i < gPlayerPartyCount; i++) + { + cur_personality = GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY); + if (cur_personality != personality) + { + continue; + } + cur_species = GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2); + if (cur_species != species) + { + continue; + } + response = i; + break; + } + + return response; +} + +static void sub_811B258(bool32 arg0) +{ + sub_811A3F8(); + ScriptContext2_Disable(); + sub_80696F0(); + gUnknown_203B058 = 0; + if (arg0) + { + sub_80FAFA0(sUnionRoomTrade.type, sUnionRoomTrade.playerSpecies, sUnionRoomTrade.playerLevel); + sub_80FB008(0x40, 0, 0); + } +} + +static void sub_811B298(void) +{ + ScriptContext2_Enable(); + ScriptFreezeObjectEvents(); +} + +static u8 sub_811B2A8(s32 linkPlayer) +{ + u8 retval = 0x80; + retval |= gLinkPlayers[linkPlayer].gender << 3; + retval |= gLinkPlayers[linkPlayer].trainerId & 7; + return retval; +} + +static u8 sub_811B2D8(struct UnkStruct_URoom * arg0) +{ + u8 retVal = 0x80; + u8 i; + + for (i = 0; i < 4; i++) + { + if (arg0->field_C->arr[i].unk18) + { + retVal |= arg0->field_C->arr[i].unk0.gname.playerGender << 3; + retVal |= arg0->field_C->arr[i].unk0.gname.unk_00.playerTrainerId[0] & 7; + break; + } + } + + return retVal; +} + +static void sub_811B31C(u8 *unused, struct UnkStruct_URoom * arg1, bool8 arg2) +{ + struct TrainerCard * trainerCard = &gTrainerCards[GetMultiplayerId() ^ 1]; + s32 i; + s32 n; + + DynamicPlaceholderTextUtil_Reset(); + + StringCopy(arg1->trainerCardStrbufs[0], gTrainerClassNames[sub_80447F0()]); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, arg1->trainerCardStrbufs[0]); + + DynamicPlaceholderTextUtil_SetPlaceholderPtr(1, trainerCard->playerName); + + StringCopy(arg1->field_174, gUnknown_84594B0[trainerCard->stars]); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, arg1->field_174); + + ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[2], trainerCard->caughtMonsCount, STR_CONV_MODE_LEFT_ALIGN, 3); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, arg1->trainerCardStrbufs[2]); + + ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[3], trainerCard->playTimeHours, STR_CONV_MODE_LEFT_ALIGN, 3); + ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[4], trainerCard->playTimeMinutes, STR_CONV_MODE_LEADING_ZEROS, 2); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(4, arg1->trainerCardStrbufs[3]); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(5, arg1->trainerCardStrbufs[4]); + + DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_84594C4); + StringCopy(gStringVar4, arg1->field_1A4); + + n = trainerCard->linkBattleWins; + if (n > 9999) + { + n = 9999; + } + ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[0], n, STR_CONV_MODE_LEFT_ALIGN, 4); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(0, arg1->trainerCardStrbufs[0]); + + n = trainerCard->linkBattleLosses; + if (n > 9999) + { + n = 9999; + } + ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[1], n, STR_CONV_MODE_LEFT_ALIGN, 4); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(2, arg1->trainerCardStrbufs[1]); + + ConvertIntToDecimalStringN(arg1->trainerCardStrbufs[2], trainerCard->pokemonTrades, STR_CONV_MODE_LEFT_ALIGN, 5); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(3, arg1->trainerCardStrbufs[2]); + + for (i = 0; i < 4; i++) + { + CopyEasyChatWord(arg1->trainerCardStrbufs[i + 3], trainerCard->var_28[i]); + DynamicPlaceholderTextUtil_SetPlaceholderPtr(i + 4, arg1->trainerCardStrbufs[i + 3]); + } + + DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_8459504); + StringAppend(gStringVar4, arg1->field_1A4); + + if (arg2 == TRUE) + { + DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_8459588); + StringAppend(gStringVar4, arg1->field_1A4); + } + else if (arg2 == FALSE) + { + DynamicPlaceholderTextUtil_ExpandPlaceholders(arg1->field_1A4, gUnknown_8459580[trainerCard->gender]); + StringAppend(gStringVar4, arg1->field_1A4); + } +} diff --git a/src/union_room_battle.c b/src/union_room_battle.c new file mode 100644 index 000000000..b75cc086d --- /dev/null +++ b/src/union_room_battle.c @@ -0,0 +1,225 @@ +#include "global.h" +#include "bg.h" +#include "battle.h" +#include "gpu_regs.h" +#include "link.h" +#include "malloc.h" +#include "menu.h" +#include "new_menu_helpers.h" +#include "overworld.h" +#include "palette.h" +#include "party_menu.h" +#include "strings.h" +#include "text_window.h" +#include "union_room.h" +#include "window.h" + +struct UnkStruct_203B08C +{ + s16 a0; +}; + +static EWRAM_DATA struct UnkStruct_203B08C * gUnknown_203B08C = NULL; + +static const struct BgTemplate gUnknown_8457194[] = { + { + .bg = 0, + .charBaseIndex = 3, + .mapBaseIndex = 31 + } +}; + +static const struct WindowTemplate gUnknown_8457198[] = { + { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 14, + .baseBlock = 0x014 + }, DUMMY_WIN_TEMPLATE +}; + +static const u8 gUnknown_84571A8[] = {1, 2, 3}; + +static void sub_811C04C(void) +{ + s32 i; + sub_81173C0(BATTLE_TYPE_LINK | BATTLE_TYPE_TRAINER); + for (i = 0; i < 2; i++) + { + gEnemyParty[i] = gPlayerParty[gSelectedOrderFromParty[i] - 1]; + } + for (i = 0; i < PARTY_SIZE; i++) + { + ZeroMonData(&gPlayerParty[i]); + } + for (i = 0; i < 2; i++) + { + gPlayerParty[i] = gEnemyParty[i]; + } + IncrementGameStat(GAME_STAT_NUM_UNION_ROOM_BATTLES); + CalculatePlayerPartyCount(); + gTrainerBattleOpponent_A = TRAINER_OPPONENT_C00; + SetMainCallback2(CB2_InitBattle); +} + +static void sub_811C0E0(u8 windowId, const u8 * str, u8 x, u8 y, s32 speed) +{ + s32 letterSpacing = 1; + s32 lineSpacing = 1; + FillWindowPixelBuffer(windowId, PIXEL_FILL(gUnknown_84571A8[0])); + AddTextPrinterParameterized4(windowId, 3, x, y, letterSpacing, lineSpacing, gUnknown_84571A8, speed, str); +} + +static bool32 sub_811C150(s16 * state, const u8 * str, s32 speed) +{ + switch (*state) + { + case 0: + DrawTextBorderOuter(0, 0x001, 0xD); + sub_811C0E0(0, str, 0, 2, speed); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); + (*state)++; + break; + case 1: + if (!IsTextPrinterActive(0)) + { + *state = 0; + return TRUE; + } + break; + } + return FALSE; +} + +static void sub_811C1B4(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_811C1C8(void) +{ + switch (gMain.state) + { + case 0: + SetGpuReg(REG_OFFSET_DISPCNT, 0x0000); + gUnknown_203B08C = AllocZeroed(sizeof(struct UnkStruct_203B08C)); + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_8457194, 1); + ResetTempTileDataBuffers(); + if (!InitWindows(gUnknown_8457198)) + { + return; + } + DeactivateAllTextPrinters(); + ClearWindowTilemap(0); + FillWindowPixelBuffer(0, PIXEL_FILL(0)); + FillWindowPixelBuffer(0, PIXEL_FILL(1)); + FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 0xF); + TextWindow_SetStdFrame0_WithPal(0, 1, 0xD0); + Menu_LoadStdPal(); + SetVBlankCallback(sub_811C1B4); + gMain.state++; + break; + case 1: + if (sub_811C150(&gUnknown_203B08C->a0, gText_CommStandbyAwaitingOtherPlayer, 0)) + { + gMain.state++; + } + break; + case 2: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + ShowBg(0); + gMain.state++; + break; + case 3: + if (!UpdatePaletteFade()) + { + memset(gBlockSendBuffer, 0, 0x20); + if (gSelectedOrderFromParty[0] == -gSelectedOrderFromParty[1]) + { + gBlockSendBuffer[0] = 0x52; + } + else + { + gBlockSendBuffer[0] = 0x51; + } + SendBlock(0, gBlockSendBuffer, 0x20); + gMain.state++; + } + break; + case 4: + if (GetBlockReceivedStatus() == 3) + { + if (gBlockRecvBuffer[0][0] == 0x51 && gBlockRecvBuffer[1][0] == 0x51) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gMain.state = 50; + } + else + { + sub_800AAC0(); + if (gBlockRecvBuffer[GetMultiplayerId()][0] == 0x52) + { + gMain.state = 6; + } + else + { + gMain.state = 8; + } + } + ResetBlockReceivedFlags(); + } + break; + case 50: + if (!UpdatePaletteFade()) + { + sub_800AB9C(); + gMain.state++; + } + break; + case 51: + if (IsLinkTaskFinished()) + { + SetMainCallback2(sub_811C04C); + } + break; + case 6: + if (gReceivedRemoteLinkPlayers == 0) + { + gMain.state++; + } + break; + case 7: + if (sub_811C150(&gUnknown_203B08C->a0, gText_RefusedBattle, 1)) + { + SetMainCallback2(CB2_ReturnToField); + } + break; + case 8: + if (gReceivedRemoteLinkPlayers == 0) + { + gMain.state++; + } + break; + case 9: + if (sub_811C150(&gUnknown_203B08C->a0, gText_BattleWasRefused, 1)) + { + SetMainCallback2(CB2_ReturnToField); + } + break; + } + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} diff --git a/src/union_room_message.c b/src/union_room_message.c new file mode 100644 index 000000000..9ca5aa15b --- /dev/null +++ b/src/union_room_message.c @@ -0,0 +1,543 @@ +#include "global.h" +#include "union_room_message.h" +#include "mevent_server.h" + +ALIGNED(4) const u8 gUnknown_84571AC[] = _(""); +ALIGNED(4) const u8 gUnknown_84571B0[] = _(":"); +ALIGNED(4) const u8 gUnknown_84571B4[] = _("{EXTRA 7}"); +ALIGNED(4) const u8 gUnknown_84571B8[] = _("Please start over from the beginning."); +ALIGNED(4) const u8 gUnknown_84571E0[] = _("The WIRELESS COMMUNICATION\nSYSTEM search has been canceled."); +ALIGNED(4) const u8 gUnref_845721C[] = _("ともだちからの れんらくを\nまっています"); +ALIGNED(4) const u8 gUnknown_8457234[] = _("{STR_VAR_1}! Awaiting\ncommunication from another player."); +ALIGNED(4) const u8 gUnknown_8457264[] = _("{STR_VAR_1}! Awaiting link!\nPress START when everyone's ready."); + +ALIGNED(4) const u8 gJPText_SingleBattle[] = _("シングルバトルを かいさいする"); +ALIGNED(4) const u8 gJPText_DoubleBattle[] = _("ダブルバトルを かいさいする"); +ALIGNED(4) const u8 gJPText_MultiBattle[] = _("マルチバトルを かいさいする"); +ALIGNED(4) const u8 gJPText_TradePokemon[] = _("ポケモンこうかんを かいさいする"); +ALIGNED(4) const u8 gJPText_Chat[] = _("チャットを かいさいする"); +ALIGNED(4) const u8 gJPText_DistWonderCard[] = _("ふしぎなカードをくばる"); +ALIGNED(4) const u8 gJPText_DistWonderNews[] = _("ふしぎなニュースをくばる"); +ALIGNED(4) const u8 unref_text_union_room_1[] = _("ふしぎなできごとを かいさいする"); +ALIGNED(4) const u8 gJPText_HoldPokemonJump[] = _("なわとびを かいさいする"); +ALIGNED(4) const u8 gJPText_HoldBerryCrush[] = _("きのみマッシャーを かいさいする"); +ALIGNED(4) const u8 gJPText_HoldBerryPicking[] = _("きのみどりを かいさいする"); +ALIGNED(4) const u8 gJPText_HoldSpinTrade[] = _("ぐるぐるこうかんを かいさいする"); +ALIGNED(4) const u8 gJPText_HoldSpinShop[] = _("ぐるぐるショップを かいさいする"); + +const u8 *const unref_text_ptrs_union_room_0[] = { + gJPText_SingleBattle, + gJPText_DoubleBattle, + gJPText_MultiBattle, + gJPText_TradePokemon, + gJPText_Chat, + gJPText_DistWonderCard, + gJPText_DistWonderNews, + gJPText_DistWonderCard, + gJPText_HoldPokemonJump, + gJPText_HoldBerryCrush, + gJPText_HoldBerryPicking, + gJPText_HoldBerryPicking, + gJPText_HoldSpinTrade, + gJPText_HoldSpinShop +}; + +const u8 gText_1PlayerNeeded[] = _("1 player\nneeded."); +const u8 gText_2PlayersNeeded[] = _("2 players\nneeded."); +const u8 gText_3PlayersNeeded[] = _("3 players\nneeded."); +const u8 gText_4PlayersNeeded[] = _("あと4にん\nひつよう"); +const u8 gText_2PlayerMode[] = _("2-PLAYER\nMODE"); +const u8 gText_3PlayerMode[] = _("3-PLAYER\nMODE"); +const u8 gText_4PlayerMode[] = _("4-PLAYER\nMODE"); +const u8 gText_5PlayerMode[] = _("5-PLAYER\nMODE"); + +const u8 *const gUnknown_845742C[][5] = { + { + gText_1PlayerNeeded, + gText_2PlayerMode + }, { + gText_3PlayersNeeded, + gText_2PlayersNeeded, + gText_1PlayerNeeded, + gText_4PlayerMode + }, { + gText_1PlayerNeeded, + gText_2PlayerMode, + gText_3PlayerMode, + gText_4PlayerMode, + gText_5PlayerMode + }, { + gText_2PlayersNeeded, + gText_1PlayerNeeded, + gText_3PlayerMode, + gText_4PlayerMode, + gText_5PlayerMode + } +}; + +ALIGNED(4) const u8 gUnknown_845747C[] = _("{B_BUTTON}CANCEL"); +ALIGNED(4) const u8 unref_text_union_room_2[] = _("ため\nさんかしゃ ぼしゅうちゅう です!"); +ALIGNED(4) const u8 gUnknown_84574A0[] = _("{STR_VAR_2} contacted you for\n{STR_VAR_1}. Accept?"); +ALIGNED(4) const u8 gUnknown_84574C4[] = _("{STR_VAR_2} contacted you.\nWill you share {STR_VAR_1}?"); +ALIGNED(4) const u8 gUnknown_84574EC[] = _("{STR_VAR_2} contacted you.\nAdd to the members?"); +ALIGNED(4) const u8 gUnknown_8457514[] = _("{STR_VAR_1}!\nAre these members OK?"); +ALIGNED(4) const u8 gUnknown_8457530[] = _("Cancel {STR_VAR_1} MODE\nwith these members?"); +ALIGNED(4) const u8 gUnknown_8457554[] = _("An “OK” was sent\nto {STR_VAR_1}."); + +ALIGNED(4) const u8 gUnknown_845756C[] = _("The other TRAINER doesn't appear\nto be available now…\p"); +ALIGNED(4) const u8 gUnknown_84575A4[] = _("You can't transmit with a TRAINER\nwho is too far away.\p"); +ALIGNED(4) const u8 gUnknown_84575DC[] = _("The other TRAINER(S) is/are not\nready yet.\p"); + +const u8 *const gUnknown_8457608[] = { + gUnknown_84575A4, + gUnknown_84575DC +}; + +ALIGNED(4) const u8 gUnknown_8457610[] = _("The {STR_VAR_1} MODE with\nthese members will be canceled.{PAUSE 90}"); +ALIGNED(4) const u8 gUnknown_8457644[] = _("There is a member who can no\nlonger remain available.\p"); + +const u8 *const gUnknown_845767C[] = { + gUnknown_845756C, + gUnknown_8457644 +}; + +ALIGNED(4) const u8 gUnknown_8457684[] = _("The other TRAINER appears\nunavailable…\p"); +ALIGNED(4) const u8 gUnknown_84576AC[] = _("{STR_VAR_1} sent back an “OK”!"); +ALIGNED(4) const u8 gUnknown_84576C4[] = _("{STR_VAR_1} OK'd your registration as\na member."); +ALIGNED(4) const u8 gUnknown_84576EC[] = _("{STR_VAR_1} replied, “No…”\p"); +ALIGNED(4) const u8 gUnknown_8457700[] = _("{STR_VAR_1}!\nAwaiting other members!"); +ALIGNED(4) const u8 gUnknown_845771C[] = _("Quit being a member?"); +ALIGNED(4) const u8 gUnknown_8457734[] = _("You stopped being a member.\p"); + +const u8 *const gUnknown_8457754[] = { + NULL, + gUnknown_8457644, + gUnknown_8457684, + NULL, + NULL, + NULL, + gUnknown_84576EC, + NULL, + NULL, + gUnknown_8457734 +}; + +ALIGNED(4) const u8 gUnknown_845777C[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been established."); +ALIGNED(4) const u8 gUnknown_84577BC[] = _("The WIRELESS COMMUNICATION\nSYSTEM link has been dropped…"); +ALIGNED(4) const u8 gUnknown_84577F8[] = _("The link with your friend has been\ndropped…"); +ALIGNED(4) const u8 gUnknown_8457824[] = _("{STR_VAR_1} replied, “No…”"); + +const u8 *const gUnknown_8457838[] = { + NULL, + gUnknown_84577F8, + gUnknown_84577F8, + NULL, + NULL, + NULL, + gUnknown_8457824, + NULL, + NULL, + NULL +}; + +ALIGNED(4) const u8 gUnknown_8457860[] = _("Do you want the {STR_VAR_2}\nMODE?"); +ALIGNED(4) const u8 gUnknown_845787C[] = _("Do you want the {STR_VAR_2}\nMODE?"); + +const u8 *const gUnknown_8457898[] = { + gUnknown_8457860, + gUnknown_845787C +}; + +ALIGNED(4) const u8 gUnknown_84578A0[] = _("はなしかけています…\nしょうしょう おまちください"); +ALIGNED(4) const u8 gUnknown_84578BC[] = _("Awaiting {STR_VAR_1}'s response about\nthe trade…"); +ALIGNED(4) const u8 gUnknown_84578E4[] = _("Communicating{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); +ALIGNED(4) const u8 gUnknown_8457950[] = _("Communicating with {STR_VAR_1}{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); +ALIGNED(4) const u8 gUnknown_84579BC[] = _("Please wait a while{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.\n{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}.{PAUSE 15}."); + +const u8 *const gUnknown_8457A34[] = { + gUnknown_84578E4, + gUnknown_8457950, + gUnknown_84579BC +}; + +ALIGNED(4) const u8 gUnknown_8457A40[] = _("Hiya! Is there something that you\nwanted to do?"); +ALIGNED(4) const u8 gUnknown_8457A70[] = _("Hello!\nWould you like to do something?"); +ALIGNED(4) const u8 gUnknown_8457A98[] = _("{STR_VAR_1}: Hiya, we meet again!\nWhat are you up for this time?"); +ALIGNED(4) const u8 gUnknown_8457AD0[] = _("{STR_VAR_1}: Oh! {PLAYER}, hello!\nWould you like to do something?"); + +const u8 *const gUnknown_8457B04[][2] = { + { + gUnknown_8457A40, + gUnknown_8457A70 + }, { + gUnknown_8457A98, + gUnknown_8457AD0 + } +}; + +ALIGNED(4) const u8 gUnknown_8457B14[] = _("Want to do something?"); +ALIGNED(4) const u8 gUnknown_8457B2C[] = _("Would you like to do something?"); +ALIGNED(4) const u8 gUnknown_8457B4C[] = _("{STR_VAR_1}: What would you like to\ndo now?"); +ALIGNED(4) const u8 gUnknown_8457B70[] = _("{STR_VAR_1}‘また なにかする?"); + +const u8 *const gUnknown_8457B80[] = { + gUnknown_8457B14, + gUnknown_8457B2C, + gUnknown_8457B4C, + gUnknown_8457B4C +}; + +ALIGNED(4) const u8 gUnknown_8457B90[] = _("Somebody has contacted you.{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_8457BA0[] = _("{STR_VAR_1} has contacted you.{PAUSE 60}"); + +const u8 *const gUnknown_8457BCC[] = { + gUnknown_8457B90, + gUnknown_8457BA0 +}; + +ALIGNED(4) const u8 gUnknown_8457BD4[] = _("Awaiting a response from\nthe other TRAINER…"); +ALIGNED(4) const u8 gUnknown_8457C00[] = _("Awaiting a response from\n{STR_VAR_1}…"); + +const u8 *const gUnknown_8457C20[] = { + gUnknown_8457BD4, + gUnknown_8457C00 +}; + +ALIGNED(4) const u8 gUnknown_8457C28[] = _("あいての ていあんを まっています\nビーボタンで キャンセル"); +ALIGNED(4) const u8 gUnknown_8457C48[] = _("The other TRAINER showed\nyou their TRAINER CARD.\pWould you like to show your\nTRAINER CARD?"); +ALIGNED(4) const u8 gUnknown_8457CA4[] = _("The other TRAINER challenges you\nto battle.\pWill you accept the battle\nchallenge?"); +ALIGNED(4) const u8 gUnknown_8457CF8[] = _("The other TRAINER invites you\nto chat.\pWill you accept the chat\ninvitation?"); +ALIGNED(4) const u8 gUnknown_8457D44[] = _("There is an offer to trade your\nregistered Lv. {DYNAMIC 0} {DYNAMIC 1}\pin exchange for a\nLv. {DYNAMIC 2} {DYNAMIC 3}.\pWill you accept this trade\noffer?"); +ALIGNED(4) const u8 gUnknown_8457DB8[] = _("There is an offer to trade your\nregistered EGG.\lWill you accept this trade offer?"); +ALIGNED(4) const u8 gUnknown_8457E0C[] = _("The chat has been dropped.\p"); +ALIGNED(4) const u8 gUnknown_8457E28[] = _("You declined the offer.\p"); +ALIGNED(4) const u8 gUnknown_8457E44[] = _("You declined the offer.\p"); +ALIGNED(4) const u8 gUnknown_8457E60[] = _("The chat was ended.\p"); + +const u8 *const gUnknown_8457E78[] = { + gUnknown_8457C48, + gUnknown_8457CA4, + gUnknown_8457CF8, + gUnknown_8457D44 +}; + +ALIGNED(4) const u8 gUnknown_8457E88[] = _("Oh, hey! We're in a chat right now.\nWant to join us?"); +ALIGNED(4) const u8 gUnknown_8457EC0[] = _("{STR_VAR_1}: Hey, {PLAYER}!\nWe're having a chat right now.\lWant to join us?"); +ALIGNED(4) const u8 gUnknown_8457F00[] = _("Oh, hi! We're having a chat now.\nWould you like to join us?"); +ALIGNED(4) const u8 gUnknown_8457F3C[] = _("{STR_VAR_1}: Oh, hi, {PLAYER}!\nWe're having a chat now.\lWould you like to join us?"); + +const u8 *const gUnknown_8457F80[][2] = { + { + gUnknown_8457E88, + gUnknown_8457F00 + }, { + gUnknown_8457EC0, + gUnknown_8457F3C + } +}; + +ALIGNED(4) const u8 gUnknown_8457F90[] = _("……\nThe TRAINER appears to be busy…\p"); +ALIGNED(4) const u8 gUnknown_8457FB4[] = _("A battle, huh?\nAll right, just give me some time."); +ALIGNED(4) const u8 gUnknown_8457FE8[] = _("You want to chat, huh?\nSure, just wait a little."); +ALIGNED(4) const u8 gUnknown_845801C[] = _("Sure thing! As my “Greetings,”\nhere's my TRAINER CARD."); +ALIGNED(4) const u8 gUnknown_8458054[] = _("A battle? Of course, but I need\ntime to get ready."); +ALIGNED(4) const u8 gUnknown_8458088[] = _("Did you want to chat?\nOkay, but please wait a moment."); +ALIGNED(4) const u8 gUnknown_84580C0[] = _("As my introduction, I'll show you\nmy TRAINER CARD."); + +const u8 *const gUnknown_84580F4[][4] = { + { + gUnknown_8457FB4, + gUnknown_8457FE8, + NULL, + gUnknown_845801C + }, { + gUnknown_8458054, + gUnknown_8458088, + NULL, + gUnknown_84580C0 + } +}; + +ALIGNED(4) const u8 gUnref_8458104[] = _("チャットだね!\nわかった ちょっと まってて!"); +ALIGNED(4) const u8 gUnknown_845812C[] = _("Thanks for waiting!\nLet's get our battle started!{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_8458164[] = _("All right!\nLet's chat!{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_8458180[] = _("Sorry I made you wait!\nLet's get started!{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_84581B0[] = _("Sorry I made you wait!\nLet's chat.{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_84581D8[] = _("The trade will be started.{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_84581F8[] = _("The battle will be started.{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_8458218[] = _("Entering the chat…{PAUSE 60}"); + +const u8 *const gUnknown_8458230[][2][3] = { + { + { + gUnknown_84581F8, + gUnknown_8458218, + gUnknown_84581D8 + }, { + gUnknown_84581F8, + gUnknown_8458218, + gUnknown_84581D8 + } + }, { + { + gUnknown_845812C, + gUnknown_8458164, + gUnknown_84581D8 + }, { + gUnknown_8458180, + gUnknown_84581B0, + gUnknown_84581D8 + } + } +}; + +ALIGNED(4) const u8 gUnknown_8458260[] = _("Sorry! My POKéMON don't seem to\nbe feeling too well right now.\lLet me battle you another time.\p"); +ALIGNED(4) const u8 gUnknown_84582C0[] = _("I'm terribly sorry, but my POKéMON\naren't feeling well…\pLet's battle another time.\p"); + +const u8 *const gUnknown_8458314[] = { + gUnknown_8458260, + gUnknown_84582C0 +}; + +ALIGNED(4) const u8 gUnknown_845831C[] = _("Huh? My TRAINER CARD…\nWhere'd it go now?\lSorry! I'll show you another time!\p"); +ALIGNED(4) const u8 gUnknown_845836C[] = _("Oh? Now where did I put my\nTRAINER CARD?…\lSorry! I'll show you later!\p"); + +const u8 *const gUnknown_84583B4[] = { + gUnknown_845831C, + gUnknown_845836C +}; + +ALIGNED(4) const u8 gUnknown_84583BC[] = _("If you want to do something with\nme, just give me a shout!\p"); +ALIGNED(4) const u8 gUnknown_84583F8[] = _("If you want to do something with\nme, don't be shy.\p"); + +const u8 *const gUnknown_845842C[] = { + gUnknown_84583BC, + gUnknown_84583F8 +}; + +ALIGNED(4) const u8 gUnknown_8458434[] = _("Whoops! Sorry, but I have to do\nsomething else.\lAnother time, okay?\p"); +ALIGNED(4) const u8 gUnknown_845847C[] = _("If you want to battle, you need\ntwo POKéMON that are below\lLv. 30.\p"); +ALIGNED(4) const u8 gUnknown_84584C0[] = _("For a battle, you need two\nPOKéMON that are below Lv. 30.\p"); +ALIGNED(4) const u8 gUnknown_84584FC[] = _("Oh, all right.\nCome see me anytime, okay?\p"); +ALIGNED(4) const u8 gUnknown_8458528[] = _("Oh…\nPlease come by anytime.\p"); + +const u8 *const gUnknown_8458548[] = { + gUnknown_84584FC, + gUnknown_8458528 +}; + +ALIGNED(4) const u8 gUnknown_8458550[] = _("Oh, sorry!\nI just can't right this instant.\lLet's chat another time.\p"); +ALIGNED(4) const u8 gUnknown_8458598[] = _("Oh, I'm sorry.\nI have too much to do right now.\lLet's chat some other time.\p"); + +const u8 *const gUnknown_84585E8[] = { + gUnknown_8458550, + gUnknown_8458598 +}; + +ALIGNED(4) const u8 gUnknown_84585F0[] = _("Whoa!\nI can tell you're pretty tough!\p"); +ALIGNED(4) const u8 gUnknown_8458618[] = _("You used that move?\nThat's good strategy!\p"); +ALIGNED(4) const u8 gUnknown_8458644[] = _("Way to go!\nThat was an eye-opener!\p"); +ALIGNED(4) const u8 gUnknown_8458668[] = _("Oh! How could you use that\nPOKéMON in that situation?\p"); +ALIGNED(4) const u8 gUnknown_84586A0[] = _("That POKéMON…\nIt's been raised really well!\p"); +ALIGNED(4) const u8 gUnknown_84586D0[] = _("That's it!\nThis is the right move now!\p"); +ALIGNED(4) const u8 gUnknown_84586F8[] = _("That's awesome!\nYou can battle that way?\p"); +ALIGNED(4) const u8 gUnknown_8458724[] = _("You have exquisite timing for\nswitching POKéMON!\p"); + +const u8 *const gUnknown_8458758[][4] = { + { + gUnknown_84585F0, + gUnknown_8458618, + gUnknown_8458644, + gUnknown_8458668 + }, { + gUnknown_84586A0, + gUnknown_84586D0, + gUnknown_84586F8, + gUnknown_8458724 + } +}; + +ALIGNED(4) const u8 gUnknown_8458778[] = _("Oh, I see!\nThis is educational!\p"); +ALIGNED(4) const u8 gUnknown_845879C[] = _("Don't say anything funny anymore!\nI'm sore from laughing!\p"); +ALIGNED(4) const u8 gUnknown_84587D8[] = _("Oh?\nSomething like that happened.\p"); +ALIGNED(4) const u8 gUnknown_84587FC[] = _("Hmhm… What?\nSo is this what you're saying?\p"); +ALIGNED(4) const u8 gUnknown_8458828[] = _("Is that right?\nI didn't know that.\p"); +ALIGNED(4) const u8 gUnknown_845884C[] = _("Ahaha!\nWhat is that about?\p"); +ALIGNED(4) const u8 gUnknown_8458868[] = _("Yes, that's exactly it!\nThat's what I meant.\p"); +ALIGNED(4) const u8 gUnknown_8458898[] = _("In other words…\nYes! That's right!\p"); + +const u8 *const gUnknown_84588BC[][4] = { + { + gUnknown_8458778, + gUnknown_845879C, + gUnknown_84587D8, + gUnknown_84587FC + }, { + gUnknown_8458828, + gUnknown_845884C, + gUnknown_8458868, + gUnknown_8458898 + } +}; + +ALIGNED(4) const u8 gUnknown_84588DC[] = _("I'm just showing my TRAINER CARD\nas my way of greeting.\p"); +ALIGNED(4) const u8 gUnknown_8458918[] = _("I hope I get to know you better!\p"); +ALIGNED(4) const u8 gUnknown_845893C[] = _("We're showing each other our\nTRAINER CARDS to get acquainted.\p"); +ALIGNED(4) const u8 gUnknown_845897C[] = _("Glad to meet you.\nPlease don't be a stranger!\p"); + +const u8 *const gUnknown_84589AC[][2] = { + { + gUnknown_84588DC, + gUnknown_8458918 + }, { + gUnknown_845893C, + gUnknown_845897C + } +}; + +ALIGNED(4) const u8 gUnknown_84589BC[] = _("Yeahah!\nI really wanted this POKéMON!\p"); +ALIGNED(4) const u8 gUnknown_84589E4[] = _("Finally, a trade got me that\nPOKéMON I'd wanted a long time.\p"); +ALIGNED(4) const u8 gUnknown_8458A24[] = _("I'm trading POKéMON right now.\p"); +ALIGNED(4) const u8 gUnknown_8458A44[] = _("I finally got that POKéMON I\nwanted in a trade!\p"); + +const u8 *const gUnknown_8458A78[][4] = { + { + gUnknown_84589BC, + gUnknown_84589E4 + }, { + gUnknown_8458A24, + gUnknown_8458A44 + } +}; + +const u8 gUnknown_8458A98[] = _("{STR_VAR_1} checked the\nTRADING BOARD.\p"); +ALIGNED(4) const u8 gUnknown_8458AB8[] = _("Welcome to the TRADING BOARD.\pYou may register your POKéMON\nand offer it up for a trade.\pWould you like to register one of\nyour POKéMON?"); +ALIGNED(4) const u8 gUnknown_8458B44[] = _("This TRADING BOARD is used for\noffering a POKéMON for a trade.\pAll you need to do is register a\nPOKéMON for a trade.\pAnother TRAINER may offer a party\nPOKéMON in return for the trade.\pWe hope you will register POKéMON\nand trade them with many, many\lother TRAINERS.\pWould you like to register one of\nyour POKéMON?"); +ALIGNED(4) const u8 gUnref_ThankYouForComing_JP[] = _("こうかんけいじばん の とうろくが\nかんりょう しました\pごりよう ありがとう\nございました!\p"); +ALIGNED(4) const u8 gUnref_NoOneRegisteredMon[] = _("けいじばんに だれも ポケモンを\nとうろく していません\p\n"); +ALIGNED(4) const u8 gUnknown_8458CD4[] = _("Please choose the type of POKéMON\nthat you would like in the trade.\n"); +ALIGNED(4) const u8 gUnknown_8458D1C[] = _("Which of your party POKéMON will\nyou offer in trade?\p"); +ALIGNED(4) const u8 gUnknown_8458D54[] = _("Registration has been canceled.\p"); +ALIGNED(4) const u8 gUnknown_8458D78[] = _("Registration has been completed.\p"); +ALIGNED(4) const u8 gUnknown_8458D9C[] = _("The trade has been canceled.\p"); +ALIGNED(4) const u8 gUnknown_8458DBC[] = _("Cancel the registration of your\nLv. {STR_VAR_2} {STR_VAR_1}?"); +ALIGNED(4) const u8 gUnknown_8458DE8[] = _("Cancel the registration of your\nEGG?"); +ALIGNED(4) const u8 gUnknown_8458E10[] = _("The registration has been canceled.\p"); +ALIGNED(4) const u8 gUnref_ShowPeopleWhoLikeYou_JP[] = _("こうかんを きぼうしているひとを\nひょうじします"); +ALIGNED(4) const u8 gUnref_PleaseChooseTrainerYouWant[] = _("こうかん したい トレーナーを\nえらんで ください"); +ALIGNED(4) const u8 gUnknown_8458E70[] = _("Would you like to ask {STR_VAR_1} to\nmake a trade?"); +ALIGNED(4) const u8 gUnref_ImWaitingForAnswer[] = _("……\nあいての へんじを まっています"); +ALIGNED(4) const u8 gUnref_MonSentOutIsNotRegistered[] = _("あなたが こうかんにだす\nポケモンが とうろくされていません\p"); +ALIGNED(4) const u8 gUnknown_8458ED0[] = _("You don't have a {STR_VAR_2}-type\nPOKéMON that {STR_VAR_1} wants.\p"); +ALIGNED(4) const u8 gUnknown_8458F04[] = _("You don't have an EGG that\n{STR_VAR_1} wants.\p"); +ALIGNED(4) const u8 gUnknown_8458F2C[] = _("{STR_VAR_1} can't make a trade for\nyour POKéMON right now.\p"); +ALIGNED(4) const u8 gUnknown_8458F60[] = _("You can't make a trade for\n{STR_VAR_1}'s POKéMON right now.\p"); + +const u8 *const gUnknown_8458F94[] = { + gUnknown_8458F2C, + gUnknown_8458F60 +}; + +ALIGNED(4) const u8 gUnknown_8458F9C[] = _("Your trade offer was rejected.\p"); +ALIGNED(4) const u8 gUnknown_8458FBC[] = _("EGG TRADE"); +ALIGNED(4) const u8 gUnknown_8458FC8[] = _("{DPAD_UPDOWN}CHOOSE {A_BUTTON}JOIN {B_BUTTON}CANCEL"); +ALIGNED(4) const u8 gUnknown_8458FE4[] = _("Please choose a TRAINER."); +ALIGNED(4) const u8 gUnknown_8459000[] = _("Please choose a TRAINER for\na SINGLE BATTLE."); +ALIGNED(4) const u8 gUnknown_8459030[] = _("Please choose a TRAINER for\na DOUBLE BATTLE."); +ALIGNED(4) const u8 gUnknown_8459060[] = _("Please choose the LEADER\nfor a MULTI BATTLE."); +ALIGNED(4) const u8 gUnknown_8459090[] = _("Please choose the TRAINER to\ntrade with."); +ALIGNED(4) const u8 gUnknown_84590BC[] = _("Please choose the TRAINER who is\nsharing WONDER CARDS."); +ALIGNED(4) const u8 gUnknown_84590F4[] = _("Please choose the TRAINER who is\nsharing WONDER NEWS."); +ALIGNED(4) const u8 gUnknown_845912C[] = _("Jump with mini POKéMON!\nPlease choose the LEADER."); +ALIGNED(4) const u8 gUnknown_8459160[] = _("BERRY CRUSH!\nPlease choose the LEADER."); +ALIGNED(4) const u8 gUnknown_8459188[] = _("DODRIO BERRY-PICKING!\nPlease choose the LEADER."); + +const u8 *const gUnknown_84591B8[] = { + gUnknown_8459000, + gUnknown_8459030, + gUnknown_8459060, + gUnknown_8459090, + gUnknown_845912C, + gUnknown_8459160, + gUnknown_8459188, + gUnknown_84590BC, + gUnknown_84590F4 +}; + +ALIGNED(4) const u8 gUnknown_84591DC[] = _("Searching for a WIRELESS\nCOMMUNICATION SYSTEM. Wait..."); +ALIGNED(4) const u8 gUnref_NeedAtLeast2InDblBtl[] = _("ダブルバトルでは 2ひき いじょうの\nポケモンが ひつようです\p"); +ALIGNED(4) const u8 gUnknown_8459238[] = _("Awaiting {STR_VAR_1}'s response…"); +ALIGNED(4) const u8 gUnknown_8459250[] = _("{STR_VAR_1} has been asked to register\nyou as a member. Please wait."); +ALIGNED(4) const u8 gUnknown_845928C[] = _("Awaiting a response from the\nWIRELESS COMMUNICATION SYSTEM."); +ALIGNED(4) const u8 gUnref_PlsWaitLittleWHile[] = _("ほかの さんかしゃが そろうまで\nしょうしょう おまちください"); +ALIGNED(4) const u8 gUnknown_84592E8[] = _("No CARDS appear to be shared \nright now."); +ALIGNED(4) const u8 gUnknown_8459314[] = _("No NEWS appears to be shared\nright now."); + +const u8 *const gUnknown_845933C[] = { + gUnknown_84592E8, + gUnknown_8459314 +}; + +ALIGNED(4) const u8 gUnknown_8459344[] = _("BATTLE"); +ALIGNED(4) const u8 gUnknown_845934C[] = _("CHAT"); +ALIGNED(4) const u8 gUnknown_8459354[] = _("GREETINGS"); +ALIGNED(4) const u8 gUnknown_8459360[] = _("EXIT"); +ALIGNED(4) const u8 gUnknown_8459368[] = _("EXIT"); +ALIGNED(4) const u8 gUnknown_8459370[] = _("INFO"); +ALIGNED(4) const u8 gUnknown_8459378[] = _("NAME{CLEAR_TO 0x3C}WANTED{CLEAR_TO 0x6E}OFFER{CLEAR_TO 0xC6}LV."); +ALIGNED(4) const u8 gUnknown_8459394[] = _("SINGLE BATTLE"); +ALIGNED(4) const u8 gUnknown_84593A4[] = _("DOUBLE BATTLE"); +ALIGNED(4) const u8 gUnknown_84593B4[] = _("MULTI BATTLE"); +ALIGNED(4) const u8 gUnknown_84593C4[] = _("POKéMON TRADES"); +ALIGNED(4) const u8 gUnknown_84593D4[] = _("CHAT"); +ALIGNED(4) const u8 gUnknown_84593DC[] = _("CARDS"); +ALIGNED(4) const u8 gUnknown_84593E4[] = _("WONDER CARDS"); +ALIGNED(4) const u8 gUnknown_84593F4[] = _("WONDER NEWS"); +ALIGNED(4) const u8 gUnknown_8459400[] = _("POKéMON JUMP"); +ALIGNED(4) const u8 gUnknown_8459410[] = _("BERRY CRUSH"); +ALIGNED(4) const u8 gUnknown_845941C[] = _("BERRY-PICKING"); +ALIGNED(4) const u8 gUnknown_845942C[] = _("SEARCH"); +ALIGNED(4) const u8 gUnknown_8459434[] = _("ぐるぐるこうかん"); +ALIGNED(4) const u8 gUnknown_8459440[] = _("アイテムトレード"); +ALIGNED(4) const u8 gUnknown_845944C[] = _("It's a NORMAL CARD."); +ALIGNED(4) const u8 gUnknown_8459460[] = _("It's a BRONZE CARD!"); +ALIGNED(4) const u8 gUnknown_8459474[] = _("It's a COPPER CARD!"); +ALIGNED(4) const u8 gUnknown_8459488[] = _("It's a SILVER CARD!"); +ALIGNED(4) const u8 gUnknown_845949C[] = _("It's a GOLD CARD!"); + +const u8 *const gUnknown_84594B0[] = { + gUnknown_845944C, + gUnknown_8459460, + gUnknown_8459474, + gUnknown_8459488, + gUnknown_845949C +}; + +ALIGNED(4) const u8 gUnknown_84594C4[] = _("This is {SPECIAL_F7 0x00} {SPECIAL_F7 0x01}'s\nTRAINER CARD…\l{SPECIAL_F7 0x02}\pPOKéDEX: {SPECIAL_F7 0x03}\nTIME: {SPECIAL_F7 0x04}:{SPECIAL_F7 0x05}\p"); +ALIGNED(4) const u8 gUnknown_8459504[] = _("BATTLES: {SPECIAL_F7 0x00} WINS {SPECIAL_F7 0x02} LOSSES\nTRADES: {SPECIAL_F7 0x03} TIMES\p“{SPECIAL_F7 0x04} {SPECIAL_F7 0x05}\n{SPECIAL_F7 0x06} {SPECIAL_F7 0x07}”\p"); +ALIGNED(4) const u8 gUnknown_8459544[] = _("{SPECIAL_F7 0x01}: Glad to have met you!{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_8459564[] = _("{SPECIAL_F7 0x01}: Glad to meet you!{PAUSE 60}"); + +const u8 *const gUnknown_8459580[] = { + gUnknown_8459544, + gUnknown_8459564 +}; + +ALIGNED(4) const u8 gUnknown_8459588[] = _("Finished checking {SPECIAL_F7 0x01}'s\nTRAINER CARD.{PAUSE 60}"); +ALIGNED(4) const u8 gUnknown_84595B0[] = _("Canceled reading the Card."); + +const struct mevent_client_cmd gUnknown_84595CC[] = { + CLI_RECEIVE(0x15), + CLI_RECVBUF, + CLI_SENDALL, + CLI_RETURN(0x0e) +}; + +const struct mevent_server_cmd gMEventSrvScript_OtherTrainerCanceled[] = { + SRV_SEND(0x20, gUnknown_84595CC), + SRV_WAITSND, + SRV_SENDSTR(0x1b, gUnknown_84595B0), + SRV_WAITSND, + SRV_RECV(0x14), + SRV_RETURN(0x09) +}; diff --git a/src/vs_seeker.c b/src/vs_seeker.c index b88a7f15c..b35b6143e 100644 --- a/src/vs_seeker.c +++ b/src/vs_seeker.c @@ -1273,7 +1273,7 @@ static u8 GetRematchableTrainerLocalId(void) static void StartTrainerObjectMovementScript(struct VsSeekerTrainerInfo * trainerInfo, const u8 * script) { - npc_sync_anim_pause_bits(&gObjectEvents[trainerInfo->objectEventId]); + UnfreezeObjectEvent(&gObjectEvents[trainerInfo->objectEventId]); ScriptMovement_StartObjectMovementScript(trainerInfo->localId, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, script); } diff --git a/src/wireless_communication_status_screen.c b/src/wireless_communication_status_screen.c index 1c355c3ba..9be2823aa 100644 --- a/src/wireless_communication_status_screen.c +++ b/src/wireless_communication_status_screen.c @@ -364,7 +364,7 @@ void sub_814F65C(u8 windowId, u8 fontId, const u8 * str, u8 x, u8 y, u8 palIdx) u32 sub_814F714(struct UnkStruct_x20 * unk20, u32 * arg1) { - u32 r8 = unk20->unk.field_0.unk_0a_0; + u32 r8 = unk20->unk.gname.unk_0a_0; s32 i, j, k; for (i = 0; i < NELEMS(gUnknown_846FAC0); i++) @@ -376,7 +376,7 @@ u32 sub_814F714(struct UnkStruct_x20 * unk20, u32 * arg1) k = 0; for (j = 0; j < 4; j++) { - if (unk20->unk.field_0.unk_04[j] != 0) k++; + if (unk20->unk.gname.unk_04[j] != 0) k++; } k++; arg1[gUnknown_846FAC0[i][1]] += k; diff --git a/sym_bss.txt b/sym_bss.txt index 16c5758fc..5651e3366 100644 --- a/sym_bss.txt +++ b/sym_bss.txt @@ -76,17 +76,10 @@ gUnknown_3000FE8: @ 3000FE8 .include "src/link_rfu_3.o" .align 2 .include "src/quest_log.o" - .align 2 -gUnknown_3002024: @ 3002024 - .space 0x4 - -gUnknown_3002028: @ 3002028 - .space 0x4 - -gUnknown_300202C: @ 300202C - .space 0x4 + .include "src/union_room.o" + .align 2 gUnknown_3002030: @ 3002030 .space 0x8 diff --git a/sym_common.txt b/sym_common.txt index 74e642bc2..d71df5ce2 100644 --- a/sym_common.txt +++ b/sym_common.txt @@ -38,10 +38,10 @@ gFieldCallback2: @ 3005024 gHeldKeyCodeToSend: @ 3005028 .space 0x4 -gUnknown_300502C: @ 300502C +gLocalLinkPlayerId: @ 300502C .space 0x4 -gUnknown_3005030: @ 3005030 +gFieldLinkPlayerCount: @ 3005030 .space 0x10 .align 2 diff --git a/sym_ewram.txt b/sym_ewram.txt index 188ccd3aa..3ab110c7b 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -335,45 +335,7 @@ gUnknown_203ACF0: @ 203ACF0 .align 2 .include "src/list_menu.o" .align 2 -gUnknown_203ACFC: @ 203ACFC - .space 0x6 - -gUnknown_203AD02: @ 203AD02 - .space 0x2 - -gUnknown_203AD04: @ 203AD04 - .space 0x6 - -gUnknown_203AD0A: @ 203AD0A - .space 0x6 - -gUnknown_203AD10: @ 203AD10 - .space 0x4 - -gUnknown_203AD14: @ 203AD14 - .space 0x4 - -gUnknown_203AD18: @ 203AD18 - .space 0x4 - -gUnknown_203AD1C: @ 203AD1C - .space 0x4 - -gUnknown_203AD20: @ 203AD20 - .space 0x4 - -gUnknown_203AD24: @ 203AD24 - .space 0x4 - -gUnknown_203AD28: @ 203AD28 - .space 0x4 - -gUnknown_203AD2C: @ 203AD2C - .space 0x4 - -gSpecialVar_ItemId: @ 203AD30 - .space 0x4 - + .include "src/item_menu.o" .align 2 .include "src/bag.o" .align 2 @@ -388,41 +350,14 @@ gSpecialVar_ItemId: @ 203AD30 .include "src/menu.o" .align 2 .include "src/quest_log.o" - .align 2 -gUnknown_203B04C: @ 203B04C - .space 0xC - -gUnknown_203B058: @ 203B058 - .space 0x1 - -gUnknown_203B059: @ 203B059 - .space 0x3 - -gUnknown_203B05C: @ 203B05C - .space 0x8 - -gUnknown_203B064: @ 203B064 - .space 0x4 - -gUnionRoomOfferedSpecies: @ 203B068 - .space 0x2 - -gUnionRoomRequestedMonType: @ 203B06A - .space 0x2 - -gUnknown_203B06C: @ 203B06C - .space 0x18 - -gUnknown_203B084: @ 203B084 - .space 0x4 - -gUnknown_203B088: @ 203B088 - .space 0x4 - -gUnknown_203B08C: @ 203B08C - .space 0x4 + .include "src/union_room.o" + .align 2 + .include "src/rfu_union_tool.o" + .align 2 + .include "src/union_room_battle.o" + .align 2 gUnknown_203B090: @ 203B090 .space 0x4 |