From cd994f4935b9de81383d8e0a17d790414652a4d6 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Tue, 18 Dec 2018 19:29:41 -0600 Subject: [PATCH 01/53] Begin trade.c --- asm/trade.s | 2452 ---------------------------------------- include/graphics.h | 5 + include/librfu.h | 2 +- include/link.h | 1 + include/link_rfu.h | 2 + include/party_menu.h | 2 + include/pokemon_icon.h | 1 + include/trainer_card.h | 1 + ld_script.txt | 1 + src/trade.c | 993 ++++++++++++++++ 10 files changed, 1007 insertions(+), 2453 deletions(-) create mode 100644 src/trade.c diff --git a/asm/trade.s b/asm/trade.s index a583e43199..2c11ae6615 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6,2458 +6,6 @@ .text - thumb_func_start sub_8077170 -sub_8077170: @ 8077170 - push {r4,lr} - adds r4, r0, 0 - adds r3, r1, 0 - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x1D - beq _08077194 - lsls r2, r3, 16 - lsrs r2, 16 - movs r0, 0 - adds r1, r4, 0 - bl SendBlock - lsls r0, 24 - lsrs r0, 24 - b _080771A2 - .pool -_08077194: - ldr r0, =gUnknown_03004140 - ldrb r0, [r0] - movs r1, 0x54 - adds r2, r4, 0 - bl rfu_NI_setSendData - movs r0, 0x1 -_080771A2: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8077170 - - thumb_func_start sub_80771AC -sub_80771AC: @ 80771AC - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_800A4D8 - pop {r0} - bx r0 - thumb_func_end sub_80771AC - - thumb_func_start sub_80771BC -sub_80771BC: @ 80771BC - push {r4,lr} - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x1D - bne _080771F0 - ldr r4, =gUnknown_03007880 - ldr r0, =gUnknown_03004140 - ldrb r0, [r0] - bl sub_800E87C - lsls r0, 2 - adds r0, r4 - ldr r0, [r0] - ldrh r0, [r0] - cmp r0, 0 - bne _080771EC - movs r0, 0x1 - b _080771F8 - .pool -_080771EC: - movs r0, 0 - b _080771F8 -_080771F0: - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 -_080771F8: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_80771BC - - thumb_func_start sub_8077200 -sub_8077200: @ 8077200 - push {lr} - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8077200 - - thumb_func_start sub_8077210 -sub_8077210: @ 8077210 - push {lr} - bl sub_8077260 - cmp r0, 0 - beq _0807722C - ldr r0, =gUnknown_03004140 - ldrb r1, [r0] - movs r0, 0xC - bl rfu_clearSlot - b _08077230 - .pool -_0807722C: - bl ResetBlockReceivedFlags -_08077230: - pop {r0} - bx r0 - thumb_func_end sub_8077210 - - thumb_func_start sub_8077234 -sub_8077234: @ 8077234 - push {r4,lr} - adds r4, r0, 0 - bl sub_8077260 - cmp r0, 0 - beq _08077250 - ldr r0, =gUnknown_03004140 - ldrb r1, [r0] - movs r0, 0xC - bl rfu_clearSlot - b _08077258 - .pool -_08077250: - lsls r0, r4, 24 - lsrs r0, 24 - bl ResetBlockReceivedFlag -_08077258: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8077234 - - thumb_func_start sub_8077260 -sub_8077260: @ 8077260 - push {lr} - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08077280 - ldr r0, =gUnknown_02022C2C - ldrb r0, [r0] - cmp r0, 0x1D - bne _08077280 - movs r0, 0x1 - b _08077282 - .pool -_08077280: - movs r0, 0 -_08077282: - pop {r1} - bx r1 - thumb_func_end sub_8077260 - - thumb_func_start sub_8077288 -sub_8077288: @ 8077288 - push {lr} - bl sub_800ADF8 - pop {r0} - bx r0 - thumb_func_end sub_8077288 - - thumb_func_start sub_8077294 -sub_8077294: @ 8077294 - push {lr} - bl sub_800A520 - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_8077294 - - thumb_func_start sub_80772A4 -sub_80772A4: @ 80772A4 - push {r4,r5,lr} - sub sp, 0xC - bl ResetSpriteData - bl FreeAllSpritePalettes - bl ResetTasks - bl ResetPaletteFade - ldr r2, =gPaletteFade - ldrb r0, [r2, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r2, 0x8] - ldr r0, =sub_807811C - bl SetVBlankCallback - ldr r4, =gUnknown_0860F074 - adds r0, r4, 0 - movs r1, 0xF0 - movs r2, 0x14 - bl LoadPalette - adds r0, r4, 0 - movs r1, 0xD0 - movs r2, 0x14 - bl LoadPalette - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_0832DEE4 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - movs r0, 0x8F - lsls r0, 4 - adds r1, r0 - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r0, =gUnknown_0832DEF4 - bl InitWindows - lsls r0, 16 - cmp r0, 0 - beq _0807738C - bl DeactivateAllTextPrinters - movs r5, 0 -_08077310: - lsls r4, r5, 24 - lsrs r4, 24 - adds r0, r4, 0 - bl ClearWindowTilemap - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r5, 0x1 - cmp r5, 0x11 - bls _08077310 - 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, 0x14 - movs r2, 0xC0 - bl LoadUserWindowBorderGfx_ - movs r0, 0x2 - movs r1, 0x1 - movs r2, 0xE0 - bl LoadUserWindowBorderGfx - bl LoadMonIconPalettes - ldr r2, =gUnknown_0203229C - ldr r0, [r2] - adds r0, 0x69 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x6F - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x70 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x74 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x75 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x7A - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x7B - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xA8 - strb r1, [r0] -_0807738C: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80772A4 - - thumb_func_start sub_80773AC -sub_80773AC: @ 80773AC - push {lr} - ldr r0, =sub_80773D0 - bl SetMainCallback2 - ldr r0, =gMain - movs r1, 0 - str r1, [r0] - ldr r0, =gEnemyPartyCount - strb r1, [r0] - pop {r0} - bx r0 - .pool - thumb_func_end sub_80773AC - - thumb_func_start sub_80773D0 -sub_80773D0: @ 80773D0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x28 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r3, r1, 0 - cmp r0, 0x16 - bls _080773EA - b _08077B46 -_080773EA: - lsls r0, 2 - ldr r1, =_080773FC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080773FC: - .4byte _08077458 - .4byte _080774A4 - .4byte _08077560 - .4byte _0807758C - .4byte _080775E8 - .4byte _08077648 - .4byte _08077688 - .4byte _080776A8 - .4byte _080777E8 - .4byte _08077810 - .4byte _08077834 - .4byte _080778BC - .4byte _080778CA - .4byte _08077970 - .4byte _08077A40 - .4byte _08077A80 - .4byte _08077A9A - .4byte _08077AA8 - .4byte _08077ABC - .4byte _08077ADC - .4byte _08077AFC - .4byte _08077B10 - .4byte _08077B30 -_08077458: - ldr r4, =gUnknown_0203229C - ldr r0, =0x000010f0 - bl AllocZeroed - str r0, [r4] - bl sub_80772A4 - ldr r4, =gUnknown_02032184 - movs r0, 0xE0 - lsls r0, 4 - bl AllocZeroed - str r0, [r4] - movs r6, 0 - ldr r2, =gUnknown_02032188 -_08077476: - lsls r1, r6, 8 - ldr r0, [r4] - adds r0, r1 - stm r2!, {r0} - adds r6, 0x1 - cmp r6, 0xD - ble _08077476 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _08077B22 - .pool -_080774A4: - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r6, 0 - movs r4, 0 -_080774B2: - movs r0, 0x64 - muls r0, r6 - ldr r1, =gEnemyParty - adds r0, r1 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - movs r1, 0 - movs r2, 0 - movs r3, 0x20 - bl CreateMon - adds r6, 0x1 - cmp r6, 0x5 - ble _080774B2 - movs r0, 0 - bl sub_807A19C - movs r0, 0 - bl ShowBg - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r2, [r0] - cmp r2, 0 - bne _0807754C - ldr r1, =gLinkType - ldr r5, =0x00001122 - adds r0, r5, 0 - strh r0, [r1] - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0xA8 - strb r2, [r0] - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08077528 - bl sub_800B488 - bl OpenLink - bl sub_8011BA4 - b _08077B46 - .pool -_08077528: - bl OpenLink - ldr r0, =gMain - movs r7, 0x87 - lsls r7, 3 - adds r0, r7 - ldrb r1, [r0] - adds r1, 0x1 - strb r1, [r0] - ldr r0, =task00_08081A90 - movs r1, 0x1 - bl CreateTask - b _08077B46 - .pool -_0807754C: - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x4 - strb r1, [r0] - b _08077B46 - .pool -_08077560: - ldr r2, =gUnknown_0203229C - ldr r1, [r2] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0xA8 - ldrb r0, [r1] - cmp r0, 0xB - bhi _0807757A - b _08077B46 -_0807757A: - movs r0, 0 - strb r0, [r1] - movs r2, 0x87 - lsls r2, 3 - adds r1, r3, r2 - b _08077B22 - .pool -_0807758C: - bl GetLinkPlayerCount_2 - adds r4, r0, 0 - bl sub_800AA48 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bcs _080775A0 - b _08077B46 -_080775A0: - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - beq _080775D8 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1E - bhi _080775C0 - b _08077B46 -_080775C0: - bl sub_800A620 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _08077B22 - .pool -_080775D8: - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _08077B22 - .pool -_080775E8: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - beq _080775F2 - b _08077B46 -_080775F2: - bl IsLinkPlayerDataExchangeComplete - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _08077600 - b _08077B46 -_08077600: - bl sub_8011BD0 - bl CalculatePlayerPartyCount - ldr r1, =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0xA8 - strb r2, [r0] - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - bne _0807762A - b _08077B46 -_0807762A: - movs r0, 0x1 - bl sub_801048C - bl sub_800ADF8 - b _08077B46 - .pool -_08077648: - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08077680 - bl sub_8010500 - lsls r0, 24 - cmp r0, 0 - bne _0807765C - b _08077B46 -_0807765C: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite - b _08077B46 - .pool -_08077680: - movs r2, 0x87 - lsls r2, 3 - adds r1, r3, r2 - b _08077B22 -_08077688: - bl shedinja_maker_maybe - lsls r0, 24 - cmp r0, 0 - bne _08077694 - b _08077B46 -_08077694: - bl sub_807A5B0 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _08077B22 - .pool -_080776A8: - bl CalculateEnemyPartyCount - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - ldr r2, =gUnknown_0203229C - ldr r0, [r2] - ldr r1, =gPlayerPartyCount - ldrb r1, [r1] - adds r0, 0x36 - strb r1, [r0] - ldr r0, [r2] - ldr r1, =gEnemyPartyCount - ldrb r1, [r1] - adds r0, 0x37 - strb r1, [r0] - movs r6, 0 - ldr r0, [r2] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - bge _08077740 - mov r8, r2 - ldr r7, =gUnknown_0832DE24 -_080776E2: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r1, 0xE0 - lsls r1, 12 - adds r2, r1 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - str r1, [sp, 0x8] - adds r0, r5, 0 - ldr r1, =sub_80D3014 - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x28 - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - blt _080776E2 -_08077740: - movs r6, 0 - ldr r1, =gUnknown_0203229C - ldr r0, [r1] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - bge _080777B8 - ldr r0, =gUnknown_0832DE24 - mov r8, r1 - adds r7, r0, 0 - adds r7, 0xC -_08077756: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r3, 0xE0 - lsls r3, 12 - adds r2, r3 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r5, 0 - ldr r1, =sub_80D3014 - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x2E - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - blt _08077756 -_080777B8: - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _08077B22 - .pool -_080777E8: - bl sub_81B5D30 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x36 - adds r1, 0x28 - movs r2, 0 - bl sub_81B5D4C - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _08077B22 - .pool -_08077810: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x36 - adds r1, 0x28 - movs r2, 0x1 - bl sub_81B5D4C - ldr r1, =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - b _08077B22 - .pool -_08077834: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r5, =gUnknown_02032188 - ldr r1, [r5] - movs r4, 0x3 - str r4, [sp] - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - bl GetMultiplayerId - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - eors r1, r0 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, =gLinkPlayers + 8 - adds r0, r1 - ldr r1, [r5, 0xC] - str r4, [sp] - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - ldr r4, =gUnknown_0832DE94 - ldr r0, [r4] - ldr r1, [r5, 0x18] - movs r2, 0x2 - str r2, [sp] - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - ldr r0, [r4, 0x4] - ldr r1, [r5, 0x20] - movs r2, 0x18 - bl sub_807A308 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0xA8 - strb r2, [r0] - b _08077B46 - .pool -_080778BC: - bl sub_807A1F0 - lsls r0, 24 - cmp r0, 0 - bne _080778C8 - b _08077B46 -_080778C8: - b _08077B1A -_080778CA: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0x78 - bl GetStringCenterAlignXOffset - movs r6, 0 - add r5, sp, 0x10 - adds r4, r0, 0 - adds r4, 0x10 -_080778DE: - add r1, sp, 0x10 - ldr r0, =gSpriteTemplate_832DCAC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldrh r0, [r5] - adds r0, r6 - strh r0, [r5] - lsls r1, r4, 16 - asrs r1, 16 - add r0, sp, 0x10 - movs r2, 0xA - movs r3, 0x1 - bl CreateSprite - adds r4, 0x20 - adds r6, 0x1 - cmp r6, 0x2 - ble _080778DE - 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 r0, =gLinkPlayers + 8 - adds r1, r0 - movs r0, 0x1 - movs r2, 0x78 - bl GetStringCenterAlignXOffset - movs r6, 0 - add r5, sp, 0x10 - adds r4, r0, 0 - adds r4, 0x88 -_0807792C: - add r1, sp, 0x10 - ldr r0, =gSpriteTemplate_832DCAC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0x3 - ldrh r3, [r5] - adds r0, r3 - strh r0, [r5] - lsls r1, r4, 16 - asrs r1, 16 - add r0, sp, 0x10 - movs r2, 0xA - movs r3, 0x1 - bl CreateSprite - adds r4, 0x20 - adds r6, 0x1 - cmp r6, 0x2 - ble _0807792C - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _08077B22 - .pool -_08077970: - ldr r4, =gSpriteTemplate_832DCAC - add r1, sp, 0x10 - adds r0, r4, 0 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - add r1, sp, 0x10 - adds r0, r1, 0 - ldrh r0, [r0] - adds r0, 0x6 - strh r0, [r1] - adds r0, r1, 0 - movs r1, 0xD7 - movs r2, 0x98 - movs r3, 0x1 - bl CreateSprite - add r0, sp, 0x10 - ldm r4!, {r3,r5,r7} - stm r0!, {r3,r5,r7} - ldm r4!, {r1-r3} - stm r0!, {r1-r3} - add r1, sp, 0x10 - adds r0, r1, 0 - ldrh r0, [r0] - adds r0, 0x7 - strh r0, [r1] - adds r0, r1, 0 - movs r1, 0xF7 - movs r2, 0x98 - movs r3, 0x1 - bl CreateSprite - movs r6, 0 - add r4, sp, 0x10 - movs r5, 0xC0 - lsls r5, 13 -_080779BC: - add r1, sp, 0x10 - ldr r0, =gSpriteTemplate_832DCAC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0 - adds r0, 0x8 - ldrh r7, [r4] - adds r0, r7 - strh r0, [r4] - asrs r1, r5, 16 - add r0, sp, 0x10 - movs r2, 0x96 - movs r3, 0x1 - bl CreateSprite - movs r0, 0x80 - lsls r0, 14 - adds r5, r0 - adds r6, 0x1 - cmp r6, 0x5 - ble _080779BC - ldr r0, =gSpriteTemplate_832DC94 - ldr r2, =gUnknown_0832DE24 - ldrb r1, [r2] - lsls r1, 19 - movs r3, 0x80 - lsls r3, 14 - adds r1, r3 - asrs r1, 16 - ldrb r2, [r2, 0x1] - lsls r2, 3 - movs r3, 0x2 - bl CreateSprite - ldr r2, =gUnknown_0203229C - ldr r1, [r2] - adds r1, 0x34 - movs r3, 0 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x35 - strb r3, [r0] - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0 - bl rbox_fill_rectangle - b _08077B46 - .pool -_08077A40: - movs r0, 0 - bl sub_807A320 - movs r0, 0 - bl sub_8079BE0 - ldr r2, =gUnknown_0203229C - ldr r0, [r2] - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - strb r1, [r0, 0x1] - bl sub_8078388 - ldr r1, =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, =0x000001b3 - bl PlayBGM - b _08077B46 - .pool -_08077A80: - movs r0, 0x1 - bl sub_807A320 - movs r0, 0x1 - bl sub_8079BE0 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08077A9A: - movs r0, 0 - bl sub_80782B8 - b _08077B1A - .pool -_08077AA8: - movs r0, 0x1 - bl sub_80782B8 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _08077B22 - .pool -_08077ABC: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _08077B22 - .pool -_08077ADC: - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x2 - bl sub_80782B8 - ldr r1, =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - b _08077B22 - .pool -_08077AFC: - movs r0, 0 - bl sub_807A468 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _08077B22 - .pool -_08077B10: - movs r0, 0x1 - bl sub_807A468 - bl sub_807A53C -_08077B1A: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_08077B22: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _08077B46 - .pool -_08077B30: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _08077B46 - ldr r0, =sub_8078C34 - str r0, [r3] - ldr r0, =sub_807825C - bl SetMainCallback2 -_08077B46: - bl RunTextPrinters - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x28 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80773D0 - - thumb_func_start sub_8077B74 -sub_8077B74: @ 8077B74 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x24 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x16 - bls _08077B8E - b _080780F6 -_08077B8E: - lsls r0, 2 - ldr r1, =_08077BA0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08077BA0: - .4byte _08077BFC - .4byte _08077C10 - .4byte _08077C18 - .4byte _08077C20 - .4byte _08077C28 - .4byte _08077C3C - .4byte _08077C64 - .4byte _08077C6C - .4byte _08077DB0 - .4byte _08077DD8 - .4byte _08077DFC - .4byte _08077E84 - .4byte _08077EA0 - .4byte _08077F48 - .4byte _080780F6 - .4byte _080780F6 - .4byte _08078038 - .4byte _08078040 - .4byte _08078068 - .4byte _080780A4 - .4byte _080780C4 - .4byte _080780CC - .4byte _080780E4 -_08077BFC: - bl sub_80772A4 - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _080780D8 - .pool -_08077C10: - movs r5, 0x87 - lsls r5, 3 - adds r1, r2, r5 - b _08077E58 -_08077C18: - movs r7, 0x87 - lsls r7, 3 - adds r1, r2, r7 - b _080780D8 -_08077C20: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _080780D8 -_08077C28: - bl CalculatePlayerPartyCount - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _080780D8 - .pool -_08077C3C: - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08077C50 - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite -_08077C50: - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _080780D8 - .pool -_08077C64: - movs r5, 0x87 - lsls r5, 3 - adds r1, r2, r5 - b _080780D8 -_08077C6C: - bl CalculateEnemyPartyCount - ldr r4, =gUnknown_0203229C - ldr r0, [r4] - ldr r1, =gPlayerPartyCount - ldrb r1, [r1] - adds r0, 0x36 - strb r1, [r0] - ldr r0, [r4] - ldr r1, =gEnemyPartyCount - ldrb r1, [r1] - adds r0, 0x37 - strb r1, [r0] - movs r0, 0 - bl ClearWindowTilemap - movs r0, 0 - bl sub_8079BE0 - movs r0, 0x1 - bl sub_8079BE0 - movs r6, 0 - ldr r0, [r4] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - bge _08077D08 - mov r8, r4 - ldr r7, =gUnknown_0832DE24 -_08077CA8: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r1, 0xE0 - lsls r1, 12 - adds r2, r1 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - str r1, [sp, 0x8] - adds r0, r5, 0 - ldr r1, =sub_80D3014 - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x28 - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - blt _08077CA8 -_08077D08: - movs r6, 0 - ldr r1, =gUnknown_0203229C - ldr r0, [r1] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - bge _08077D80 - ldr r0, =gUnknown_0832DE24 - mov r8, r1 - adds r7, r0, 0 - adds r7, 0xC -_08077D1E: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x41 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r4, 0 - movs r1, 0 - bl GetMonData - ldrb r2, [r7] - lsls r2, 19 - movs r3, 0xE0 - lsls r3, 12 - adds r2, r3 - asrs r2, 16 - ldrb r3, [r7, 0x1] - lsls r3, 19 - ldr r1, =0xfff40000 - adds r3, r1 - asrs r3, 16 - movs r1, 0x1 - str r1, [sp] - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - adds r0, r5, 0 - ldr r1, =sub_80D3014 - bl CreateMonIcon - mov r2, r8 - ldr r1, [r2] - adds r1, 0x2E - adds r1, r6 - strb r0, [r1] - adds r7, 0x2 - adds r6, 0x1 - ldr r0, [r2] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - blt _08077D1E -_08077D80: - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _080780D8 - .pool -_08077DB0: - bl sub_81B5D30 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x36 - adds r1, 0x28 - movs r2, 0 - bl sub_81B5D4C - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _080780D8 - .pool -_08077DD8: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0x36 - adds r1, 0x28 - movs r2, 0x1 - bl sub_81B5D4C - ldr r1, =gMain - movs r7, 0x87 - lsls r7, 3 - adds r1, r7 - b _080780D8 - .pool -_08077DFC: - ldr r0, =gSaveBlock2Ptr - ldr r0, [r0] - ldr r5, =gUnknown_02032188 - ldr r1, [r5] - movs r4, 0x3 - str r4, [sp] - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - bl GetMultiplayerId - lsls r0, 24 - movs r1, 0x80 - lsls r1, 17 - eors r1, r0 - lsrs r1, 24 - lsls r0, r1, 3 - subs r0, r1 - lsls r0, 2 - ldr r1, =gLinkPlayers + 8 - adds r0, r1 - ldr r1, [r5, 0xC] - str r4, [sp] - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - ldr r4, =gUnknown_0832DE94 - ldr r0, [r4] - ldr r1, [r5, 0x18] - movs r2, 0x2 - str r2, [sp] - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - ldr r0, [r4, 0x4] - ldr r1, [r5, 0x20] - movs r2, 0x18 - bl sub_807A308 - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_08077E58: - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0xA8 - strb r2, [r0] - b _080780F6 - .pool -_08077E84: - bl sub_807A1F0 - lsls r0, 24 - cmp r0, 0 - bne _08077E90 - b _080780F6 -_08077E90: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _080780D8 - .pool -_08077EA0: - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - movs r0, 0x1 - movs r2, 0x78 - bl GetStringCenterAlignXOffset - movs r6, 0 - add r5, sp, 0xC - adds r4, r0, 0 - adds r4, 0x10 -_08077EB4: - add r1, sp, 0xC - ldr r0, =gSpriteTemplate_832DCAC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldrh r0, [r5] - adds r0, r6 - strh r0, [r5] - lsls r1, r4, 16 - asrs r1, 16 - add r0, sp, 0xC - movs r2, 0xA - movs r3, 0x1 - bl CreateSprite - adds r4, 0x20 - adds r6, 0x1 - cmp r6, 0x2 - ble _08077EB4 - 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 r0, =gLinkPlayers + 8 - adds r1, r0 - movs r0, 0x1 - movs r2, 0x78 - bl GetStringCenterAlignXOffset - movs r6, 0 - add r5, sp, 0xC - adds r4, r0, 0 - adds r4, 0x88 -_08077F02: - add r1, sp, 0xC - ldr r0, =gSpriteTemplate_832DCAC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0x3 - ldrh r3, [r5] - adds r0, r3 - strh r0, [r5] - lsls r1, r4, 16 - asrs r1, 16 - add r0, sp, 0xC - movs r2, 0xA - movs r3, 0x1 - bl CreateSprite - adds r4, 0x20 - adds r6, 0x1 - cmp r6, 0x2 - ble _08077F02 - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _080780D8 - .pool -_08077F48: - ldr r4, =gSpriteTemplate_832DCAC - add r1, sp, 0xC - adds r0, r4, 0 - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r5,r7} - stm r1!, {r2,r5,r7} - add r1, sp, 0xC - adds r0, r1, 0 - ldrh r0, [r0] - adds r0, 0x6 - strh r0, [r1] - adds r0, r1, 0 - movs r1, 0xD7 - movs r2, 0x98 - movs r3, 0x1 - bl CreateSprite - add r0, sp, 0xC - ldm r4!, {r3,r5,r7} - stm r0!, {r3,r5,r7} - ldm r4!, {r1-r3} - stm r0!, {r1-r3} - add r1, sp, 0xC - adds r0, r1, 0 - ldrh r0, [r0] - adds r0, 0x7 - strh r0, [r1] - adds r0, r1, 0 - movs r1, 0xF7 - movs r2, 0x98 - movs r3, 0x1 - bl CreateSprite - movs r6, 0 - add r4, sp, 0xC - movs r5, 0xC0 - lsls r5, 13 -_08077F94: - add r1, sp, 0xC - ldr r0, =gSpriteTemplate_832DCAC - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - ldm r0!, {r2,r3,r7} - stm r1!, {r2,r3,r7} - adds r0, r6, 0 - adds r0, 0x8 - ldrh r7, [r4] - adds r0, r7 - strh r0, [r4] - asrs r1, r5, 16 - add r0, sp, 0xC - movs r2, 0x96 - movs r3, 0x1 - bl CreateSprite - movs r0, 0x80 - lsls r0, 14 - adds r5, r0 - adds r6, 0x1 - cmp r6, 0x5 - ble _08077F94 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r2, r1, 0 - adds r2, 0x35 - ldrb r1, [r2] - adds r4, r0, 0 - cmp r1, 0x5 - bhi _08077FE4 - ldr r0, =gUnknown_0203CF20 - ldrb r0, [r0] - b _08077FEA - .pool -_08077FE4: - ldr r0, =gUnknown_0203CF20 - ldrb r0, [r0] - adds r0, 0x6 -_08077FEA: - strb r0, [r2] - ldr r0, =gSpriteTemplate_832DC94 - ldr r3, =gUnknown_0832DE24 - ldr r1, [r4] - adds r1, 0x35 - ldrb r2, [r1] - lsls r2, 1 - adds r1, r2, r3 - ldrb r1, [r1] - lsls r1, 19 - movs r5, 0x80 - lsls r5, 14 - adds r1, r5 - asrs r1, 16 - adds r3, 0x1 - adds r2, r3 - ldrb r2, [r2] - lsls r2, 3 - movs r3, 0x2 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x34 - strb r0, [r1] - ldr r0, =gMain - movs r7, 0x87 - lsls r7, 3 - adds r0, r7 - movs r1, 0x10 - strb r1, [r0] - b _080780F6 - .pool -_08078038: - movs r0, 0 - bl sub_80782B8 - b _080780D0 -_08078040: - movs r0, 0x1 - bl sub_80782B8 - ldr r2, =gUnknown_0203229C - ldr r0, [r2] - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - strb r1, [r0, 0x1] - bl sub_8078388 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _080780D8 - .pool -_08078068: - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - movs r0, 0 - str r0, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, =gMain - movs r3, 0x87 - lsls r3, 3 - adds r1, r3 - b _080780D8 - .pool -_080780A4: - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0x2 - bl sub_80782B8 - ldr r1, =gMain - movs r5, 0x87 - lsls r5, 3 - adds r1, r5 - b _080780D8 - .pool -_080780C4: - movs r7, 0x87 - lsls r7, 3 - adds r1, r2, r7 - b _080780D8 -_080780CC: - bl sub_807A53C -_080780D0: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_080780D8: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _080780F6 - .pool -_080780E4: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080780F6 - ldr r0, =sub_807825C - bl SetMainCallback2 -_080780F6: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x24 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8077B74 - - thumb_func_start sub_807811C -sub_807811C: @ 807811C - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_807811C - - thumb_func_start sub_8078130 -sub_8078130: @ 8078130 - push {r4,lr} - sub sp, 0x4 - ldr r4, =gUnknown_0203229C - ldr r1, [r4] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0xF - bls _08078160 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0xA - strb r1, [r0] -_08078160: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8078130 - - thumb_func_start sub_807816C -sub_807816C: @ 807816C - push {r4,lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080781C2 - ldr r1, =gUnknown_02032298 - ldr r4, =gUnknown_0203229C - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x35 - ldrb r0, [r0] - strb r0, [r1] - adds r0, r2, 0 - adds r0, 0x7E - ldrb r0, [r0] - strb r0, [r1, 0x1] - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _080781B4 - adds r1, r2, 0 - adds r1, 0x6F - movs r0, 0x10 - strb r0, [r1] - b _080781C2 - .pool -_080781B4: - movs r0, 0x20 - bl sub_800ABF4 - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0xD - strb r1, [r0] -_080781C2: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807816C - - thumb_func_start sub_80781C8 -sub_80781C8: @ 80781C8 - push {r4,r5,lr} - ldr r5, =gMain - ldr r0, =sub_80773AC - str r0, [r5, 0x8] - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08078220 - bl sub_8010500 - lsls r0, 24 - cmp r0, 0 - beq _08078244 - ldr r0, =gUnknown_02032184 - ldr r0, [r0] - bl Free - bl FreeAllWindowBuffers - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - bl Free - movs r0, 0 - str r0, [r5] - bl sub_800E084 - ldr r0, =sub_807AE50 - bl SetMainCallback2 - b _08078244 - .pool -_08078220: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r4, [r0] - cmp r4, 0 - bne _08078244 - ldr r0, =gUnknown_02032184 - ldr r0, [r0] - bl Free - bl FreeAllWindowBuffers - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - bl Free - str r4, [r5] - ldr r0, =sub_807AE50 - bl SetMainCallback2 -_08078244: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80781C8 - - thumb_func_start sub_807825C -sub_807825C: @ 807825C - push {r4,lr} - bl sub_80795AC - bl sub_807A0C4 - movs r0, 0 - bl sub_80796B4 - movs r0, 0x1 - bl sub_80796B4 - ldr r4, =gUnknown_0203229C - ldr r2, [r4] - ldrb r1, [r2] - adds r0, r1, 0x1 - strb r0, [r2] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x18 - bl SetGpuReg - ldr r2, [r4] - ldrb r1, [r2, 0x1] - adds r0, r1, 0 - adds r0, 0xFF - strb r0, [r2, 0x1] - lsls r1, 24 - lsrs r1, 24 - movs r0, 0x1C - bl SetGpuReg - bl RunTextPrintersAndIsPrinter0Active - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807825C - - thumb_func_start sub_80782B8 -sub_80782B8: @ 80782B8 - push {r4,r5,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x1 - beq _08078324 - cmp r4, 0x1 - bgt _080782CE - cmp r4, 0 - beq _080782D4 - b _0807837E -_080782CE: - cmp r4, 0x2 - beq _0807834C - b _0807837E -_080782D4: - ldr r0, =gUnknown_08DDB3E4 - movs r1, 0 - movs r2, 0x60 - bl LoadPalette - ldr r1, =gUnknown_08DDB464 - movs r2, 0x94 - lsls r2, 5 - movs r0, 0x1 - movs r3, 0 - bl LoadBgTiles - ldr r1, =gUnknown_08DDCF04 - movs r0, 0x20 - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0x1 - movs r2, 0 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - ldr r1, =gTradeStripesBG2Tilemap - movs r2, 0x80 - lsls r2, 4 - movs r0, 0x2 - movs r3, 0 - bl LoadBgTilemap - b _0807837E - .pool -_08078324: - ldr r1, =gTradeStripesBG3Tilemap - movs r2, 0x80 - lsls r2, 4 - movs r0, 0x3 - movs r3, 0 - bl LoadBgTilemap - movs r0, 0 - bl sub_8079E44 - movs r0, 0x1 - bl sub_8079E44 - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - b _0807837E - .pool -_0807834C: - movs r5, 0x80 - lsls r5, 21 - movs r4, 0x3 -_08078352: - lsrs r0, r5, 24 - movs r1, 0 - bl SetGpuReg - movs r0, 0x80 - lsls r0, 18 - adds r5, r0 - subs r4, 0x1 - cmp r4, 0 - bge _08078352 - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg -_0807837E: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_80782B8 - - thumb_func_start sub_8078388 -sub_8078388: @ 8078388 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r3, 0 - ldr r5, =gUnknown_0203229C - mov r8, r5 - ldr r0, =gSprites - mov r12, r0 - movs r1, 0x5 - negs r1, r1 - mov r9, r1 - movs r4, 0x6 - movs r7, 0x1 - movs r6, 0 -_080783A6: - mov r1, r8 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x36 - ldrb r1, [r1] - cmp r3, r1 - bge _080783E0 - adds r0, 0x28 - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x38 - adds r0, r3 - strb r7, [r0] - b _080783E6 - .pool -_080783E0: - adds r0, 0x38 - adds r0, r3 - strb r6, [r0] -_080783E6: - mov r1, r8 - ldr r0, [r1] - adds r1, r0, 0 - adds r1, 0x37 - ldrb r1, [r1] - cmp r3, r1 - bge _08078416 - adds r0, 0x2E - adds r0, r3 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r12 - adds r1, 0x3E - ldrb r2, [r1] - mov r0, r9 - ands r0, r2 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x38 - adds r0, r4 - strb r7, [r0] - b _0807841C -_08078416: - adds r0, 0x38 - adds r0, r4 - strb r6, [r0] -_0807841C: - adds r4, 0x1 - adds r3, 0x1 - cmp r3, 0x5 - ble _080783A6 - ldr r0, [r5] - adds r0, 0x44 - movs r1, 0x1 - strb r1, [r0] - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8078388 - - thumb_func_start sub_8078438 -sub_8078438: @ 8078438 - push {r4,r5,lr} - adds r5, r0, 0 - adds r4, r1, 0 - movs r3, 0 - cmp r3, r2 - bcs _08078452 -_08078444: - adds r0, r5, r3 - adds r1, r4, r3 - ldrb r1, [r1] - strb r1, [r0] - adds r3, 0x1 - cmp r3, r2 - bcc _08078444 -_08078452: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_8078438 - - thumb_func_start shedinja_maker_maybe -shedinja_maker_maybe: @ 8078458 - push {r4-r6,lr} - sub sp, 0xC - bl GetMultiplayerId - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x69 - ldrb r0, [r0] - cmp r0, 0x15 - bls _08078472 - b _080787AA -_08078472: - lsls r0, 2 - ldr r1, =_08078484 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08078484: - .4byte _080784DC - .4byte _08078508 - .4byte _08078784 - .4byte _08078534 - .4byte _08078548 - .4byte _0807857C - .4byte _08078784 - .4byte _08078598 - .4byte _080785AC - .4byte _080785E0 - .4byte _08078784 - .4byte _080785FC - .4byte _08078610 - .4byte _08078644 - .4byte _08078784 - .4byte _0807866C - .4byte _08078680 - .4byte _080786B4 - .4byte _08078784 - .4byte _080786DC - .4byte _080786F0 - .4byte _08078720 -_080784DC: - ldr r0, =gBlockSendBuffer - ldr r1, =gPlayerParty - movs r2, 0xC8 - bl sub_8078438 - ldr r3, =gUnknown_0203229C - ldr r1, [r3] - adds r1, 0x69 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0xA8 - strb r2, [r0] - b _080787AA - .pool -_08078508: - bl sub_80771BC - cmp r0, 0 - bne _08078512 - b _080787AA -_08078512: - bl sub_8077200 - cmp r0, 0 - bne _08078524 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_08078524: - bl sub_8077210 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_08078534: - cmp r5, 0 - bne _0807853E - movs r0, 0x1 - bl sub_80771AC -_0807853E: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_08078548: - bl sub_8077200 - cmp r0, 0x3 - beq _08078552 - b _080787AA -_08078552: - ldr r0, =gEnemyParty - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8078438 - bl sub_8077210 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_0807857C: - ldr r0, =gBlockSendBuffer - ldr r1, =gPlayerParty + 200 - movs r2, 0xC8 - bl sub_8078438 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_08078598: - cmp r5, 0 - bne _080785A2 - movs r0, 0x1 - bl sub_80771AC -_080785A2: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_080785AC: - bl sub_8077200 - cmp r0, 0x3 - beq _080785B6 - b _080787AA -_080785B6: - ldr r0, =gEnemyParty + 200 - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8078438 - bl sub_8077210 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_080785E0: - ldr r0, =gBlockSendBuffer - ldr r1, =gPlayerParty + 400 - movs r2, 0xC8 - bl sub_8078438 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_080785FC: - cmp r5, 0 - bne _08078606 - movs r0, 0x1 - bl sub_80771AC -_08078606: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_08078610: - bl sub_8077200 - cmp r0, 0x3 - beq _0807861A - b _080787AA -_0807861A: - ldr r0, =gEnemyParty + 400 - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xC8 - bl sub_8078438 - bl sub_8077210 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_08078644: - ldr r0, =gBlockSendBuffer - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, =0x00002be0 - adds r1, r2 - movs r2, 0xDC - bl sub_8078438 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_0807866C: - cmp r5, 0 - bne _08078676 - movs r0, 0x3 - bl sub_80771AC -_08078676: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_08078680: - bl sub_8077200 - cmp r0, 0x3 - beq _0807868A - b _080787AA -_0807868A: - ldr r0, =gUnknown_020321C0 - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xD8 - bl sub_8078438 - bl sub_8077210 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_080786B4: - ldr r0, =gBlockSendBuffer - ldr r1, =gSaveBlock1Ptr - ldr r1, [r1] - ldr r2, =0x000031a8 - adds r1, r2 - movs r2, 0xB - bl sub_8078438 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_080786DC: - cmp r5, 0 - bne _080786E6 - movs r0, 0x4 - bl sub_80771AC -_080786E6: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _080787A2 - .pool -_080786F0: - bl sub_8077200 - cmp r0, 0x3 - bne _080787AA - ldr r4, =gUnknown_0203229C - ldr r0, [r4] - adds r0, 0xA9 - movs r2, 0x1 - adds r1, r5, 0 - eors r1, r2 - lsls r1, 8 - ldr r2, =gBlockRecvBuffer - adds r1, r2 - movs r2, 0xB - bl sub_8078438 - bl sub_8077210 - ldr r1, [r4] - b _080787A2 - .pool -_08078720: - ldr r4, =gEnemyParty - ldr r6, =0x0000012f - movs r5, 0x5 -_08078726: - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0 - beq _08078766 - cmp r0, r6 - bne _08078766 - adds r0, r4, 0 - movs r1, 0x3 - bl GetMonData - cmp r0, 0x1 - beq _08078766 - adds r0, r4, 0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - mov r0, sp - ldr r1, =gJPText_Shedinja - bl StringCompareWithoutExtCtrlCodes - cmp r0, 0 - bne _08078766 - adds r0, r4, 0 - movs r1, 0x2 - ldr r2, =gSpeciesNames + 303 * POKEMON_NAME_LENGTH @ SPECIES_SHEDINJA - bl SetMonData -_08078766: - adds r4, 0x64 - subs r5, 0x1 - cmp r5, 0 - bge _08078726 - movs r0, 0x1 - b _080787AC - .pool -_08078784: - ldr r2, =gUnknown_0203229C - ldr r1, [r2] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r1, r0, 0 - adds r1, 0xA8 - ldrb r0, [r1] - cmp r0, 0xA - bls _080787AA - movs r0, 0 - strb r0, [r1] - ldr r1, [r2] -_080787A2: - adds r1, 0x69 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_080787AA: - movs r0, 0 -_080787AC: - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end shedinja_maker_maybe - - thumb_func_start sub_80787B8 -sub_80787B8: @ 80787B8 - push {lr} - ldr r0, =gText_IsThisTradeOkay - ldr r1, =gUnknown_0203229C - ldr r1, [r1] - adds r1, 0x72 - ldrh r1, [r1] - lsls r1, 5 - ldr r2, =0x06010000 - adds r1, r2 - movs r2, 0x18 - bl sub_807A308 - pop {r0} - bx r0 - .pool - thumb_func_end sub_80787B8 - thumb_func_start sub_80787E0 sub_80787E0: @ 80787E0 push {r4,lr} diff --git a/include/graphics.h b/include/graphics.h index 33a26068bf..924d2d58eb 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4754,4 +4754,9 @@ extern const u32 gUnknown_08C2DDA4[]; extern const u32 gUnknown_08C2EA50[]; extern const u32 gUnknown_08C2EA9C[]; +// Trade +extern const u16 gUnknown_08DDB3E4[]; +extern const u8 gUnknown_08DDB464[]; +extern const u16 gUnknown_08DDCF04[]; + #endif //GUARD_GRAPHICS_H diff --git a/include/librfu.h b/include/librfu.h index 49df425419..38c8198355 100644 --- a/include/librfu.h +++ b/include/librfu.h @@ -255,6 +255,6 @@ void rfu_REQ_recvData(void); void rfu_UNI_readySendData(u8 a0); void rfu_UNI_clearRecvNewDataFlag(u8 a0); void rfu_REQ_PARENT_resumeRetransmitAndChange(void); -void rfu_NI_setSendData(u8, u8, u8 *, u8); +void rfu_NI_setSendData(u8, u8, const void *, u32); #endif // GUARD_LIBRFU_H diff --git a/include/link.h b/include/link.h index f12f0990f1..f2463983ba 100644 --- a/include/link.h +++ b/include/link.h @@ -311,5 +311,6 @@ void sub_800AD10(void); void sub_800AB18(void); void sub_8009F18(void); bool8 sub_800AA60(void); +void sub_800ABF4(u16 a0); #endif // GUARD_LINK_H diff --git a/include/link_rfu.h b/include/link_rfu.h index 426565e56a..eb7097bc1d 100644 --- a/include/link_rfu.h +++ b/include/link_rfu.h @@ -278,5 +278,7 @@ void sub_8011DE0(u32 arg0); u8 sub_801100C(int a0); void sub_800EF7C(void); bool8 sub_800DE7C(struct UnkLinkRfuStruct_02022B14 *buff1, u8 *buff2, u8 idx); +s32 sub_800E87C(u8 idx); +void sub_8011BA4(void); #endif //GUARD_LINK_RFU_H diff --git a/include/party_menu.h b/include/party_menu.h index cb82eb82cc..35c06f6e0d 100644 --- a/include/party_menu.h +++ b/include/party_menu.h @@ -61,6 +61,8 @@ u8 sub_81B205C(struct Pokemon* a); void sub_81B617C(void); u8 sub_81B6D14(u16 a); bool8 hm_add_c3_without_phase_2(void); +void sub_81B5D30(void); +void sub_81B5D4C(u8 *a0, u8 *a1, u8 a2); extern void dp05_ether(u8, u16, TaskFunc); extern void dp05_pp_up(u8, u16, TaskFunc); diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index f1c8a3e619..926b7585ba 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -16,5 +16,6 @@ u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u u8 UpdateMonIconFrame(struct Sprite *sprite); void LoadMonIconPalette(u16 species); void sub_80D328C(struct Sprite *sprite); +void sub_80D3014(struct Sprite *sprite); #endif // GUARD_POKEMON_ICON_H diff --git a/include/trainer_card.h b/include/trainer_card.h index d80a5fa524..1af247d8a8 100644 --- a/include/trainer_card.h +++ b/include/trainer_card.h @@ -38,5 +38,6 @@ void sub_80C3120(struct TrainerCard *arg0, u16 *arg1, u8 gameVersion); void TrainerCard_ShowLinkCard(u8 arg0, void (*callback)(void)); void TrainerCard_GenerateCardForPlayer(struct TrainerCard *); u8 sub_80C4904(u8); +void sub_80C6D80(const u8 *, u8 *, u8, u8, u8); #endif // GUARD_TRAINER_CARD_H diff --git a/ld_script.txt b/ld_script.txt index fcf362aa1e..5032fb036c 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -81,6 +81,7 @@ SECTIONS { src/smokescreen.o(.text); src/pokeball.o(.text); src/load_save.o(.text); + src/trade.o(.text); asm/trade.o(.text); src/berry_blender.o(.text); src/play_time.o(.text); diff --git a/src/trade.c b/src/trade.c new file mode 100644 index 0000000000..fc9b2ead0b --- /dev/null +++ b/src/trade.c @@ -0,0 +1,993 @@ +#include "global.h" +#include "alloc.h" +#include "bg.h" +#include "cable_club.h" +#include "data2.h" +#include "gpu_regs.h" +#include "graphics.h" +#include "international_string_util.h" +#include "librfu.h" +#include "link.h" +#include "link_rfu.h" +#include "main.h" +#include "palette.h" +#include "party_menu.h" +#include "pokemon_icon.h" +#include "sound.h" +#include "string_util.h" +#include "task.h" +#include "text.h" +#include "text_window.h" +#include "trainer_card.h" +#include "trade.h" +#include "window.h" +#include "constants/species.h" +#include "constants/songs.h" +#include "constants/rgb.h" + +extern u8 gUnknown_02022C2C; +extern struct { + u8 unk_0; + u8 unk_1; + u8 filler_2[0x28 - 2]; + u8 unk_28[6]; + u8 unk_2E[6]; + u8 unk_34; + u8 unk_35; + u8 unk_36; + u8 unk_37; + u8 unk_38[12]; + u8 unk_44; + u8 filler_45[0x69 - 0x45]; + u8 unk_69; + u8 filler_6A[0x6F - 0x6A]; + u8 unk_6F; + u8 unk_70; + u8 filler_71; + u16 unk_72; + u8 unk_74; + u8 unk_75; + u8 filler_76[0x7A - 0x76]; + u8 unk_7A; + u8 unk_7B; + u8 filler_7C[0x7E - 0x7C]; + u8 unk_7E; + u8 filler_7F[0xA8 - 0x7F]; + u8 unk_A8; + u8 unk_A9[11]; + u8 filler_B4[0x8F0-0xB4]; + u8 tilemapBuffer[0x800]; +} *gUnknown_0203229C; +extern u8 *gUnknown_02032184; +extern u8 *gUnknown_02032188[14]; +extern u8 gUnknown_02032298[2]; + +extern u8 gUnknown_0203CF20; + +extern const struct BgTemplate gUnknown_0832DEE4[4]; +extern const struct WindowTemplate gUnknown_0832DEF4[]; +extern const u8 gUnknown_0832DE24[][2]; +extern const u8 *gUnknown_0832DE94[]; +extern const struct SpriteTemplate gSpriteTemplate_832DC94; +extern const struct SpriteTemplate gSpriteTemplate_832DCAC; +extern const u8 gTradeStripesBG2Tilemap[]; +extern const u8 gTradeStripesBG3Tilemap[]; +extern struct MailStruct gUnknown_020321C0[PARTY_SIZE]; +extern const u8 gJPText_Shedinja[]; +extern const u8 gText_IsThisTradeOkay[]; + +bool32 sub_8077260(void); +void sub_80773D0(void); +void sub_807811C(void); +void sub_807A19C(u8); +bool8 shedinja_maker_maybe(void); +void sub_807A308(const u8 *, u8 *, u8); +bool8 sub_807A1F0(void); +void sub_807A320(u8); +void sub_8079BE0(u8); +void sub_8078388(void); +void sub_80782B8(u8); +void sub_807A468(u8); +void sub_807A53C(void); +void sub_8078C34(void); +void sub_807825C(void); +void sub_807A5B0(void); +void sub_80795AC(void); +void sub_807A0C4(void); +void sub_80796B4(u8); +void sub_8079E44(u8); + +bool8 sub_8077170(const void *a0, u32 a1) +{ + if (gUnknown_02022C2C == 29) + { + rfu_NI_setSendData(gUnknown_03004140.unk_00, 84, a0, a1); + return TRUE; + } + else + { + return SendBlock(0, a0, a1); + } +} + +void sub_80771AC(u8 a0) +{ + sub_800A4D8(a0); +} + +bool32 sub_80771BC(void) +{ + if (gUnknown_02022C2C == 29) + { + if (gUnknown_03007880[sub_800E87C(gUnknown_03004140.unk_00)]->unk_0 == 0) + { + return TRUE; + } + else + { + return FALSE; + } + } + else + { + return sub_800A520(); + } +} + +u32 sub_8077200(void) +{ + return GetBlockReceivedStatus(); +} + +void sub_8077210(void) +{ + if (sub_8077260()) + { + rfu_clearSlot(12, gUnknown_03004140.unk_00); + } + else + { + ResetBlockReceivedFlags(); + } +} + +void sub_8077234(u32 a0) +{ + if (sub_8077260()) + { + rfu_clearSlot(12, gUnknown_03004140.unk_00); + } + else + { + ResetBlockReceivedFlag(a0); + } +} + +bool32 sub_8077260(void) +{ + if (gWirelessCommType != 0 && gUnknown_02022C2C == 29) + { + return TRUE; + } + else + { + return FALSE; + } +} + +void sub_8077288(void) +{ + sub_800ADF8(); +} + +bool8 sub_8077294(void) +{ + return sub_800A520(); +} + +void sub_80772A4(void) +{ + ResetSpriteData(); + FreeAllSpritePalettes(); + ResetTasks(); + ResetPaletteFade(); + + gPaletteFade.bufferTransferDisabled = TRUE; + + SetVBlankCallback(sub_807811C); + LoadPalette(gUnknown_0860F074, 0xF0, 20); + LoadPalette(gUnknown_0860F074, 0xD0, 20); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_0832DEE4, ARRAY_COUNT(gUnknown_0832DEE4)); + SetBgTilemapBuffer(1, gUnknown_0203229C->tilemapBuffer); + + if (InitWindows(gUnknown_0832DEF4)) + { + u32 i; + + DeactivateAllTextPrinters(); + + for (i = 0; i < 18; i++) + { + ClearWindowTilemap(i); + FillWindowPixelBuffer(i, 0); + } + + FillBgTilemapBufferRect(0, 0, 0, 0, 30, 20, 15); + LoadUserWindowBorderGfx_(0, 20, 0xC0); + LoadUserWindowBorderGfx(2, 1, 0xE0); + LoadMonIconPalettes(); + gUnknown_0203229C->unk_69 = 0; + gUnknown_0203229C->unk_6F = 0; + gUnknown_0203229C->unk_70 = 0; + gUnknown_0203229C->unk_74 = 0; + gUnknown_0203229C->unk_75 = 0; + gUnknown_0203229C->unk_7A = 0; + gUnknown_0203229C->unk_7B = 0; + gUnknown_0203229C->unk_A8 = 0; + } +} + +void sub_80773AC(void) +{ + SetMainCallback2(sub_80773D0); + gMain.callback1 = NULL; + gEnemyPartyCount = 0; +} + +void sub_80773D0(void) +{ + int i; + struct SpriteTemplate temp; + u8 id; + u32 xPos; + + switch (gMain.state) + { + case 0: + gUnknown_0203229C = AllocZeroed(sizeof(*gUnknown_0203229C)); + sub_80772A4(); + gUnknown_02032184 = AllocZeroed(0xE00); + + for (i = 0; i < 14; i++) + { + gUnknown_02032188[i] = &gUnknown_02032184[i * 256]; + } + + gMain.state++; + break; + case 1: + gPaletteFade.bufferTransferDisabled = FALSE; + + for (i = 0; i < PARTY_SIZE; i++) + { + CreateMon(&gEnemyParty[i], SPECIES_NONE, 0, 0x20, FALSE, 0, 0, 0); + } + + sub_807A19C(0); + ShowBg(0); + + if (gReceivedRemoteLinkPlayers == 0) + { + gLinkType = 0x1122; + gUnknown_0203229C->unk_A8 = 0; + + if (gWirelessCommType != 0) + { + sub_800B488(); + OpenLink(); + sub_8011BA4(); + } + else + { + OpenLink(); + gMain.state++; + CreateTask(task00_08081A90, 1); + } + } + else + { + gMain.state = 4; + } + break; + case 2: + gUnknown_0203229C->unk_A8++; + if (gUnknown_0203229C->unk_A8 > 11) + { + gUnknown_0203229C->unk_A8 = 0; + gMain.state++; + } + break; + case 3: + if (GetLinkPlayerCount_2() >= sub_800AA48()) + { + if (IsLinkMaster()) + { + if (++gUnknown_0203229C->unk_A8 > 30) + { + sub_800A620(); + gMain.state++; + } + } + else + { + gMain.state++; + } + } + break; + case 4: + if (gReceivedRemoteLinkPlayers == 1 && IsLinkPlayerDataExchangeComplete() == 1) + { + sub_8011BD0(); + CalculatePlayerPartyCount(); + gMain.state++; + gUnknown_0203229C->unk_A8 = 0; + if (gWirelessCommType != 0) + { + sub_801048C(TRUE); + sub_800ADF8(); + } + } + break; + case 5: + if (gWirelessCommType != 0) + { + if (sub_8010500()) + { + gMain.state++; + sub_800E0E8(); + CreateWirelessStatusIndicatorSprite(0, 0); + } + } + else + { + gMain.state++; + } + break; + case 6: + if (shedinja_maker_maybe()) + { + sub_807A5B0(); + gMain.state++; + } + break; + case 7: + CalculateEnemyPartyCount(); + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + gUnknown_0203229C->unk_36 = gPlayerPartyCount; + gUnknown_0203229C->unk_37 = gEnemyPartyCount; + + for (i = 0; i < gUnknown_0203229C->unk_36; i++) + { + struct Pokemon *mon = &gPlayerParty[i]; + gUnknown_0203229C->unk_28[i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2), + sub_80D3014, + (gUnknown_0832DE24[i][0] * 8) + 14, + (gUnknown_0832DE24[i][1] * 8) - 12, + 1, + GetMonData(mon, MON_DATA_PERSONALITY), + TRUE); + } + + for (i = 0; i < gUnknown_0203229C->unk_37; i++) + { + struct Pokemon *mon = &gEnemyParty[i]; + gUnknown_0203229C->unk_2E[i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + sub_80D3014, + (gUnknown_0832DE24[i + 6][0] * 8) + 14, + (gUnknown_0832DE24[i + 6][1] * 8) - 12, + 1, + GetMonData(mon, MON_DATA_PERSONALITY), + FALSE); + } + gMain.state++; + break; + case 8: + sub_81B5D30(); + sub_81B5D4C(&gUnknown_0203229C->unk_36, gUnknown_0203229C->unk_28, 0); + gMain.state++; + break; + case 9: + sub_81B5D4C(&gUnknown_0203229C->unk_36, gUnknown_0203229C->unk_28, 1); + gMain.state++; + break; + case 10: + sub_80C6D80(gSaveBlock2Ptr->playerName, gUnknown_02032188[0], 0, 0, 3); + id = GetMultiplayerId(); + sub_80C6D80(gLinkPlayers[id ^ 1].name, gUnknown_02032188[3], 0, 0, 3); + sub_80C6D80(gUnknown_0832DE94[0], gUnknown_02032188[6], 0, 0, 2); + sub_807A308(gUnknown_0832DE94[1], gUnknown_02032188[8], 24); + gMain.state++; + gUnknown_0203229C->unk_A8 = 0; + break; + case 11: + if (sub_807A1F0()) + gMain.state++; + break; + case 12: + xPos = GetStringCenterAlignXOffset(1, gSaveBlock2Ptr->playerName, 120); + for (i = 0; i < 3; i++) + { + temp = gSpriteTemplate_832DCAC; + temp.tileTag += i; + CreateSprite(&temp, xPos + (i * 32) + 16, 10, 1); + } + + xPos = GetStringCenterAlignXOffset(1, gLinkPlayers[GetMultiplayerId() ^ 1].name, 120); + for (i = 0; i < 3; i++) + { + temp = gSpriteTemplate_832DCAC; + temp.tileTag += i + 3; + CreateSprite(&temp, xPos + (i * 32) + 136, 10, 1); + } + gMain.state++; + break; + case 13: + temp = gSpriteTemplate_832DCAC; + temp.tileTag += 6; + CreateSprite(&temp, 215, 152, 1); + temp = gSpriteTemplate_832DCAC; + temp.tileTag += 7; + CreateSprite(&temp, 247, 152, 1); + + for (i = 0; i < 6; i++) + { + temp = gSpriteTemplate_832DCAC; + temp.tileTag += i + 8; + CreateSprite(&temp, (i * 32) + 24, 150, 1); + } + + gUnknown_0203229C->unk_34 = CreateSprite(&gSpriteTemplate_832DC94, gUnknown_0832DE24[0][0] * 8 + 32, gUnknown_0832DE24[0][1] * 8, 2); + gUnknown_0203229C->unk_35 = 0; + gMain.state++; + rbox_fill_rectangle(0); + break; + case 14: + sub_807A320(0); + sub_8079BE0(0); + gUnknown_0203229C->unk_0 = 0; + gUnknown_0203229C->unk_1 = 0; + sub_8078388(); + gMain.state++; + PlayBGM(MUS_P_SCHOOL); + break; + case 15: + sub_807A320(1); + sub_8079BE0(1); + gMain.state++; + case 16: // fallthrough + sub_80782B8(0); + gMain.state++; + break; + case 17: + sub_80782B8(1); + gMain.state++; + break; + case 18: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + gMain.state++; + break; + case 19: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + sub_80782B8(2); + gMain.state++; + break; + case 20: + sub_807A468(0); + gMain.state++; + break; + case 21: + sub_807A468(1); + sub_807A53C(); + gMain.state++; + break; + case 22: + if (!gPaletteFade.active) + { + gMain.callback1 = sub_8078C34; + SetMainCallback2(sub_807825C); + } + break; + } + + RunTextPrinters(); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_8077B74(void) +{ + int i; + struct SpriteTemplate temp; + u8 id; + u32 xPos; + + switch (gMain.state) + { + case 0: + sub_80772A4(); + gMain.state++; + break; + case 1: + gMain.state++; + gUnknown_0203229C->unk_A8 = 0; + break; + case 2: + gMain.state++; + break; + case 3: + gMain.state++; + break; + case 4: + CalculatePlayerPartyCount(); + gMain.state++; + break; + case 5: + if (gWirelessCommType != 0) + { + sub_800E0E8(); + CreateWirelessStatusIndicatorSprite(0, 0); + } + gMain.state++; + break; + case 6: + gMain.state++; + break; + case 7: + CalculateEnemyPartyCount(); + gUnknown_0203229C->unk_36 = gPlayerPartyCount; + gUnknown_0203229C->unk_37 = gEnemyPartyCount; + ClearWindowTilemap(0); + sub_8079BE0(0); + sub_8079BE0(1); + + for (i = 0; i < gUnknown_0203229C->unk_36; i++) + { + struct Pokemon *mon = &gPlayerParty[i]; + gUnknown_0203229C->unk_28[i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + sub_80D3014, + (gUnknown_0832DE24[i][0] * 8) + 14, + (gUnknown_0832DE24[i][1] * 8) - 12, + 1, + GetMonData(mon, MON_DATA_PERSONALITY), + TRUE); + } + + for (i = 0; i < gUnknown_0203229C->unk_37; i++) + { + struct Pokemon *mon = &gEnemyParty[i]; + gUnknown_0203229C->unk_2E[i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + sub_80D3014, + gUnknown_0832DE24[i + 6][0] * 8 + 14, + (gUnknown_0832DE24[i + 6][1] * 8) - 12, + 1, + GetMonData(mon, MON_DATA_PERSONALITY), + FALSE); + } + gMain.state++; + break; + case 8: + sub_81B5D30(); + sub_81B5D4C(&gUnknown_0203229C->unk_36, gUnknown_0203229C->unk_28, 0); + gMain.state++; + break; + case 9: + sub_81B5D4C(&gUnknown_0203229C->unk_36, gUnknown_0203229C->unk_28, 1); + gMain.state++; + break; + case 10: + sub_80C6D80(gSaveBlock2Ptr->playerName, gUnknown_02032188[0], 0, 0, 3); + id = GetMultiplayerId(); + sub_80C6D80(gLinkPlayers[id ^ 1].name, gUnknown_02032188[3], 0, 0, 3); + sub_80C6D80(gUnknown_0832DE94[0], gUnknown_02032188[6], 0, 0, 2); + sub_807A308(gUnknown_0832DE94[1], gUnknown_02032188[8], 24); + gMain.state++; + gUnknown_0203229C->unk_A8 = 0; + break; + case 11: + if (sub_807A1F0()) + gMain.state++; + break; + case 12: + xPos = GetStringCenterAlignXOffset(1, gSaveBlock2Ptr->playerName, 120); + for (i = 0; i < 3; i++) + { + temp = gSpriteTemplate_832DCAC; + temp.tileTag += i; + CreateSprite(&temp, xPos + (i * 32) + 16, 10, 1); + } + + xPos = GetStringCenterAlignXOffset(1, gLinkPlayers[GetMultiplayerId() ^ 1].name, 120); + for (i = 0; i < 3; i++) + { + temp = gSpriteTemplate_832DCAC; + temp.tileTag += i + 3; + CreateSprite(&temp, xPos + (i * 32) + 136, 10, 1); + } + gMain.state++; + break; + case 13: + temp = gSpriteTemplate_832DCAC; + temp.tileTag += 6; + CreateSprite(&temp, 215, 152, 1); + temp = gSpriteTemplate_832DCAC; + temp.tileTag += 7; + CreateSprite(&temp, 247, 152, 1); + + for (i = 0; i < PARTY_SIZE; i++) + { + temp = gSpriteTemplate_832DCAC; + temp.tileTag += i + 8; + CreateSprite(&temp, (i * 32) + 24, 150, 1); + } + + if (gUnknown_0203229C->unk_35 < PARTY_SIZE) + { + gUnknown_0203229C->unk_35 = gUnknown_0203CF20; + } + else + { + gUnknown_0203229C->unk_35 = gUnknown_0203CF20 + PARTY_SIZE; + } + + gUnknown_0203229C->unk_34 = CreateSprite(&gSpriteTemplate_832DC94, gUnknown_0832DE24[gUnknown_0203229C->unk_35][0] * 8 + 32, gUnknown_0832DE24[gUnknown_0203229C->unk_35][1] * 8, 2); + gMain.state = 16; + break; + case 16: + sub_80782B8(0); + gMain.state++; + break; + case 17: + sub_80782B8(1); + gUnknown_0203229C->unk_0 = 0; + gUnknown_0203229C->unk_1 = 0; + sub_8078388(); + gMain.state++; + break; + case 18: + gPaletteFade.bufferTransferDisabled = FALSE; + BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + gMain.state++; + break; + case 19: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); + sub_80782B8(2); + gMain.state++; + break; + case 20: + gMain.state++; + break; + case 21: + sub_807A53C(); + gMain.state++; + break; + case 22: + if (!gPaletteFade.active) + { + SetMainCallback2(sub_807825C); + } + break; + } + + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_807811C(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_8078130(void) +{ + if (++gUnknown_0203229C->unk_A8 > 15) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_0203229C->unk_6F = 10; + } +} + +void sub_807816C(void) +{ + if (!gPaletteFade.active) + { + gUnknown_02032298[0] = gUnknown_0203229C->unk_35; + gUnknown_02032298[1] = gUnknown_0203229C->unk_7E; + + if (gWirelessCommType != 0) + { + gUnknown_0203229C->unk_6F = 16; + } + else + { + sub_800ABF4(32); + gUnknown_0203229C->unk_6F = 13; + } + } +} + +void sub_80781C8(void) +{ + gMain.savedCallback = sub_80773AC; + + if (gWirelessCommType != 0) + { + if (sub_8010500()) + { + Free(gUnknown_02032184); + FreeAllWindowBuffers(); + Free(gUnknown_0203229C); + gMain.callback1 = NULL; + sub_800E084(); + SetMainCallback2(sub_807AE50); + } + } + else + { + if (gReceivedRemoteLinkPlayers == 0) + { + Free(gUnknown_02032184); + FreeAllWindowBuffers(); + Free(gUnknown_0203229C); + gMain.callback1 = NULL; + SetMainCallback2(sub_807AE50); + } + } +} + +void sub_807825C(void) +{ + u8 temp; + + sub_80795AC(); + sub_807A0C4(); + sub_80796B4(0); + sub_80796B4(1); + + SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_0203229C->unk_0++); + SetGpuReg(REG_OFFSET_BG3HOFS, gUnknown_0203229C->unk_1--); + + RunTextPrintersAndIsPrinter0Active(); + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_80782B8(u8 a0) +{ + int i; + + switch (a0) + { + case 0: + LoadPalette(gUnknown_08DDB3E4, 0, 0x60); + LoadBgTiles(1, gUnknown_08DDB464, 0x1280, 0); + CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_08DDCF04, 0, 0, 32, 20, 0); + LoadBgTilemap(2, gTradeStripesBG2Tilemap, 0x800, 0); + break; + case 1: + LoadBgTilemap(3, gTradeStripesBG3Tilemap, 0x800, 0); + sub_8079E44(0); + sub_8079E44(1); + CopyBgTilemapBufferToVram(1); + break; + case 2: + for (i = 0; i < 4; i++) + { + SetGpuReg(REG_OFFSET_BG0HOFS + (i * 2), 0); + } + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); + break; + } +} + +void sub_8078388(void) +{ + int i; + + for (i = 0; i < 6; i++) + { + if (i < gUnknown_0203229C->unk_36) + { + gSprites[gUnknown_0203229C->unk_28[i]].invisible = FALSE; + gUnknown_0203229C->unk_38[i] = TRUE; + } + else + { + gUnknown_0203229C->unk_38[i] = FALSE; + } + + if (i < gUnknown_0203229C->unk_37) + { + gSprites[gUnknown_0203229C->unk_2E[i]].invisible = FALSE; + gUnknown_0203229C->unk_38[i + 6] = TRUE; + } + else + { + gUnknown_0203229C->unk_38[i + 6] = FALSE; + } + } + + gUnknown_0203229C->unk_44 = 1; +} + +void sub_8078438(u8 *dest, const u8 *src, u32 count) +{ + u32 i; + + for (i = 0; i < count; i++) + { + dest[i] = src[i]; + } +} + +bool8 shedinja_maker_maybe(void) +{ + u8 id = GetMultiplayerId(); + int i; + struct Pokemon *mon; + + switch (gUnknown_0203229C->unk_69) + { + case 0: + sub_8078438(gBlockSendBuffer, (void *)&gPlayerParty[0], 200); + gUnknown_0203229C->unk_69++; + gUnknown_0203229C->unk_A8 = 0; + break; + case 1: + if (sub_80771BC()) + { + if (!sub_8077200()) + { + gUnknown_0203229C->unk_69++; + } + else + { + sub_8077210(); + gUnknown_0203229C->unk_69++; + } + } + break; + case 3: + if (id == 0) + { + sub_80771AC(1); + } + gUnknown_0203229C->unk_69++; + break; + case 4: + if (sub_8077200() == 3) + { + sub_8078438((void *)&gEnemyParty[0], (void *)gBlockRecvBuffer[id ^ 1], 200); + sub_8077210(); + gUnknown_0203229C->unk_69++; + } + break; + case 5: + sub_8078438(gBlockSendBuffer, (void *)&gPlayerParty[2], 200); + gUnknown_0203229C->unk_69++; + break; + case 7: + if (id == 0) + { + sub_80771AC(1); + } + gUnknown_0203229C->unk_69++; + break; + case 8: + if (sub_8077200() == 3) + { + sub_8078438((void *)&gEnemyParty[2], (void *)gBlockRecvBuffer[id ^ 1], 200); + sub_8077210(); + gUnknown_0203229C->unk_69++; + } + break; + case 9: + sub_8078438(gBlockSendBuffer, (void *)&gPlayerParty[4], 200); + gUnknown_0203229C->unk_69++; + break; + case 11: + if (id == 0) + { + sub_80771AC(1); + } + gUnknown_0203229C->unk_69++; + break; + case 12: + if (sub_8077200() == 3) + { + sub_8078438((void *)&gEnemyParty[4], (void *)gBlockRecvBuffer[id ^ 1], 200); + sub_8077210(); + gUnknown_0203229C->unk_69++; + } + break; + case 13: + sub_8078438(gBlockSendBuffer, (void *)gSaveBlock1Ptr->mail, 220); + gUnknown_0203229C->unk_69++; + break; + case 15: + if (id == 0) + { + sub_80771AC(3); + } + gUnknown_0203229C->unk_69++; + break; + case 16: + if (sub_8077200() == 3) + { + sub_8078438((void *)gUnknown_020321C0, (void *)gBlockRecvBuffer[id ^ 1], 216); + sub_8077210(); + gUnknown_0203229C->unk_69++; + } + break; + case 17: + sub_8078438(gBlockSendBuffer, gSaveBlock1Ptr->giftRibbons, 11); + gUnknown_0203229C->unk_69++; + break; + case 19: + if (id == 0) + { + sub_80771AC(4); + } + gUnknown_0203229C->unk_69++; + break; + case 20: + if (sub_8077200() == 3) + { + sub_8078438(gUnknown_0203229C->unk_A9, (void *)gBlockRecvBuffer[id ^ 1], 11); + sub_8077210(); + gUnknown_0203229C->unk_69++; + } + break; + case 21: + for (i = 0, mon = gEnemyParty; i < 6; mon++, i++) + { + u8 name[POKEMON_NAME_LENGTH + 1]; + u16 species = GetMonData(mon, MON_DATA_SPECIES); + + if (species != SPECIES_NONE) + { + if (species == SPECIES_SHEDINJA && GetMonData(mon, MON_DATA_LANGUAGE) != LANGUAGE_JAPANESE) + { + GetMonData(mon, MON_DATA_NICKNAME, name); + + if (!StringCompareWithoutExtCtrlCodes(name, gJPText_Shedinja)) + { + SetMonData(mon, MON_DATA_NICKNAME, gSpeciesNames[SPECIES_SHEDINJA]); + } + } + } + } + return TRUE; + case 2: + case 6: + case 10: + case 14: + case 18: + gUnknown_0203229C->unk_A8++; + if (gUnknown_0203229C->unk_A8 > 10) + { + gUnknown_0203229C->unk_A8 = 0; + gUnknown_0203229C->unk_69++; + } + break; + } + return FALSE; +} + +void sub_80787B8(void) +{ + sub_807A308(gText_IsThisTradeOkay, (void *)(OBJ_VRAM0 + (gUnknown_0203229C->unk_72 * 32)), 24); +} From bd7c251859e614e060e1f6407de1f0bba22685c3 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Tue, 18 Dec 2018 20:15:59 -0600 Subject: [PATCH 02/53] Fix compressed palette alignment --- include/battle_anim.h | 4 ++-- include/graphics.h | 12 +++++++++--- include/palette.h | 2 +- src/battle_anim_80A5C6C.c | 2 +- src/battle_anim_effects_2.c | 4 ++-- src/battle_anim_effects_3.c | 8 ++++---- src/battle_anim_utility_funcs.c | 2 +- src/battle_arena.c | 4 +--- src/battle_main.c | 2 +- src/contest.c | 1 - src/egg_hatch.c | 6 +----- src/fieldmap.c | 2 +- src/graphics.c | 6 +++--- src/palette.c | 2 +- src/pokemon_summary_screen.c | 2 +- src/rock.c | 2 +- 16 files changed, 30 insertions(+), 31 deletions(-) diff --git a/include/battle_anim.h b/include/battle_anim.h index b258229926..65bd6a3937 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -122,7 +122,7 @@ s16 CloneBattlerSpriteWithBlend(u8); void obj_delete_but_dont_free_vram(struct Sprite*); u8 sub_80A89C8(int, u8, int); void sub_80A6D60(struct UnknownAnimStruct2*, const void*, u32); -void sub_80A6CC0(u32, const void*, u32); +void sub_80A6CC0(u32, const u32*, u32); void sub_80A6DAC(bool8); void TranslateSpriteInGrowingCircleOverDuration(struct Sprite *); void sub_80A653C(struct Sprite *); @@ -190,7 +190,7 @@ u8 LaunchBallFadeMonTask(bool8 unFadeLater, u8 battlerId, u32 selectedPalettes, // battle_anim_utility_funcs.s void sub_8116EB4(u8); -void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u8 *arg8, const u8 *arg9, const u16 *palette); +void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *arg8, const u32 *arg9, const u32 *palette); u32 UnpackSelectedBattleAnimPalettes(s16); diff --git a/include/graphics.h b/include/graphics.h index f92ab05f6c..40b9744eba 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -3071,7 +3071,7 @@ extern const u32 gTrainerBackPicPalette_Leaf[]; // pokeblock extern const u32 gMenuPokeblock_Gfx[]; -extern const u8 gMenuPokeblock_Pal[]; +extern const u32 gMenuPokeblock_Pal[]; extern const u32 gMenuPokeblock_Tilemap[]; extern const u32 gMenuPokeblockDevice_Gfx[]; extern const u32 gMenuPokeblockDevice_Pal[]; @@ -3859,8 +3859,8 @@ extern const u8 gFireRedMenuElements_Gfx[]; // item menu graphics extern const u32 gBagScreen_Gfx[]; -extern const u16 gBagScreenFemale_Pal[]; -extern const u16 gBagScreenMale_Pal[]; +extern const u32 gBagScreenFemale_Pal[]; +extern const u32 gBagScreenMale_Pal[]; extern const u8 gBagMenuHMIcon_Gfx[]; // item menu icons graphics @@ -4100,6 +4100,10 @@ extern const u32 gUnknown_08D83C3C[]; extern const u32 gUnknown_08D83900[]; extern const u32 gBattleFrontierGfx_DomeOptions[]; +extern const u32 gUnknown_08D854E8[]; +extern const u32 gUnknown_08D855E8[]; +extern const u32 gContest2Pal[]; + extern const u32 gBattleAnimSpriteSheet_000[]; extern const u32 gBattleAnimSpriteSheet_001[]; extern const u32 gBattleAnimSpriteSheet_002[]; @@ -4769,5 +4773,7 @@ extern const u16 gCableCar_Pal[]; extern const u16 gUnknown_08DDB3E4[]; extern const u8 gUnknown_08DDB464[]; extern const u16 gUnknown_08DDCF04[]; +extern const u16 gTradeGba2_Pal[]; +extern const u8 gTradeGba_Gfx[]; #endif //GUARD_GRAPHICS_H diff --git a/include/palette.h b/include/palette.h index c14e9f453a..540452f3d8 100644 --- a/include/palette.h +++ b/include/palette.h @@ -43,7 +43,7 @@ extern u8 gPaletteDecompressionBuffer[]; extern u16 gPlttBufferUnfaded[]; extern u16 gPlttBufferFaded[]; -void LoadCompressedPalette(const void *, u16, u16); +void LoadCompressedPalette(const u32 *, u16, u16); void LoadPalette(const void *, u16, u16); void FillPalette(u16, u16, u16); void TransferPlttBuffer(void); diff --git a/src/battle_anim_80A5C6C.c b/src/battle_anim_80A5C6C.c index 15a4d2b632..910845c69c 100644 --- a/src/battle_anim_80A5C6C.c +++ b/src/battle_anim_80A5C6C.c @@ -944,7 +944,7 @@ void sub_80A6C68(u32 bgId) CopyBgTilemapBufferToVram(unkStruct.bgId); } -void sub_80A6CC0(u32 bgId, const void *src, u32 tilesOffset) +void sub_80A6CC0(u32 bgId, const u32 *src, u32 tilesOffset) { CpuFill32(0, gUnknown_0202305C, 0x2000); LZDecompressWram(src, gUnknown_0202305C); diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 244823d13f..ba124a6a39 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -3390,8 +3390,8 @@ void sub_81064F8(u8 taskId) else sub_80A6D60(&unknownStruct, &gBattleAnimBackgroundTilemap_ScaryFaceOpponent, 0); - sub_80A6CC0(unknownStruct.bgId, &gUnknown_08C249F8, unknownStruct.tilesOffset); - LoadCompressedPalette(&gUnknown_08C249D0, unknownStruct.unk8 << 4, 32); + sub_80A6CC0(unknownStruct.bgId, gUnknown_08C249F8, unknownStruct.tilesOffset); + LoadCompressedPalette(gUnknown_08C249D0, unknownStruct.unk8 << 4, 32); gTasks[taskId].func = sub_81065EC; } diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 5f65cb31fb..4369bd0a50 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -2388,8 +2388,8 @@ void sub_815BB84(u8 taskId) gBattle_BG1_Y = 0; } - sub_80A6CC0(unknownStruct.bgId, &gUnknown_08C2A634, unknownStruct.tilesOffset); - LoadCompressedPalette(&gUnknown_08C2A6D4, unknownStruct.unk8 << 4, 32); + sub_80A6CC0(unknownStruct.bgId, gUnknown_08C2A634, unknownStruct.tilesOffset); + LoadCompressedPalette(gUnknown_08C2A6D4, unknownStruct.unk8 << 4, 32); gTasks[taskId].data[10] = gBattle_BG1_X; gTasks[taskId].data[11] = gBattle_BG1_Y; @@ -2594,8 +2594,8 @@ void sub_815C0A4(u8 taskId) gBattle_BG1_Y = 0; } - sub_80A6CC0(unknownStruct.bgId, &gUnknown_08C2A634, unknownStruct.tilesOffset); - LoadCompressedPalette(&gUnknown_08C2A6D4, unknownStruct.unk8 << 4, 32); + sub_80A6CC0(unknownStruct.bgId, gUnknown_08C2A634, unknownStruct.tilesOffset); + LoadCompressedPalette(gUnknown_08C2A6D4, unknownStruct.unk8 << 4, 32); gTasks[taskId].data[10] = gBattle_BG1_X; gTasks[taskId].data[11] = gBattle_BG1_Y; gTasks[taskId].data[0]++; diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index f99b1aeac9..c9d9bb99c2 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -767,7 +767,7 @@ void sub_81177E4(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u8 *arg8, const u8 *arg9, const u16 *palette) +void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *arg8, const u32 *arg9, const u32 *palette) { u16 species; u8 spriteId, spriteId2; diff --git a/src/battle_arena.c b/src/battle_arena.c index cd2c976da0..a4179eca87 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -8,6 +8,7 @@ #include "decompress.h" #include "event_data.h" #include "frontier_util.h" +#include "graphics.h" #include "gpu_regs.h" #include "item.h" #include "m4a.h" @@ -23,9 +24,6 @@ #include "constants/battle_frontier.h" #include "constants/moves.h" -extern const u32 gUnknown_08D854E8[]; -extern const u16 gUnknown_08D855E8[]; - // This file's functions. static void sub_81A58B4(void); static void sub_81A5964(void); diff --git a/src/battle_main.c b/src/battle_main.c index 16025a4554..a71d8662d5 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -16,6 +16,7 @@ #include "dma3.h" #include "event_data.h" #include "evolution_scene.h" +#include "graphics.h" #include "gpu_regs.h" #include "international_string_util.h" #include "item.h" @@ -73,7 +74,6 @@ extern struct MusicPlayerInfo gMPlayInfo_SE1; extern struct MusicPlayerInfo gMPlayInfo_SE2; extern u8 gUnknown_0203CF00[]; -extern const u16 gBattleTextboxPalette[]; extern const struct BgTemplate gBattleBgTemplates[]; extern const struct WindowTemplate *const gBattleWindowTemplates[]; extern const u8 *const gBattleScriptsForMoveEffects[]; diff --git a/src/contest.c b/src/contest.c index 3d74109cba..b924f10328 100644 --- a/src/contest.c +++ b/src/contest.c @@ -217,7 +217,6 @@ extern const u8 gText_0827D597[]; extern const struct ContestPokemon gContestOpponents[96]; extern const u8 gUnknown_085898A4[96]; extern const struct CompressedSpriteSheet gUnknown_08587C00; -extern const u8 gContest2Pal[]; extern const struct SpriteTemplate gSpriteTemplate_8587BE8; extern const struct CompressedSpriteSheet gUnknown_08587C08; extern const struct CompressedSpritePalette gUnknown_08587C10; diff --git a/src/egg_hatch.c b/src/egg_hatch.c index ed25a2c68d..e940692795 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -23,6 +23,7 @@ #include "bg.h" #include "m4a.h" #include "window.h" +#include "graphics.h" #include "constants/abilities.h" #include "daycare.h" #include "overworld.h" @@ -51,11 +52,6 @@ struct EggHatchData }; extern const struct CompressedSpriteSheet gMonFrontPicTable[]; -extern const u8 gBattleTextboxTiles[]; -extern const u8 gBattleTextboxTilemap[]; -extern const u8 gBattleTextboxPalette[]; -extern const u16 gTradeGba2_Pal[]; // palette, gameboy advance -extern const u32 gTradeGba_Gfx[]; // tileset gameboy advance extern const u32 gUnknown_08331F60[]; // tilemap gameboy circle extern const u8 gText_HatchedFromEgg[]; extern const u8 gText_NickHatchPrompt[]; diff --git a/src/fieldmap.c b/src/fieldmap.c index 7e1fc03ebe..cab2002083 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -986,7 +986,7 @@ void apply_map_tileset_palette(struct Tileset const *tileset, u16 destOffset, u1 } else { - LoadCompressedPalette((u16*)tileset->palettes, destOffset, size); + LoadCompressedPalette((u32*)tileset->palettes, destOffset, size); nullsub_3(destOffset, size >> 1); } } diff --git a/src/graphics.c b/src/graphics.c index c0deb2883f..b2de074bc1 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -897,9 +897,9 @@ const u32 gBattleStatMask6_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat6 const u32 gBattleStatMask7_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat7.gbapal.lz"); const u32 gBattleStatMask8_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat8.gbapal.lz"); -const u8 gUnknown_08C2DC68[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.4bpp.lz"); -const u16 gUnknown_08C2DDA4[] = INCBIN_U16("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); -const u8 gUnknown_08C2DDC4[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.bin.lz"); +const u32 gUnknown_08C2DC68[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.4bpp.lz"); +const u32 gUnknown_08C2DDA4[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); +const u32 gUnknown_08C2DDC4[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.bin.lz"); const u32 gBattleAnimSpritePalette_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.gbapal.lz"); const u32 gBattleAnimSpriteSheet_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.4bpp.lz"); diff --git a/src/palette.c b/src/palette.c index 1e92f4bbaa..deb07b066f 100644 --- a/src/palette.c +++ b/src/palette.c @@ -77,7 +77,7 @@ static const u8 sRoundedDownGrayscaleMap[] = { 31, 31 }; -void LoadCompressedPalette(const void *src, u16 offset, u16 size) +void LoadCompressedPalette(const u32 *src, u16 offset, u16 size) { LZDecompressWram(src, gPaletteDecompressionBuffer); CpuCopy16(gPaletteDecompressionBuffer, gPlttBufferUnfaded + offset, size); diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index f1c248a1af..4fb20c72b5 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -1275,7 +1275,7 @@ static bool8 SummaryScreen_DecompressGraphics(void) pssData->unk40F0++; break; case 12: - LoadCompressedPalette(&gMoveTypes_Pal, 0x1D0, 0x60); + LoadCompressedPalette(gMoveTypes_Pal, 0x1D0, 0x60); pssData->unk40F0 = 0; return TRUE; } diff --git a/src/rock.c b/src/rock.c index 20d4ea7386..d82fbf9c43 100644 --- a/src/rock.c +++ b/src/rock.c @@ -421,7 +421,7 @@ void AnimTask_LoadSandstormBackground(u8 taskId) sub_80A6B30(&unknownStruct); sub_80A6CC0(unknownStruct.bgId, gUnknown_08D8D58C, unknownStruct.tilesOffset); sub_80A6D60(&unknownStruct, gUnknown_08D8D410, 0); - LoadCompressedPalette(&gBattleAnimSpritePalette_261, unknownStruct.unk8 * 16, 32); + LoadCompressedPalette(gBattleAnimSpritePalette_261, unknownStruct.unk8 * 16, 32); if (gBattleAnimArgs[0] && GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) var0 = 1; From 052d458f48e53c7a8305a50791397bc9e3a4ffc6 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Fri, 21 Dec 2018 12:20:28 -0600 Subject: [PATCH 03/53] sub_80796B4 is a pain --- asm/trade.s | 2206 ----------------------------------------- include/battle_anim.h | 1 + src/trade.c | 1088 +++++++++++++++++++- 3 files changed, 1055 insertions(+), 2240 deletions(-) diff --git a/asm/trade.s b/asm/trade.s index 2c11ae6615..64acefe3f7 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6,2212 +6,6 @@ .text - thumb_func_start sub_80787E0 -sub_80787E0: @ 80787E0 - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - movs r2, 0x1 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _08078864 - ldr r0, =gBlockRecvBuffer - ldrh r1, [r0] - ldr r0, =0x0000bbbb - cmp r1, r0 - beq _08078844 - cmp r1, r0 - bgt _08078814 - ldr r0, =0x0000aabb - cmp r1, r0 - beq _08078834 - b _0807885E - .pool -_08078814: - ldr r0, =0x0000bbcc - cmp r1, r0 - beq _08078854 - ldr r0, =0x0000eeaa - cmp r1, r0 - bne _0807885E - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x78 - b _0807885A - .pool -_08078834: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x78 - strb r2, [r0] - b _0807885E - .pool -_08078844: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x7A - strb r2, [r0] - b _0807885E - .pool -_08078854: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x7A -_0807885A: - movs r1, 0x2 - strb r1, [r0] -_0807885E: - movs r0, 0 - bl sub_8077234 -_08078864: - movs r2, 0x2 - adds r0, r4, 0 - ands r0, r2 - cmp r0, 0 - beq _080788F6 - ldr r3, =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r3, r1 - ldrh r1, [r0] - ldr r0, =0x0000bbbb - cmp r1, r0 - beq _080788D8 - cmp r1, r0 - bgt _0807889C - ldr r0, =0x0000aabb - cmp r1, r0 - beq _080788BC - b _080788F0 - .pool -_0807889C: - ldr r0, =0x0000bbcc - cmp r1, r0 - beq _080788E8 - ldr r0, =0x0000eeaa - cmp r1, r0 - bne _080788F0 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x79 - b _080788EE - .pool -_080788BC: - ldr r2, =gUnknown_0203229C - ldr r1, [r2] - movs r4, 0x81 - lsls r4, 1 - adds r0, r3, r4 - ldrb r0, [r0] - adds r0, 0x6 - adds r1, 0x7E - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x79 - b _080788DE - .pool -_080788D8: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x7B -_080788DE: - movs r1, 0x1 - strb r1, [r0] - b _080788F0 - .pool -_080788E8: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x7B -_080788EE: - strb r2, [r0] -_080788F0: - movs r0, 0x1 - bl sub_8077234 -_080788F6: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80787E0 - - thumb_func_start sub_8078900 -sub_8078900: @ 8078900 - push {r4,r5,lr} - sub sp, 0x4 - lsls r1, 24 - lsrs r5, r1, 24 - movs r0, 0x1 - ands r0, r5 - cmp r0, 0 - beq _080789E2 - ldr r2, =gBlockRecvBuffer - ldrh r1, [r2] - ldr r0, =0x0000ddee - cmp r1, r0 - beq _080789CC - cmp r1, r0 - bgt _0807893C - ldr r0, =0x0000ccdd - cmp r1, r0 - beq _080789AC - ldr r0, =0x0000dddd - cmp r1, r0 - beq _08078978 - b _080789DC - .pool -_0807893C: - ldr r0, =0x0000eebb - cmp r1, r0 - beq _08078950 - adds r0, 0x11 - cmp r1, r0 - beq _08078974 - b _080789DC - .pool -_08078950: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - movs r0, 0x4 - bl sub_807A19C - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0xB - b _080789DA - .pool -_08078974: - movs r0, 0x5 - b _080789CE -_08078978: - ldr r4, =gUnknown_0203229C - ldr r1, [r4] - ldrb r0, [r2, 0x2] - adds r0, 0x6 - adds r1, 0x7E - strb r0, [r1] - movs r0, 0 - bl rbox_fill_rectangle - ldr r0, [r4] - adds r0, 0x35 - ldrb r0, [r0] - bl sub_807967C - ldr r0, [r4] - adds r0, 0x7E - ldrb r0, [r0] - bl sub_807967C - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x7 - b _080789DA - .pool -_080789AC: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0xA - b _080789DA - .pool -_080789CC: - movs r0, 0x1 -_080789CE: - bl sub_807A19C - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x8 -_080789DA: - strb r1, [r0] -_080789DC: - movs r0, 0 - bl sub_8077234 -_080789E2: - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _080789F0 - movs r0, 0x1 - bl sub_8077234 -_080789F0: - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8078900 - - thumb_func_start sub_80789FC -sub_80789FC: @ 80789FC - push {r4-r6,lr} - sub sp, 0x4 - ldr r6, =gUnknown_0203229C - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0x78 - ldrb r0, [r1] - cmp r0, 0 - bne _08078A10 - b _08078B44 -_08078A10: - adds r0, r2, 0 - adds r0, 0x79 - ldrb r0, [r0] - cmp r0, 0 - bne _08078A1C - b _08078B44 -_08078A1C: - ldrh r1, [r1] - ldr r0, =0x00000101 - cmp r1, r0 - bne _08078A64 - adds r1, r2, 0 - adds r1, 0x6F - movs r0, 0x6 - strb r0, [r1] - ldr r2, [r6] - adds r1, r2, 0 - adds r1, 0x80 - movs r4, 0 - ldr r0, =0x0000dddd - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x35 - ldrb r1, [r0] - adds r0, 0x4D - strh r1, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_807A048 - ldr r0, [r6] - adds r2, r0, 0 - adds r2, 0x79 - strb r4, [r2] - adds r0, 0x78 - strb r4, [r0] - b _08078B44 - .pool -_08078A64: - ldr r0, =0x00000201 - cmp r1, r0 - bne _08078AB4 - movs r0, 0x1 - bl sub_807A19C - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0x80 - movs r4, 0 - movs r3, 0 - ldr r0, =0x0000eecc - strh r0, [r2] - adds r1, 0x82 - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_807A048 - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x7B - strb r4, [r1] - adds r0, 0x7A - strb r4, [r0] - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x79 - strb r4, [r1] - adds r0, 0x78 - strb r4, [r0] - ldr r0, [r6] - adds r0, 0x6F - movs r1, 0x8 - b _08078B42 - .pool -_08078AB4: - movs r0, 0x81 - lsls r0, 1 - cmp r1, r0 - bne _08078B00 - movs r0, 0x5 - bl sub_807A19C - ldr r1, [r6] - adds r2, r1, 0 - adds r2, 0x80 - movs r4, 0 - movs r3, 0 - ldr r0, =0x0000ddee - strh r0, [r2] - adds r1, 0x82 - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_807A048 - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x7B - strb r4, [r1] - adds r0, 0x7A - strb r4, [r0] - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x79 - strb r4, [r1] - adds r0, 0x78 - strb r4, [r0] - ldr r0, [r6] - adds r0, 0x6F - movs r1, 0x8 - b _08078B42 - .pool -_08078B00: - ldr r0, =0x00000202 - cmp r1, r0 - bne _08078B44 - adds r1, r2, 0 - adds r1, 0x80 - movs r5, 0 - movs r4, 0 - ldr r0, =0x0000eebb - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0x82 - strh r4, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_807A048 - movs r0, 0x1 - negs r0, r0 - str r4, [sp] - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r6] - adds r1, r0, 0 - adds r1, 0x79 - strb r5, [r1] - adds r0, 0x78 - strb r5, [r0] - ldr r0, [r6] - adds r0, 0x6F - movs r1, 0xB -_08078B42: - strb r1, [r0] -_08078B44: - ldr r5, =gUnknown_0203229C - ldr r3, [r5] - adds r1, r3, 0 - adds r1, 0x7A - ldrb r0, [r1] - cmp r0, 0 - beq _08078BDC - adds r0, r3, 0 - adds r0, 0x7B - ldrb r0, [r0] - cmp r0, 0 - beq _08078BDC - ldrh r1, [r1] - ldr r0, =0x00000101 - cmp r1, r0 - bne _08078B92 - adds r1, r3, 0 - adds r1, 0x80 - movs r4, 0 - movs r2, 0 - ldr r0, =0x0000ccdd - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0x82 - strh r2, [r0] - movs r0, 0x5 - movs r1, 0 - bl sub_807A048 - ldr r0, [r5] - adds r0, 0x7A - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7B - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x6F - movs r1, 0x9 - strb r1, [r0] -_08078B92: - ldr r1, [r5] - adds r0, r1, 0 - adds r0, 0x7A - ldrb r0, [r0] - cmp r0, 0x2 - beq _08078BA8 - adds r0, r1, 0 - adds r0, 0x7B - ldrb r0, [r0] - cmp r0, 0x2 - bne _08078BDC -_08078BA8: - movs r0, 0x1 - bl sub_807A19C - ldr r1, [r5] - adds r2, r1, 0 - adds r2, 0x80 - movs r4, 0 - movs r3, 0 - ldr r0, =0x0000ddee - strh r0, [r2] - adds r1, 0x82 - strh r3, [r1] - movs r0, 0x5 - movs r1, 0 - bl sub_807A048 - ldr r0, [r5] - adds r0, 0x7A - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x7B - strb r4, [r0] - ldr r0, [r5] - adds r0, 0x6F - movs r1, 0x8 - strb r1, [r0] -_08078BDC: - add sp, 0x4 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80789FC - - thumb_func_start sub_8078BFC -sub_8078BFC: @ 8078BFC - push {lr} - strh r1, [r0] - strh r2, [r0, 0x2] - movs r0, 0x5 - movs r1, 0 - bl sub_807A048 - pop {r0} - bx r0 - thumb_func_end sub_8078BFC - - thumb_func_start sub_8078C10 -sub_8078C10: @ 8078C10 - push {lr} - adds r3, r0, 0 - adds r2, r1, 0 - lsls r3, 16 - lsrs r3, 16 - lsls r2, 16 - lsrs r2, 16 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x80 - adds r1, r3, 0 - bl sub_8078BFC - pop {r0} - bx r0 - .pool - thumb_func_end sub_8078C10 - - thumb_func_start sub_8078C34 -sub_8078C34: @ 8078C34 - push {r4,lr} - bl GetMultiplayerId - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8077200 - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _08078C5C - cmp r4, 0 - bne _08078C56 - movs r0, 0 - bl sub_80787E0 - b _08078C5C -_08078C56: - adds r0, r4, 0 - bl sub_8078900 -_08078C5C: - cmp r4, 0 - bne _08078C64 - bl sub_80789FC -_08078C64: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8078C34 - - thumb_func_start sub_8078C6C -sub_8078C6C: @ 8078C6C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - movs r6, 0 - movs r5, 0 - ldr r2, =gUnknown_0203229C - ldr r3, [r2] - ldr r4, =gUnknown_0832DCEC - lsls r2, r1, 1 - adds r2, r1 - lsls r2, 1 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 3 - adds r3, 0x38 - adds r2, r1 - adds r2, r4 -_08078C92: - ldrb r1, [r2] - adds r0, r3, r1 - ldrb r0, [r0] - cmp r0, 0x1 - bne _08078CA8 - adds r6, r1, 0 - b _08078CB0 - .pool -_08078CA8: - adds r2, 0x1 - adds r5, 0x1 - cmp r5, 0x5 - ble _08078C92 -_08078CB0: - adds r0, r6, 0 - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_8078C6C - - thumb_func_start sub_8078CB8 -sub_8078CB8: @ 8078CB8 - push {r4-r7,lr} - adds r7, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldrb r0, [r7] - bl sub_8078C6C - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xC - bne _08078D10 - ldr r5, =gUnknown_0203229C - ldr r0, [r5] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r2, [r5] - adds r2, 0x34 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xE0 - strh r1, [r0, 0x20] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xA0 - strh r1, [r0, 0x22] - b _08078D58 - .pool -_08078D10: - ldr r4, =gUnknown_0203229C - ldr r0, [r4] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - movs r1, 0 - bl StartSpriteAnim - ldr r4, [r4] - adds r4, 0x34 - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldr r2, =gUnknown_0832DE24 - lsls r3, r6, 1 - adds r0, r3, r2 - ldrb r0, [r0] - lsls r0, 3 - adds r0, 0x20 - strh r0, [r1, 0x20] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - adds r2, 0x1 - adds r3, r2 - ldrb r0, [r3] - lsls r0, 3 - strh r0, [r1, 0x22] -_08078D58: - ldrb r0, [r7] - cmp r0, r6 - beq _08078D64 - movs r0, 0x5 - bl PlaySE -_08078D64: - strb r6, [r7] - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8078CB8 - - thumb_func_start sub_8078D78 -sub_8078D78: @ 8078D78 - push {r4,lr} - movs r0, 0 - bl sub_807A19C - ldr r4, =gUnknown_0203229C - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x64 - strb r1, [r0] - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _08078DAC - ldr r0, =0x0000aabb - ldr r1, [r4] - adds r1, 0x35 - ldrb r1, [r1] - bl sub_8078C10 - b _08078DB4 - .pool -_08078DAC: - ldr r0, [r4] - adds r0, 0x78 - movs r1, 0x1 - strb r1, [r0] -_08078DB4: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_8078D78 - - thumb_func_start sub_8078DBC -sub_8078DBC: @ 8078DBC - push {r4,lr} - sub sp, 0x4 - ldr r0, =gMain - ldrh r1, [r0, 0x30] - movs r0, 0x40 - ands r0, r1 - cmp r0, 0 - beq _08078DE4 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x35 - movs r1, 0 - bl sub_8078CB8 - b _08078E30 - .pool -_08078DE4: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08078E00 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x35 - movs r1, 0x1 - bl sub_8078CB8 - b _08078E30 - .pool -_08078E00: - movs r0, 0x20 - ands r0, r1 - cmp r0, 0 - beq _08078E1C - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x35 - movs r1, 0x2 - bl sub_8078CB8 - b _08078E30 - .pool -_08078E1C: - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08078E30 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x35 - movs r1, 0x3 - bl sub_8078CB8 -_08078E30: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _08078EE4 - movs r0, 0x5 - bl PlaySE - ldr r4, =gUnknown_0203229C - ldr r0, [r4] - adds r0, 0x35 - ldrb r0, [r0] - cmp r0, 0x5 - bhi _08078E98 - movs r0, 0x1 - movs r1, 0x1 - movs r2, 0xE - bl sub_8098858 - movs r0, 0x1 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r2, =gUnknown_0832DEAC - movs r0, 0x1 - movs r1, 0x2 - bl PrintMenuTable - movs r0, 0x1 - movs r1, 0x2 - movs r2, 0 - bl InitMenuInUpperLeftCornerPlaySoundWhenAPressed - movs r0, 0x1 - bl PutWindowTilemap - movs r0, 0x1 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x1 - strb r1, [r0] - b _08078EE4 - .pool -_08078E98: - cmp r0, 0xB - bhi _08078EB6 - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x2 - strb r1, [r0] - b _08078EE4 -_08078EB6: - cmp r0, 0xC - bne _08078EE4 - ldr r0, =gUnknown_0832DF8C - movs r1, 0x1 - movs r2, 0xE - movs r3, 0 - bl CreateYesNoMenu - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x4 - strb r1, [r0] - ldr r0, =gUnknown_0832DE94 - ldr r0, [r0, 0x10] - ldr r1, [r4] - adds r1, 0x72 - ldrh r1, [r1] - lsls r1, 5 - ldr r2, =0x06010000 - adds r1, r2 - movs r2, 0x18 - bl sub_807A308 -_08078EE4: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8078DBC - - thumb_func_start sub_8078EF8 -sub_8078EF8: @ 8078EF8 - push {lr} - bl sub_8079F74 - ldr r3, =gUnknown_0203229C - ldr r0, [r3] - adds r0, 0x6F - movs r1, 0 - strb r1, [r0] - ldr r2, =gSprites - ldr r0, [r3] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r0, =gUnknown_0832DE94 - ldr r0, [r0, 0x4] - ldr r1, [r3] - adds r1, 0x72 - ldrh r1, [r1] - lsls r1, 5 - ldr r2, =0x06010000 - adds r1, r2 - movs r2, 0x18 - bl sub_807A308 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8078EF8 - - thumb_func_start sub_8078F50 -sub_8078F50: @ 8078F50 - push {lr} - sub sp, 0x4 - bl Menu_ProcessInputNoWrap - lsls r0, 24 - asrs r0, 24 - movs r1, 0x1 - negs r1, r1 - cmp r0, r1 - beq _08078F72 - cmp r0, r1 - ble _0807902A - cmp r0, 0 - beq _08078F7E - cmp r0, 0x1 - beq _08078F9C - b _0807902A -_08078F72: - movs r0, 0x5 - bl PlaySE - bl sub_8078EF8 - b _0807902A -_08078F7E: - str r0, [sp] - adds r0, r1, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x2 - b _08079028 - .pool -_08078F9C: - ldr r0, =gPlayerParty - ldr r1, =gPlayerPartyCount - ldrb r1, [r1] - ldr r2, =gUnknown_0203229C - ldr r2, [r2] - adds r2, 0x35 - ldrb r2, [r2] - bl sub_807A5F4 - cmp r0, 0x5 - bhi _0807902A - lsls r0, 2 - ldr r1, =_08078FCC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08078FCC: - .4byte _08078FE4 - .4byte _0807900C - .4byte _08079012 - .4byte _08079018 - .4byte _08079012 - .4byte _08079018 -_08078FE4: - bl sub_8078D78 - ldr r2, =gSprites - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - b _08079028 - .pool -_0807900C: - movs r0, 0x3 - movs r1, 0x3 - b _0807901C -_08079012: - movs r0, 0x3 - movs r1, 0x6 - b _0807901C -_08079018: - movs r0, 0x3 - movs r1, 0x7 -_0807901C: - bl sub_807A048 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x8 -_08079028: - strb r1, [r0] -_0807902A: - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_8078F50 - - thumb_func_start sub_8079034 -sub_8079034: @ 8079034 - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0807904A - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _08079054 -_0807904A: - movs r0, 0x5 - bl PlaySE - bl sub_8078EF8 -_08079054: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079034 - - thumb_func_start sub_807905C -sub_807905C: @ 807905C - push {lr} - sub sp, 0x4 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080790C4 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r3, r0, 0 - adds r3, 0x35 - ldrb r2, [r3] - cmp r2, 0x5 - bhi _080790A4 - ldr r1, =gPlayerParty - ldrb r2, [r3] - adds r0, 0x36 - ldrb r3, [r0] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =sub_8077B74 - str r0, [sp] - movs r0, 0x1 - bl ShowPokemonSummaryScreen - b _080790C0 - .pool -_080790A4: - ldr r1, =gEnemyParty - subs r2, 0x6 - lsls r2, 24 - lsrs r2, 24 - adds r0, 0x37 - ldrb r3, [r0] - subs r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldr r0, =sub_8077B74 - str r0, [sp] - movs r0, 0x1 - bl ShowPokemonSummaryScreen -_080790C0: - bl FreeAllWindowBuffers -_080790C4: - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_807905C - - thumb_func_start sub_80790D4 -sub_80790D4: @ 80790D4 - push {r4-r7,lr} - adds r4, r0, 0 - lsls r1, 24 - lsrs r1, 24 - lsls r2, 24 - lsrs r2, 24 - lsls r3, 24 - lsrs r6, r3, 24 - movs r5, 0 - movs r3, 0 - ldr r7, =gEnemyParty - cmp r5, r1 - bge _08079102 -_080790EE: - cmp r2, r3 - beq _080790FC - adds r0, r4, r3 - ldrb r0, [r0] - adds r0, r5, r0 - lsls r0, 24 - lsrs r5, r0, 24 -_080790FC: - adds r3, 0x1 - cmp r3, r1 - blt _080790EE -_08079102: - adds r0, r6, 0 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r6, r0, 24 - movs r0, 0x64 - muls r0, r6 - adds r7, r0, r7 - adds r0, r7, 0 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r4, r0, 16 - movs r0, 0xCD - lsls r0, 1 - cmp r4, r0 - beq _0807912C - cmp r4, 0x97 - bne _08079138 -_0807912C: - adds r0, r7, 0 - movs r1, 0x50 - bl GetMonData - cmp r0, 0 - beq _08079158 -_08079138: - bl IsNationalPokedexEnabled - cmp r0, 0 - bne _08079164 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x57 - adds r0, r6 - ldrb r0, [r0] - cmp r0, 0 - bne _08079158 - adds r0, r4, 0 - bl IsSpeciesInHoennDex - cmp r0, 0 - bne _08079164 -_08079158: - movs r0, 0x2 - b _0807916C - .pool -_08079164: - cmp r5, 0 - beq _0807916A - movs r5, 0x1 -_0807916A: - adds r0, r5, 0 -_0807916C: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_80790D4 - - thumb_func_start sub_8079174 -sub_8079174: @ 8079174 - push {r4,r5,lr} - sub sp, 0xC - movs r2, 0 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r3, r1, 0 - adds r3, 0x36 - adds r5, r0, 0 - ldrb r0, [r3] - cmp r2, r0 - bge _080791A0 - adds r4, r1, 0 - adds r4, 0x45 -_0807918E: - mov r1, sp - adds r0, r1, r2 - adds r1, r4, r2 - ldrb r1, [r1] - strb r1, [r0] - adds r2, 0x1 - ldrb r0, [r3] - cmp r2, r0 - blt _0807918E -_080791A0: - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0x36 - ldrb r1, [r1] - adds r2, r0, 0 - adds r2, 0x35 - ldrb r2, [r2] - adds r0, 0x7E - ldrb r3, [r0] - mov r0, sp - bl sub_80790D4 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _080791E8 - cmp r0, 0x1 - bgt _080791D0 - cmp r0, 0 - beq _080791D6 - b _0807920C - .pool -_080791D0: - cmp r0, 0x2 - beq _08079200 - b _0807920C -_080791D6: - movs r0, 0x3 - movs r1, 0x3 - bl sub_807A048 - ldr r0, =0x0000bbcc - b _080791F2 - .pool -_080791E8: - movs r0, 0x3 - movs r1, 0x1 - bl sub_807A048 - ldr r0, =0x0000bbbb -_080791F2: - movs r1, 0 - bl sub_8078C10 - b _0807920C - .pool -_08079200: - movs r0, 0x3 - movs r1, 0x8 - bl sub_807A048 - movs r0, 0x1 - b _0807920E -_0807920C: - movs r0, 0 -_0807920E: - add sp, 0xC - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_8079174 - - thumb_func_start sub_8079218 -sub_8079218: @ 8079218 - push {lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _0807923A - cmp r1, 0 - bgt _08079234 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _08079268 - b _08079290 -_08079234: - cmp r1, 0x1 - beq _08079268 - b _08079290 -_0807923A: - bl sub_8079174 - cmp r0, 0 - bne _08079250 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x64 - b _08079258 - .pool -_08079250: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x11 -_08079258: - strb r1, [r0] - movs r0, 0x11 - bl PutWindowTilemap - b _08079290 - .pool -_08079268: - movs r0, 0x3 - movs r1, 0x1 - bl sub_807A048 - bl sub_80771BC - cmp r0, 0 - beq _08079280 - ldr r0, =0x0000bbcc - movs r1, 0 - bl sub_8078C10 -_08079280: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x64 - strb r1, [r0] - movs r0, 0x11 - bl PutWindowTilemap -_08079290: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079218 - - thumb_func_start sub_807929C -sub_807929C: @ 807929C - push {r4-r6,lr} - movs r5, 0 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x37 - ldrb r0, [r0] - subs r0, 0x4 - cmp r5, r0 - bge _080792D8 - movs r6, 0xC0 - lsls r6, 20 -_080792B2: - lsrs r4, r6, 24 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x1 - bl CopyWindowToVram - movs r0, 0x80 - lsls r0, 17 - adds r6, r0 - adds r5, 0x1 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x37 - ldrb r0, [r0] - subs r0, 0x4 - cmp r5, r0 - blt _080792B2 -_080792D8: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807929C - - thumb_func_start sub_80792E4 -sub_80792E4: @ 80792E4 - push {lr} - bl Menu_ProcessInputNoWrapClearOnChoose - lsls r0, 24 - asrs r1, r0, 24 - cmp r1, 0 - beq _08079306 - cmp r1, 0 - bgt _08079300 - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - beq _0807934C - b _08079356 -_08079300: - cmp r1, 0x1 - beq _0807934C - b _08079356 -_08079306: - movs r0, 0x4 - bl sub_807A19C - ldr r0, =0x0000eeaa - movs r1, 0 - bl sub_8078C10 - ldr r2, =gSprites - ldr r3, =gUnknown_0203229C - ldr r0, [r3] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r3] - adds r0, 0x6F - movs r1, 0x64 - strb r1, [r0] - bl sub_807929C - b _08079356 - .pool -_0807934C: - movs r0, 0x5 - bl PlaySE - bl sub_8078EF8 -_08079356: - pop {r0} - bx r0 - thumb_func_end sub_80792E4 - - thumb_func_start sub_807935C -sub_807935C: @ 807935C - push {r4,lr} - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _08079384 - movs r0, 0 - bl rbox_fill_rectangle - ldr r4, =gUnknown_0203229C - ldr r0, [r4] - adds r0, 0x35 - ldrb r0, [r0] - bl sub_807967C - ldr r0, [r4] - adds r0, 0x7E - ldrb r0, [r0] - bl sub_807967C -_08079384: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x7 - strb r1, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807935C - - thumb_func_start sub_8079398 -sub_8079398: @ 8079398 - push {r4,lr} - ldr r4, =gUnknown_0203229C - ldr r0, [r4] - adds r0, 0x74 - ldrh r1, [r0] - ldr r0, =0x00000505 - cmp r1, r0 - bne _080793B4 - bl sub_80787B8 - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0xE - strb r1, [r0] -_080793B4: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079398 - - thumb_func_start sub_80793C4 -sub_80793C4: @ 80793C4 - push {r4,lr} - ldr r4, =gUnknown_0203229C - ldr r1, [r4] - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0xA8 - ldrb r0, [r0] - cmp r0, 0x78 - bls _080793F8 - ldr r0, =gUnknown_0832DF8C - movs r1, 0x1 - movs r2, 0xE - movs r3, 0 - bl CreateYesNoMenu - ldr r0, [r4] - adds r0, 0xA8 - movs r1, 0 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x6F - movs r1, 0x3 - strb r1, [r0] -_080793F8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80793C4 - - thumb_func_start sub_8079408 -sub_8079408: @ 8079408 - push {r4-r6,lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807947C - movs r0, 0x5 - bl PlaySE - movs r0, 0 - bl rbox_fill_rectangle - movs r0, 0x1 - bl rbox_fill_rectangle - movs r6, 0 - movs r5, 0xE0 - lsls r5, 20 -_0807942E: - lsrs r4, r5, 24 - adds r0, r4, 0 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r4, 0 - bl rbox_fill_rectangle - movs r0, 0x80 - lsls r0, 17 - adds r5, r0 - adds r6, 0x1 - cmp r6, 0x3 - ble _0807942E - movs r0, 0 - bl sub_8079F88 - movs r0, 0x1 - bl sub_8079F88 - ldr r2, =gUnknown_0203229C - ldr r0, [r2] - adds r0, 0x6F - movs r1, 0 - strb r1, [r0] - ldr r3, =gSprites - ldr r0, [r2] - adds r0, 0x34 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] -_0807947C: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079408 - - thumb_func_start sub_8079490 -sub_8079490: @ 8079490 - push {lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _080794C4 - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _080794B4 - bl sub_800ADF8 - b _080794BA - .pool -_080794B4: - movs r0, 0xC - bl sub_800ABF4 -_080794BA: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0xC - strb r1, [r0] -_080794C4: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079490 - - thumb_func_start sub_80794CC -sub_80794CC: @ 80794CC - push {lr} - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _08079518 - bl sub_80771BC - cmp r0, 0 - beq _0807953A - bl sub_807A09C - cmp r0, 0 - bne _0807953A - ldr r0, =gUnknown_02032184 - ldr r0, [r0] - bl Free - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - bl Free - bl FreeAllWindowBuffers - bl sub_800E084 - ldr r0, =c2_8056854 - bl SetMainCallback2 - b _0807953A - .pool -_08079518: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0807953A - ldr r0, =gUnknown_02032184 - ldr r0, [r0] - bl Free - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - bl Free - bl FreeAllWindowBuffers - ldr r0, =c2_8056854 - bl SetMainCallback2 -_0807953A: - pop {r0} - bx r0 - .pool - thumb_func_end sub_80794CC - - thumb_func_start sub_8079550 -sub_8079550: @ 8079550 - push {lr} - movs r0, 0 - bl sub_801048C - lsls r0, 24 - cmp r0, 0 - bne _08079574 - bl sub_807A09C - cmp r0, 0 - bne _08079574 - bl sub_800ADF8 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0xD - strb r1, [r0] -_08079574: - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079550 - - thumb_func_start sub_807957C -sub_807957C: @ 807957C - push {lr} - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807959C - ldr r0, =0x0000bbcc - movs r1, 0 - bl sub_8078C10 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - movs r1, 0x64 - strb r1, [r0] -_0807959C: - pop {r0} - bx r0 - .pool - thumb_func_end sub_807957C - - thumb_func_start sub_80795AC -sub_80795AC: @ 80795AC - push {lr} - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x6F - ldrb r0, [r0] - cmp r0, 0x11 - bhi _08079678 - lsls r0, 2 - ldr r1, =_080795CC - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_080795CC: - .4byte _08079614 - .4byte _0807961A - .4byte _08079620 - .4byte _08079626 - .4byte _0807962C - .4byte _08079678 - .4byte _08079632 - .4byte _08079638 - .4byte _0807963E - .4byte _08079644 - .4byte _0807964A - .4byte _08079650 - .4byte _08079656 - .4byte _0807965C - .4byte _08079662 - .4byte _08079668 - .4byte _0807966E - .4byte _08079674 -_08079614: - bl sub_8078DBC - b _08079678 -_0807961A: - bl sub_8078F50 - b _08079678 -_08079620: - bl sub_807905C - b _08079678 -_08079626: - bl sub_8079218 - b _08079678 -_0807962C: - bl sub_80792E4 - b _08079678 -_08079632: - bl sub_807935C - b _08079678 -_08079638: - bl sub_8079398 - b _08079678 -_0807963E: - bl sub_8079408 - b _08079678 -_08079644: - bl sub_8078130 - b _08079678 -_0807964A: - bl sub_807816C - b _08079678 -_08079650: - bl sub_8079490 - b _08079678 -_08079656: - bl sub_80794CC - b _08079678 -_0807965C: - bl sub_80781C8 - b _08079678 -_08079662: - bl sub_80793C4 - b _08079678 -_08079668: - bl sub_8079034 - b _08079678 -_0807966E: - bl sub_8079550 - b _08079678 -_08079674: - bl sub_807957C -_08079678: - pop {r0} - bx r0 - thumb_func_end sub_80795AC - - thumb_func_start sub_807967C -sub_807967C: @ 807967C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r0, r4, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r2, r0, 24 - ldr r3, =gUnknown_0203229C - ldr r0, [r3] - adds r0, 0x74 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - bne _080796A8 - movs r0, 0x1 - strb r0, [r1] - ldr r0, [r3] - adds r0, 0x76 - adds r0, r2 - strb r4, [r0] -_080796A8: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807967C - - thumb_func_start sub_80796B4 -sub_80796B4: @ 80796B4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x68 - lsls r0, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_0203229C - ldr r4, [r0] - adds r0, r4, 0 - adds r0, 0x76 - adds r0, r7 - ldrb r0, [r0] - movs r1, 0x1 - str r1, [sp, 0x60] - cmp r0, 0x5 - bhi _080796DC - movs r2, 0 - str r2, [sp, 0x60] -_080796DC: - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - mov r10, r0 - movs r0, 0 - mov r8, r0 - adds r0, r4, 0 - adds r0, 0x74 - adds r3, r0, r7 - ldrb r0, [r3] - cmp r0, 0x2 - bne _080796FA - b _08079884 -_080796FA: - cmp r0, 0x2 - bgt _08079708 - cmp r0, 0x1 - beq _08079716 - b _08079A24 - .pool -_08079708: - cmp r0, 0x3 - bne _0807970E - b _080798BC -_0807970E: - cmp r0, 0x4 - bne _08079714 - b _080799EC -_08079714: - b _08079A24 -_08079716: - movs r5, 0 - adds r0, r4, 0 - adds r0, 0x36 - adds r0, r7 - ldr r1, [sp, 0x60] - lsls r1, 1 - mov r9, r1 - lsls r6, r7, 1 - lsls r2, r7, 4 - str r2, [sp, 0x64] - ldrb r0, [r0] - cmp r8, r0 - bcs _0807976A - ldr r0, =gSprites - mov r8, r0 - ldr r4, =gUnknown_0203229C - ldr r0, [sp, 0x60] - add r0, r9 - lsls r2, r0, 1 - movs r3, 0x4 -_0807973E: - ldr r0, [r4] - adds r1, r5, r2 - adds r0, 0x28 - adds r0, r1 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r3 - strb r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, [r4] - adds r0, 0x36 - adds r0, r7 - ldrb r0, [r0] - cmp r5, r0 - bcc _0807973E -_0807976A: - movs r5, 0 - adds r0, r6, r7 - lsls r0, 1 - adds r4, r0, 0x2 -_08079772: - lsls r0, r5, 24 - asrs r0, 24 - adds r0, r4 - lsls r0, 24 - lsrs r0, 24 - bl ClearWindowTilemap - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0x5 - bls _08079772 - ldr r1, =gSprites - mov r8, r1 - ldr r2, =gUnknown_0203229C - ldr r0, [r2] - ldr r6, [sp, 0x60] - add r6, r9 - lsls r3, r6, 1 - add r10, r3 - adds r0, 0x28 - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r0, =gUnknown_0203229C - ldr r4, [r0] - adds r4, 0x28 - add r4, r10 - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - movs r1, 0x14 - strh r1, [r0, 0x2E] - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - add r2, r8 - ldr r5, =gUnknown_0832DE24 - lsls r6, 2 - adds r0, r6, r5 - ldrb r0, [r0] - adds r3, 0x1 - lsls r3, 1 - adds r3, r5 - ldrb r1, [r3] - adds r0, r1 - asrs r0, 1 - lsls r0, 3 - adds r0, 0xE - strh r0, [r2, 0x32] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - add r1, r8 - adds r5, 0x1 - adds r6, r5 - ldrb r0, [r6] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x36] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldr r1, =sub_80D3014 - bl StoreSpriteCallbackInData6 - ldr r2, =gUnknown_0203229C - ldr r1, [r2] - adds r1, 0x74 - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x28 - add r0, r10 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - add r0, r8 - bl sub_80A6DEC - ldr r1, =gTradePartyBoxTilemap - ldr r0, [sp, 0x64] - subs r2, r0, r7 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0xF - str r0, [sp] - movs r0, 0x11 - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - movs r0, 0 - bl CopyBgTilemapBufferToVram - ldr r1, [sp, 0x60] - cmp r1, 0 - beq _08079868 - b _08079A24 -_08079868: - bl sub_8079F74 - b _08079A24 - .pool -_08079884: - ldr r2, =gSprites - ldr r1, [sp, 0x60] - lsls r0, r1, 1 - adds r0, r1 - lsls r0, 1 - add r0, r10 - adds r1, r4, 0 - adds r1, 0x28 - adds r1, r0 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, =sub_80D3014 - cmp r1, r0 - beq _080798AC - b _08079A24 -_080798AC: - movs r0, 0x3 - strb r0, [r3] - b _08079A24 - .pool -_080798BC: - ldr r1, =gTradeMovesBoxTilemap - ldr r0, [sp, 0x60] - lsls r2, r0, 4 - subs r2, r0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0xF - str r0, [sp] - movs r0, 0x11 - str r0, [sp, 0x4] - mov r0, r8 - str r0, [sp, 0x8] - movs r0, 0x1 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - ldr r6, =gSprites - ldr r1, =gUnknown_0203229C - ldr r4, [r1] - ldr r2, [sp, 0x60] - lsls r3, r2, 1 - adds r3, r2 - lsls r1, r3, 1 - mov r2, r10 - adds r0, r2, r1 - adds r4, 0x28 - adds r4, r0 - ldrb r0, [r4] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r6 - ldr r5, =gUnknown_0832DE24 - lsls r3, 2 - adds r0, r3, r5 - ldrb r0, [r0] - adds r1, 0x1 - lsls r1, 1 - adds r1, r5 - ldrb r1, [r1] - adds r0, r1 - asrs r0, 1 - lsls r0, 3 - adds r0, 0xE - strh r0, [r2, 0x20] - ldrb r0, [r4] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r5, 0x1 - adds r3, r5 - ldrb r0, [r3] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x22] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x24] - ldrb r1, [r4] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r2, r8 - strh r2, [r0, 0x26] - add r0, sp, 0x14 - ldr r1, [sp, 0x60] - mov r2, r10 - bl sub_8079A3C - lsls r4, r7, 1 - adds r5, r4, 0 - adds r5, 0xE - lsls r5, 24 - lsrs r5, 24 - lsls r0, 24 - asrs r0, 24 - movs r2, 0x50 - subs r2, r0 - lsrs r0, r2, 31 - adds r2, r0 - asrs r2, 1 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_0832DEE0 - mov r8, r0 - str r0, [sp] - movs r1, 0 - str r1, [sp, 0x4] - add r0, sp, 0x14 - str r0, [sp, 0x8] - adds r0, r5, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized3 - add r6, sp, 0x28 - adds r0, r6, 0 - ldr r1, [sp, 0x60] - mov r2, r10 - bl sub_8079AA4 - adds r4, 0xF - lsls r4, 24 - lsrs r4, 24 - movs r1, 0 - str r1, [sp] - str r1, [sp, 0x4] - mov r2, r8 - str r2, [sp, 0x8] - str r1, [sp, 0xC] - str r6, [sp, 0x10] - adds r0, r4, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0 - bl AddTextPrinterParameterized4 - adds r0, r5, 0 - bl PutWindowTilemap - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - b _08079A1A - .pool -_080799EC: - ldr r0, =gUnknown_0832DF99 - lsls r1, r7, 1 - adds r4, r1, r0 - ldrb r2, [r4] - adds r2, 0x4 - lsls r2, 24 - lsrs r2, 24 - adds r0, 0x1 - adds r1, r0 - ldrb r3, [r1] - adds r3, 0x1 - lsls r3, 24 - lsrs r3, 24 - ldrb r0, [r4] - str r0, [sp] - ldrb r0, [r1] - str r0, [sp, 0x4] - adds r0, r7, 0 - mov r1, r10 - bl sub_8079C4C - ldr r2, =gUnknown_0203229C - ldr r1, [r2] -_08079A1A: - adds r1, 0x74 - adds r1, r7 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_08079A24: - add sp, 0x68 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_80796B4 - thumb_func_start sub_8079A3C sub_8079A3C: @ 8079A3C push {r4,lr} diff --git a/include/battle_anim.h b/include/battle_anim.h index 65bd6a3937..3a6679414b 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -149,6 +149,7 @@ u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority void sub_80A749C(struct Sprite *sprite); void sub_80A6814(u8 taskId); void sub_80A8610(struct Sprite *sprite); +void sub_80A6DEC(struct Sprite *sprite); enum { diff --git a/src/trade.c b/src/trade.c index fc9b2ead0b..b58308c0e2 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1,8 +1,10 @@ #include "global.h" #include "alloc.h" +#include "battle_anim.h" #include "bg.h" #include "cable_club.h" #include "data2.h" +#include "event_data.h" #include "gpu_regs.h" #include "graphics.h" #include "international_string_util.h" @@ -10,9 +12,11 @@ #include "link.h" #include "link_rfu.h" #include "main.h" +#include "overworld.h" #include "palette.h" #include "party_menu.h" #include "pokemon_icon.h" +#include "pokemon_summary_screen.h" #include "sound.h" #include "string_util.h" #include "task.h" @@ -30,29 +34,34 @@ extern struct { u8 unk_0; u8 unk_1; u8 filler_2[0x28 - 2]; - u8 unk_28[6]; - u8 unk_2E[6]; + u8 unk_28[PARTY_SIZE]; + u8 unk_2E[PARTY_SIZE]; u8 unk_34; u8 unk_35; - u8 unk_36; - u8 unk_37; + u8 unk_36[2]; u8 unk_38[12]; u8 unk_44; - u8 filler_45[0x69 - 0x45]; + u8 unk_45[12]; + u8 filler_51[0x57 - 0x51]; + u8 unk_57[PARTY_SIZE]; + u8 filler_5D[0x69 - 0x5D]; u8 unk_69; u8 filler_6A[0x6F - 0x6A]; u8 unk_6F; u8 unk_70; u8 filler_71; u16 unk_72; - u8 unk_74; - u8 unk_75; - u8 filler_76[0x7A - 0x76]; + u8 unk_74[2]; + u8 unk_76[2]; + u8 unk_78; + u8 unk_79; u8 unk_7A; u8 unk_7B; u8 filler_7C[0x7E - 0x7C]; u8 unk_7E; - u8 filler_7F[0xA8 - 0x7F]; + u8 filler_7F; + u16 unk_80[2]; + u8 filler_84[0xA8 - 0x84]; u8 unk_A8; u8 unk_A9[11]; u8 filler_B4[0x8F0-0xB4]; @@ -75,6 +84,13 @@ extern const u8 gTradeStripesBG3Tilemap[]; extern struct MailStruct gUnknown_020321C0[PARTY_SIZE]; extern const u8 gJPText_Shedinja[]; extern const u8 gText_IsThisTradeOkay[]; +extern const u8 gUnknown_0832DCEC[][4][6]; +extern const struct MenuAction gUnknown_0832DEAC[]; +extern const struct WindowTemplate gUnknown_0832DF8C; +extern const u16 gTradePartyBoxTilemap[]; +extern const u16 gTradeMovesBoxTilemap[]; +extern const u8 gUnknown_0832DEE0[]; +extern const u8 gUnknown_0832DF99[][2]; bool32 sub_8077260(void); void sub_80773D0(void); @@ -96,6 +112,15 @@ void sub_80795AC(void); void sub_807A0C4(void); void sub_80796B4(u8); void sub_8079E44(u8); +void sub_807967C(u8); +void sub_807A048(u16, u8); +void sub_8079F74(void); +u32 sub_807A5F4(struct Pokemon *, u8, u8); +void sub_8079F88(u8); +u32 sub_807A09C(void); +u8 sub_8079A3C(u8 *, u8, u8); +void sub_8079AA4(u8 *, u8, u8); +void sub_8079C4C(u8, u8, u8, u8, u8, u8); bool8 sub_8077170(const void *a0, u32 a1) { @@ -220,8 +245,8 @@ void sub_80772A4(void) gUnknown_0203229C->unk_69 = 0; gUnknown_0203229C->unk_6F = 0; gUnknown_0203229C->unk_70 = 0; - gUnknown_0203229C->unk_74 = 0; - gUnknown_0203229C->unk_75 = 0; + gUnknown_0203229C->unk_74[0] = 0; + gUnknown_0203229C->unk_74[1] = 0; gUnknown_0203229C->unk_7A = 0; gUnknown_0203229C->unk_7B = 0; gUnknown_0203229C->unk_A8 = 0; @@ -355,10 +380,10 @@ void sub_80773D0(void) CalculateEnemyPartyCount(); SetGpuReg(REG_OFFSET_DISPCNT, 0); SetGpuReg(REG_OFFSET_BLDCNT, 0); - gUnknown_0203229C->unk_36 = gPlayerPartyCount; - gUnknown_0203229C->unk_37 = gEnemyPartyCount; + gUnknown_0203229C->unk_36[0] = gPlayerPartyCount; + gUnknown_0203229C->unk_36[1] = gEnemyPartyCount; - for (i = 0; i < gUnknown_0203229C->unk_36; i++) + for (i = 0; i < gUnknown_0203229C->unk_36[0]; i++) { struct Pokemon *mon = &gPlayerParty[i]; gUnknown_0203229C->unk_28[i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2), @@ -370,13 +395,13 @@ void sub_80773D0(void) TRUE); } - for (i = 0; i < gUnknown_0203229C->unk_37; i++) + for (i = 0; i < gUnknown_0203229C->unk_36[1]; i++) { struct Pokemon *mon = &gEnemyParty[i]; gUnknown_0203229C->unk_2E[i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), sub_80D3014, - (gUnknown_0832DE24[i + 6][0] * 8) + 14, - (gUnknown_0832DE24[i + 6][1] * 8) - 12, + (gUnknown_0832DE24[i + PARTY_SIZE][0] * 8) + 14, + (gUnknown_0832DE24[i + PARTY_SIZE][1] * 8) - 12, 1, GetMonData(mon, MON_DATA_PERSONALITY), FALSE); @@ -385,11 +410,11 @@ void sub_80773D0(void) break; case 8: sub_81B5D30(); - sub_81B5D4C(&gUnknown_0203229C->unk_36, gUnknown_0203229C->unk_28, 0); + sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28, 0); gMain.state++; break; case 9: - sub_81B5D4C(&gUnknown_0203229C->unk_36, gUnknown_0203229C->unk_28, 1); + sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28, 1); gMain.state++; break; case 10: @@ -431,7 +456,7 @@ void sub_80773D0(void) temp.tileTag += 7; CreateSprite(&temp, 247, 152, 1); - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { temp = gSpriteTemplate_832DCAC; temp.tileTag += i + 8; @@ -538,13 +563,13 @@ void sub_8077B74(void) break; case 7: CalculateEnemyPartyCount(); - gUnknown_0203229C->unk_36 = gPlayerPartyCount; - gUnknown_0203229C->unk_37 = gEnemyPartyCount; + gUnknown_0203229C->unk_36[0] = gPlayerPartyCount; + gUnknown_0203229C->unk_36[1] = gEnemyPartyCount; ClearWindowTilemap(0); sub_8079BE0(0); sub_8079BE0(1); - for (i = 0; i < gUnknown_0203229C->unk_36; i++) + for (i = 0; i < gUnknown_0203229C->unk_36[0]; i++) { struct Pokemon *mon = &gPlayerParty[i]; gUnknown_0203229C->unk_28[i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), @@ -556,13 +581,13 @@ void sub_8077B74(void) TRUE); } - for (i = 0; i < gUnknown_0203229C->unk_37; i++) + for (i = 0; i < gUnknown_0203229C->unk_36[1]; i++) { struct Pokemon *mon = &gEnemyParty[i]; gUnknown_0203229C->unk_2E[i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), sub_80D3014, - gUnknown_0832DE24[i + 6][0] * 8 + 14, - (gUnknown_0832DE24[i + 6][1] * 8) - 12, + (gUnknown_0832DE24[i + PARTY_SIZE][0] * 8) + 14, + (gUnknown_0832DE24[i + PARTY_SIZE][1] * 8) - 12, 1, GetMonData(mon, MON_DATA_PERSONALITY), FALSE); @@ -571,11 +596,11 @@ void sub_8077B74(void) break; case 8: sub_81B5D30(); - sub_81B5D4C(&gUnknown_0203229C->unk_36, gUnknown_0203229C->unk_28, 0); + sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28, 0); gMain.state++; break; case 9: - sub_81B5D4C(&gUnknown_0203229C->unk_36, gUnknown_0203229C->unk_28, 1); + sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28, 1); gMain.state++; break; case 10: @@ -797,9 +822,9 @@ void sub_8078388(void) { int i; - for (i = 0; i < 6; i++) + for (i = 0; i < PARTY_SIZE; i++) { - if (i < gUnknown_0203229C->unk_36) + if (i < gUnknown_0203229C->unk_36[0]) { gSprites[gUnknown_0203229C->unk_28[i]].invisible = FALSE; gUnknown_0203229C->unk_38[i] = TRUE; @@ -809,14 +834,14 @@ void sub_8078388(void) gUnknown_0203229C->unk_38[i] = FALSE; } - if (i < gUnknown_0203229C->unk_37) + if (i < gUnknown_0203229C->unk_36[1]) { gSprites[gUnknown_0203229C->unk_2E[i]].invisible = FALSE; - gUnknown_0203229C->unk_38[i + 6] = TRUE; + gUnknown_0203229C->unk_38[i + PARTY_SIZE] = TRUE; } else { - gUnknown_0203229C->unk_38[i + 6] = FALSE; + gUnknown_0203229C->unk_38[i + PARTY_SIZE] = FALSE; } } @@ -952,7 +977,7 @@ bool8 shedinja_maker_maybe(void) } break; case 21: - for (i = 0, mon = gEnemyParty; i < 6; mon++, i++) + for (i = 0, mon = gEnemyParty; i < PARTY_SIZE; mon++, i++) { u8 name[POKEMON_NAME_LENGTH + 1]; u16 species = GetMonData(mon, MON_DATA_SPECIES); @@ -991,3 +1016,998 @@ void sub_80787B8(void) { sub_807A308(gText_IsThisTradeOkay, (void *)(OBJ_VRAM0 + (gUnknown_0203229C->unk_72 * 32)), 24); } + +void sub_80787E0(u8 a0, u8 a1) +{ + if (a1 & 1) + { + switch (gBlockRecvBuffer[0][0]) + { + case 0xEEAA: + gUnknown_0203229C->unk_78 = 2; + break; + case 0xAABB: + gUnknown_0203229C->unk_78 = 1; + break; + case 0xBBBB: + gUnknown_0203229C->unk_7A = 1; + break; + case 0xBBCC: + gUnknown_0203229C->unk_7A = 2; + break; + } + sub_8077234(0); + } + + if (a1 & 2) + { + switch (gBlockRecvBuffer[1][0]) + { + case 0xEEAA: + gUnknown_0203229C->unk_79 = 2; + break; + case 0xAABB: + gUnknown_0203229C->unk_7E = gBlockRecvBuffer[1][1] + 6; + gUnknown_0203229C->unk_79 = 1; + break; + case 0xBBBB: + gUnknown_0203229C->unk_7B = 1; + break; + case 0xBBCC: + gUnknown_0203229C->unk_7B = 2; + break; + } + sub_8077234(1); + } +} + +void sub_8078900(u8 a0, u8 a1) +{ + if (a1 & 1) + { + switch (gBlockRecvBuffer[0][0]) + { + case 0xEEBB: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + sub_807A19C(4); + gUnknown_0203229C->unk_6F = 11; + break; + case 0xEECC: + sub_807A19C(5); + gUnknown_0203229C->unk_6F = 8; + break; + case 0xDDDD: + gUnknown_0203229C->unk_7E = gBlockRecvBuffer[0][1] + 6; + rbox_fill_rectangle(0); + sub_807967C(gUnknown_0203229C->unk_35); + sub_807967C(gUnknown_0203229C->unk_7E); + gUnknown_0203229C->unk_6F = 7; + break; + case 0xCCDD: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_0203229C->unk_6F = 10; + break; + case 0xDDEE: + sub_807A19C(1); + gUnknown_0203229C->unk_6F = 8; + } + sub_8077234(0); + } + + if (a1 & 2) + { + sub_8077234(1); + } +} + +// Can't get some weird loading behavior for unk_78/79/7A/7B for parts of this +#ifdef NONMATCHING +void sub_80789FC(void) +{ + if (gUnknown_0203229C->unk_78 && gUnknown_0203229C->unk_79) + { + if (gUnknown_0203229C->unk_78 == 1 && gUnknown_0203229C->unk_79 == 1) + { + gUnknown_0203229C->unk_6F = 6; + gUnknown_0203229C->unk_80[0] = 0xDDDD; + gUnknown_0203229C->unk_80[1] = gUnknown_0203229C->unk_35; + sub_807A048(5, 0); + gUnknown_0203229C->unk_79 = 0; + gUnknown_0203229C->unk_78 = 0; + } + else if (gUnknown_0203229C->unk_78 == 1 && gUnknown_0203229C->unk_79 == 2) + { + sub_807A19C(1); + gUnknown_0203229C->unk_80[0] = 0xEECC; + gUnknown_0203229C->unk_80[1] = 0; + sub_807A048(5, 0); + gUnknown_0203229C->unk_7B = 0; + gUnknown_0203229C->unk_7A = 0; + gUnknown_0203229C->unk_79 = 0; + gUnknown_0203229C->unk_78 = 0; + gUnknown_0203229C->unk_6F = 8; + } + else if (gUnknown_0203229C->unk_78 == 2 && gUnknown_0203229C->unk_79 == 1) + { + sub_807A19C(5); + gUnknown_0203229C->unk_80[0] = 0xDDEE; + gUnknown_0203229C->unk_80[1] = 0; + sub_807A048(5, 0); + gUnknown_0203229C->unk_7B = 0; + gUnknown_0203229C->unk_7A = 0; + gUnknown_0203229C->unk_79 = 0; + gUnknown_0203229C->unk_78 = 0; + gUnknown_0203229C->unk_6F = 8; + } + else if (gUnknown_0203229C->unk_78 == 2 && gUnknown_0203229C->unk_79 == 2) + { + gUnknown_0203229C->unk_80[0] = 0xEEBB; + gUnknown_0203229C->unk_80[1] = 0; + sub_807A048(5, 0); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_0203229C->unk_79 = 0; + gUnknown_0203229C->unk_78 = 0; + gUnknown_0203229C->unk_6F = 11; + } + } + + if (gUnknown_0203229C->unk_7A && gUnknown_0203229C->unk_7B) + { + if (gUnknown_0203229C->unk_7A == 1 && gUnknown_0203229C->unk_7B == 1) + { + gUnknown_0203229C->unk_80[0] = 0xCCDD; + gUnknown_0203229C->unk_80[1] = 0; + sub_807A048(5, 0); + gUnknown_0203229C->unk_7A = 0; + gUnknown_0203229C->unk_7B = 0; + gUnknown_0203229C->unk_6F = 9; + } + + if (gUnknown_0203229C->unk_7A == 2 || gUnknown_0203229C->unk_7B == 2) + { + sub_807A19C(1); + gUnknown_0203229C->unk_80[0] = 0xDDEE; + gUnknown_0203229C->unk_80[1] = 0; + sub_807A048(5, 0); + gUnknown_0203229C->unk_7A = 0; + gUnknown_0203229C->unk_7B = 0; + gUnknown_0203229C->unk_6F = 8; + } + } +} +#else +NAKED +void sub_80789FC(void) +{ + asm_unified("push {r4-r6,lr}\n\ + sub sp, 0x4\n\ + ldr r6, =gUnknown_0203229C\n\ + ldr r2, [r6]\n\ + adds r1, r2, 0\n\ + adds r1, 0x78\n\ + ldrb r0, [r1]\n\ + cmp r0, 0\n\ + bne _08078A10\n\ + b _08078B44\n\ +_08078A10:\n\ + adds r0, r2, 0\n\ + adds r0, 0x79\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + bne _08078A1C\n\ + b _08078B44\n\ +_08078A1C:\n\ + ldrh r1, [r1]\n\ + ldr r0, =0x00000101\n\ + cmp r1, r0\n\ + bne _08078A64\n\ + adds r1, r2, 0\n\ + adds r1, 0x6F\n\ + movs r0, 0x6\n\ + strb r0, [r1]\n\ + ldr r2, [r6]\n\ + adds r1, r2, 0\n\ + adds r1, 0x80\n\ + movs r4, 0\n\ + ldr r0, =0x0000dddd\n\ + strh r0, [r1]\n\ + adds r0, r2, 0\n\ + adds r0, 0x35\n\ + ldrb r1, [r0]\n\ + adds r0, 0x4D\n\ + strh r1, [r0]\n\ + movs r0, 0x5\n\ + movs r1, 0\n\ + bl sub_807A048\n\ + ldr r0, [r6]\n\ + adds r2, r0, 0\n\ + adds r2, 0x79\n\ + strb r4, [r2]\n\ + adds r0, 0x78\n\ + strb r4, [r0]\n\ + b _08078B44\n\ + .pool\n\ +_08078A64:\n\ + ldr r0, =0x00000201\n\ + cmp r1, r0\n\ + bne _08078AB4\n\ + movs r0, 0x1\n\ + bl sub_807A19C\n\ + ldr r1, [r6]\n\ + adds r2, r1, 0\n\ + adds r2, 0x80\n\ + movs r4, 0\n\ + movs r3, 0\n\ + ldr r0, =0x0000eecc\n\ + strh r0, [r2]\n\ + adds r1, 0x82\n\ + strh r3, [r1]\n\ + movs r0, 0x5\n\ + movs r1, 0\n\ + bl sub_807A048\n\ + ldr r0, [r6]\n\ + adds r1, r0, 0\n\ + adds r1, 0x7B\n\ + strb r4, [r1]\n\ + adds r0, 0x7A\n\ + strb r4, [r0]\n\ + ldr r0, [r6]\n\ + adds r1, r0, 0\n\ + adds r1, 0x79\n\ + strb r4, [r1]\n\ + adds r0, 0x78\n\ + strb r4, [r0]\n\ + ldr r0, [r6]\n\ + adds r0, 0x6F\n\ + movs r1, 0x8\n\ + b _08078B42\n\ + .pool\n\ +_08078AB4:\n\ + movs r0, 0x81\n\ + lsls r0, 1\n\ + cmp r1, r0\n\ + bne _08078B00\n\ + movs r0, 0x5\n\ + bl sub_807A19C\n\ + ldr r1, [r6]\n\ + adds r2, r1, 0\n\ + adds r2, 0x80\n\ + movs r4, 0\n\ + movs r3, 0\n\ + ldr r0, =0x0000ddee\n\ + strh r0, [r2]\n\ + adds r1, 0x82\n\ + strh r3, [r1]\n\ + movs r0, 0x5\n\ + movs r1, 0\n\ + bl sub_807A048\n\ + ldr r0, [r6]\n\ + adds r1, r0, 0\n\ + adds r1, 0x7B\n\ + strb r4, [r1]\n\ + adds r0, 0x7A\n\ + strb r4, [r0]\n\ + ldr r0, [r6]\n\ + adds r1, r0, 0\n\ + adds r1, 0x79\n\ + strb r4, [r1]\n\ + adds r0, 0x78\n\ + strb r4, [r0]\n\ + ldr r0, [r6]\n\ + adds r0, 0x6F\n\ + movs r1, 0x8\n\ + b _08078B42\n\ + .pool\n\ +_08078B00:\n\ + ldr r0, =0x00000202\n\ + cmp r1, r0\n\ + bne _08078B44\n\ + adds r1, r2, 0\n\ + adds r1, 0x80\n\ + movs r5, 0\n\ + movs r4, 0\n\ + ldr r0, =0x0000eebb\n\ + strh r0, [r1]\n\ + adds r0, r2, 0\n\ + adds r0, 0x82\n\ + strh r4, [r0]\n\ + movs r0, 0x5\n\ + movs r1, 0\n\ + bl sub_807A048\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + str r4, [sp]\n\ + movs r1, 0\n\ + movs r2, 0\n\ + movs r3, 0x10\n\ + bl BeginNormalPaletteFade\n\ + ldr r0, [r6]\n\ + adds r1, r0, 0\n\ + adds r1, 0x79\n\ + strb r5, [r1]\n\ + adds r0, 0x78\n\ + strb r5, [r0]\n\ + ldr r0, [r6]\n\ + adds r0, 0x6F\n\ + movs r1, 0xB\n\ +_08078B42:\n\ + strb r1, [r0]\n\ +_08078B44:\n\ + ldr r5, =gUnknown_0203229C\n\ + ldr r3, [r5]\n\ + adds r1, r3, 0\n\ + adds r1, 0x7A\n\ + ldrb r0, [r1]\n\ + cmp r0, 0\n\ + beq _08078BDC\n\ + adds r0, r3, 0\n\ + adds r0, 0x7B\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _08078BDC\n\ + ldrh r1, [r1]\n\ + ldr r0, =0x00000101\n\ + cmp r1, r0\n\ + bne _08078B92\n\ + adds r1, r3, 0\n\ + adds r1, 0x80\n\ + movs r4, 0\n\ + movs r2, 0\n\ + ldr r0, =0x0000ccdd\n\ + strh r0, [r1]\n\ + adds r0, r3, 0\n\ + adds r0, 0x82\n\ + strh r2, [r0]\n\ + movs r0, 0x5\n\ + movs r1, 0\n\ + bl sub_807A048\n\ + ldr r0, [r5]\n\ + adds r0, 0x7A\n\ + strb r4, [r0]\n\ + ldr r0, [r5]\n\ + adds r0, 0x7B\n\ + strb r4, [r0]\n\ + ldr r0, [r5]\n\ + adds r0, 0x6F\n\ + movs r1, 0x9\n\ + strb r1, [r0]\n\ +_08078B92:\n\ + ldr r1, [r5]\n\ + adds r0, r1, 0\n\ + adds r0, 0x7A\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x2\n\ + beq _08078BA8\n\ + adds r0, r1, 0\n\ + adds r0, 0x7B\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x2\n\ + bne _08078BDC\n\ +_08078BA8:\n\ + movs r0, 0x1\n\ + bl sub_807A19C\n\ + ldr r1, [r5]\n\ + adds r2, r1, 0\n\ + adds r2, 0x80\n\ + movs r4, 0\n\ + movs r3, 0\n\ + ldr r0, =0x0000ddee\n\ + strh r0, [r2]\n\ + adds r1, 0x82\n\ + strh r3, [r1]\n\ + movs r0, 0x5\n\ + movs r1, 0\n\ + bl sub_807A048\n\ + ldr r0, [r5]\n\ + adds r0, 0x7A\n\ + strb r4, [r0]\n\ + ldr r0, [r5]\n\ + adds r0, 0x7B\n\ + strb r4, [r0]\n\ + ldr r0, [r5]\n\ + adds r0, 0x6F\n\ + movs r1, 0x8\n\ + strb r1, [r0]\n\ +_08078BDC:\n\ + add sp, 0x4\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n"); +} +#endif // NONMATCHING + +void sub_8078BFC(u16 *a0, u16 a1, u16 a2) +{ + a0[0] = a1; + a0[1] = a2; + sub_807A048(5, 0); +} + +void sub_8078C10(u16 a0, u16 a1) +{ + sub_8078BFC(gUnknown_0203229C->unk_80, a0, a1); +} + +void sub_8078C34(void) +{ + u8 id = GetMultiplayerId(); + u8 unk; + + if ((unk = sub_8077200())) + { + if (id == 0) + { + sub_80787E0(id, unk); + } + else + { + sub_8078900(id, unk); + } + } + + if (id == 0) + { + sub_80789FC(); + } +} + +u8 sub_8078C6C(u8 a0, u8 a1) +{ + int i; + u8 ret = 0; + + for (i = 0; i < PARTY_SIZE; i++) + { + if (gUnknown_0203229C->unk_38[gUnknown_0832DCEC[a0][a1][i]] == 1) + { + ret = gUnknown_0832DCEC[a0][a1][i]; + break; + } + } + + return ret; +} + +void sub_8078CB8(u8 *a0, u8 a1) +{ + u8 unk = sub_8078C6C(*a0, a1); + + if (unk == 12) + { + StartSpriteAnim(&gSprites[gUnknown_0203229C->unk_34], 1); + gSprites[gUnknown_0203229C->unk_34].pos1.x = 224; + gSprites[gUnknown_0203229C->unk_34].pos1.y = 160; + } + else + { + StartSpriteAnim(&gSprites[gUnknown_0203229C->unk_34], 0); + gSprites[gUnknown_0203229C->unk_34].pos1.x = gUnknown_0832DE24[unk][0] * 8 + 32; + gSprites[gUnknown_0203229C->unk_34].pos1.y = gUnknown_0832DE24[unk][1] * 8; + } + + if (*a0 != unk) + { + PlaySE(SE_SELECT); + } + + *a0 = unk; +} + +void sub_8078D78(void) +{ + sub_807A19C(0); + gUnknown_0203229C->unk_6F = 100; + + if (GetMultiplayerId() == 1) + { + sub_8078C10(0xAABB, gUnknown_0203229C->unk_35); + } + else + { + gUnknown_0203229C->unk_78 = 1; + } +} + +void sub_8078DBC(void) +{ + if (gMain.newAndRepeatedKeys & DPAD_UP) + { + sub_8078CB8(&gUnknown_0203229C->unk_35, 0); + } + else if (gMain.newAndRepeatedKeys & DPAD_DOWN) + { + sub_8078CB8(&gUnknown_0203229C->unk_35, 1); + } + else if (gMain.newAndRepeatedKeys & DPAD_LEFT) + { + sub_8078CB8(&gUnknown_0203229C->unk_35, 2); + } + else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) + { + sub_8078CB8(&gUnknown_0203229C->unk_35, 3); + } + + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + + if (gUnknown_0203229C->unk_35 < 6) + { + sub_8098858(1, 1, 14); + FillWindowPixelBuffer(1, 0x11); + PrintMenuTable(1, 2, gUnknown_0832DEAC); + InitMenuInUpperLeftCornerPlaySoundWhenAPressed(1, 2, 0); + PutWindowTilemap(1); + CopyWindowToVram(1, 3); + gUnknown_0203229C->unk_6F = 1; + } + else if (gUnknown_0203229C->unk_35 < 12) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_0203229C->unk_6F = 2; + } + else if (gUnknown_0203229C->unk_35 == 12) + { + CreateYesNoMenu(&gUnknown_0832DF8C, 1, 14, 0); + gUnknown_0203229C->unk_6F = 4; + sub_807A308(gUnknown_0832DE94[4], (void *)(OBJ_VRAM0 + gUnknown_0203229C->unk_72 * 32), 24); + } + } +} + +void sub_8078EF8(void) +{ + sub_8079F74(); + gUnknown_0203229C->unk_6F = 0; + gSprites[gUnknown_0203229C->unk_34].invisible = FALSE; + sub_807A308(gUnknown_0832DE94[1], (void *)(OBJ_VRAM0 + gUnknown_0203229C->unk_72 * 32), 24); +} + +void sub_8078F50(void) +{ + switch (Menu_ProcessInputNoWrap()) + { + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + sub_8078EF8(); + break; + case MENU_NOTHING_CHOSEN: + break; + case 0: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_0203229C->unk_6F = 2; + break; + case 1: + switch (sub_807A5F4(gPlayerParty, gPlayerPartyCount, gUnknown_0203229C->unk_35)) + { + case 0: + sub_8078D78(); + gSprites[gUnknown_0203229C->unk_34].invisible = TRUE; + break; + case 1: + sub_807A048(3, 3); + gUnknown_0203229C->unk_6F = 8; + break; + case 2: + case 4: + sub_807A048(3, 6); + gUnknown_0203229C->unk_6F = 8; + break; + case 3: + case 5: + sub_807A048(3, 7); + gUnknown_0203229C->unk_6F = 8; + break; + } + break; + } +} + +void sub_8079034(void) +{ + if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) + { + PlaySE(SE_SELECT); + sub_8078EF8(); + } +} + +void sub_807905C(void) +{ + if (!gPaletteFade.active) + { + if (gUnknown_0203229C->unk_35 < PARTY_SIZE) + { + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203229C->unk_35, gUnknown_0203229C->unk_36[0] - 1, sub_8077B74); + } + else + { + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gEnemyParty, gUnknown_0203229C->unk_35 - PARTY_SIZE, gUnknown_0203229C->unk_36[1] - 1, sub_8077B74); + } + FreeAllWindowBuffers(); + } +} + +u8 sub_80790D4(u8 *a0, u8 a1, u8 a2, u8 a3) +{ + int i; + u16 species; + u8 res = 0; + + for (i = 0; i < a1; i++) + { + if (a2 != i) + { + res += a0[i]; + } + } + + a3 %= PARTY_SIZE; + species = GetMonData(&gEnemyParty[a3], MON_DATA_SPECIES); + + if (species == SPECIES_DEOXYS || species == SPECIES_MEW) + { + if (!GetMonData(&gEnemyParty[a3], MON_DATA_OBEDIENCE)) + { + return 2; + } + } + + if (!IsNationalPokedexEnabled()) + { + if (gUnknown_0203229C->unk_57[a3] || !IsSpeciesInHoennDex(species)) + { + return 2; + } + } + + if (res) + { + res = 1; + } + + return res; +} + +bool32 sub_8079174(void) +{ + int i; + u8 arr[12]; + + for (i = 0; i < gUnknown_0203229C->unk_36[0]; i++) + { + arr[i] = gUnknown_0203229C->unk_45[i]; + } + + switch (sub_80790D4(arr, gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_35, gUnknown_0203229C->unk_7E)) + { + case 0: + sub_807A048(3, 3); + sub_8078C10(0xBBCC, 0); + break; + case 1: + sub_807A048(3, 1); + sub_8078C10(0xBBBB, 0); + break; + case 2: + sub_807A048(3, 8); + return TRUE; + } + + return FALSE; +} + +void sub_8079218(void) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + if (!sub_8079174()) + { + gUnknown_0203229C->unk_6F = 100; + } + else + { + gUnknown_0203229C->unk_6F = 17; + } + PutWindowTilemap(17); + break; + case 1: + case MENU_B_PRESSED: + sub_807A048(3, 1); + if (sub_80771BC()) + { + sub_8078C10(0xBBCC, 0); + } + gUnknown_0203229C->unk_6F = 100; + PutWindowTilemap(17); + break; + } +} + +void sub_807929C(void) +{ + int i; + + for (i = 0; i < gUnknown_0203229C->unk_36[1] - 4; i++) + { + PutWindowTilemap(i + 12); + CopyWindowToVram(i + 12, 1); + } +} + +void sub_80792E4(void) +{ + switch (Menu_ProcessInputNoWrapClearOnChoose()) + { + case 0: + sub_807A19C(4); + sub_8078C10(0xEEAA, 0); + gSprites[gUnknown_0203229C->unk_34].invisible = TRUE; + gUnknown_0203229C->unk_6F = 100; + sub_807929C(); + break; + case 1: + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + sub_8078EF8(); + break; + } +} + +void sub_807935C(void) +{ + if (GetMultiplayerId() == 0) + { + rbox_fill_rectangle(0); + sub_807967C(gUnknown_0203229C->unk_35); + sub_807967C(gUnknown_0203229C->unk_7E); + } + gUnknown_0203229C->unk_6F = 7; +} + +void sub_8079398(void) +{ + if (gUnknown_0203229C->unk_74[0] == 5 && gUnknown_0203229C->unk_74[1] == 5) + { + sub_80787B8(); + gUnknown_0203229C->unk_6F = 14; + } +} + +void sub_80793C4(void) +{ + gUnknown_0203229C->unk_A8++; + + if (gUnknown_0203229C->unk_A8 > 120) + { + CreateYesNoMenu(&gUnknown_0832DF8C, 1, 14, 0); + gUnknown_0203229C->unk_A8 = 0; + gUnknown_0203229C->unk_6F = 3; + } +} + +void sub_8079408(void) +{ + int i; + + if (gMain.newKeys & A_BUTTON) + { + PlaySE(SE_SELECT); + rbox_fill_rectangle(0); + rbox_fill_rectangle(1); + + for (i = 0; i < 4; i++) + { + FillWindowPixelBuffer(i + 14, 0); + rbox_fill_rectangle(i + 14); + } + + sub_8079F88(0); + sub_8079F88(1); + gUnknown_0203229C->unk_6F = 0; + gSprites[gUnknown_0203229C->unk_34].invisible = FALSE; + } +} + +void sub_8079490(void) +{ + if (!gPaletteFade.active) + { + if (gWirelessCommType) + { + sub_800ADF8(); + } + else + { + sub_800ABF4(12); + } + + gUnknown_0203229C->unk_6F = 12; + } +} + +void sub_80794CC(void) +{ + if (gWirelessCommType) + { + if (sub_80771BC() && sub_807A09C() == 0) + { + Free(gUnknown_02032184); + Free(gUnknown_0203229C); + FreeAllWindowBuffers(); + sub_800E084(); + SetMainCallback2(c2_8056854); + } + } + else + { + if (gReceivedRemoteLinkPlayers == 0) + { + Free(gUnknown_02032184); + Free(gUnknown_0203229C); + FreeAllWindowBuffers(); + SetMainCallback2(c2_8056854); + } + } +} + +void sub_8079550(void) +{ + if (!sub_801048C(FALSE) && sub_807A09C() == 0) + { + sub_800ADF8(); + gUnknown_0203229C->unk_6F = 13; + } +} + +void sub_807957C(void) +{ + if (gMain.newKeys & A_BUTTON) + { + sub_8078C10(0xBBCC, 0); + gUnknown_0203229C->unk_6F = 100; + } +} + +void sub_80795AC(void) +{ + switch (gUnknown_0203229C->unk_6F) + { + case 0: + sub_8078DBC(); + break; + case 1: + sub_8078F50(); + break; + case 2: + sub_807905C(); + break; + case 3: + sub_8079218(); + break; + case 4: + sub_80792E4(); + break; + case 6: + sub_807935C(); + break; + case 7: + sub_8079398(); + break; + case 8: + sub_8079408(); + break; + case 9: + sub_8078130(); + break; + case 10: + sub_807816C(); + break; + case 11: + sub_8079490(); + break; + case 12: + sub_80794CC(); + break; + case 13: + sub_80781C8(); + break; + case 14: + sub_80793C4(); + break; + case 15: + sub_8079034(); + break; + case 16: + sub_8079550(); + break; + case 17: + sub_807957C(); + break; + } +} + +void sub_807967C(u8 a0) +{ + u8 whichTeam = a0 / PARTY_SIZE; + + if (gUnknown_0203229C->unk_74[whichTeam] == 0) + { + gUnknown_0203229C->unk_74[whichTeam] = 1; + gUnknown_0203229C->unk_76[whichTeam] = a0; + } +} + +void sub_80796B4(u8 a0) +{ + s8 test; + u8 sp14[20]; + u8 sp28[48]; + u8 i; + u8 r10 = gUnknown_0203229C->unk_76[a0]; + u32 sp60; + sp60 = 1; + if (gUnknown_0203229C->unk_76[a0] < 6) + sp60 = 0; + r10 %= 6; + + switch (gUnknown_0203229C->unk_74[a0]) + { + case 1: + for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) + { + gSprites[gUnknown_0203229C->unk_28[i + (sp60 * 6)]].invisible = TRUE; + } + + for (i = 0; i < 6; i++) + { + ClearWindowTilemap(i + (a0 * 6 + 2)); + } + + gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].invisible = FALSE; + gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].data[0] = 20; + gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].data[2] = (gUnknown_0832DE24[sp60 * 6][0] + gUnknown_0832DE24[sp60 * 6 + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].data[4] = (gUnknown_0832DE24[sp60 * 6][1] * 8) - 12; + StoreSpriteCallbackInData6(&gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]], sub_80D3014); + gUnknown_0203229C->unk_74[a0]++; + sub_80A6DEC(&gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]]); + CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(0); + + if (!sp60) + { + sub_8079F74(); + } + break; + case 2: + if (gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].callback == sub_80D3014) + { + gUnknown_0203229C->unk_74[a0] = 3; + } + break; + case 3: + CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMovesBoxTilemap, sp60 * 15, 0, 15, 17, 0); + CopyBgTilemapBufferToVram(1); + gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].pos1.x = (gUnknown_0832DE24[sp60 * 6][0] + gUnknown_0832DE24[sp60 * 6 + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].pos1.y = (gUnknown_0832DE24[sp60 * 6][1] * 8) - 12; + gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].pos2.x = 0; + gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].pos2.y = 0; + test = sub_8079A3C(sp14, sp60, r10); + AddTextPrinterParameterized3((a0 * 2) + 14, 0, (80 - test) / 2, 4, gUnknown_0832DEE0, 0, sp14); + sub_8079AA4(sp28, sp60, r10); + AddTextPrinterParameterized4((a0 * 2) + 15, 1, 0, 0, 0, 0, gUnknown_0832DEE0, 0, sp28); + PutWindowTilemap((a0 * 2) + 14); + CopyWindowToVram((a0 * 2) + 14, 3); + PutWindowTilemap((a0 * 2) + 15); + CopyWindowToVram((a0 * 2) + 15, 3); + gUnknown_0203229C->unk_74[a0]++; + break; + case 4: + sub_8079C4C(a0, r10, gUnknown_0832DF99[a0][0] + 4, gUnknown_0832DF99[a0][1] + 1, gUnknown_0832DF99[a0][0], gUnknown_0832DF99[a0][1]); + gUnknown_0203229C->unk_74[a0]++; + break; + } +} From a39783a637533814430fe4fcda5ad144839b8c12 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sat, 22 Dec 2018 01:26:53 -0600 Subject: [PATCH 04/53] More trade.c --- asm/trade.s | 196 -------------------- src/trade.c | 506 +++++++++++++++++++++++++++++++++++++++++++++++++++- 2 files changed, 502 insertions(+), 200 deletions(-) diff --git a/asm/trade.s b/asm/trade.s index 64acefe3f7..cedd723b98 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6,202 +6,6 @@ .text - thumb_func_start sub_8079A3C -sub_8079A3C: @ 8079A3C - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r1, 24 - lsls r2, 24 - lsrs r2, 24 - cmp r1, 0 - bne _08079A64 - movs r0, 0x64 - muls r0, r2 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - b _08079A74 - .pool -_08079A64: - movs r0, 0x64 - muls r0, r2 - ldr r1, =gEnemyParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData -_08079A74: - adds r0, r4, 0 - mov r1, sp - bl StringCopy10 - movs r0, 0 - movs r1, 0x2 - bl GetFontAttribute - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0 - adds r1, r4, 0 - bl GetStringWidth - lsls r0, 24 - lsrs r0, 24 - add sp, 0xC - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8079A3C - - thumb_func_start sub_8079AA4 -sub_8079AA4: @ 8079AA4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x8 - adds r6, r0, 0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - lsls r0, r7, 1 - adds r0, r7 - lsls r0, 1 - adds r0, r2, r0 - adds r1, 0x51 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _08079B5C - movs r4, 0 - movs r0, 0x64 - adds r5, r2, 0 - muls r5, r0 - ldr r0, =gPlayerParty - mov r9, r0 - ldr r2, =gEnemyParty - mov r8, r2 -_08079ADE: - cmp r7, 0 - bne _08079AF8 - adds r1, r4, 0 - adds r1, 0xD - mov r2, r9 - b _08079AFE - .pool -_08079AF8: - adds r1, r4, 0 - adds r1, 0xD - mov r2, r8 -_08079AFE: - adds r0, r5, r2 - movs r2, 0 - bl GetMonData - lsls r1, r4, 1 - add r1, sp - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _08079ADE - ldr r1, =gText_EmptyString7 - adds r0, r6, 0 - bl StringCopy - movs r4, 0 -_08079B20: - lsls r0, r4, 1 - mov r2, sp - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _08079B3C - adds r1, r0, 0 - movs r0, 0xD - muls r1, r0 - ldr r0, =gMoveNames - adds r1, r0 - adds r0, r6, 0 - bl StringAppend -_08079B3C: - adds r0, r6, 0 - ldr r1, =gText_NewLine3 - bl StringAppend - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0x3 - bls _08079B20 - b _08079B6C - .pool -_08079B5C: - ldr r1, =gText_EmptyString7 - adds r0, r6, 0 - bl StringCopy - ldr r1, =gText_FourQuestionMarks - adds r0, r6, 0 - bl StringAppend -_08079B6C: - add sp, 0x8 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079AA4 - - thumb_func_start sub_8079B84 -sub_8079B84: @ 8079B84 - push {r4,r5,lr} - sub sp, 0xC - adds r4, r1, 0 - adds r5, r2, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 1 - adds r1, r0 - lsls r1, 1 - adds r1, 0x2 - lsls r4, 24 - asrs r4, 24 - adds r4, r1 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - adds r1, r5, 0 - movs r2, 0x40 - bl GetStringCenterAlignXOffset - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldr r0, =gUnknown_0832DEE0 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r5, [sp, 0x8] - adds r0, r4, 0 - movs r1, 0 - movs r3, 0x4 - bl AddTextPrinterParameterized3 - adds r0, r4, 0 - bl PutWindowTilemap - adds r0, r4, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079B84 - thumb_func_start sub_8079BE0 sub_8079BE0: @ 8079BE0 push {r4-r7,lr} diff --git a/src/trade.c b/src/trade.c index b58308c0e2..212074513a 100644 --- a/src/trade.c +++ b/src/trade.c @@ -25,6 +25,7 @@ #include "trainer_card.h" #include "trade.h" #include "window.h" +#include "constants/moves.h" #include "constants/species.h" #include "constants/songs.h" #include "constants/rgb.h" @@ -42,8 +43,7 @@ extern struct { u8 unk_38[12]; u8 unk_44; u8 unk_45[12]; - u8 filler_51[0x57 - 0x51]; - u8 unk_57[PARTY_SIZE]; + u8 unk_51[2][PARTY_SIZE]; u8 filler_5D[0x69 - 0x5D]; u8 unk_69; u8 filler_6A[0x6F - 0x6A]; @@ -91,6 +91,9 @@ extern const u16 gTradePartyBoxTilemap[]; extern const u16 gTradeMovesBoxTilemap[]; extern const u8 gUnknown_0832DEE0[]; extern const u8 gUnknown_0832DF99[][2]; +extern const u8 gText_EmptyString7[]; +extern const u8 gText_NewLine3[]; +extern const u8 gText_FourQuestionMarks[]; bool32 sub_8077260(void); void sub_80773D0(void); @@ -118,7 +121,7 @@ void sub_8079F74(void); u32 sub_807A5F4(struct Pokemon *, u8, u8); void sub_8079F88(u8); u32 sub_807A09C(void); -u8 sub_8079A3C(u8 *, u8, u8); +u8 sub_8079A3C(u8 *, bool8, u8); void sub_8079AA4(u8 *, u8, u8); void sub_8079C4C(u8, u8, u8, u8, u8, u8); @@ -1656,7 +1659,7 @@ u8 sub_80790D4(u8 *a0, u8 a1, u8 a2, u8 a3) if (!IsNationalPokedexEnabled()) { - if (gUnknown_0203229C->unk_57[a3] || !IsSpeciesInHoennDex(species)) + if (gUnknown_0203229C->unk_51[1][a3] || !IsSpeciesInHoennDex(species)) { return 2; } @@ -1940,6 +1943,8 @@ void sub_807967C(u8 a0) } } +// Brain hurty +#ifdef NONMATCHING void sub_80796B4(u8 a0) { s8 test; @@ -2011,3 +2016,496 @@ void sub_80796B4(u8 a0) break; } } +#else +NAKED +void sub_80796B4(u8 a0) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x68\n\ + lsls r0, 24\n\ + lsrs r7, r0, 24\n\ + ldr r0, =gUnknown_0203229C\n\ + ldr r4, [r0]\n\ + adds r0, r4, 0\n\ + adds r0, 0x76\n\ + adds r0, r7\n\ + ldrb r0, [r0]\n\ + movs r1, 0x1\n\ + str r1, [sp, 0x60]\n\ + cmp r0, 0x5\n\ + bhi _080796DC\n\ + movs r2, 0\n\ + str r2, [sp, 0x60]\n\ +_080796DC:\n\ + movs r1, 0x6\n\ + bl __umodsi3\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r10, r0\n\ + movs r0, 0\n\ + mov r8, r0\n\ + adds r0, r4, 0\n\ + adds r0, 0x74\n\ + adds r3, r0, r7\n\ + ldrb r0, [r3]\n\ + cmp r0, 0x2\n\ + bne _080796FA\n\ + b _08079884\n\ +_080796FA:\n\ + cmp r0, 0x2\n\ + bgt _08079708\n\ + cmp r0, 0x1\n\ + beq _08079716\n\ + b _08079A24\n\ + .pool\n\ +_08079708:\n\ + cmp r0, 0x3\n\ + bne _0807970E\n\ + b _080798BC\n\ +_0807970E:\n\ + cmp r0, 0x4\n\ + bne _08079714\n\ + b _080799EC\n\ +_08079714:\n\ + b _08079A24\n\ +_08079716:\n\ + movs r5, 0\n\ + adds r0, r4, 0\n\ + adds r0, 0x36\n\ + adds r0, r7\n\ + ldr r1, [sp, 0x60]\n\ + lsls r1, 1\n\ + mov r9, r1\n\ + lsls r6, r7, 1\n\ + lsls r2, r7, 4\n\ + str r2, [sp, 0x64]\n\ + ldrb r0, [r0]\n\ + cmp r8, r0\n\ + bcs _0807976A\n\ + ldr r0, =gSprites\n\ + mov r8, r0\n\ + ldr r4, =gUnknown_0203229C\n\ + ldr r0, [sp, 0x60]\n\ + add r0, r9\n\ + lsls r2, r0, 1\n\ + movs r3, 0x4\n\ +_0807973E:\n\ + ldr r0, [r4]\n\ + adds r1, r5, r2\n\ + adds r0, 0x28\n\ + adds r0, r1\n\ + ldrb r1, [r0]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + add r0, r8\n\ + adds r0, 0x3E\n\ + ldrb r1, [r0]\n\ + orrs r1, r3\n\ + strb r1, [r0]\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + ldr r0, [r4]\n\ + adds r0, 0x36\n\ + adds r0, r7\n\ + ldrb r0, [r0]\n\ + cmp r5, r0\n\ + bcc _0807973E\n\ +_0807976A:\n\ + movs r5, 0\n\ + adds r0, r6, r7\n\ + lsls r0, 1\n\ + adds r4, r0, 0x2\n\ +_08079772:\n\ + lsls r0, r5, 24\n\ + asrs r0, 24\n\ + adds r0, r4\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + bl ClearWindowTilemap\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, 0x5\n\ + bls _08079772\n\ + ldr r1, =gSprites\n\ + mov r8, r1\n\ + ldr r2, =gUnknown_0203229C\n\ + ldr r0, [r2]\n\ + ldr r6, [sp, 0x60]\n\ + add r6, r9\n\ + lsls r3, r6, 1\n\ + add r10, r3\n\ + adds r0, 0x28\n\ + add r0, r10\n\ + ldrb r1, [r0]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + add r0, r8\n\ + adds r0, 0x3E\n\ + ldrb r2, [r0]\n\ + movs r1, 0x5\n\ + negs r1, r1\n\ + ands r1, r2\n\ + strb r1, [r0]\n\ + ldr r0, =gUnknown_0203229C\n\ + ldr r4, [r0]\n\ + adds r4, 0x28\n\ + add r4, r10\n\ + ldrb r1, [r4]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + add r0, r8\n\ + movs r1, 0x14\n\ + strh r1, [r0, 0x2E]\n\ + ldrb r0, [r4]\n\ + lsls r2, r0, 4\n\ + adds r2, r0\n\ + lsls r2, 2\n\ + add r2, r8\n\ + ldr r5, =gUnknown_0832DE24\n\ + lsls r6, 2\n\ + adds r0, r6, r5\n\ + ldrb r0, [r0]\n\ + adds r3, 0x1\n\ + lsls r3, 1\n\ + adds r3, r5\n\ + ldrb r1, [r3]\n\ + adds r0, r1\n\ + asrs r0, 1\n\ + lsls r0, 3\n\ + adds r0, 0xE\n\ + strh r0, [r2, 0x32]\n\ + ldrb r0, [r4]\n\ + lsls r1, r0, 4\n\ + adds r1, r0\n\ + lsls r1, 2\n\ + add r1, r8\n\ + adds r5, 0x1\n\ + adds r6, r5\n\ + ldrb r0, [r6]\n\ + lsls r0, 3\n\ + subs r0, 0xC\n\ + strh r0, [r1, 0x36]\n\ + ldrb r1, [r4]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + add r0, r8\n\ + ldr r1, =sub_80D3014\n\ + bl StoreSpriteCallbackInData6\n\ + ldr r2, =gUnknown_0203229C\n\ + ldr r1, [r2]\n\ + adds r1, 0x74\n\ + adds r1, r7\n\ + ldrb r0, [r1]\n\ + adds r0, 0x1\n\ + strb r0, [r1]\n\ + ldr r0, [r2]\n\ + adds r0, 0x28\n\ + add r0, r10\n\ + ldrb r1, [r0]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + add r0, r8\n\ + bl sub_80A6DEC\n\ + ldr r1, =gTradePartyBoxTilemap\n\ + ldr r0, [sp, 0x64]\n\ + subs r2, r0, r7\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + movs r0, 0xF\n\ + str r0, [sp]\n\ + movs r0, 0x11\n\ + str r0, [sp, 0x4]\n\ + movs r0, 0\n\ + str r0, [sp, 0x8]\n\ + movs r0, 0x1\n\ + movs r3, 0\n\ + bl CopyToBgTilemapBufferRect_ChangePalette\n\ + movs r0, 0x1\n\ + bl CopyBgTilemapBufferToVram\n\ + movs r0, 0\n\ + bl CopyBgTilemapBufferToVram\n\ + ldr r1, [sp, 0x60]\n\ + cmp r1, 0\n\ + beq _08079868\n\ + b _08079A24\n\ +_08079868:\n\ + bl sub_8079F74\n\ + b _08079A24\n\ + .pool\n\ +_08079884:\n\ + ldr r2, =gSprites\n\ + ldr r1, [sp, 0x60]\n\ + lsls r0, r1, 1\n\ + adds r0, r1\n\ + lsls r0, 1\n\ + add r0, r10\n\ + adds r1, r4, 0\n\ + adds r1, 0x28\n\ + adds r1, r0\n\ + ldrb r1, [r1]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r2, 0x1C\n\ + adds r0, r2\n\ + ldr r1, [r0]\n\ + ldr r0, =sub_80D3014\n\ + cmp r1, r0\n\ + beq _080798AC\n\ + b _08079A24\n\ +_080798AC:\n\ + movs r0, 0x3\n\ + strb r0, [r3]\n\ + b _08079A24\n\ + .pool\n\ +_080798BC:\n\ + ldr r1, =gTradeMovesBoxTilemap\n\ + ldr r0, [sp, 0x60]\n\ + lsls r2, r0, 4\n\ + subs r2, r0\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + movs r0, 0xF\n\ + str r0, [sp]\n\ + movs r0, 0x11\n\ + str r0, [sp, 0x4]\n\ + mov r0, r8\n\ + str r0, [sp, 0x8]\n\ + movs r0, 0x1\n\ + movs r3, 0\n\ + bl CopyToBgTilemapBufferRect_ChangePalette\n\ + movs r0, 0x1\n\ + bl CopyBgTilemapBufferToVram\n\ + ldr r6, =gSprites\n\ + ldr r1, =gUnknown_0203229C\n\ + ldr r4, [r1]\n\ + ldr r2, [sp, 0x60]\n\ + lsls r3, r2, 1\n\ + adds r3, r2\n\ + lsls r1, r3, 1\n\ + mov r2, r10\n\ + adds r0, r2, r1\n\ + adds r4, 0x28\n\ + adds r4, r0\n\ + ldrb r0, [r4]\n\ + lsls r2, r0, 4\n\ + adds r2, r0\n\ + lsls r2, 2\n\ + adds r2, r6\n\ + ldr r5, =gUnknown_0832DE24\n\ + lsls r3, 2\n\ + adds r0, r3, r5\n\ + ldrb r0, [r0]\n\ + adds r1, 0x1\n\ + lsls r1, 1\n\ + adds r1, r5\n\ + ldrb r1, [r1]\n\ + adds r0, r1\n\ + asrs r0, 1\n\ + lsls r0, 3\n\ + adds r0, 0xE\n\ + strh r0, [r2, 0x20]\n\ + ldrb r0, [r4]\n\ + lsls r1, r0, 4\n\ + adds r1, r0\n\ + lsls r1, 2\n\ + adds r1, r6\n\ + adds r5, 0x1\n\ + adds r3, r5\n\ + ldrb r0, [r3]\n\ + lsls r0, 3\n\ + subs r0, 0xC\n\ + strh r0, [r1, 0x22]\n\ + ldrb r1, [r4]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r0, r6\n\ + mov r1, r8\n\ + strh r1, [r0, 0x24]\n\ + ldrb r1, [r4]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r0, r6\n\ + mov r2, r8\n\ + strh r2, [r0, 0x26]\n\ + add r0, sp, 0x14\n\ + ldr r1, [sp, 0x60]\n\ + mov r2, r10\n\ + bl sub_8079A3C\n\ + lsls r4, r7, 1\n\ + adds r5, r4, 0\n\ + adds r5, 0xE\n\ + lsls r5, 24\n\ + lsrs r5, 24\n\ + lsls r0, 24\n\ + asrs r0, 24\n\ + movs r2, 0x50\n\ + subs r2, r0\n\ + lsrs r0, r2, 31\n\ + adds r2, r0\n\ + asrs r2, 1\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + ldr r0, =gUnknown_0832DEE0\n\ + mov r8, r0\n\ + str r0, [sp]\n\ + movs r1, 0\n\ + str r1, [sp, 0x4]\n\ + add r0, sp, 0x14\n\ + str r0, [sp, 0x8]\n\ + adds r0, r5, 0\n\ + movs r3, 0x4\n\ + bl AddTextPrinterParameterized3\n\ + add r6, sp, 0x28\n\ + adds r0, r6, 0\n\ + ldr r1, [sp, 0x60]\n\ + mov r2, r10\n\ + bl sub_8079AA4\n\ + adds r4, 0xF\n\ + lsls r4, 24\n\ + lsrs r4, 24\n\ + movs r1, 0\n\ + str r1, [sp]\n\ + str r1, [sp, 0x4]\n\ + mov r2, r8\n\ + str r2, [sp, 0x8]\n\ + str r1, [sp, 0xC]\n\ + str r6, [sp, 0x10]\n\ + adds r0, r4, 0\n\ + movs r1, 0x1\n\ + movs r2, 0\n\ + movs r3, 0\n\ + bl AddTextPrinterParameterized4\n\ + adds r0, r5, 0\n\ + bl PutWindowTilemap\n\ + adds r0, r5, 0\n\ + movs r1, 0x3\n\ + bl CopyWindowToVram\n\ + adds r0, r4, 0\n\ + bl PutWindowTilemap\n\ + adds r0, r4, 0\n\ + movs r1, 0x3\n\ + bl CopyWindowToVram\n\ + ldr r0, =gUnknown_0203229C\n\ + ldr r1, [r0]\n\ + b _08079A1A\n\ + .pool\n\ +_080799EC:\n\ + ldr r0, =gUnknown_0832DF99\n\ + lsls r1, r7, 1\n\ + adds r4, r1, r0\n\ + ldrb r2, [r4]\n\ + adds r2, 0x4\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + adds r0, 0x1\n\ + adds r1, r0\n\ + ldrb r3, [r1]\n\ + adds r3, 0x1\n\ + lsls r3, 24\n\ + lsrs r3, 24\n\ + ldrb r0, [r4]\n\ + str r0, [sp]\n\ + ldrb r0, [r1]\n\ + str r0, [sp, 0x4]\n\ + adds r0, r7, 0\n\ + mov r1, r10\n\ + bl sub_8079C4C\n\ + ldr r2, =gUnknown_0203229C\n\ + ldr r1, [r2]\n\ +_08079A1A:\n\ + adds r1, 0x74\n\ + adds r1, r7\n\ + ldrb r0, [r1]\n\ + adds r0, 0x1\n\ + strb r0, [r1]\n\ +_08079A24:\n\ + add sp, 0x68\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); +} +#endif // NONMATCHING + +u8 sub_8079A3C(u8 *a0, bool8 a1, u8 a2) +{ + u8 name[12]; + + if (!a1) + { + GetMonData(&gPlayerParty[a2], MON_DATA_NICKNAME, name); + } + else + { + GetMonData(&gEnemyParty[a2], MON_DATA_NICKNAME, name); + } + + StringCopy10(a0, name); + return GetStringWidth(0, a0, GetFontAttribute(0, FONTATTR_LETTER_SPACING)); +} + +void sub_8079AA4(u8 *a0, u8 a1, u8 a2) +{ + u16 arr[4]; + u16 i; + + if (!gUnknown_0203229C->unk_51[a1][a2]) + { + for (i = 0; i < MAX_MON_MOVES; i++) + { + if (!a1) + { + arr[i] = GetMonData(&gPlayerParty[a2], i + MON_DATA_MOVE1, NULL); + } + else + { + arr[i] = GetMonData(&gEnemyParty[a2], i + MON_DATA_MOVE1, NULL); + } + } + + StringCopy(a0, gText_EmptyString7); + + for (i = 0; i < MAX_MON_MOVES; i++) + { + if (arr[i] != MOVE_NONE) + { + StringAppend(a0, gMoveNames[arr[i]]); + } + + StringAppend(a0, gText_NewLine3); + } + } + else + { + StringCopy(a0, gText_EmptyString7); + StringAppend(a0, gText_FourQuestionMarks); + } +} + +void sub_8079B84(u8 a0, u8 a1, u8 *a2) +{ + u8 xPos; + a1 += (a0 * 6) + 2; + xPos = GetStringCenterAlignXOffset(0, a2, 64); + AddTextPrinterParameterized3(a1, 0, xPos, 4, gUnknown_0832DEE0, 0, a2); + PutWindowTilemap(a1); + CopyWindowToVram(a1, 3); +} From a5c09bfec631c6437bd81c92d3878e7cdb1c8859 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sun, 23 Dec 2018 01:26:38 -0600 Subject: [PATCH 05/53] S'more trade --- asm/trade.s | 344 --------------------------------------------- include/graphics.h | 1 + src/trade.c | 96 ++++++++++++- 3 files changed, 96 insertions(+), 345 deletions(-) diff --git a/asm/trade.s b/asm/trade.s index cedd723b98..e7880b100e 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6,350 +6,6 @@ .text - thumb_func_start sub_8079BE0 -sub_8079BE0: @ 8079BE0 - push {r4-r7,lr} - sub sp, 0x34 - lsls r0, 24 - lsrs r6, r0, 24 - ldr r7, =gEnemyParty - cmp r6, 0 - bne _08079BF0 - ldr r7, =gPlayerParty -_08079BF0: - movs r4, 0 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x36 - adds r0, r6 - ldrb r0, [r0] - cmp r4, r0 - bcs _08079C36 - add r5, sp, 0x14 -_08079C02: - movs r0, 0x64 - muls r0, r4 - adds r0, r7, r0 - movs r1, 0x2 - mov r2, sp - bl GetMonData - adds r0, r5, 0 - mov r1, sp - bl StringCopy10 - adds r0, r6, 0 - adds r1, r4, 0 - adds r2, r5, 0 - bl sub_8079B84 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x36 - adds r0, r6 - ldrb r0, [r0] - cmp r4, r0 - bcc _08079C02 -_08079C36: - add sp, 0x34 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079BE0 - - thumb_func_start sub_8079C4C -sub_8079C4C: @ 8079C4C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - ldr r4, [sp, 0x3C] - ldr r5, [sp, 0x40] - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - lsls r1, 24 - lsrs r7, r1, 24 - lsls r2, 24 - lsrs r2, 24 - mov r9, r2 - lsls r3, 24 - lsrs r3, 24 - mov r10, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 24 - lsrs r5, 24 - ldr r1, =gUnknown_08DDD704 - movs r0, 0x6 - str r0, [sp] - movs r0, 0x3 - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r0, 0x1 - adds r2, r4, 0 - adds r3, r5, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - mov r0, r8 - cmp r0, 0 - bne _08079CB0 - movs r0, 0x64 - muls r0, r7 - ldr r1, =gPlayerParty - b _08079CB6 - .pool -_08079CB0: - movs r0, 0x64 - muls r0, r7 - ldr r1, =gEnemyParty -_08079CB6: - adds r0, r1 - movs r1, 0x38 - movs r2, 0 - bl GetMonData - lsls r0, 24 - lsrs r6, r0, 24 - ldr r4, =gUnknown_0203229C - ldr r5, [r4] - mov r1, r8 - lsls r2, r1, 1 - adds r1, r2, r1 - lsls r1, 1 - adds r1, r7, r1 - adds r0, r5, 0 - adds r0, 0x51 - adds r0, r1 - ldrb r0, [r0] - str r2, [sp, 0x18] - cmp r0, 0 - bne _08079D34 - adds r0, r6, 0 - movs r1, 0xA - bl __udivsi3 - lsls r0, 24 - lsrs r2, r0, 24 - mov r0, r10 - lsls r3, r0, 5 - cmp r2, 0 - beq _08079D08 - mov r1, r9 - adds r0, r1, r3 - lsls r0, 1 - movs r1, 0x8F - lsls r1, 4 - adds r5, r1 - adds r1, r5, r0 - adds r0, r2, 0 - adds r0, 0x60 - strh r0, [r1] -_08079D08: - ldr r4, [r4] - mov r1, r9 - adds r0, r1, r3 - adds r0, 0x1 - lsls r0, 1 - movs r3, 0x8F - lsls r3, 4 - adds r4, r3 - adds r4, r0 - adds r0, r6, 0 - movs r1, 0xA - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x70 - strh r0, [r4] - b _08079D72 - .pool -_08079D34: - mov r1, r10 - lsls r0, r1, 5 - mov r1, r9 - adds r3, r1, r0 - adds r1, r3, 0 - subs r1, 0x20 - lsls r1, 1 - movs r0, 0x8F - lsls r0, 4 - adds r2, r5, r0 - adds r1, r2, r1 - adds r0, r3, 0 - subs r0, 0x21 - lsls r0, 1 - adds r0, r2, r0 - ldrh r0, [r0] - strh r0, [r1] - adds r1, r3, 0 - subs r1, 0x1F - lsls r1, 1 - adds r1, r2, r1 - adds r0, r3, 0 - subs r0, 0x24 - lsls r0, 1 - adds r2, r0 - ldrh r2, [r2] - movs r3, 0x80 - lsls r3, 3 - adds r0, r3, 0 - orrs r0, r2 - strh r0, [r1] -_08079D72: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - ldr r0, [sp, 0x18] - add r0, r8 - lsls r0, 1 - adds r0, r7, r0 - adds r1, 0x51 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - beq _08079D94 - movs r2, 0x90 - lsls r2, 3 - b _08079E16 - .pool -_08079D94: - mov r0, r8 - cmp r0, 0 - bne _08079DC0 - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - movs r1, 0x2 - add r2, sp, 0xC - bl GetMonData - b _08079DDE - .pool -_08079DC0: - movs r0, 0x64 - adds r4, r7, 0 - muls r4, r0 - ldr r0, =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - bl GetMonGender - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - movs r1, 0x2 - add r2, sp, 0xC - bl GetMonData -_08079DDE: - cmp r5, 0 - beq _08079DF0 - cmp r5, 0xFE - beq _08079E04 - movs r2, 0x83 - b _08079E16 - .pool -_08079DF0: - add r0, sp, 0xC - movs r1, 0 - bl NameHasGenderSymbol - lsls r0, 24 - movs r2, 0x83 - cmp r0, 0 - bne _08079E16 - movs r2, 0x84 - b _08079E16 -_08079E04: - add r0, sp, 0xC - movs r1, 0xFE - bl NameHasGenderSymbol - lsls r0, 24 - movs r2, 0x83 - cmp r0, 0 - bne _08079E16 - movs r2, 0x85 -_08079E16: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - mov r0, r10 - subs r0, 0x1 - lsls r0, 5 - add r0, r9 - adds r0, 0x1 - lsls r0, 1 - movs r3, 0x8F - lsls r3, 4 - adds r1, r3 - adds r1, r0 - strh r2, [r1] - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079C4C - - thumb_func_start sub_8079E44 -sub_8079E44: @ 8079E44 - push {r4-r7,lr} - sub sp, 0x8 - lsls r0, 24 - lsrs r6, r0, 24 - movs r7, 0 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x36 - adds r0, r6 - ldrb r0, [r0] - cmp r7, r0 - bge _08079E94 - lsls r0, r6, 1 - adds r0, r6 - ldr r1, =gUnknown_0832DE3E - lsls r0, 2 - adds r5, r0, r1 - ldr r1, =gUnknown_0832DE56 - adds r4, r0, r1 -_08079E6A: - lsls r1, r7, 24 - lsrs r1, 24 - ldrb r2, [r5] - ldrb r3, [r5, 0x1] - ldrb r0, [r4] - str r0, [sp] - ldrb r0, [r4, 0x1] - str r0, [sp, 0x4] - adds r0, r6, 0 - bl sub_8079C4C - adds r5, 0x2 - adds r4, 0x2 - adds r7, 0x1 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x36 - adds r0, r6 - ldrb r0, [r0] - cmp r7, r0 - blt _08079E6A -_08079E94: - add sp, 0x8 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079E44 - thumb_func_start sub_8079EA8 sub_8079EA8: @ 8079EA8 push {r4-r7,lr} diff --git a/include/graphics.h b/include/graphics.h index 40b9744eba..8f65603180 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4775,5 +4775,6 @@ extern const u8 gUnknown_08DDB464[]; extern const u16 gUnknown_08DDCF04[]; extern const u16 gTradeGba2_Pal[]; extern const u8 gTradeGba_Gfx[]; +extern const u16 gUnknown_08DDD704[]; #endif //GUARD_GRAPHICS_H diff --git a/src/trade.c b/src/trade.c index 212074513a..c9a9db6076 100644 --- a/src/trade.c +++ b/src/trade.c @@ -4,6 +4,7 @@ #include "bg.h" #include "cable_club.h" #include "data2.h" +#include "daycare.h" #include "event_data.h" #include "gpu_regs.h" #include "graphics.h" @@ -65,7 +66,7 @@ extern struct { u8 unk_A8; u8 unk_A9[11]; u8 filler_B4[0x8F0-0xB4]; - u8 tilemapBuffer[0x800]; + u16 tilemapBuffer[0x400]; // 8F0 } *gUnknown_0203229C; extern u8 *gUnknown_02032184; extern u8 *gUnknown_02032188[14]; @@ -94,6 +95,8 @@ extern const u8 gUnknown_0832DF99[][2]; extern const u8 gText_EmptyString7[]; extern const u8 gText_NewLine3[]; extern const u8 gText_FourQuestionMarks[]; +extern const u8 gUnknown_0832DE3E[][6][2]; +extern const u8 gUnknown_0832DE56[][6][2]; bool32 sub_8077260(void); void sub_80773D0(void); @@ -2509,3 +2512,94 @@ void sub_8079B84(u8 a0, u8 a1, u8 *a2) PutWindowTilemap(a1); CopyWindowToVram(a1, 3); } + +void sub_8079BE0(u8 a0) +{ + u8 i; + u8 sp[20]; + u8 sp14[32]; + struct Pokemon *mons = a0 == 0 ? gPlayerParty : gEnemyParty; + + for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) + { + GetMonData(&mons[i], MON_DATA_NICKNAME, sp); + StringCopy10(sp14, sp); + sub_8079B84(a0, i, sp14); + } +} + +void sub_8079C4C(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4, u8 a5) +{ + u8 r6; + u32 r2; + u8 gender; + u8 name[12]; + + CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_08DDD704, a4, a5, 6, 3, 0); + CopyBgTilemapBufferToVram(1); + + if (a0 == 0) + { + r6 = GetMonData(&gPlayerParty[a1], MON_DATA_LEVEL, NULL); + } + else + { + r6 = GetMonData(&gEnemyParty[a1], MON_DATA_LEVEL, NULL); + } + + if (gUnknown_0203229C->unk_51[a0][a1] == 0) + { + if (r6 / 10 != 0) + { + gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32)] = (r6 / 10) + 0x60; + } + gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) + 1] = (r6 % 10) + 0x70; + } + else + { + gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 32] = gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 33]; + gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 31] = gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 36] | 0x400; + } + + if (gUnknown_0203229C->unk_51[a0][a1] != 0) + { + r2 = 0x480; + } + else + { + if (a0 == 0) + { + gender = GetMonGender(&gPlayerParty[a1]); + GetMonData(&gPlayerParty[a1], MON_DATA_NICKNAME, name); + } + else + { + gender = GetMonGender(&gEnemyParty[a1]); + GetMonData(&gEnemyParty[a1], MON_DATA_NICKNAME, name); + } + + switch (gender) + { + case MON_MALE: + r2 = !NameHasGenderSymbol(name, MON_MALE) ? 0x84 : 0x83; + break; + case MON_FEMALE: + r2 = !NameHasGenderSymbol(name, MON_FEMALE) ? 0x85 : 0x83; + break; + default: + r2 = 0x83; + break; + } + } + gUnknown_0203229C->tilemapBuffer[(a3 - 1) * 32 + a2 + 1] = r2; +} + +void sub_8079E44(u8 a0) +{ + int i; + + for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) + { + sub_8079C4C(a0, i, gUnknown_0832DE3E[a0][i][0], gUnknown_0832DE3E[a0][i][1], gUnknown_0832DE56[a0][i][0], gUnknown_0832DE56[a0][i][1]); + } +} From 3f08e0c76c0e273954021491b7336f1748c0b557 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Mon, 24 Dec 2018 03:03:02 -0600 Subject: [PATCH 06/53] Some more trade nonsense --- asm/trade.s | 1073 ---------------------- include/pokemon_icon.h | 1 + src/trade.c | 1904 ++++++++++++++++++++++++++-------------- 3 files changed, 1249 insertions(+), 1729 deletions(-) diff --git a/asm/trade.s b/asm/trade.s index e7880b100e..98891cd0c2 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6,1079 +6,6 @@ .text - thumb_func_start sub_8079EA8 -sub_8079EA8: @ 8079EA8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r12, r0 - movs r7, 0 - ldr r3, =gUnknown_0203229C - ldr r0, [r3] - adds r0, 0x36 - add r0, r12 - ldrb r0, [r0] - cmp r7, r0 - bge _08079F5A - ldr r6, =gSprites - mov r9, r3 - mov r1, r12 - lsls r0, r1, 1 - add r0, r12 - lsls r2, r0, 1 - mov r10, r2 - ldr r1, =gUnknown_0832DE24 - movs r2, 0 - mov r8, r2 - lsls r0, 2 - adds r5, r0, r1 -_08079EE0: - mov r1, r9 - ldr r0, [r1] - mov r2, r10 - adds r4, r7, r2 - adds r0, 0x28 - adds r0, r4 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - adds r1, 0x3E - ldrb r2, [r1] - movs r0, 0x5 - negs r0, r0 - ands r0, r2 - strb r0, [r1] - mov r0, r9 - ldr r3, [r0] - adds r2, r3, 0 - adds r2, 0x28 - adds r2, r4 - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r5] - lsls r0, 3 - adds r0, 0xE - strh r0, [r1, 0x20] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r6 - ldrb r0, [r5, 0x1] - lsls r0, 3 - subs r0, 0xC - strh r0, [r1, 0x22] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r1, r8 - strh r1, [r0, 0x24] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r6 - mov r2, r8 - strh r2, [r0, 0x26] - adds r5, 0x2 - adds r7, 0x1 - adds r3, 0x36 - add r3, r12 - ldrb r3, [r3] - cmp r7, r3 - blt _08079EE0 -_08079F5A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079EA8 - - thumb_func_start sub_8079F74 -sub_8079F74: @ 8079F74 - push {lr} - movs r0, 0x1 - bl rbox_fill_rectangle - movs r0, 0x1 - bl sub_8079BE0 - pop {r0} - bx r0 - thumb_func_end sub_8079F74 - - thumb_func_start sub_8079F88 -sub_8079F88: @ 8079F88 - push {r4-r6,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, =gTradePartyBoxTilemap - lsls r2, r4, 4 - subs r2, r4 - lsls r2, 24 - lsrs r2, 24 - movs r0, 0xF - str r0, [sp] - movs r0, 0x11 - str r0, [sp, 0x4] - movs r6, 0 - str r6, [sp, 0x8] - movs r0, 0x1 - movs r3, 0 - bl CopyToBgTilemapBufferRect_ChangePalette - movs r0, 0x1 - bl CopyBgTilemapBufferToVram - adds r0, r4, 0 - bl sub_8079E44 - adds r0, r4, 0 - bl sub_8079BE0 - adds r0, r4, 0 - bl sub_8079EA8 - ldr r0, =gUnknown_0832DE94 - ldr r0, [r0, 0x4] - ldr r5, =gUnknown_0203229C - ldr r1, [r5] - adds r1, 0x72 - ldrh r1, [r1] - lsls r1, 5 - ldr r2, =0x06010000 - adds r1, r2 - movs r2, 0x18 - bl sub_807A308 - ldr r0, [r5] - adds r0, 0x74 - adds r0, r4 - strb r6, [r0] - add sp, 0xC - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8079F88 - - thumb_func_start sub_807A000 -sub_807A000: @ 807A000 - push {lr} - sub sp, 0x8 - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_807A000 - - thumb_func_start sub_807A024 -sub_807A024: @ 807A024 - push {lr} - sub sp, 0x8 - movs r0, 0x1E - str r0, [sp] - movs r0, 0x14 - str r0, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - movs r0, 0 - bl CopyBgTilemapBufferToVram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_807A024 - - thumb_func_start sub_807A048 -sub_807A048: @ 807A048 - push {r4-r7,lr} - lsls r0, 16 - lsrs r5, r0, 16 - lsls r1, 24 - lsrs r6, r1, 24 - movs r3, 0 - ldr r4, =gUnknown_0203229C - mov r12, r4 - movs r7, 0x8D - lsls r7, 4 -_0807A05C: - mov r1, r12 - ldr r0, [r1] - lsls r1, r3, 3 - adds r2, r0, r1 - adds r0, r2, r7 - ldrb r0, [r0] - cmp r0, 0 - bne _0807A090 - ldr r3, =0x000008d2 - adds r0, r2, r3 - strh r5, [r0] - adds r3, 0x2 - adds r0, r2, r3 - strb r6, [r0] - ldr r0, [r4] - adds r0, r1 - movs r1, 0x8D - lsls r1, 4 - adds r0, r1 - movs r1, 0x1 - strb r1, [r0] - b _0807A096 - .pool -_0807A090: - adds r3, 0x1 - cmp r3, 0x3 - ble _0807A05C -_0807A096: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_807A048 - - thumb_func_start sub_807A09C -sub_807A09C: @ 807A09C - push {lr} - movs r3, 0 - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - movs r2, 0x8D - lsls r2, 4 - adds r1, r0, r2 - movs r2, 0x3 -_0807A0AC: - ldrb r0, [r1] - adds r3, r0 - adds r1, 0x8 - subs r2, 0x1 - cmp r2, 0 - bge _0807A0AC - adds r0, r3, 0 - pop {r1} - bx r1 - .pool - thumb_func_end sub_807A09C - - thumb_func_start sub_807A0C4 -sub_807A0C4: @ 807A0C4 - push {r4,r5,lr} - movs r4, 0 - ldr r3, =gUnknown_0203229C -_0807A0CA: - ldr r0, [r3] - lsls r1, r4, 3 - adds r2, r0, r1 - movs r5, 0x8D - lsls r5, 4 - adds r0, r2, r5 - ldrb r0, [r0] - adds r5, r1, 0 - cmp r0, 0 - beq _0807A18C - ldr r0, =0x000008d2 - adds r1, r2, r0 - ldrh r0, [r1] - cmp r0, 0 - beq _0807A0F8 - subs r0, 0x1 - strh r0, [r1] - b _0807A18C - .pool -_0807A0F8: - ldr r1, =0x000008d4 - adds r0, r2, r1 - ldrb r0, [r0] - cmp r0, 0x8 - bhi _0807A17A - lsls r0, 2 - ldr r1, =_0807A114 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807A114: - .4byte _0807A138 - .4byte _0807A14C - .4byte _0807A154 - .4byte _0807A15C - .4byte _0807A15C - .4byte _0807A15C - .4byte _0807A164 - .4byte _0807A16C - .4byte _0807A174 -_0807A138: - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0x80 - movs r1, 0x14 - bl sub_8077170 - b _0807A17A - .pool -_0807A14C: - movs r0, 0 - bl sub_807A19C - b _0807A17A -_0807A154: - movs r0, 0x2 - bl sub_807A19C - b _0807A17A -_0807A15C: - movs r0, 0x3 - bl sub_807A19C - b _0807A17A -_0807A164: - movs r0, 0x6 - bl sub_807A19C - b _0807A17A -_0807A16C: - movs r0, 0x7 - bl sub_807A19C - b _0807A17A -_0807A174: - movs r0, 0x8 - bl sub_807A19C -_0807A17A: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r1, r5 - movs r2, 0x8D - lsls r2, 4 - adds r1, r2 - movs r2, 0 - strb r2, [r1] - adds r3, r0, 0 -_0807A18C: - adds r4, 0x1 - cmp r4, 0x3 - ble _0807A0CA - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807A0C4 - - thumb_func_start sub_807A19C -sub_807A19C: @ 807A19C - push {r4,lr} - sub sp, 0xC - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, =gUnknown_0832DEBC - lsls r4, 2 - adds r4, r0 - ldr r2, [r4] - movs r0, 0x1 - str r0, [sp] - movs r0, 0xFF - str r0, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - movs r1, 0x1 - movs r3, 0 - bl AddTextPrinterParameterized - movs r0, 0 - movs r1, 0x14 - movs r2, 0xC - bl sub_8098858 - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0xC - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807A19C - - thumb_func_start sub_807A1F0 -sub_807A1F0: @ 807A1F0 - push {r4,lr} - sub sp, 0x8 - ldr r0, =gUnknown_0203229C - ldr r1, [r0] - adds r3, r1, 0 - adds r3, 0xA8 - ldrb r1, [r3] - adds r4, r0, 0 - cmp r1, 0xD - bhi _0807A22C - ldr r1, =gUnknown_02032188 - ldrb r0, [r3] - lsls r0, 2 - adds r0, r1 - ldr r0, [r0] - str r0, [sp] - ldr r0, =0xffff0000 - ldr r2, [sp, 0x4] - ands r2, r0 - movs r0, 0x80 - lsls r0, 1 - orrs r2, r0 - str r2, [sp, 0x4] - ldrb r1, [r3] - adds r1, 0xC8 - lsls r1, 16 - ldr r0, =0x0000ffff - ands r0, r2 - orrs r0, r1 - str r0, [sp, 0x4] -_0807A22C: - ldr r0, [r4] - adds r0, 0xA8 - ldrb r0, [r0] - cmp r0, 0x11 - bhi _0807A2FC - lsls r0, 2 - ldr r1, =_0807A254 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807A254: - .4byte _0807A29C - .4byte _0807A29C - .4byte _0807A29C - .4byte _0807A29C - .4byte _0807A29C - .4byte _0807A29C - .4byte _0807A29C - .4byte _0807A29C - .4byte _0807A2A0 - .4byte _0807A2B8 - .4byte _0807A2B8 - .4byte _0807A2B8 - .4byte _0807A2B8 - .4byte _0807A2B8 - .4byte _0807A2BC - .4byte _0807A2C8 - .4byte _0807A2D4 - .4byte _0807A2F0 -_0807A29C: - mov r0, sp - b _0807A2D6 -_0807A2A0: - mov r0, sp - bl LoadSpriteSheet - ldr r1, =gUnknown_0203229C - ldr r1, [r1] - adds r2, r1, 0 - adds r2, 0x72 - strh r0, [r2] - b _0807A2DE - .pool -_0807A2B8: - mov r0, sp - b _0807A2D6 -_0807A2BC: - ldr r0, =gSpritePalette_TradeScreenText - bl LoadSpritePalette - b _0807A2DA - .pool -_0807A2C8: - ldr r0, =gUnknown_0832DC44 - bl LoadSpritePalette - b _0807A2DA - .pool -_0807A2D4: - ldr r0, =gUnknown_0832DC3C -_0807A2D6: - bl LoadSpriteSheet -_0807A2DA: - ldr r0, =gUnknown_0203229C - ldr r1, [r0] -_0807A2DE: - adds r1, 0xA8 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0807A2FC - .pool -_0807A2F0: - ldr r0, [r4] - adds r0, 0xA8 - movs r1, 0 - strb r1, [r0] - movs r0, 0x1 - b _0807A2FE -_0807A2FC: - movs r0, 0 -_0807A2FE: - add sp, 0x8 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_807A1F0 - - thumb_func_start sub_807A308 -sub_807A308: @ 807A308 - push {lr} - sub sp, 0x4 - movs r2, 0x6 - str r2, [sp] - movs r2, 0 - movs r3, 0 - bl sub_80C6D80 - add sp, 0x4 - pop {r0} - bx r0 - thumb_func_end sub_807A308 - - thumb_func_start sub_807A320 -sub_807A320: @ 807A320 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - cmp r0, 0 - beq _0807A338 - cmp r0, 0x1 - beq _0807A3CC - b _0807A458 -_0807A338: - movs r7, 0 - ldr r1, =gUnknown_0203229C - ldr r0, [r1] - adds r0, 0x36 - ldrb r0, [r0] - cmp r7, r0 - blt _0807A348 - b _0807A458 -_0807A348: - adds r6, r1, 0 - movs r5, 0 - mov r9, r5 -_0807A34E: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, =gPlayerParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0x1 - bne _0807A380 - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - mov r2, r9 - strb r2, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - b _0807A3B0 - .pool -_0807A380: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - bne _0807A39E - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - b _0807A3B0 -_0807A39E: - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - mov r1, r9 -_0807A3B0: - strb r1, [r0] - ldr r0, =gUnknown_0203229C - adds r5, 0x1 - adds r7, 0x1 - ldr r0, [r0] - adds r0, 0x36 - add r0, r8 - ldrb r0, [r0] - cmp r7, r0 - blt _0807A34E - b _0807A458 - .pool -_0807A3CC: - movs r7, 0 - ldr r1, =gUnknown_0203229C - ldr r0, [r1] - adds r0, 0x37 - ldrb r0, [r0] - cmp r7, r0 - bge _0807A458 - adds r6, r1, 0 - movs r5, 0x6 - movs r2, 0 - mov r9, r2 -_0807A3E2: - movs r0, 0x64 - adds r1, r7, 0 - muls r1, r0 - ldr r0, =gEnemyParty - adds r4, r1, r0 - adds r0, r4, 0 - movs r1, 0x2D - bl GetMonData - adds r1, r0, 0 - cmp r1, 0x1 - bne _0807A414 - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - mov r2, r9 - strb r2, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - b _0807A444 - .pool -_0807A414: - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - adds r1, r0, 0 - cmp r1, 0 - bne _0807A432 - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - b _0807A444 -_0807A432: - ldr r0, [r6] - adds r0, 0x45 - adds r0, r5 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r6] - adds r0, 0x51 - adds r0, r5 - mov r1, r9 -_0807A444: - strb r1, [r0] - ldr r0, =gUnknown_0203229C - adds r5, 0x1 - adds r7, 0x1 - ldr r0, [r0] - adds r0, 0x36 - add r0, r8 - ldrb r0, [r0] - cmp r7, r0 - blt _0807A3E2 -_0807A458: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807A320 - - thumb_func_start sub_807A468 -sub_807A468: @ 807A468 - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0 - beq _0807A478 - cmp r0, 0x1 - beq _0807A4D8 - b _0807A52C -_0807A478: - movs r6, 0 - ldr r1, =gUnknown_0203229C - ldr r0, [r1] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - bcs _0807A52C - adds r7, r1, 0 -_0807A488: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gPlayerParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetHPBarLevel - ldr r1, [r7] - adds r1, 0x5D - adds r1, r6 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7] - adds r0, 0x36 - ldrb r0, [r0] - cmp r6, r0 - bcc _0807A488 - b _0807A52C - .pool -_0807A4D8: - movs r6, 0 - ldr r1, =gUnknown_0203229C - ldr r0, [r1] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - bcs _0807A52C - adds r7, r1, 0 -_0807A4E8: - movs r0, 0x64 - adds r4, r6, 0 - muls r4, r0 - ldr r0, =gEnemyParty - adds r4, r0 - adds r0, r4, 0 - movs r1, 0x39 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - adds r0, r4, 0 - movs r1, 0x3A - bl GetMonData - adds r1, r0, 0 - lsls r0, r5, 16 - asrs r0, 16 - lsls r1, 16 - asrs r1, 16 - bl GetHPBarLevel - ldr r1, [r7] - adds r1, 0x63 - adds r1, r6 - strb r0, [r1] - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r0, [r7] - adds r0, 0x37 - ldrb r0, [r0] - cmp r6, r0 - bcc _0807A4E8 -_0807A52C: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807A468 - - thumb_func_start sub_807A53C -sub_807A53C: @ 807A53C - push {r4-r7,lr} - mov r7, r8 - push {r7} - movs r5, 0 -_0807A544: - movs r4, 0 - ldr r2, =gUnknown_0203229C - ldr r0, [r2] - adds r0, 0x36 - adds r0, r5 - adds r1, r5, 0x1 - mov r8, r1 - ldrb r0, [r0] - cmp r4, r0 - bge _0807A596 - adds r6, r2, 0 - lsls r0, r5, 1 - adds r0, r5 - lsls r7, r0, 1 -_0807A560: - ldr r2, [r6] - adds r3, r4, r7 - adds r0, r2, 0 - adds r0, 0x28 - adds r0, r3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - adds r2, 0x5D - adds r2, r3 - ldrb r2, [r2] - movs r1, 0x4 - subs r1, r2 - lsls r1, 24 - lsrs r1, 24 - bl sub_80D32C8 - adds r4, 0x1 - ldr r0, [r6] - adds r0, 0x36 - adds r0, r5 - ldrb r0, [r0] - cmp r4, r0 - blt _0807A560 -_0807A596: - mov r5, r8 - cmp r5, 0x1 - ble _0807A544 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807A53C - - thumb_func_start sub_807A5B0 -sub_807A5B0: @ 807A5B0 - push {r4,r5,lr} - movs r3, 0 - ldr r5, =gSaveBlock1Ptr - ldr r4, =0x000031a8 -_0807A5B8: - ldr r0, [r5] - adds r0, r4 - adds r2, r0, r3 - ldrb r0, [r2] - cmp r0, 0 - bne _0807A5DA - ldr r0, =gUnknown_0203229C - ldr r0, [r0] - adds r0, 0xA9 - adds r0, r3 - ldrb r0, [r0] - adds r1, r0, 0 - cmp r1, 0 - beq _0807A5DA - cmp r1, 0x3F - bhi _0807A5DA - strb r0, [r2] -_0807A5DA: - adds r3, 0x1 - cmp r3, 0xA - ble _0807A5B8 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807A5B0 - - thumb_func_start sub_807A5F4 -sub_807A5F4: @ 807A5F4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x30 - mov r8, r0 - adds r7, r1, 0 - mov r9, r2 - movs r5, 0 - cmp r5, r7 - bge _0807A62E - mov r6, sp -_0807A60C: - movs r0, 0x64 - adds r4, r5, 0 - muls r4, r0 - add r4, r8 - adds r0, r4, 0 - movs r1, 0x41 - bl GetMonData - str r0, [r6, 0x18] - adds r0, r4, 0 - movs r1, 0xB - bl GetMonData - stm r6!, {r0} - adds r5, 0x1 - cmp r5, r7 - blt _0807A60C -_0807A62E: - bl IsNationalPokedexEnabled - mov r1, r9 - lsls r4, r1, 2 - cmp r0, 0 - bne _0807A65C - add r0, sp, 0x18 - adds r0, r4 - ldr r1, [r0] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _0807A64C - movs r0, 0x3 - b _0807A718 -_0807A64C: - lsls r0, r1, 16 - lsrs r0, 16 - bl IsSpeciesInHoennDex - cmp r0, 0 - bne _0807A65C - movs r0, 0x2 - b _0807A718 -_0807A65C: - 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 r0, =gLinkPlayers - adds r1, r0 - ldrb r0, [r1] - subs r0, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bls _0807A6AC - ldrb r1, [r1, 0x12] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0807A6AC - add r0, sp, 0x18 - adds r0, r4 - ldr r1, [r0] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - bne _0807A6A0 - movs r0, 0x5 - b _0807A718 - .pool -_0807A6A0: - lsls r0, r1, 16 - lsrs r0, 16 - bl IsSpeciesInHoennDex - cmp r0, 0 - beq _0807A6D2 -_0807A6AC: - mov r1, sp - adds r0, r1, r4 - ldr r1, [r0] - movs r0, 0xCD - lsls r0, 1 - cmp r1, r0 - beq _0807A6BE - cmp r1, 0x97 - bne _0807A6D6 -_0807A6BE: - movs r0, 0x64 - mov r1, r9 - muls r1, r0 - adds r0, r1, 0 - add r0, r8 - movs r1, 0x50 - bl GetMonData - cmp r0, 0 - bne _0807A6D6 -_0807A6D2: - movs r0, 0x4 - b _0807A718 -_0807A6D6: - cmp r7, 0 - ble _0807A6F4 - movs r3, 0xCE - lsls r3, 1 - movs r2, 0 - add r1, sp, 0x18 - adds r5, r7, 0 -_0807A6E4: - ldr r0, [r1] - cmp r0, r3 - bne _0807A6EC - str r2, [r1] -_0807A6EC: - adds r1, 0x4 - subs r5, 0x1 - cmp r5, 0 - bne _0807A6E4 -_0807A6F4: - movs r2, 0 - movs r5, 0 - cmp r2, r7 - bge _0807A70E - add r1, sp, 0x18 -_0807A6FE: - cmp r5, r9 - beq _0807A706 - ldr r0, [r1] - adds r2, r0 -_0807A706: - adds r1, 0x4 - adds r5, 0x1 - cmp r5, r7 - blt _0807A6FE -_0807A70E: - cmp r2, 0 - bne _0807A716 - movs r0, 0x1 - b _0807A718 -_0807A716: - movs r0, 0 -_0807A718: - add sp, 0x30 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_807A5F4 - thumb_func_start sub_807A728 sub_807A728: @ 807A728 push {r4-r7,lr} diff --git a/include/pokemon_icon.h b/include/pokemon_icon.h index 926b7585ba..17c7d55732 100644 --- a/include/pokemon_icon.h +++ b/include/pokemon_icon.h @@ -17,5 +17,6 @@ u8 UpdateMonIconFrame(struct Sprite *sprite); void LoadMonIconPalette(u16 species); void sub_80D328C(struct Sprite *sprite); void sub_80D3014(struct Sprite *sprite); +void sub_80D32C8(struct Sprite *sprite, u8 animNum); #endif // GUARD_POKEMON_ICON_H diff --git a/src/trade.c b/src/trade.c index c9a9db6076..4327c97935 100644 --- a/src/trade.c +++ b/src/trade.c @@ -1,6 +1,7 @@ #include "global.h" #include "alloc.h" #include "battle_anim.h" +#include "battle_interface.h" #include "bg.h" #include "cable_club.h" #include "data2.h" @@ -36,8 +37,7 @@ extern struct { u8 unk_0; u8 unk_1; u8 filler_2[0x28 - 2]; - u8 unk_28[PARTY_SIZE]; - u8 unk_2E[PARTY_SIZE]; + u8 unk_28[2][PARTY_SIZE]; u8 unk_34; u8 unk_35; u8 unk_36[2]; @@ -45,7 +45,8 @@ extern struct { u8 unk_44; u8 unk_45[12]; u8 unk_51[2][PARTY_SIZE]; - u8 filler_5D[0x69 - 0x5D]; + u8 unk_5D[PARTY_SIZE]; + u8 unk_63[PARTY_SIZE]; u8 unk_69; u8 filler_6A[0x6F - 0x6A]; u8 unk_6F; @@ -65,7 +66,12 @@ extern struct { u8 filler_84[0xA8 - 0x84]; u8 unk_A8; u8 unk_A9[11]; - u8 filler_B4[0x8F0-0xB4]; + u8 filler_B4[0x8D0-0xB4]; + struct { + bool8 unk_0; + u16 unk_2; + u8 unk_4; + } unk_8D0[4]; u16 tilemapBuffer[0x400]; // 8F0 } *gUnknown_0203229C; extern u8 *gUnknown_02032184; @@ -97,6 +103,10 @@ extern const u8 gText_NewLine3[]; extern const u8 gText_FourQuestionMarks[]; extern const u8 gUnknown_0832DE3E[][6][2]; extern const u8 gUnknown_0832DE56[][6][2]; +extern const u8 *gUnknown_0832DEBC[]; +extern const struct SpritePalette gSpritePalette_TradeScreenText; +extern const struct SpritePalette gUnknown_0832DC44; +extern const struct SpriteSheet gUnknown_0832DC3C; bool32 sub_8077260(void); void sub_80773D0(void); @@ -121,7 +131,7 @@ void sub_8079E44(u8); void sub_807967C(u8); void sub_807A048(u16, u8); void sub_8079F74(void); -u32 sub_807A5F4(struct Pokemon *, u8, u8); +u32 sub_807A5F4(struct Pokemon *, int, int); void sub_8079F88(u8); u32 sub_807A09C(void); u8 sub_8079A3C(u8 *, bool8, u8); @@ -392,7 +402,7 @@ void sub_80773D0(void) for (i = 0; i < gUnknown_0203229C->unk_36[0]; i++) { struct Pokemon *mon = &gPlayerParty[i]; - gUnknown_0203229C->unk_28[i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2), + gUnknown_0203229C->unk_28[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2), sub_80D3014, (gUnknown_0832DE24[i][0] * 8) + 14, (gUnknown_0832DE24[i][1] * 8) - 12, @@ -404,7 +414,7 @@ void sub_80773D0(void) for (i = 0; i < gUnknown_0203229C->unk_36[1]; i++) { struct Pokemon *mon = &gEnemyParty[i]; - gUnknown_0203229C->unk_2E[i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + gUnknown_0203229C->unk_28[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), sub_80D3014, (gUnknown_0832DE24[i + PARTY_SIZE][0] * 8) + 14, (gUnknown_0832DE24[i + PARTY_SIZE][1] * 8) - 12, @@ -416,11 +426,11 @@ void sub_80773D0(void) break; case 8: sub_81B5D30(); - sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28, 0); + sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28[0], 0); gMain.state++; break; case 9: - sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28, 1); + sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28[0], 1); gMain.state++; break; case 10: @@ -578,7 +588,7 @@ void sub_8077B74(void) for (i = 0; i < gUnknown_0203229C->unk_36[0]; i++) { struct Pokemon *mon = &gPlayerParty[i]; - gUnknown_0203229C->unk_28[i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + gUnknown_0203229C->unk_28[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), sub_80D3014, (gUnknown_0832DE24[i][0] * 8) + 14, (gUnknown_0832DE24[i][1] * 8) - 12, @@ -590,7 +600,7 @@ void sub_8077B74(void) for (i = 0; i < gUnknown_0203229C->unk_36[1]; i++) { struct Pokemon *mon = &gEnemyParty[i]; - gUnknown_0203229C->unk_2E[i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + gUnknown_0203229C->unk_28[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), sub_80D3014, (gUnknown_0832DE24[i + PARTY_SIZE][0] * 8) + 14, (gUnknown_0832DE24[i + PARTY_SIZE][1] * 8) - 12, @@ -602,11 +612,11 @@ void sub_8077B74(void) break; case 8: sub_81B5D30(); - sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28, 0); + sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28[0], 0); gMain.state++; break; case 9: - sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28, 1); + sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28[0], 1); gMain.state++; break; case 10: @@ -832,7 +842,7 @@ void sub_8078388(void) { if (i < gUnknown_0203229C->unk_36[0]) { - gSprites[gUnknown_0203229C->unk_28[i]].invisible = FALSE; + gSprites[gUnknown_0203229C->unk_28[0][i]].invisible = FALSE; gUnknown_0203229C->unk_38[i] = TRUE; } else @@ -842,7 +852,7 @@ void sub_8078388(void) if (i < gUnknown_0203229C->unk_36[1]) { - gSprites[gUnknown_0203229C->unk_2E[i]].invisible = FALSE; + gSprites[gUnknown_0203229C->unk_28[1][i]].invisible = FALSE; gUnknown_0203229C->unk_38[i + PARTY_SIZE] = TRUE; } else @@ -1186,240 +1196,240 @@ NAKED void sub_80789FC(void) { asm_unified("push {r4-r6,lr}\n\ - sub sp, 0x4\n\ - ldr r6, =gUnknown_0203229C\n\ - ldr r2, [r6]\n\ - adds r1, r2, 0\n\ - adds r1, 0x78\n\ - ldrb r0, [r1]\n\ - cmp r0, 0\n\ - bne _08078A10\n\ - b _08078B44\n\ + sub sp, 0x4\n\ + ldr r6, =gUnknown_0203229C\n\ + ldr r2, [r6]\n\ + adds r1, r2, 0\n\ + adds r1, 0x78\n\ + ldrb r0, [r1]\n\ + cmp r0, 0\n\ + bne _08078A10\n\ + b _08078B44\n\ _08078A10:\n\ - adds r0, r2, 0\n\ - adds r0, 0x79\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - bne _08078A1C\n\ - b _08078B44\n\ + adds r0, r2, 0\n\ + adds r0, 0x79\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + bne _08078A1C\n\ + b _08078B44\n\ _08078A1C:\n\ - ldrh r1, [r1]\n\ - ldr r0, =0x00000101\n\ - cmp r1, r0\n\ - bne _08078A64\n\ - adds r1, r2, 0\n\ - adds r1, 0x6F\n\ - movs r0, 0x6\n\ - strb r0, [r1]\n\ - ldr r2, [r6]\n\ - adds r1, r2, 0\n\ - adds r1, 0x80\n\ - movs r4, 0\n\ - ldr r0, =0x0000dddd\n\ - strh r0, [r1]\n\ - adds r0, r2, 0\n\ - adds r0, 0x35\n\ - ldrb r1, [r0]\n\ - adds r0, 0x4D\n\ - strh r1, [r0]\n\ - movs r0, 0x5\n\ - movs r1, 0\n\ - bl sub_807A048\n\ - ldr r0, [r6]\n\ - adds r2, r0, 0\n\ - adds r2, 0x79\n\ - strb r4, [r2]\n\ - adds r0, 0x78\n\ - strb r4, [r0]\n\ - b _08078B44\n\ - .pool\n\ + ldrh r1, [r1]\n\ + ldr r0, =0x00000101\n\ + cmp r1, r0\n\ + bne _08078A64\n\ + adds r1, r2, 0\n\ + adds r1, 0x6F\n\ + movs r0, 0x6\n\ + strb r0, [r1]\n\ + ldr r2, [r6]\n\ + adds r1, r2, 0\n\ + adds r1, 0x80\n\ + movs r4, 0\n\ + ldr r0, =0x0000dddd\n\ + strh r0, [r1]\n\ + adds r0, r2, 0\n\ + adds r0, 0x35\n\ + ldrb r1, [r0]\n\ + adds r0, 0x4D\n\ + strh r1, [r0]\n\ + movs r0, 0x5\n\ + movs r1, 0\n\ + bl sub_807A048\n\ + ldr r0, [r6]\n\ + adds r2, r0, 0\n\ + adds r2, 0x79\n\ + strb r4, [r2]\n\ + adds r0, 0x78\n\ + strb r4, [r0]\n\ + b _08078B44\n\ + .pool\n\ _08078A64:\n\ - ldr r0, =0x00000201\n\ - cmp r1, r0\n\ - bne _08078AB4\n\ - movs r0, 0x1\n\ - bl sub_807A19C\n\ - ldr r1, [r6]\n\ - adds r2, r1, 0\n\ - adds r2, 0x80\n\ - movs r4, 0\n\ - movs r3, 0\n\ - ldr r0, =0x0000eecc\n\ - strh r0, [r2]\n\ - adds r1, 0x82\n\ - strh r3, [r1]\n\ - movs r0, 0x5\n\ - movs r1, 0\n\ - bl sub_807A048\n\ - ldr r0, [r6]\n\ - adds r1, r0, 0\n\ - adds r1, 0x7B\n\ - strb r4, [r1]\n\ - adds r0, 0x7A\n\ - strb r4, [r0]\n\ - ldr r0, [r6]\n\ - adds r1, r0, 0\n\ - adds r1, 0x79\n\ - strb r4, [r1]\n\ - adds r0, 0x78\n\ - strb r4, [r0]\n\ - ldr r0, [r6]\n\ - adds r0, 0x6F\n\ - movs r1, 0x8\n\ - b _08078B42\n\ - .pool\n\ + ldr r0, =0x00000201\n\ + cmp r1, r0\n\ + bne _08078AB4\n\ + movs r0, 0x1\n\ + bl sub_807A19C\n\ + ldr r1, [r6]\n\ + adds r2, r1, 0\n\ + adds r2, 0x80\n\ + movs r4, 0\n\ + movs r3, 0\n\ + ldr r0, =0x0000eecc\n\ + strh r0, [r2]\n\ + adds r1, 0x82\n\ + strh r3, [r1]\n\ + movs r0, 0x5\n\ + movs r1, 0\n\ + bl sub_807A048\n\ + ldr r0, [r6]\n\ + adds r1, r0, 0\n\ + adds r1, 0x7B\n\ + strb r4, [r1]\n\ + adds r0, 0x7A\n\ + strb r4, [r0]\n\ + ldr r0, [r6]\n\ + adds r1, r0, 0\n\ + adds r1, 0x79\n\ + strb r4, [r1]\n\ + adds r0, 0x78\n\ + strb r4, [r0]\n\ + ldr r0, [r6]\n\ + adds r0, 0x6F\n\ + movs r1, 0x8\n\ + b _08078B42\n\ + .pool\n\ _08078AB4:\n\ - movs r0, 0x81\n\ - lsls r0, 1\n\ - cmp r1, r0\n\ - bne _08078B00\n\ - movs r0, 0x5\n\ - bl sub_807A19C\n\ - ldr r1, [r6]\n\ - adds r2, r1, 0\n\ - adds r2, 0x80\n\ - movs r4, 0\n\ - movs r3, 0\n\ - ldr r0, =0x0000ddee\n\ - strh r0, [r2]\n\ - adds r1, 0x82\n\ - strh r3, [r1]\n\ - movs r0, 0x5\n\ - movs r1, 0\n\ - bl sub_807A048\n\ - ldr r0, [r6]\n\ - adds r1, r0, 0\n\ - adds r1, 0x7B\n\ - strb r4, [r1]\n\ - adds r0, 0x7A\n\ - strb r4, [r0]\n\ - ldr r0, [r6]\n\ - adds r1, r0, 0\n\ - adds r1, 0x79\n\ - strb r4, [r1]\n\ - adds r0, 0x78\n\ - strb r4, [r0]\n\ - ldr r0, [r6]\n\ - adds r0, 0x6F\n\ - movs r1, 0x8\n\ - b _08078B42\n\ - .pool\n\ + movs r0, 0x81\n\ + lsls r0, 1\n\ + cmp r1, r0\n\ + bne _08078B00\n\ + movs r0, 0x5\n\ + bl sub_807A19C\n\ + ldr r1, [r6]\n\ + adds r2, r1, 0\n\ + adds r2, 0x80\n\ + movs r4, 0\n\ + movs r3, 0\n\ + ldr r0, =0x0000ddee\n\ + strh r0, [r2]\n\ + adds r1, 0x82\n\ + strh r3, [r1]\n\ + movs r0, 0x5\n\ + movs r1, 0\n\ + bl sub_807A048\n\ + ldr r0, [r6]\n\ + adds r1, r0, 0\n\ + adds r1, 0x7B\n\ + strb r4, [r1]\n\ + adds r0, 0x7A\n\ + strb r4, [r0]\n\ + ldr r0, [r6]\n\ + adds r1, r0, 0\n\ + adds r1, 0x79\n\ + strb r4, [r1]\n\ + adds r0, 0x78\n\ + strb r4, [r0]\n\ + ldr r0, [r6]\n\ + adds r0, 0x6F\n\ + movs r1, 0x8\n\ + b _08078B42\n\ + .pool\n\ _08078B00:\n\ - ldr r0, =0x00000202\n\ - cmp r1, r0\n\ - bne _08078B44\n\ - adds r1, r2, 0\n\ - adds r1, 0x80\n\ - movs r5, 0\n\ - movs r4, 0\n\ - ldr r0, =0x0000eebb\n\ - strh r0, [r1]\n\ - adds r0, r2, 0\n\ - adds r0, 0x82\n\ - strh r4, [r0]\n\ - movs r0, 0x5\n\ - movs r1, 0\n\ - bl sub_807A048\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - str r4, [sp]\n\ - movs r1, 0\n\ - movs r2, 0\n\ - movs r3, 0x10\n\ - bl BeginNormalPaletteFade\n\ - ldr r0, [r6]\n\ - adds r1, r0, 0\n\ - adds r1, 0x79\n\ - strb r5, [r1]\n\ - adds r0, 0x78\n\ - strb r5, [r0]\n\ - ldr r0, [r6]\n\ - adds r0, 0x6F\n\ - movs r1, 0xB\n\ + ldr r0, =0x00000202\n\ + cmp r1, r0\n\ + bne _08078B44\n\ + adds r1, r2, 0\n\ + adds r1, 0x80\n\ + movs r5, 0\n\ + movs r4, 0\n\ + ldr r0, =0x0000eebb\n\ + strh r0, [r1]\n\ + adds r0, r2, 0\n\ + adds r0, 0x82\n\ + strh r4, [r0]\n\ + movs r0, 0x5\n\ + movs r1, 0\n\ + bl sub_807A048\n\ + movs r0, 0x1\n\ + negs r0, r0\n\ + str r4, [sp]\n\ + movs r1, 0\n\ + movs r2, 0\n\ + movs r3, 0x10\n\ + bl BeginNormalPaletteFade\n\ + ldr r0, [r6]\n\ + adds r1, r0, 0\n\ + adds r1, 0x79\n\ + strb r5, [r1]\n\ + adds r0, 0x78\n\ + strb r5, [r0]\n\ + ldr r0, [r6]\n\ + adds r0, 0x6F\n\ + movs r1, 0xB\n\ _08078B42:\n\ - strb r1, [r0]\n\ + strb r1, [r0]\n\ _08078B44:\n\ - ldr r5, =gUnknown_0203229C\n\ - ldr r3, [r5]\n\ - adds r1, r3, 0\n\ - adds r1, 0x7A\n\ - ldrb r0, [r1]\n\ - cmp r0, 0\n\ - beq _08078BDC\n\ - adds r0, r3, 0\n\ - adds r0, 0x7B\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _08078BDC\n\ - ldrh r1, [r1]\n\ - ldr r0, =0x00000101\n\ - cmp r1, r0\n\ - bne _08078B92\n\ - adds r1, r3, 0\n\ - adds r1, 0x80\n\ - movs r4, 0\n\ - movs r2, 0\n\ - ldr r0, =0x0000ccdd\n\ - strh r0, [r1]\n\ - adds r0, r3, 0\n\ - adds r0, 0x82\n\ - strh r2, [r0]\n\ - movs r0, 0x5\n\ - movs r1, 0\n\ - bl sub_807A048\n\ - ldr r0, [r5]\n\ - adds r0, 0x7A\n\ - strb r4, [r0]\n\ - ldr r0, [r5]\n\ - adds r0, 0x7B\n\ - strb r4, [r0]\n\ - ldr r0, [r5]\n\ - adds r0, 0x6F\n\ - movs r1, 0x9\n\ - strb r1, [r0]\n\ + ldr r5, =gUnknown_0203229C\n\ + ldr r3, [r5]\n\ + adds r1, r3, 0\n\ + adds r1, 0x7A\n\ + ldrb r0, [r1]\n\ + cmp r0, 0\n\ + beq _08078BDC\n\ + adds r0, r3, 0\n\ + adds r0, 0x7B\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _08078BDC\n\ + ldrh r1, [r1]\n\ + ldr r0, =0x00000101\n\ + cmp r1, r0\n\ + bne _08078B92\n\ + adds r1, r3, 0\n\ + adds r1, 0x80\n\ + movs r4, 0\n\ + movs r2, 0\n\ + ldr r0, =0x0000ccdd\n\ + strh r0, [r1]\n\ + adds r0, r3, 0\n\ + adds r0, 0x82\n\ + strh r2, [r0]\n\ + movs r0, 0x5\n\ + movs r1, 0\n\ + bl sub_807A048\n\ + ldr r0, [r5]\n\ + adds r0, 0x7A\n\ + strb r4, [r0]\n\ + ldr r0, [r5]\n\ + adds r0, 0x7B\n\ + strb r4, [r0]\n\ + ldr r0, [r5]\n\ + adds r0, 0x6F\n\ + movs r1, 0x9\n\ + strb r1, [r0]\n\ _08078B92:\n\ - ldr r1, [r5]\n\ - adds r0, r1, 0\n\ - adds r0, 0x7A\n\ - ldrb r0, [r0]\n\ - cmp r0, 0x2\n\ - beq _08078BA8\n\ - adds r0, r1, 0\n\ - adds r0, 0x7B\n\ - ldrb r0, [r0]\n\ - cmp r0, 0x2\n\ - bne _08078BDC\n\ + ldr r1, [r5]\n\ + adds r0, r1, 0\n\ + adds r0, 0x7A\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x2\n\ + beq _08078BA8\n\ + adds r0, r1, 0\n\ + adds r0, 0x7B\n\ + ldrb r0, [r0]\n\ + cmp r0, 0x2\n\ + bne _08078BDC\n\ _08078BA8:\n\ - movs r0, 0x1\n\ - bl sub_807A19C\n\ - ldr r1, [r5]\n\ - adds r2, r1, 0\n\ - adds r2, 0x80\n\ - movs r4, 0\n\ - movs r3, 0\n\ - ldr r0, =0x0000ddee\n\ - strh r0, [r2]\n\ - adds r1, 0x82\n\ - strh r3, [r1]\n\ - movs r0, 0x5\n\ - movs r1, 0\n\ - bl sub_807A048\n\ - ldr r0, [r5]\n\ - adds r0, 0x7A\n\ - strb r4, [r0]\n\ - ldr r0, [r5]\n\ - adds r0, 0x7B\n\ - strb r4, [r0]\n\ - ldr r0, [r5]\n\ - adds r0, 0x6F\n\ - movs r1, 0x8\n\ - strb r1, [r0]\n\ + movs r0, 0x1\n\ + bl sub_807A19C\n\ + ldr r1, [r5]\n\ + adds r2, r1, 0\n\ + adds r2, 0x80\n\ + movs r4, 0\n\ + movs r3, 0\n\ + ldr r0, =0x0000ddee\n\ + strh r0, [r2]\n\ + adds r1, 0x82\n\ + strh r3, [r1]\n\ + movs r0, 0x5\n\ + movs r1, 0\n\ + bl sub_807A048\n\ + ldr r0, [r5]\n\ + adds r0, 0x7A\n\ + strb r4, [r0]\n\ + ldr r0, [r5]\n\ + adds r0, 0x7B\n\ + strb r4, [r0]\n\ + ldr r0, [r5]\n\ + adds r0, 0x6F\n\ + movs r1, 0x8\n\ + strb r1, [r0]\n\ _08078BDC:\n\ - add sp, 0x4\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n"); + add sp, 0x4\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .pool\n"); } #endif // NONMATCHING @@ -1966,7 +1976,7 @@ void sub_80796B4(u8 a0) case 1: for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) { - gSprites[gUnknown_0203229C->unk_28[i + (sp60 * 6)]].invisible = TRUE; + gSprites[gUnknown_0203229C->unk_28[0][i + (sp60 * 6)]].invisible = TRUE; } for (i = 0; i < 6; i++) @@ -1974,13 +1984,13 @@ void sub_80796B4(u8 a0) ClearWindowTilemap(i + (a0 * 6 + 2)); } - gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].invisible = FALSE; - gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].data[0] = 20; - gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].data[2] = (gUnknown_0832DE24[sp60 * 6][0] + gUnknown_0832DE24[sp60 * 6 + 1][0]) / 2 * 8 + 14; - gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].data[4] = (gUnknown_0832DE24[sp60 * 6][1] * 8) - 12; - StoreSpriteCallbackInData6(&gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]], sub_80D3014); + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].invisible = FALSE; + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].data[0] = 20; + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].data[2] = (gUnknown_0832DE24[sp60 * 6][0] + gUnknown_0832DE24[sp60 * 6 + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].data[4] = (gUnknown_0832DE24[sp60 * 6][1] * 8) - 12; + StoreSpriteCallbackInData6(&gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]], sub_80D3014); gUnknown_0203229C->unk_74[a0]++; - sub_80A6DEC(&gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]]); + sub_80A6DEC(&gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]]); CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(0); @@ -1991,7 +2001,7 @@ void sub_80796B4(u8 a0) } break; case 2: - if (gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].callback == sub_80D3014) + if (gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].callback == sub_80D3014) { gUnknown_0203229C->unk_74[a0] = 3; } @@ -1999,10 +2009,10 @@ void sub_80796B4(u8 a0) case 3: CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMovesBoxTilemap, sp60 * 15, 0, 15, 17, 0); CopyBgTilemapBufferToVram(1); - gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].pos1.x = (gUnknown_0832DE24[sp60 * 6][0] + gUnknown_0832DE24[sp60 * 6 + 1][0]) / 2 * 8 + 14; - gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].pos1.y = (gUnknown_0832DE24[sp60 * 6][1] * 8) - 12; - gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].pos2.x = 0; - gSprites[gUnknown_0203229C->unk_28[r10 + (sp60 * 6)]].pos2.y = 0; + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos1.x = (gUnknown_0832DE24[sp60 * 6][0] + gUnknown_0832DE24[sp60 * 6 + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos1.y = (gUnknown_0832DE24[sp60 * 6][1] * 8) - 12; + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos2.x = 0; + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos2.y = 0; test = sub_8079A3C(sp14, sp60, r10); AddTextPrinterParameterized3((a0 * 2) + 14, 0, (80 - test) / 2, 4, gUnknown_0832DEE0, 0, sp14); sub_8079AA4(sp28, sp60, r10); @@ -2024,427 +2034,427 @@ NAKED void sub_80796B4(u8 a0) { asm_unified("push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x68\n\ - lsls r0, 24\n\ - lsrs r7, r0, 24\n\ - ldr r0, =gUnknown_0203229C\n\ - ldr r4, [r0]\n\ - adds r0, r4, 0\n\ - adds r0, 0x76\n\ - adds r0, r7\n\ - ldrb r0, [r0]\n\ - movs r1, 0x1\n\ - str r1, [sp, 0x60]\n\ - cmp r0, 0x5\n\ - bhi _080796DC\n\ - movs r2, 0\n\ - str r2, [sp, 0x60]\n\ + mov r7, r10\n\ + mov r6, r9\n\ + mov r5, r8\n\ + push {r5-r7}\n\ + sub sp, 0x68\n\ + lsls r0, 24\n\ + lsrs r7, r0, 24\n\ + ldr r0, =gUnknown_0203229C\n\ + ldr r4, [r0]\n\ + adds r0, r4, 0\n\ + adds r0, 0x76\n\ + adds r0, r7\n\ + ldrb r0, [r0]\n\ + movs r1, 0x1\n\ + str r1, [sp, 0x60]\n\ + cmp r0, 0x5\n\ + bhi _080796DC\n\ + movs r2, 0\n\ + str r2, [sp, 0x60]\n\ _080796DC:\n\ - movs r1, 0x6\n\ - bl __umodsi3\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r10, r0\n\ - movs r0, 0\n\ - mov r8, r0\n\ - adds r0, r4, 0\n\ - adds r0, 0x74\n\ - adds r3, r0, r7\n\ - ldrb r0, [r3]\n\ - cmp r0, 0x2\n\ - bne _080796FA\n\ - b _08079884\n\ + movs r1, 0x6\n\ + bl __umodsi3\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r10, r0\n\ + movs r0, 0\n\ + mov r8, r0\n\ + adds r0, r4, 0\n\ + adds r0, 0x74\n\ + adds r3, r0, r7\n\ + ldrb r0, [r3]\n\ + cmp r0, 0x2\n\ + bne _080796FA\n\ + b _08079884\n\ _080796FA:\n\ - cmp r0, 0x2\n\ - bgt _08079708\n\ - cmp r0, 0x1\n\ - beq _08079716\n\ - b _08079A24\n\ - .pool\n\ + cmp r0, 0x2\n\ + bgt _08079708\n\ + cmp r0, 0x1\n\ + beq _08079716\n\ + b _08079A24\n\ + .pool\n\ _08079708:\n\ - cmp r0, 0x3\n\ - bne _0807970E\n\ - b _080798BC\n\ + cmp r0, 0x3\n\ + bne _0807970E\n\ + b _080798BC\n\ _0807970E:\n\ - cmp r0, 0x4\n\ - bne _08079714\n\ - b _080799EC\n\ + cmp r0, 0x4\n\ + bne _08079714\n\ + b _080799EC\n\ _08079714:\n\ - b _08079A24\n\ + b _08079A24\n\ _08079716:\n\ - movs r5, 0\n\ - adds r0, r4, 0\n\ - adds r0, 0x36\n\ - adds r0, r7\n\ - ldr r1, [sp, 0x60]\n\ - lsls r1, 1\n\ - mov r9, r1\n\ - lsls r6, r7, 1\n\ - lsls r2, r7, 4\n\ - str r2, [sp, 0x64]\n\ - ldrb r0, [r0]\n\ - cmp r8, r0\n\ - bcs _0807976A\n\ - ldr r0, =gSprites\n\ - mov r8, r0\n\ - ldr r4, =gUnknown_0203229C\n\ - ldr r0, [sp, 0x60]\n\ - add r0, r9\n\ - lsls r2, r0, 1\n\ - movs r3, 0x4\n\ + movs r5, 0\n\ + adds r0, r4, 0\n\ + adds r0, 0x36\n\ + adds r0, r7\n\ + ldr r1, [sp, 0x60]\n\ + lsls r1, 1\n\ + mov r9, r1\n\ + lsls r6, r7, 1\n\ + lsls r2, r7, 4\n\ + str r2, [sp, 0x64]\n\ + ldrb r0, [r0]\n\ + cmp r8, r0\n\ + bcs _0807976A\n\ + ldr r0, =gSprites\n\ + mov r8, r0\n\ + ldr r4, =gUnknown_0203229C\n\ + ldr r0, [sp, 0x60]\n\ + add r0, r9\n\ + lsls r2, r0, 1\n\ + movs r3, 0x4\n\ _0807973E:\n\ - ldr r0, [r4]\n\ - adds r1, r5, r2\n\ - adds r0, 0x28\n\ - adds r0, r1\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - add r0, r8\n\ - adds r0, 0x3E\n\ - ldrb r1, [r0]\n\ - orrs r1, r3\n\ - strb r1, [r0]\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - ldr r0, [r4]\n\ - adds r0, 0x36\n\ - adds r0, r7\n\ - ldrb r0, [r0]\n\ - cmp r5, r0\n\ - bcc _0807973E\n\ + ldr r0, [r4]\n\ + adds r1, r5, r2\n\ + adds r0, 0x28\n\ + adds r0, r1\n\ + ldrb r1, [r0]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + add r0, r8\n\ + adds r0, 0x3E\n\ + ldrb r1, [r0]\n\ + orrs r1, r3\n\ + strb r1, [r0]\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + ldr r0, [r4]\n\ + adds r0, 0x36\n\ + adds r0, r7\n\ + ldrb r0, [r0]\n\ + cmp r5, r0\n\ + bcc _0807973E\n\ _0807976A:\n\ - movs r5, 0\n\ - adds r0, r6, r7\n\ - lsls r0, 1\n\ - adds r4, r0, 0x2\n\ + movs r5, 0\n\ + adds r0, r6, r7\n\ + lsls r0, 1\n\ + adds r4, r0, 0x2\n\ _08079772:\n\ - lsls r0, r5, 24\n\ - asrs r0, 24\n\ - adds r0, r4\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - bl ClearWindowTilemap\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - cmp r5, 0x5\n\ - bls _08079772\n\ - ldr r1, =gSprites\n\ - mov r8, r1\n\ - ldr r2, =gUnknown_0203229C\n\ - ldr r0, [r2]\n\ - ldr r6, [sp, 0x60]\n\ - add r6, r9\n\ - lsls r3, r6, 1\n\ - add r10, r3\n\ - adds r0, 0x28\n\ - add r0, r10\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - add r0, r8\n\ - adds r0, 0x3E\n\ - ldrb r2, [r0]\n\ - movs r1, 0x5\n\ - negs r1, r1\n\ - ands r1, r2\n\ - strb r1, [r0]\n\ - ldr r0, =gUnknown_0203229C\n\ - ldr r4, [r0]\n\ - adds r4, 0x28\n\ - add r4, r10\n\ - ldrb r1, [r4]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - add r0, r8\n\ - movs r1, 0x14\n\ - strh r1, [r0, 0x2E]\n\ - ldrb r0, [r4]\n\ - lsls r2, r0, 4\n\ - adds r2, r0\n\ - lsls r2, 2\n\ - add r2, r8\n\ - ldr r5, =gUnknown_0832DE24\n\ - lsls r6, 2\n\ - adds r0, r6, r5\n\ - ldrb r0, [r0]\n\ - adds r3, 0x1\n\ - lsls r3, 1\n\ - adds r3, r5\n\ - ldrb r1, [r3]\n\ - adds r0, r1\n\ - asrs r0, 1\n\ - lsls r0, 3\n\ - adds r0, 0xE\n\ - strh r0, [r2, 0x32]\n\ - ldrb r0, [r4]\n\ - lsls r1, r0, 4\n\ - adds r1, r0\n\ - lsls r1, 2\n\ - add r1, r8\n\ - adds r5, 0x1\n\ - adds r6, r5\n\ - ldrb r0, [r6]\n\ - lsls r0, 3\n\ - subs r0, 0xC\n\ - strh r0, [r1, 0x36]\n\ - ldrb r1, [r4]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - add r0, r8\n\ - ldr r1, =sub_80D3014\n\ - bl StoreSpriteCallbackInData6\n\ - ldr r2, =gUnknown_0203229C\n\ - ldr r1, [r2]\n\ - adds r1, 0x74\n\ - adds r1, r7\n\ - ldrb r0, [r1]\n\ - adds r0, 0x1\n\ - strb r0, [r1]\n\ - ldr r0, [r2]\n\ - adds r0, 0x28\n\ - add r0, r10\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - add r0, r8\n\ - bl sub_80A6DEC\n\ - ldr r1, =gTradePartyBoxTilemap\n\ - ldr r0, [sp, 0x64]\n\ - subs r2, r0, r7\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - movs r0, 0xF\n\ - str r0, [sp]\n\ - movs r0, 0x11\n\ - str r0, [sp, 0x4]\n\ - movs r0, 0\n\ - str r0, [sp, 0x8]\n\ - movs r0, 0x1\n\ - movs r3, 0\n\ - bl CopyToBgTilemapBufferRect_ChangePalette\n\ - movs r0, 0x1\n\ - bl CopyBgTilemapBufferToVram\n\ - movs r0, 0\n\ - bl CopyBgTilemapBufferToVram\n\ - ldr r1, [sp, 0x60]\n\ - cmp r1, 0\n\ - beq _08079868\n\ - b _08079A24\n\ + lsls r0, r5, 24\n\ + asrs r0, 24\n\ + adds r0, r4\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + bl ClearWindowTilemap\n\ + adds r0, r5, 0x1\n\ + lsls r0, 24\n\ + lsrs r5, r0, 24\n\ + cmp r5, 0x5\n\ + bls _08079772\n\ + ldr r1, =gSprites\n\ + mov r8, r1\n\ + ldr r2, =gUnknown_0203229C\n\ + ldr r0, [r2]\n\ + ldr r6, [sp, 0x60]\n\ + add r6, r9\n\ + lsls r3, r6, 1\n\ + add r10, r3\n\ + adds r0, 0x28\n\ + add r0, r10\n\ + ldrb r1, [r0]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + add r0, r8\n\ + adds r0, 0x3E\n\ + ldrb r2, [r0]\n\ + movs r1, 0x5\n\ + negs r1, r1\n\ + ands r1, r2\n\ + strb r1, [r0]\n\ + ldr r0, =gUnknown_0203229C\n\ + ldr r4, [r0]\n\ + adds r4, 0x28\n\ + add r4, r10\n\ + ldrb r1, [r4]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + add r0, r8\n\ + movs r1, 0x14\n\ + strh r1, [r0, 0x2E]\n\ + ldrb r0, [r4]\n\ + lsls r2, r0, 4\n\ + adds r2, r0\n\ + lsls r2, 2\n\ + add r2, r8\n\ + ldr r5, =gUnknown_0832DE24\n\ + lsls r6, 2\n\ + adds r0, r6, r5\n\ + ldrb r0, [r0]\n\ + adds r3, 0x1\n\ + lsls r3, 1\n\ + adds r3, r5\n\ + ldrb r1, [r3]\n\ + adds r0, r1\n\ + asrs r0, 1\n\ + lsls r0, 3\n\ + adds r0, 0xE\n\ + strh r0, [r2, 0x32]\n\ + ldrb r0, [r4]\n\ + lsls r1, r0, 4\n\ + adds r1, r0\n\ + lsls r1, 2\n\ + add r1, r8\n\ + adds r5, 0x1\n\ + adds r6, r5\n\ + ldrb r0, [r6]\n\ + lsls r0, 3\n\ + subs r0, 0xC\n\ + strh r0, [r1, 0x36]\n\ + ldrb r1, [r4]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + add r0, r8\n\ + ldr r1, =sub_80D3014\n\ + bl StoreSpriteCallbackInData6\n\ + ldr r2, =gUnknown_0203229C\n\ + ldr r1, [r2]\n\ + adds r1, 0x74\n\ + adds r1, r7\n\ + ldrb r0, [r1]\n\ + adds r0, 0x1\n\ + strb r0, [r1]\n\ + ldr r0, [r2]\n\ + adds r0, 0x28\n\ + add r0, r10\n\ + ldrb r1, [r0]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + add r0, r8\n\ + bl sub_80A6DEC\n\ + ldr r1, =gTradePartyBoxTilemap\n\ + ldr r0, [sp, 0x64]\n\ + subs r2, r0, r7\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + movs r0, 0xF\n\ + str r0, [sp]\n\ + movs r0, 0x11\n\ + str r0, [sp, 0x4]\n\ + movs r0, 0\n\ + str r0, [sp, 0x8]\n\ + movs r0, 0x1\n\ + movs r3, 0\n\ + bl CopyToBgTilemapBufferRect_ChangePalette\n\ + movs r0, 0x1\n\ + bl CopyBgTilemapBufferToVram\n\ + movs r0, 0\n\ + bl CopyBgTilemapBufferToVram\n\ + ldr r1, [sp, 0x60]\n\ + cmp r1, 0\n\ + beq _08079868\n\ + b _08079A24\n\ _08079868:\n\ - bl sub_8079F74\n\ - b _08079A24\n\ - .pool\n\ + bl sub_8079F74\n\ + b _08079A24\n\ + .pool\n\ _08079884:\n\ - ldr r2, =gSprites\n\ - ldr r1, [sp, 0x60]\n\ - lsls r0, r1, 1\n\ - adds r0, r1\n\ - lsls r0, 1\n\ - add r0, r10\n\ - adds r1, r4, 0\n\ - adds r1, 0x28\n\ - adds r1, r0\n\ - ldrb r1, [r1]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r2, 0x1C\n\ - adds r0, r2\n\ - ldr r1, [r0]\n\ - ldr r0, =sub_80D3014\n\ - cmp r1, r0\n\ - beq _080798AC\n\ - b _08079A24\n\ + ldr r2, =gSprites\n\ + ldr r1, [sp, 0x60]\n\ + lsls r0, r1, 1\n\ + adds r0, r1\n\ + lsls r0, 1\n\ + add r0, r10\n\ + adds r1, r4, 0\n\ + adds r1, 0x28\n\ + adds r1, r0\n\ + ldrb r1, [r1]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r2, 0x1C\n\ + adds r0, r2\n\ + ldr r1, [r0]\n\ + ldr r0, =sub_80D3014\n\ + cmp r1, r0\n\ + beq _080798AC\n\ + b _08079A24\n\ _080798AC:\n\ - movs r0, 0x3\n\ - strb r0, [r3]\n\ - b _08079A24\n\ - .pool\n\ + movs r0, 0x3\n\ + strb r0, [r3]\n\ + b _08079A24\n\ + .pool\n\ _080798BC:\n\ - ldr r1, =gTradeMovesBoxTilemap\n\ - ldr r0, [sp, 0x60]\n\ - lsls r2, r0, 4\n\ - subs r2, r0\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - movs r0, 0xF\n\ - str r0, [sp]\n\ - movs r0, 0x11\n\ - str r0, [sp, 0x4]\n\ - mov r0, r8\n\ - str r0, [sp, 0x8]\n\ - movs r0, 0x1\n\ - movs r3, 0\n\ - bl CopyToBgTilemapBufferRect_ChangePalette\n\ - movs r0, 0x1\n\ - bl CopyBgTilemapBufferToVram\n\ - ldr r6, =gSprites\n\ - ldr r1, =gUnknown_0203229C\n\ - ldr r4, [r1]\n\ - ldr r2, [sp, 0x60]\n\ - lsls r3, r2, 1\n\ - adds r3, r2\n\ - lsls r1, r3, 1\n\ - mov r2, r10\n\ - adds r0, r2, r1\n\ - adds r4, 0x28\n\ - adds r4, r0\n\ - ldrb r0, [r4]\n\ - lsls r2, r0, 4\n\ - adds r2, r0\n\ - lsls r2, 2\n\ - adds r2, r6\n\ - ldr r5, =gUnknown_0832DE24\n\ - lsls r3, 2\n\ - adds r0, r3, r5\n\ - ldrb r0, [r0]\n\ - adds r1, 0x1\n\ - lsls r1, 1\n\ - adds r1, r5\n\ - ldrb r1, [r1]\n\ - adds r0, r1\n\ - asrs r0, 1\n\ - lsls r0, 3\n\ - adds r0, 0xE\n\ - strh r0, [r2, 0x20]\n\ - ldrb r0, [r4]\n\ - lsls r1, r0, 4\n\ - adds r1, r0\n\ - lsls r1, 2\n\ - adds r1, r6\n\ - adds r5, 0x1\n\ - adds r3, r5\n\ - ldrb r0, [r3]\n\ - lsls r0, 3\n\ - subs r0, 0xC\n\ - strh r0, [r1, 0x22]\n\ - ldrb r1, [r4]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r0, r6\n\ - mov r1, r8\n\ - strh r1, [r0, 0x24]\n\ - ldrb r1, [r4]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r0, r6\n\ - mov r2, r8\n\ - strh r2, [r0, 0x26]\n\ - add r0, sp, 0x14\n\ - ldr r1, [sp, 0x60]\n\ - mov r2, r10\n\ - bl sub_8079A3C\n\ - lsls r4, r7, 1\n\ - adds r5, r4, 0\n\ - adds r5, 0xE\n\ - lsls r5, 24\n\ - lsrs r5, 24\n\ - lsls r0, 24\n\ - asrs r0, 24\n\ - movs r2, 0x50\n\ - subs r2, r0\n\ - lsrs r0, r2, 31\n\ - adds r2, r0\n\ - asrs r2, 1\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - ldr r0, =gUnknown_0832DEE0\n\ - mov r8, r0\n\ - str r0, [sp]\n\ - movs r1, 0\n\ - str r1, [sp, 0x4]\n\ - add r0, sp, 0x14\n\ - str r0, [sp, 0x8]\n\ - adds r0, r5, 0\n\ - movs r3, 0x4\n\ - bl AddTextPrinterParameterized3\n\ - add r6, sp, 0x28\n\ - adds r0, r6, 0\n\ - ldr r1, [sp, 0x60]\n\ - mov r2, r10\n\ - bl sub_8079AA4\n\ - adds r4, 0xF\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - movs r1, 0\n\ - str r1, [sp]\n\ - str r1, [sp, 0x4]\n\ - mov r2, r8\n\ - str r2, [sp, 0x8]\n\ - str r1, [sp, 0xC]\n\ - str r6, [sp, 0x10]\n\ - adds r0, r4, 0\n\ - movs r1, 0x1\n\ - movs r2, 0\n\ - movs r3, 0\n\ - bl AddTextPrinterParameterized4\n\ - adds r0, r5, 0\n\ - bl PutWindowTilemap\n\ - adds r0, r5, 0\n\ - movs r1, 0x3\n\ - bl CopyWindowToVram\n\ - adds r0, r4, 0\n\ - bl PutWindowTilemap\n\ - adds r0, r4, 0\n\ - movs r1, 0x3\n\ - bl CopyWindowToVram\n\ - ldr r0, =gUnknown_0203229C\n\ - ldr r1, [r0]\n\ - b _08079A1A\n\ - .pool\n\ + ldr r1, =gTradeMovesBoxTilemap\n\ + ldr r0, [sp, 0x60]\n\ + lsls r2, r0, 4\n\ + subs r2, r0\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + movs r0, 0xF\n\ + str r0, [sp]\n\ + movs r0, 0x11\n\ + str r0, [sp, 0x4]\n\ + mov r0, r8\n\ + str r0, [sp, 0x8]\n\ + movs r0, 0x1\n\ + movs r3, 0\n\ + bl CopyToBgTilemapBufferRect_ChangePalette\n\ + movs r0, 0x1\n\ + bl CopyBgTilemapBufferToVram\n\ + ldr r6, =gSprites\n\ + ldr r1, =gUnknown_0203229C\n\ + ldr r4, [r1]\n\ + ldr r2, [sp, 0x60]\n\ + lsls r3, r2, 1\n\ + adds r3, r2\n\ + lsls r1, r3, 1\n\ + mov r2, r10\n\ + adds r0, r2, r1\n\ + adds r4, 0x28\n\ + adds r4, r0\n\ + ldrb r0, [r4]\n\ + lsls r2, r0, 4\n\ + adds r2, r0\n\ + lsls r2, 2\n\ + adds r2, r6\n\ + ldr r5, =gUnknown_0832DE24\n\ + lsls r3, 2\n\ + adds r0, r3, r5\n\ + ldrb r0, [r0]\n\ + adds r1, 0x1\n\ + lsls r1, 1\n\ + adds r1, r5\n\ + ldrb r1, [r1]\n\ + adds r0, r1\n\ + asrs r0, 1\n\ + lsls r0, 3\n\ + adds r0, 0xE\n\ + strh r0, [r2, 0x20]\n\ + ldrb r0, [r4]\n\ + lsls r1, r0, 4\n\ + adds r1, r0\n\ + lsls r1, 2\n\ + adds r1, r6\n\ + adds r5, 0x1\n\ + adds r3, r5\n\ + ldrb r0, [r3]\n\ + lsls r0, 3\n\ + subs r0, 0xC\n\ + strh r0, [r1, 0x22]\n\ + ldrb r1, [r4]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r0, r6\n\ + mov r1, r8\n\ + strh r1, [r0, 0x24]\n\ + ldrb r1, [r4]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r0, r6\n\ + mov r2, r8\n\ + strh r2, [r0, 0x26]\n\ + add r0, sp, 0x14\n\ + ldr r1, [sp, 0x60]\n\ + mov r2, r10\n\ + bl sub_8079A3C\n\ + lsls r4, r7, 1\n\ + adds r5, r4, 0\n\ + adds r5, 0xE\n\ + lsls r5, 24\n\ + lsrs r5, 24\n\ + lsls r0, 24\n\ + asrs r0, 24\n\ + movs r2, 0x50\n\ + subs r2, r0\n\ + lsrs r0, r2, 31\n\ + adds r2, r0\n\ + asrs r2, 1\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + ldr r0, =gUnknown_0832DEE0\n\ + mov r8, r0\n\ + str r0, [sp]\n\ + movs r1, 0\n\ + str r1, [sp, 0x4]\n\ + add r0, sp, 0x14\n\ + str r0, [sp, 0x8]\n\ + adds r0, r5, 0\n\ + movs r3, 0x4\n\ + bl AddTextPrinterParameterized3\n\ + add r6, sp, 0x28\n\ + adds r0, r6, 0\n\ + ldr r1, [sp, 0x60]\n\ + mov r2, r10\n\ + bl sub_8079AA4\n\ + adds r4, 0xF\n\ + lsls r4, 24\n\ + lsrs r4, 24\n\ + movs r1, 0\n\ + str r1, [sp]\n\ + str r1, [sp, 0x4]\n\ + mov r2, r8\n\ + str r2, [sp, 0x8]\n\ + str r1, [sp, 0xC]\n\ + str r6, [sp, 0x10]\n\ + adds r0, r4, 0\n\ + movs r1, 0x1\n\ + movs r2, 0\n\ + movs r3, 0\n\ + bl AddTextPrinterParameterized4\n\ + adds r0, r5, 0\n\ + bl PutWindowTilemap\n\ + adds r0, r5, 0\n\ + movs r1, 0x3\n\ + bl CopyWindowToVram\n\ + adds r0, r4, 0\n\ + bl PutWindowTilemap\n\ + adds r0, r4, 0\n\ + movs r1, 0x3\n\ + bl CopyWindowToVram\n\ + ldr r0, =gUnknown_0203229C\n\ + ldr r1, [r0]\n\ + b _08079A1A\n\ + .pool\n\ _080799EC:\n\ - ldr r0, =gUnknown_0832DF99\n\ - lsls r1, r7, 1\n\ - adds r4, r1, r0\n\ - ldrb r2, [r4]\n\ - adds r2, 0x4\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - adds r0, 0x1\n\ - adds r1, r0\n\ - ldrb r3, [r1]\n\ - adds r3, 0x1\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - ldrb r0, [r4]\n\ - str r0, [sp]\n\ - ldrb r0, [r1]\n\ - str r0, [sp, 0x4]\n\ - adds r0, r7, 0\n\ - mov r1, r10\n\ - bl sub_8079C4C\n\ - ldr r2, =gUnknown_0203229C\n\ - ldr r1, [r2]\n\ + ldr r0, =gUnknown_0832DF99\n\ + lsls r1, r7, 1\n\ + adds r4, r1, r0\n\ + ldrb r2, [r4]\n\ + adds r2, 0x4\n\ + lsls r2, 24\n\ + lsrs r2, 24\n\ + adds r0, 0x1\n\ + adds r1, r0\n\ + ldrb r3, [r1]\n\ + adds r3, 0x1\n\ + lsls r3, 24\n\ + lsrs r3, 24\n\ + ldrb r0, [r4]\n\ + str r0, [sp]\n\ + ldrb r0, [r1]\n\ + str r0, [sp, 0x4]\n\ + adds r0, r7, 0\n\ + mov r1, r10\n\ + bl sub_8079C4C\n\ + ldr r2, =gUnknown_0203229C\n\ + ldr r1, [r2]\n\ _08079A1A:\n\ - adds r1, 0x74\n\ - adds r1, r7\n\ - ldrb r0, [r1]\n\ - adds r0, 0x1\n\ - strb r0, [r1]\n\ + adds r1, 0x74\n\ + adds r1, r7\n\ + ldrb r0, [r1]\n\ + adds r0, 0x1\n\ + strb r0, [r1]\n\ _08079A24:\n\ - add sp, 0x68\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); + add sp, 0x68\n\ + pop {r3-r5}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + mov r10, r5\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); } #endif // NONMATCHING @@ -2594,6 +2604,8 @@ void sub_8079C4C(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4, u8 a5) gUnknown_0203229C->tilemapBuffer[(a3 - 1) * 32 + a2 + 1] = r2; } +// Very close but loop preamble not working. +#ifdef NONMATCHING void sub_8079E44(u8 a0) { int i; @@ -2603,3 +2615,583 @@ void sub_8079E44(u8 a0) sub_8079C4C(a0, i, gUnknown_0832DE3E[a0][i][0], gUnknown_0832DE3E[a0][i][1], gUnknown_0832DE56[a0][i][0], gUnknown_0832DE56[a0][i][1]); } } +#else +NAKED +void sub_8079E44(u8 a0) +{ + asm_unified("push {r4-r7,lr}\n\ + sub sp, 0x8\n\ + lsls r0, 24\n\ + lsrs r6, r0, 24\n\ + movs r7, 0\n\ + ldr r0, =gUnknown_0203229C\n\ + ldr r0, [r0]\n\ + adds r0, 0x36\n\ + adds r0, r6\n\ + ldrb r0, [r0]\n\ + cmp r7, r0\n\ + bge _08079E94\n\ + lsls r0, r6, 1\n\ + adds r0, r6\n\ + ldr r1, =gUnknown_0832DE3E\n\ + lsls r0, 2\n\ + adds r5, r0, r1\n\ + ldr r1, =gUnknown_0832DE56\n\ + adds r4, r0, r1\n\ +_08079E6A:\n\ + lsls r1, r7, 24\n\ + lsrs r1, 24\n\ + ldrb r2, [r5]\n\ + ldrb r3, [r5, 0x1]\n\ + ldrb r0, [r4]\n\ + str r0, [sp]\n\ + ldrb r0, [r4, 0x1]\n\ + str r0, [sp, 0x4]\n\ + adds r0, r6, 0\n\ + bl sub_8079C4C\n\ + adds r5, 0x2\n\ + adds r4, 0x2\n\ + adds r7, 0x1\n\ + ldr r0, =gUnknown_0203229C\n\ + ldr r0, [r0]\n\ + adds r0, 0x36\n\ + adds r0, r6\n\ + ldrb r0, [r0]\n\ + cmp r7, r0\n\ + blt _08079E6A\n\ +_08079E94:\n\ + add sp, 0x8\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); +} +#endif // NONMATCHING + +void sub_8079EA8(u8 a0) +{ + int i; + + for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) + { + gSprites[gUnknown_0203229C->unk_28[a0][i]].invisible = FALSE; + gSprites[gUnknown_0203229C->unk_28[a0][i]].pos1.x = gUnknown_0832DE24[(a0 * 6) + i][0] * 8 + 14; + gSprites[gUnknown_0203229C->unk_28[a0][i]].pos1.y = gUnknown_0832DE24[(a0 * 6) + i][1] * 8 - 12; + gSprites[gUnknown_0203229C->unk_28[a0][i]].pos2.x = 0; + gSprites[gUnknown_0203229C->unk_28[a0][i]].pos2.y = 0; + } +} + +void sub_8079F74(void) +{ + rbox_fill_rectangle(1); + sub_8079BE0(1); +} + +void sub_8079F88(u8 a0) +{ + CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0); + CopyBgTilemapBufferToVram(1); + sub_8079E44(a0); + sub_8079BE0(a0); + sub_8079EA8(a0); + sub_807A308(gUnknown_0832DE94[1], (void *)(OBJ_VRAM0 + (gUnknown_0203229C->unk_72 * 32)), 24); + gUnknown_0203229C->unk_74[a0] = 0; +} + +void sub_807A000(void) +{ + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); +} + +void sub_807A024(void) +{ + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); + CopyBgTilemapBufferToVram(0); +} + +void sub_807A048(u16 a0, u8 a1) +{ + int i; + + for (i = 0; i < 4; i++) + { + if (!gUnknown_0203229C->unk_8D0[i].unk_0) + { + gUnknown_0203229C->unk_8D0[i].unk_2 = a0; + gUnknown_0203229C->unk_8D0[i].unk_4 = a1; + gUnknown_0203229C->unk_8D0[i].unk_0 = TRUE; + break; + } + } +} + +u32 sub_807A09C(void) +{ + u32 acc = 0; + int i; + + for (i = 0; i < 4; i++) + { + acc += gUnknown_0203229C->unk_8D0[i].unk_0; + } + + return acc; +} + +void sub_807A0C4(void) +{ + int i; + + for (i = 0; i < 4; i++) + { + if (gUnknown_0203229C->unk_8D0[i].unk_0) + { + if (gUnknown_0203229C->unk_8D0[i].unk_2) + { + gUnknown_0203229C->unk_8D0[i].unk_2--; + } + else + { + switch (gUnknown_0203229C->unk_8D0[i].unk_4) + { + case 0: + sub_8077170(gUnknown_0203229C->unk_80, 20); + break; + case 1: + sub_807A19C(0); + break; + case 2: + sub_807A19C(2); + break; + case 3: + case 4: + case 5: + sub_807A19C(3); + break; + case 6: + sub_807A19C(6); + break; + case 7: + sub_807A19C(7); + break; + case 8: + sub_807A19C(8); + break; + } + gUnknown_0203229C->unk_8D0[i].unk_0 = 0; + } + } + } +} + +void sub_807A19C(u8 a0) +{ + FillWindowPixelBuffer(0, 0x11); + AddTextPrinterParameterized(0, 1, gUnknown_0832DEBC[a0], 0, 1, TEXT_SPEED_FF, NULL); + sub_8098858(0, 20, 12); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); +} + +bool8 sub_807A1F0(void) +{ + struct SpriteSheet sheet; + + if (gUnknown_0203229C->unk_A8 < 14) + { + sheet.data = gUnknown_02032188[gUnknown_0203229C->unk_A8]; + sheet.size = 0x100; + sheet.tag = 200 + gUnknown_0203229C->unk_A8; + } + + switch (gUnknown_0203229C->unk_A8) + { + case 0 ... 7: + LoadSpriteSheet(&sheet); + gUnknown_0203229C->unk_A8++; + break; + case 8: + gUnknown_0203229C->unk_72 = LoadSpriteSheet(&sheet); + gUnknown_0203229C->unk_A8++; + break; + case 9 ... 13: + LoadSpriteSheet(&sheet); + gUnknown_0203229C->unk_A8++; + break; + case 14: + LoadSpritePalette(&gSpritePalette_TradeScreenText); + gUnknown_0203229C->unk_A8++; + break; + case 15: + LoadSpritePalette(&gUnknown_0832DC44); + gUnknown_0203229C->unk_A8++; + break; + case 16: + LoadSpriteSheet(&gUnknown_0832DC3C); + gUnknown_0203229C->unk_A8++; + break; + case 17: + gUnknown_0203229C->unk_A8 = 0; + return TRUE; + } + + return FALSE; +} + +void sub_807A308(const u8 *a0, u8 *a1, u8 unused) +{ + sub_80C6D80(a0, a1, 0, 0, 6); +} + +#ifdef NONMATCHING +void sub_807A320(u8 a0) +{ + int i; + + switch (a0) + { + case 0: + for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) + { + if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) == TRUE) + { + gUnknown_0203229C->unk_45[i] = 0; + gUnknown_0203229C->unk_51[0][i] = 1; + } + else if (GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) + { + gUnknown_0203229C->unk_45[i] = 0; + gUnknown_0203229C->unk_51[0][i] = 0; + } + else + { + gUnknown_0203229C->unk_45[i] = 1; + gUnknown_0203229C->unk_51[0][i] = 0; + } + } + break; + case 1: + for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) + { + if (GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG) == TRUE) + { + gUnknown_0203229C->unk_45[i + 6] = 0; + gUnknown_0203229C->unk_51[1][i] = 1; + } + else if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) + { + gUnknown_0203229C->unk_45[i + 6] = 0; + gUnknown_0203229C->unk_51[1][i] = 0; + } + else + { + gUnknown_0203229C->unk_45[i + 6] = 1; + gUnknown_0203229C->unk_51[1][i] = 0; + } + } + break; + } +} +#else +NAKED +void sub_807A320(u8 a0) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r9\n\ + mov r6, r8\n\ + push {r6,r7}\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + mov r8, r0\n\ + cmp r0, 0\n\ + beq _0807A338\n\ + cmp r0, 0x1\n\ + beq _0807A3CC\n\ + b _0807A458\n\ +_0807A338:\n\ + movs r7, 0\n\ + ldr r1, =gUnknown_0203229C\n\ + ldr r0, [r1]\n\ + adds r0, 0x36\n\ + ldrb r0, [r0]\n\ + cmp r7, r0\n\ + blt _0807A348\n\ + b _0807A458\n\ +_0807A348:\n\ + adds r6, r1, 0\n\ + movs r5, 0\n\ + mov r9, r5\n\ +_0807A34E:\n\ + movs r0, 0x64\n\ + adds r1, r7, 0\n\ + muls r1, r0\n\ + ldr r0, =gPlayerParty\n\ + adds r4, r1, r0\n\ + adds r0, r4, 0\n\ + movs r1, 0x2D\n\ + bl GetMonData\n\ + adds r1, r0, 0\n\ + cmp r1, 0x1\n\ + bne _0807A380\n\ + ldr r0, [r6]\n\ + adds r0, 0x45\n\ + adds r0, r5\n\ + mov r2, r9\n\ + strb r2, [r0]\n\ + ldr r0, [r6]\n\ + adds r0, 0x51\n\ + adds r0, r5\n\ + b _0807A3B0\n\ + .pool\n\ +_0807A380:\n\ + adds r0, r4, 0\n\ + movs r1, 0x39\n\ + bl GetMonData\n\ + adds r1, r0, 0\n\ + cmp r1, 0\n\ + bne _0807A39E\n\ + ldr r0, [r6]\n\ + adds r0, 0x45\n\ + adds r0, r5\n\ + strb r1, [r0]\n\ + ldr r0, [r6]\n\ + adds r0, 0x51\n\ + adds r0, r5\n\ + b _0807A3B0\n\ +_0807A39E:\n\ + ldr r0, [r6]\n\ + adds r0, 0x45\n\ + adds r0, r5\n\ + movs r1, 0x1\n\ + strb r1, [r0]\n\ + ldr r0, [r6]\n\ + adds r0, 0x51\n\ + adds r0, r5\n\ + mov r1, r9\n\ +_0807A3B0:\n\ + strb r1, [r0]\n\ + ldr r0, =gUnknown_0203229C\n\ + adds r5, 0x1\n\ + adds r7, 0x1\n\ + ldr r0, [r0]\n\ + adds r0, 0x36\n\ + add r0, r8\n\ + ldrb r0, [r0]\n\ + cmp r7, r0\n\ + blt _0807A34E\n\ + b _0807A458\n\ + .pool\n\ +_0807A3CC:\n\ + movs r7, 0\n\ + ldr r1, =gUnknown_0203229C\n\ + ldr r0, [r1]\n\ + adds r0, 0x37\n\ + ldrb r0, [r0]\n\ + cmp r7, r0\n\ + bge _0807A458\n\ + adds r6, r1, 0\n\ + movs r5, 0x6\n\ + movs r2, 0\n\ + mov r9, r2\n\ +_0807A3E2:\n\ + movs r0, 0x64\n\ + adds r1, r7, 0\n\ + muls r1, r0\n\ + ldr r0, =gEnemyParty\n\ + adds r4, r1, r0\n\ + adds r0, r4, 0\n\ + movs r1, 0x2D\n\ + bl GetMonData\n\ + adds r1, r0, 0\n\ + cmp r1, 0x1\n\ + bne _0807A414\n\ + ldr r0, [r6]\n\ + adds r0, 0x45\n\ + adds r0, r5\n\ + mov r2, r9\n\ + strb r2, [r0]\n\ + ldr r0, [r6]\n\ + adds r0, 0x51\n\ + adds r0, r5\n\ + b _0807A444\n\ + .pool\n\ +_0807A414:\n\ + adds r0, r4, 0\n\ + movs r1, 0x39\n\ + bl GetMonData\n\ + adds r1, r0, 0\n\ + cmp r1, 0\n\ + bne _0807A432\n\ + ldr r0, [r6]\n\ + adds r0, 0x45\n\ + adds r0, r5\n\ + strb r1, [r0]\n\ + ldr r0, [r6]\n\ + adds r0, 0x51\n\ + adds r0, r5\n\ + b _0807A444\n\ +_0807A432:\n\ + ldr r0, [r6]\n\ + adds r0, 0x45\n\ + adds r0, r5\n\ + movs r1, 0x1\n\ + strb r1, [r0]\n\ + ldr r0, [r6]\n\ + adds r0, 0x51\n\ + adds r0, r5\n\ + mov r1, r9\n\ +_0807A444:\n\ + strb r1, [r0]\n\ + ldr r0, =gUnknown_0203229C\n\ + adds r5, 0x1\n\ + adds r7, 0x1\n\ + ldr r0, [r0]\n\ + adds r0, 0x36\n\ + add r0, r8\n\ + ldrb r0, [r0]\n\ + cmp r7, r0\n\ + blt _0807A3E2\n\ +_0807A458:\n\ + pop {r3,r4}\n\ + mov r8, r3\n\ + mov r9, r4\n\ + pop {r4-r7}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); +} +#endif // NONMATCHING + +void sub_807A468(u8 a0) +{ + u16 i, hp, maxHp; + + switch (a0) + { + case 0: + for (i = 0; i < gUnknown_0203229C->unk_36[0]; i++) + { + hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + maxHp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP); + gUnknown_0203229C->unk_5D[i] = GetHPBarLevel(hp, maxHp); + } + break; + case 1: + for (i = 0; i < gUnknown_0203229C->unk_36[1]; i++) + { + hp = GetMonData(&gEnemyParty[i], MON_DATA_HP); + maxHp = GetMonData(&gEnemyParty[i], MON_DATA_MAX_HP); + gUnknown_0203229C->unk_63[i] = GetHPBarLevel(hp, maxHp); + } + break; + } +} + +void sub_807A53C(void) +{ + int i, j; + + for (i = 0; i < 2; i++) + { + for (j = 0; j < gUnknown_0203229C->unk_36[i]; j++) + { + sub_80D32C8(&gSprites[gUnknown_0203229C->unk_28[i][j]], 4 - gUnknown_0203229C->unk_5D[i * 6 + j]); + } + } +} + +void sub_807A5B0(void) +{ + int i; + + for (i = 0; i < 11; i++) + { + if (gSaveBlock1Ptr->giftRibbons[i] == 0 && gUnknown_0203229C->unk_A9[i] != 0) + { + if (gUnknown_0203229C->unk_A9[i] < 64) + { + gSaveBlock1Ptr->giftRibbons[i] = gUnknown_0203229C->unk_A9[i]; + } + } + } +} + +u32 sub_807A5F4(struct Pokemon *a0, int a1, int a2) +{ + int i, sum; + struct LinkPlayer *player; + u32 species[6]; + u32 species2[6]; + + for (i = 0; i < a1; i++) + { + species2[i] = GetMonData(&a0[i], MON_DATA_SPECIES2); + species[i] = GetMonData(&a0[i], MON_DATA_SPECIES); + } + + if (!IsNationalPokedexEnabled()) + { + if (species2[a2] == SPECIES_EGG) + { + return 3; + } + + if (!IsSpeciesInHoennDex(species2[a2])) + { + return 2; + } + } + + player = &gLinkPlayers[GetMultiplayerId() ^ 1]; + if ((player->version & 0xFF) != VERSION_RUBY && + (player->version & 0xFF) != VERSION_SAPPHIRE) + { + if ((player->name[10] & 0xF) == 0) + { + if (species2[a2] == SPECIES_EGG) + { + return 5; + } + + if (!IsSpeciesInHoennDex(species2[a2])) + { + return 4; + } + } + } + + if (species[a2] == SPECIES_DEOXYS || species[a2] == SPECIES_MEW) + { + if (!GetMonData(&a0[a2], MON_DATA_OBEDIENCE)) + { + return 4; + } + } + + for (i = 0; i < a1; i++) + { + if (species2[i] == SPECIES_EGG) + { + species2[i] = SPECIES_NONE; + } + } + + for (sum = 0, i = 0; i < a1; i++) + { + if (i != a2) + { + sum += species2[i]; + } + } + + if (sum != 0) + { + return 0; + } + else + { + return 1; + } +} From 2bca45bcf5460724770e8f0ef42200dba88299ae Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Mon, 24 Dec 2018 14:39:05 -0600 Subject: [PATCH 07/53] More link stuff, stumped on sub_807A728 --- asm/trade.s | 75 ----------------------------------------------------- src/trade.c | 47 +++++++++++++++++++++++++++++++++ 2 files changed, 47 insertions(+), 75 deletions(-) diff --git a/asm/trade.s b/asm/trade.s index 98891cd0c2..f5768e7c29 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6,81 +6,6 @@ .text - thumb_func_start sub_807A728 -sub_807A728: @ 807A728 - push {r4-r7,lr} - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0807A7B4 - movs r4, 0 - bl GetMultiplayerId - ldr r5, =gLinkPlayers - movs r7, 0x1 - eors r0, r7 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r1, [r1] - subs r0, r1, 0x1 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bls _0807A7B4 - subs r0, r1, 0x4 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x1 - bhi _0807A762 - movs r4, 0x2 -_0807A762: - cmp r4, 0 - ble _0807A7B4 - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r1, [r1, 0x12] - movs r6, 0xF0 - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - beq _0807A7B0 - cmp r4, 0x2 - bne _0807A7B4 - bl GetMultiplayerId - eors r0, r7 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r1, r5 - ldrb r1, [r1, 0x12] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _0807A7B4 - movs r0, 0x2 - b _0807A7B6 - .pool -_0807A7B0: - movs r0, 0x1 - b _0807A7B6 -_0807A7B4: - movs r0, 0 -_0807A7B6: - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_807A728 - thumb_func_start sub_807A7BC sub_807A7BC: @ 807A7BC push {lr} diff --git a/src/trade.c b/src/trade.c index 4327c97935..c0a3bda894 100644 --- a/src/trade.c +++ b/src/trade.c @@ -3195,3 +3195,50 @@ u32 sub_807A5F4(struct Pokemon *a0, int a1, int a2) return 1; } } + +s32 sub_807A728(void) +{ + int val; + u8 version; + + if (gReceivedRemoteLinkPlayers != 0) + { + val = 0; + version = (gLinkPlayers[GetMultiplayerId() ^ 1].version & 0xFF); + if (version == VERSION_RUBY || + version == VERSION_SAPPHIRE || + version == VERSION_EMERALD) + { + // this value could actually be anything 0 or less + val = 0; + } + else if (version == VERSION_FIRE_RED || + version == VERSION_LEAF_GREEN) + { + val = 2; + } + + if (val > 0) + { + if (gLinkPlayers[GetMultiplayerId()].name[10] & 0xF0) + { + if (val == 2) + { + if (gLinkPlayers[GetMultiplayerId() ^ 1].name[10] & 0xF0) + { + return 0; + } + else + { + return 2; + } + } + } + else + { + return 1; + } + } + } + return 0; +} From dea41e1a7e6e73789431153d6c28dac3a3a73ac6 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Mon, 24 Dec 2018 20:18:06 -0600 Subject: [PATCH 08/53] trade.c up to sub_807A7E0 --- asm/trade.s | 154 ------------------------------------------------- src/trade.c | 161 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 161 insertions(+), 154 deletions(-) diff --git a/asm/trade.s b/asm/trade.s index f5768e7c29..e701df67e9 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6,160 +6,6 @@ .text - thumb_func_start sub_807A7BC -sub_807A7BC: @ 807A7BC - push {lr} - lsls r0, 16 - lsrs r2, r0, 16 - lsls r1, 24 - lsrs r1, 24 - movs r0, 0xCD - lsls r0, 1 - cmp r2, r0 - beq _0807A7D2 - cmp r2, 0x97 - bne _0807A7DA -_0807A7D2: - cmp r1, 0 - bne _0807A7DA - movs r0, 0x1 - b _0807A7DC -_0807A7DA: - movs r0, 0 -_0807A7DC: - pop {r1} - bx r1 - thumb_func_end sub_807A7BC - - thumb_func_start sub_807A7E0 -sub_807A7E0: @ 807A7E0 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - ldr r4, [sp, 0x20] - ldr r5, [sp, 0x24] - ldr r6, [sp, 0x28] - lsls r2, 16 - lsrs r7, r2, 16 - lsls r3, 16 - lsrs r3, 16 - mov r8, r3 - lsls r4, 24 - lsrs r4, 24 - lsls r5, 16 - lsrs r5, 16 - lsls r6, 24 - lsrs r6, 24 - lsls r2, r0, 23 - lsrs r2, 31 - mov r9, r2 - lsls r0, 24 - lsrs r2, r0, 31 - lsls r0, r1, 23 - lsrs r0, 31 - mov r10, r0 - lsls r0, r1, 24 - lsrs r0, 31 - lsls r1, 18 - lsrs r1, 28 - cmp r1, 0x3 - beq _0807A832 - cmp r2, 0 - bne _0807A82A - movs r0, 0x8 - b _0807A8C0 -_0807A82A: - cmp r0, 0 - bne _0807A832 - movs r0, 0x9 - b _0807A8C0 -_0807A832: - adds r0, r5, 0 - adds r1, r6, 0 - bl sub_807A7BC - cmp r0, 0 - bne _0807A898 - movs r0, 0xCE - lsls r0, 1 - cmp r8, r0 - bne _0807A84E - cmp r7, r8 - beq _0807A86C - movs r0, 0x2 - b _0807A8C0 -_0807A84E: - ldr r0, =gBaseStats - lsls r1, r7, 3 - subs r1, r7 - lsls r1, 2 - adds r1, r0 - ldrb r0, [r1, 0x6] - cmp r0, r4 - beq _0807A86C - ldrb r0, [r1, 0x7] - cmp r0, r4 - beq _0807A86C - movs r0, 0x1 - b _0807A8C0 - .pool -_0807A86C: - movs r0, 0xCE - lsls r0, 1 - cmp r7, r0 - bne _0807A87C - cmp r7, r8 - beq _0807A87C - movs r0, 0x3 - b _0807A8C0 -_0807A87C: - mov r0, r9 - cmp r0, 0 - bne _0807A8AA - movs r0, 0xCE - lsls r0, 1 - cmp r7, r0 - bne _0807A88E - movs r0, 0x6 - b _0807A8C0 -_0807A88E: - adds r0, r7, 0 - bl IsSpeciesInHoennDex - cmp r0, 0 - bne _0807A89C -_0807A898: - movs r0, 0x4 - b _0807A8C0 -_0807A89C: - mov r0, r8 - bl IsSpeciesInHoennDex - cmp r0, 0 - bne _0807A8AA - movs r0, 0x5 - b _0807A8C0 -_0807A8AA: - mov r0, r10 - cmp r0, 0 - bne _0807A8BE - adds r0, r7, 0 - bl IsSpeciesInHoennDex - cmp r0, 0 - bne _0807A8BE - movs r0, 0x7 - b _0807A8C0 -_0807A8BE: - movs r0, 0 -_0807A8C0: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_807A7E0 - thumb_func_start sub_807A8D0 sub_807A8D0: @ 807A8D0 push {r4-r6,lr} diff --git a/src/trade.c b/src/trade.c index c0a3bda894..f409e02060 100644 --- a/src/trade.c +++ b/src/trade.c @@ -3196,6 +3196,7 @@ u32 sub_807A5F4(struct Pokemon *a0, int a1, int a2) } } +#ifdef NONMATCHING s32 sub_807A728(void) { int val; @@ -3242,3 +3243,163 @@ s32 sub_807A728(void) } return 0; } +#else +NAKED +s32 sub_807A728(void) +{ + asm_unified("push {r4-r7,lr}\n\ + ldr r0, =gReceivedRemoteLinkPlayers\n\ + ldrb r0, [r0]\n\ + cmp r0, 0\n\ + beq _0807A7B4\n\ + movs r4, 0\n\ + bl GetMultiplayerId\n\ + ldr r5, =gLinkPlayers\n\ + movs r7, 0x1\n\ + eors r0, r7\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + lsls r1, r0, 3\n\ + subs r1, r0\n\ + lsls r1, 2\n\ + adds r1, r5\n\ + ldrb r1, [r1]\n\ + subs r0, r1, 0x1\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x2\n\ + bls _0807A7B4\n\ + subs r0, r1, 0x4\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + cmp r0, 0x1\n\ + bhi _0807A762\n\ + movs r4, 0x2\n\ +_0807A762:\n\ + cmp r4, 0\n\ + ble _0807A7B4\n\ + bl GetMultiplayerId\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + lsls r1, r0, 3\n\ + subs r1, r0\n\ + lsls r1, 2\n\ + adds r1, r5\n\ + ldrb r1, [r1, 0x12]\n\ + movs r6, 0xF0\n\ + adds r0, r6, 0\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + beq _0807A7B0\n\ + cmp r4, 0x2\n\ + bne _0807A7B4\n\ + bl GetMultiplayerId\n\ + eors r0, r7\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + lsls r1, r0, 3\n\ + subs r1, r0\n\ + lsls r1, 2\n\ + adds r1, r5\n\ + ldrb r1, [r1, 0x12]\n\ + adds r0, r6, 0\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _0807A7B4\n\ + movs r0, 0x2\n\ + b _0807A7B6\n\ + .pool\n\ +_0807A7B0:\n\ + movs r0, 0x1\n\ + b _0807A7B6\n\ +_0807A7B4:\n\ + movs r0, 0\n\ +_0807A7B6:\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1"); +} +#endif // NONMATCHING + +bool32 sub_807A7BC(u16 a0, u8 a1) +{ + if (a0 == SPECIES_DEOXYS || a0 == SPECIES_MEW) + { + if (!a1) + { + return TRUE; + } + } + return FALSE; +} + +u32 sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6) +{ + u8 r9 = a0.unk_01_0; + u8 r2 = a0.unk_00_7; + u8 r10 = a1.unk_01_0; + u8 r0 = a1.unk_00_7; + u8 r1 = a1.unk_01_2; + + if (r1 != 3) + { + if (!r2) + { + return 8; + } + else if (!r0) + { + return 9; + } + } + + if (sub_807A7BC(a5, a6)) + { + return 4; + } + + if (a3 == SPECIES_EGG) + { + if (a2 != a3) + { + return 2; + } + } + else + { + if (gBaseStats[a2].type1 != a4 && gBaseStats[a2].type2 != a4) + { + return 1; + } + } + + if (a2 == SPECIES_EGG && a2 != a3) + { + return 3; + } + + if (!r9) + { + if (a2 == SPECIES_EGG) + { + return 6; + } + + if (!IsSpeciesInHoennDex(a2)) + { + return 4; + } + + if (!IsSpeciesInHoennDex(a3)) + { + return 5; + } + } + + if (!r10 && !IsSpeciesInHoennDex(a2)) + { + return 7; + } + + return 0; +} From 1b28844b125d0be8b0f2877a562bb386ecacae9b Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Tue, 25 Dec 2018 15:14:15 +0100 Subject: [PATCH 09/53] Match nonmatching except the loop one --- src/trade.c | 1041 +++++---------------------------------------------- 1 file changed, 97 insertions(+), 944 deletions(-) diff --git a/src/trade.c b/src/trade.c index c0a3bda894..839e7f53b7 100644 --- a/src/trade.c +++ b/src/trade.c @@ -43,7 +43,7 @@ extern struct { u8 unk_36[2]; u8 unk_38[12]; u8 unk_44; - u8 unk_45[12]; + u8 unk_45[2][PARTY_SIZE]; u8 unk_51[2][PARTY_SIZE]; u8 unk_5D[PARTY_SIZE]; u8 unk_63[PARTY_SIZE]; @@ -101,8 +101,6 @@ extern const u8 gUnknown_0832DF99[][2]; extern const u8 gText_EmptyString7[]; extern const u8 gText_NewLine3[]; extern const u8 gText_FourQuestionMarks[]; -extern const u8 gUnknown_0832DE3E[][6][2]; -extern const u8 gUnknown_0832DE56[][6][2]; extern const u8 *gUnknown_0832DEBC[]; extern const struct SpritePalette gSpritePalette_TradeScreenText; extern const struct SpritePalette gUnknown_0832DC44; @@ -289,7 +287,7 @@ void sub_80773D0(void) gUnknown_0203229C = AllocZeroed(sizeof(*gUnknown_0203229C)); sub_80772A4(); gUnknown_02032184 = AllocZeroed(0xE00); - + for (i = 0; i < 14; i++) { gUnknown_02032188[i] = &gUnknown_02032184[i * 256]; @@ -792,7 +790,7 @@ void sub_807825C(void) sub_807A0C4(); sub_80796B4(0); sub_80796B4(1); - + SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_0203229C->unk_0++); SetGpuReg(REG_OFFSET_BG3HOFS, gUnknown_0203229C->unk_1--); @@ -849,7 +847,7 @@ void sub_8078388(void) { gUnknown_0203229C->unk_38[i] = FALSE; } - + if (i < gUnknown_0203229C->unk_36[1]) { gSprites[gUnknown_0203229C->unk_28[1][i]].invisible = FALSE; @@ -1116,8 +1114,6 @@ void sub_8078900(u8 a0, u8 a1) } } -// Can't get some weird loading behavior for unk_78/79/7A/7B for parts of this -#ifdef NONMATCHING void sub_80789FC(void) { if (gUnknown_0203229C->unk_78 && gUnknown_0203229C->unk_79) @@ -1128,8 +1124,7 @@ void sub_80789FC(void) gUnknown_0203229C->unk_80[0] = 0xDDDD; gUnknown_0203229C->unk_80[1] = gUnknown_0203229C->unk_35; sub_807A048(5, 0); - gUnknown_0203229C->unk_79 = 0; - gUnknown_0203229C->unk_78 = 0; + gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; } else if (gUnknown_0203229C->unk_78 == 1 && gUnknown_0203229C->unk_79 == 2) { @@ -1137,10 +1132,8 @@ void sub_80789FC(void) gUnknown_0203229C->unk_80[0] = 0xEECC; gUnknown_0203229C->unk_80[1] = 0; sub_807A048(5, 0); - gUnknown_0203229C->unk_7B = 0; - gUnknown_0203229C->unk_7A = 0; - gUnknown_0203229C->unk_79 = 0; - gUnknown_0203229C->unk_78 = 0; + gUnknown_0203229C->unk_7A = gUnknown_0203229C->unk_7B = 0; + gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; gUnknown_0203229C->unk_6F = 8; } else if (gUnknown_0203229C->unk_78 == 2 && gUnknown_0203229C->unk_79 == 1) @@ -1149,10 +1142,8 @@ void sub_80789FC(void) gUnknown_0203229C->unk_80[0] = 0xDDEE; gUnknown_0203229C->unk_80[1] = 0; sub_807A048(5, 0); - gUnknown_0203229C->unk_7B = 0; - gUnknown_0203229C->unk_7A = 0; - gUnknown_0203229C->unk_79 = 0; - gUnknown_0203229C->unk_78 = 0; + gUnknown_0203229C->unk_7A = gUnknown_0203229C->unk_7B = 0; + gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; gUnknown_0203229C->unk_6F = 8; } else if (gUnknown_0203229C->unk_78 == 2 && gUnknown_0203229C->unk_79 == 2) @@ -1161,8 +1152,7 @@ void sub_80789FC(void) gUnknown_0203229C->unk_80[1] = 0; sub_807A048(5, 0); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_0203229C->unk_79 = 0; - gUnknown_0203229C->unk_78 = 0; + gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; gUnknown_0203229C->unk_6F = 11; } } @@ -1191,247 +1181,6 @@ void sub_80789FC(void) } } } -#else -NAKED -void sub_80789FC(void) -{ - asm_unified("push {r4-r6,lr}\n\ - sub sp, 0x4\n\ - ldr r6, =gUnknown_0203229C\n\ - ldr r2, [r6]\n\ - adds r1, r2, 0\n\ - adds r1, 0x78\n\ - ldrb r0, [r1]\n\ - cmp r0, 0\n\ - bne _08078A10\n\ - b _08078B44\n\ -_08078A10:\n\ - adds r0, r2, 0\n\ - adds r0, 0x79\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - bne _08078A1C\n\ - b _08078B44\n\ -_08078A1C:\n\ - ldrh r1, [r1]\n\ - ldr r0, =0x00000101\n\ - cmp r1, r0\n\ - bne _08078A64\n\ - adds r1, r2, 0\n\ - adds r1, 0x6F\n\ - movs r0, 0x6\n\ - strb r0, [r1]\n\ - ldr r2, [r6]\n\ - adds r1, r2, 0\n\ - adds r1, 0x80\n\ - movs r4, 0\n\ - ldr r0, =0x0000dddd\n\ - strh r0, [r1]\n\ - adds r0, r2, 0\n\ - adds r0, 0x35\n\ - ldrb r1, [r0]\n\ - adds r0, 0x4D\n\ - strh r1, [r0]\n\ - movs r0, 0x5\n\ - movs r1, 0\n\ - bl sub_807A048\n\ - ldr r0, [r6]\n\ - adds r2, r0, 0\n\ - adds r2, 0x79\n\ - strb r4, [r2]\n\ - adds r0, 0x78\n\ - strb r4, [r0]\n\ - b _08078B44\n\ - .pool\n\ -_08078A64:\n\ - ldr r0, =0x00000201\n\ - cmp r1, r0\n\ - bne _08078AB4\n\ - movs r0, 0x1\n\ - bl sub_807A19C\n\ - ldr r1, [r6]\n\ - adds r2, r1, 0\n\ - adds r2, 0x80\n\ - movs r4, 0\n\ - movs r3, 0\n\ - ldr r0, =0x0000eecc\n\ - strh r0, [r2]\n\ - adds r1, 0x82\n\ - strh r3, [r1]\n\ - movs r0, 0x5\n\ - movs r1, 0\n\ - bl sub_807A048\n\ - ldr r0, [r6]\n\ - adds r1, r0, 0\n\ - adds r1, 0x7B\n\ - strb r4, [r1]\n\ - adds r0, 0x7A\n\ - strb r4, [r0]\n\ - ldr r0, [r6]\n\ - adds r1, r0, 0\n\ - adds r1, 0x79\n\ - strb r4, [r1]\n\ - adds r0, 0x78\n\ - strb r4, [r0]\n\ - ldr r0, [r6]\n\ - adds r0, 0x6F\n\ - movs r1, 0x8\n\ - b _08078B42\n\ - .pool\n\ -_08078AB4:\n\ - movs r0, 0x81\n\ - lsls r0, 1\n\ - cmp r1, r0\n\ - bne _08078B00\n\ - movs r0, 0x5\n\ - bl sub_807A19C\n\ - ldr r1, [r6]\n\ - adds r2, r1, 0\n\ - adds r2, 0x80\n\ - movs r4, 0\n\ - movs r3, 0\n\ - ldr r0, =0x0000ddee\n\ - strh r0, [r2]\n\ - adds r1, 0x82\n\ - strh r3, [r1]\n\ - movs r0, 0x5\n\ - movs r1, 0\n\ - bl sub_807A048\n\ - ldr r0, [r6]\n\ - adds r1, r0, 0\n\ - adds r1, 0x7B\n\ - strb r4, [r1]\n\ - adds r0, 0x7A\n\ - strb r4, [r0]\n\ - ldr r0, [r6]\n\ - adds r1, r0, 0\n\ - adds r1, 0x79\n\ - strb r4, [r1]\n\ - adds r0, 0x78\n\ - strb r4, [r0]\n\ - ldr r0, [r6]\n\ - adds r0, 0x6F\n\ - movs r1, 0x8\n\ - b _08078B42\n\ - .pool\n\ -_08078B00:\n\ - ldr r0, =0x00000202\n\ - cmp r1, r0\n\ - bne _08078B44\n\ - adds r1, r2, 0\n\ - adds r1, 0x80\n\ - movs r5, 0\n\ - movs r4, 0\n\ - ldr r0, =0x0000eebb\n\ - strh r0, [r1]\n\ - adds r0, r2, 0\n\ - adds r0, 0x82\n\ - strh r4, [r0]\n\ - movs r0, 0x5\n\ - movs r1, 0\n\ - bl sub_807A048\n\ - movs r0, 0x1\n\ - negs r0, r0\n\ - str r4, [sp]\n\ - movs r1, 0\n\ - movs r2, 0\n\ - movs r3, 0x10\n\ - bl BeginNormalPaletteFade\n\ - ldr r0, [r6]\n\ - adds r1, r0, 0\n\ - adds r1, 0x79\n\ - strb r5, [r1]\n\ - adds r0, 0x78\n\ - strb r5, [r0]\n\ - ldr r0, [r6]\n\ - adds r0, 0x6F\n\ - movs r1, 0xB\n\ -_08078B42:\n\ - strb r1, [r0]\n\ -_08078B44:\n\ - ldr r5, =gUnknown_0203229C\n\ - ldr r3, [r5]\n\ - adds r1, r3, 0\n\ - adds r1, 0x7A\n\ - ldrb r0, [r1]\n\ - cmp r0, 0\n\ - beq _08078BDC\n\ - adds r0, r3, 0\n\ - adds r0, 0x7B\n\ - ldrb r0, [r0]\n\ - cmp r0, 0\n\ - beq _08078BDC\n\ - ldrh r1, [r1]\n\ - ldr r0, =0x00000101\n\ - cmp r1, r0\n\ - bne _08078B92\n\ - adds r1, r3, 0\n\ - adds r1, 0x80\n\ - movs r4, 0\n\ - movs r2, 0\n\ - ldr r0, =0x0000ccdd\n\ - strh r0, [r1]\n\ - adds r0, r3, 0\n\ - adds r0, 0x82\n\ - strh r2, [r0]\n\ - movs r0, 0x5\n\ - movs r1, 0\n\ - bl sub_807A048\n\ - ldr r0, [r5]\n\ - adds r0, 0x7A\n\ - strb r4, [r0]\n\ - ldr r0, [r5]\n\ - adds r0, 0x7B\n\ - strb r4, [r0]\n\ - ldr r0, [r5]\n\ - adds r0, 0x6F\n\ - movs r1, 0x9\n\ - strb r1, [r0]\n\ -_08078B92:\n\ - ldr r1, [r5]\n\ - adds r0, r1, 0\n\ - adds r0, 0x7A\n\ - ldrb r0, [r0]\n\ - cmp r0, 0x2\n\ - beq _08078BA8\n\ - adds r0, r1, 0\n\ - adds r0, 0x7B\n\ - ldrb r0, [r0]\n\ - cmp r0, 0x2\n\ - bne _08078BDC\n\ -_08078BA8:\n\ - movs r0, 0x1\n\ - bl sub_807A19C\n\ - ldr r1, [r5]\n\ - adds r2, r1, 0\n\ - adds r2, 0x80\n\ - movs r4, 0\n\ - movs r3, 0\n\ - ldr r0, =0x0000ddee\n\ - strh r0, [r2]\n\ - adds r1, 0x82\n\ - strh r3, [r1]\n\ - movs r0, 0x5\n\ - movs r1, 0\n\ - bl sub_807A048\n\ - ldr r0, [r5]\n\ - adds r0, 0x7A\n\ - strb r4, [r0]\n\ - ldr r0, [r5]\n\ - adds r0, 0x7B\n\ - strb r4, [r0]\n\ - ldr r0, [r5]\n\ - adds r0, 0x6F\n\ - movs r1, 0x8\n\ - strb r1, [r0]\n\ -_08078BDC:\n\ - add sp, 0x4\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n\ - .pool\n"); -} -#endif // NONMATCHING void sub_8078BFC(u16 *a0, u16 a1, u16 a2) { @@ -1677,7 +1426,7 @@ u8 sub_80790D4(u8 *a0, u8 a1, u8 a2, u8 a3) return 2; } } - + if (res) { res = 1; @@ -1693,7 +1442,7 @@ bool32 sub_8079174(void) for (i = 0; i < gUnknown_0203229C->unk_36[0]; i++) { - arr[i] = gUnknown_0203229C->unk_45[i]; + arr[i] = gUnknown_0203229C->unk_45[0][i]; } switch (sub_80790D4(arr, gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_35, gUnknown_0203229C->unk_7E)) @@ -1795,7 +1544,7 @@ void sub_8079398(void) void sub_80793C4(void) { gUnknown_0203229C->unk_A8++; - + if (gUnknown_0203229C->unk_A8 > 120) { CreateYesNoMenu(&gUnknown_0832DF8C, 1, 14, 0); @@ -1956,507 +1705,81 @@ void sub_807967C(u8 a0) } } -// Brain hurty -#ifdef NONMATCHING void sub_80796B4(u8 a0) { s8 test; u8 sp14[20]; - u8 sp28[48]; + u8 sp28[56]; u8 i; - u8 r10 = gUnknown_0203229C->unk_76[a0]; - u32 sp60; + u8 r8; + u8 r10; + u8 sp60; + u8 var = gUnknown_0203229C->unk_76[a0]; + sp60 = 1; if (gUnknown_0203229C->unk_76[a0] < 6) sp60 = 0; - r10 %= 6; - + r10 = var % 6; + test = 0; + switch (gUnknown_0203229C->unk_74[a0]) { - case 1: - for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) - { - gSprites[gUnknown_0203229C->unk_28[0][i + (sp60 * 6)]].invisible = TRUE; - } + case 1: + for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) + { + gSprites[gUnknown_0203229C->unk_28[0][i + (sp60 * 6)]].invisible = TRUE; + } - for (i = 0; i < 6; i++) - { - ClearWindowTilemap(i + (a0 * 6 + 2)); - } - - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].invisible = FALSE; - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].data[0] = 20; - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].data[2] = (gUnknown_0832DE24[sp60 * 6][0] + gUnknown_0832DE24[sp60 * 6 + 1][0]) / 2 * 8 + 14; - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].data[4] = (gUnknown_0832DE24[sp60 * 6][1] * 8) - 12; - StoreSpriteCallbackInData6(&gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]], sub_80D3014); - gUnknown_0203229C->unk_74[a0]++; - sub_80A6DEC(&gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]]); - CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0); - CopyBgTilemapBufferToVram(1); - CopyBgTilemapBufferToVram(0); + for (i = 0; i < 6; i++) + { + ClearWindowTilemap(i + (a0 * 6 + 2)); + } - if (!sp60) - { - sub_8079F74(); - } - break; - case 2: - if (gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].callback == sub_80D3014) - { - gUnknown_0203229C->unk_74[a0] = 3; - } - break; - case 3: - CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMovesBoxTilemap, sp60 * 15, 0, 15, 17, 0); - CopyBgTilemapBufferToVram(1); - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos1.x = (gUnknown_0832DE24[sp60 * 6][0] + gUnknown_0832DE24[sp60 * 6 + 1][0]) / 2 * 8 + 14; - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos1.y = (gUnknown_0832DE24[sp60 * 6][1] * 8) - 12; - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos2.x = 0; - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos2.y = 0; - test = sub_8079A3C(sp14, sp60, r10); - AddTextPrinterParameterized3((a0 * 2) + 14, 0, (80 - test) / 2, 4, gUnknown_0832DEE0, 0, sp14); - sub_8079AA4(sp28, sp60, r10); - AddTextPrinterParameterized4((a0 * 2) + 15, 1, 0, 0, 0, 0, gUnknown_0832DEE0, 0, sp28); - PutWindowTilemap((a0 * 2) + 14); - CopyWindowToVram((a0 * 2) + 14, 3); - PutWindowTilemap((a0 * 2) + 15); - CopyWindowToVram((a0 * 2) + 15, 3); - gUnknown_0203229C->unk_74[a0]++; - break; - case 4: - sub_8079C4C(a0, r10, gUnknown_0832DF99[a0][0] + 4, gUnknown_0832DF99[a0][1] + 1, gUnknown_0832DF99[a0][0], gUnknown_0832DF99[a0][1]); - gUnknown_0203229C->unk_74[a0]++; - break; + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].invisible = FALSE; + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].data[0] = 20; + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].data[2] = (gUnknown_0832DE24[sp60 * 6][0] + gUnknown_0832DE24[sp60 * 6 + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].data[4] = (gUnknown_0832DE24[sp60 * 6][1] * 8) - 12; + StoreSpriteCallbackInData6(&gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]], sub_80D3014); + gUnknown_0203229C->unk_74[a0]++; + sub_80A6DEC(&gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]]); + CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0); + CopyBgTilemapBufferToVram(1); + CopyBgTilemapBufferToVram(0); + + if (!sp60) + { + sub_8079F74(); + } + break; + case 2: + if (gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].callback == sub_80D3014) + { + gUnknown_0203229C->unk_74[a0] = 3; + } + break; + case 3: + CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMovesBoxTilemap, sp60 * 15, 0, 15, 17, 0); + CopyBgTilemapBufferToVram(1); + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos1.x = (gUnknown_0832DE24[sp60 * 6][0] + gUnknown_0832DE24[sp60 * 6 + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos1.y = (gUnknown_0832DE24[sp60 * 6][1] * 8) - 12; + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos2.x = 0; + gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos2.y = 0; + test = sub_8079A3C(sp14, sp60, r10); + AddTextPrinterParameterized3((a0 * 2) + 14, 0, (80 - test) / 2, 4, gUnknown_0832DEE0, 0, sp14); + sub_8079AA4(sp28, sp60, r10); + AddTextPrinterParameterized4((a0 * 2) + 15, 1, 0, 0, 0, 0, gUnknown_0832DEE0, 0, sp28); + PutWindowTilemap((a0 * 2) + 14); + CopyWindowToVram((a0 * 2) + 14, 3); + PutWindowTilemap((a0 * 2) + 15); + CopyWindowToVram((a0 * 2) + 15, 3); + gUnknown_0203229C->unk_74[a0]++; + break; + case 4: + sub_8079C4C(a0, r10, gUnknown_0832DF99[a0][0] + 4, gUnknown_0832DF99[a0][1] + 1, gUnknown_0832DF99[a0][0], gUnknown_0832DF99[a0][1]); + gUnknown_0203229C->unk_74[a0]++; + break; } } -#else -NAKED -void sub_80796B4(u8 a0) -{ - asm_unified("push {r4-r7,lr}\n\ - mov r7, r10\n\ - mov r6, r9\n\ - mov r5, r8\n\ - push {r5-r7}\n\ - sub sp, 0x68\n\ - lsls r0, 24\n\ - lsrs r7, r0, 24\n\ - ldr r0, =gUnknown_0203229C\n\ - ldr r4, [r0]\n\ - adds r0, r4, 0\n\ - adds r0, 0x76\n\ - adds r0, r7\n\ - ldrb r0, [r0]\n\ - movs r1, 0x1\n\ - str r1, [sp, 0x60]\n\ - cmp r0, 0x5\n\ - bhi _080796DC\n\ - movs r2, 0\n\ - str r2, [sp, 0x60]\n\ -_080796DC:\n\ - movs r1, 0x6\n\ - bl __umodsi3\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r10, r0\n\ - movs r0, 0\n\ - mov r8, r0\n\ - adds r0, r4, 0\n\ - adds r0, 0x74\n\ - adds r3, r0, r7\n\ - ldrb r0, [r3]\n\ - cmp r0, 0x2\n\ - bne _080796FA\n\ - b _08079884\n\ -_080796FA:\n\ - cmp r0, 0x2\n\ - bgt _08079708\n\ - cmp r0, 0x1\n\ - beq _08079716\n\ - b _08079A24\n\ - .pool\n\ -_08079708:\n\ - cmp r0, 0x3\n\ - bne _0807970E\n\ - b _080798BC\n\ -_0807970E:\n\ - cmp r0, 0x4\n\ - bne _08079714\n\ - b _080799EC\n\ -_08079714:\n\ - b _08079A24\n\ -_08079716:\n\ - movs r5, 0\n\ - adds r0, r4, 0\n\ - adds r0, 0x36\n\ - adds r0, r7\n\ - ldr r1, [sp, 0x60]\n\ - lsls r1, 1\n\ - mov r9, r1\n\ - lsls r6, r7, 1\n\ - lsls r2, r7, 4\n\ - str r2, [sp, 0x64]\n\ - ldrb r0, [r0]\n\ - cmp r8, r0\n\ - bcs _0807976A\n\ - ldr r0, =gSprites\n\ - mov r8, r0\n\ - ldr r4, =gUnknown_0203229C\n\ - ldr r0, [sp, 0x60]\n\ - add r0, r9\n\ - lsls r2, r0, 1\n\ - movs r3, 0x4\n\ -_0807973E:\n\ - ldr r0, [r4]\n\ - adds r1, r5, r2\n\ - adds r0, 0x28\n\ - adds r0, r1\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - add r0, r8\n\ - adds r0, 0x3E\n\ - ldrb r1, [r0]\n\ - orrs r1, r3\n\ - strb r1, [r0]\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - ldr r0, [r4]\n\ - adds r0, 0x36\n\ - adds r0, r7\n\ - ldrb r0, [r0]\n\ - cmp r5, r0\n\ - bcc _0807973E\n\ -_0807976A:\n\ - movs r5, 0\n\ - adds r0, r6, r7\n\ - lsls r0, 1\n\ - adds r4, r0, 0x2\n\ -_08079772:\n\ - lsls r0, r5, 24\n\ - asrs r0, 24\n\ - adds r0, r4\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - bl ClearWindowTilemap\n\ - adds r0, r5, 0x1\n\ - lsls r0, 24\n\ - lsrs r5, r0, 24\n\ - cmp r5, 0x5\n\ - bls _08079772\n\ - ldr r1, =gSprites\n\ - mov r8, r1\n\ - ldr r2, =gUnknown_0203229C\n\ - ldr r0, [r2]\n\ - ldr r6, [sp, 0x60]\n\ - add r6, r9\n\ - lsls r3, r6, 1\n\ - add r10, r3\n\ - adds r0, 0x28\n\ - add r0, r10\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - add r0, r8\n\ - adds r0, 0x3E\n\ - ldrb r2, [r0]\n\ - movs r1, 0x5\n\ - negs r1, r1\n\ - ands r1, r2\n\ - strb r1, [r0]\n\ - ldr r0, =gUnknown_0203229C\n\ - ldr r4, [r0]\n\ - adds r4, 0x28\n\ - add r4, r10\n\ - ldrb r1, [r4]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - add r0, r8\n\ - movs r1, 0x14\n\ - strh r1, [r0, 0x2E]\n\ - ldrb r0, [r4]\n\ - lsls r2, r0, 4\n\ - adds r2, r0\n\ - lsls r2, 2\n\ - add r2, r8\n\ - ldr r5, =gUnknown_0832DE24\n\ - lsls r6, 2\n\ - adds r0, r6, r5\n\ - ldrb r0, [r0]\n\ - adds r3, 0x1\n\ - lsls r3, 1\n\ - adds r3, r5\n\ - ldrb r1, [r3]\n\ - adds r0, r1\n\ - asrs r0, 1\n\ - lsls r0, 3\n\ - adds r0, 0xE\n\ - strh r0, [r2, 0x32]\n\ - ldrb r0, [r4]\n\ - lsls r1, r0, 4\n\ - adds r1, r0\n\ - lsls r1, 2\n\ - add r1, r8\n\ - adds r5, 0x1\n\ - adds r6, r5\n\ - ldrb r0, [r6]\n\ - lsls r0, 3\n\ - subs r0, 0xC\n\ - strh r0, [r1, 0x36]\n\ - ldrb r1, [r4]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - add r0, r8\n\ - ldr r1, =sub_80D3014\n\ - bl StoreSpriteCallbackInData6\n\ - ldr r2, =gUnknown_0203229C\n\ - ldr r1, [r2]\n\ - adds r1, 0x74\n\ - adds r1, r7\n\ - ldrb r0, [r1]\n\ - adds r0, 0x1\n\ - strb r0, [r1]\n\ - ldr r0, [r2]\n\ - adds r0, 0x28\n\ - add r0, r10\n\ - ldrb r1, [r0]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - add r0, r8\n\ - bl sub_80A6DEC\n\ - ldr r1, =gTradePartyBoxTilemap\n\ - ldr r0, [sp, 0x64]\n\ - subs r2, r0, r7\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - movs r0, 0xF\n\ - str r0, [sp]\n\ - movs r0, 0x11\n\ - str r0, [sp, 0x4]\n\ - movs r0, 0\n\ - str r0, [sp, 0x8]\n\ - movs r0, 0x1\n\ - movs r3, 0\n\ - bl CopyToBgTilemapBufferRect_ChangePalette\n\ - movs r0, 0x1\n\ - bl CopyBgTilemapBufferToVram\n\ - movs r0, 0\n\ - bl CopyBgTilemapBufferToVram\n\ - ldr r1, [sp, 0x60]\n\ - cmp r1, 0\n\ - beq _08079868\n\ - b _08079A24\n\ -_08079868:\n\ - bl sub_8079F74\n\ - b _08079A24\n\ - .pool\n\ -_08079884:\n\ - ldr r2, =gSprites\n\ - ldr r1, [sp, 0x60]\n\ - lsls r0, r1, 1\n\ - adds r0, r1\n\ - lsls r0, 1\n\ - add r0, r10\n\ - adds r1, r4, 0\n\ - adds r1, 0x28\n\ - adds r1, r0\n\ - ldrb r1, [r1]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r2, 0x1C\n\ - adds r0, r2\n\ - ldr r1, [r0]\n\ - ldr r0, =sub_80D3014\n\ - cmp r1, r0\n\ - beq _080798AC\n\ - b _08079A24\n\ -_080798AC:\n\ - movs r0, 0x3\n\ - strb r0, [r3]\n\ - b _08079A24\n\ - .pool\n\ -_080798BC:\n\ - ldr r1, =gTradeMovesBoxTilemap\n\ - ldr r0, [sp, 0x60]\n\ - lsls r2, r0, 4\n\ - subs r2, r0\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - movs r0, 0xF\n\ - str r0, [sp]\n\ - movs r0, 0x11\n\ - str r0, [sp, 0x4]\n\ - mov r0, r8\n\ - str r0, [sp, 0x8]\n\ - movs r0, 0x1\n\ - movs r3, 0\n\ - bl CopyToBgTilemapBufferRect_ChangePalette\n\ - movs r0, 0x1\n\ - bl CopyBgTilemapBufferToVram\n\ - ldr r6, =gSprites\n\ - ldr r1, =gUnknown_0203229C\n\ - ldr r4, [r1]\n\ - ldr r2, [sp, 0x60]\n\ - lsls r3, r2, 1\n\ - adds r3, r2\n\ - lsls r1, r3, 1\n\ - mov r2, r10\n\ - adds r0, r2, r1\n\ - adds r4, 0x28\n\ - adds r4, r0\n\ - ldrb r0, [r4]\n\ - lsls r2, r0, 4\n\ - adds r2, r0\n\ - lsls r2, 2\n\ - adds r2, r6\n\ - ldr r5, =gUnknown_0832DE24\n\ - lsls r3, 2\n\ - adds r0, r3, r5\n\ - ldrb r0, [r0]\n\ - adds r1, 0x1\n\ - lsls r1, 1\n\ - adds r1, r5\n\ - ldrb r1, [r1]\n\ - adds r0, r1\n\ - asrs r0, 1\n\ - lsls r0, 3\n\ - adds r0, 0xE\n\ - strh r0, [r2, 0x20]\n\ - ldrb r0, [r4]\n\ - lsls r1, r0, 4\n\ - adds r1, r0\n\ - lsls r1, 2\n\ - adds r1, r6\n\ - adds r5, 0x1\n\ - adds r3, r5\n\ - ldrb r0, [r3]\n\ - lsls r0, 3\n\ - subs r0, 0xC\n\ - strh r0, [r1, 0x22]\n\ - ldrb r1, [r4]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r0, r6\n\ - mov r1, r8\n\ - strh r1, [r0, 0x24]\n\ - ldrb r1, [r4]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r0, r6\n\ - mov r2, r8\n\ - strh r2, [r0, 0x26]\n\ - add r0, sp, 0x14\n\ - ldr r1, [sp, 0x60]\n\ - mov r2, r10\n\ - bl sub_8079A3C\n\ - lsls r4, r7, 1\n\ - adds r5, r4, 0\n\ - adds r5, 0xE\n\ - lsls r5, 24\n\ - lsrs r5, 24\n\ - lsls r0, 24\n\ - asrs r0, 24\n\ - movs r2, 0x50\n\ - subs r2, r0\n\ - lsrs r0, r2, 31\n\ - adds r2, r0\n\ - asrs r2, 1\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - ldr r0, =gUnknown_0832DEE0\n\ - mov r8, r0\n\ - str r0, [sp]\n\ - movs r1, 0\n\ - str r1, [sp, 0x4]\n\ - add r0, sp, 0x14\n\ - str r0, [sp, 0x8]\n\ - adds r0, r5, 0\n\ - movs r3, 0x4\n\ - bl AddTextPrinterParameterized3\n\ - add r6, sp, 0x28\n\ - adds r0, r6, 0\n\ - ldr r1, [sp, 0x60]\n\ - mov r2, r10\n\ - bl sub_8079AA4\n\ - adds r4, 0xF\n\ - lsls r4, 24\n\ - lsrs r4, 24\n\ - movs r1, 0\n\ - str r1, [sp]\n\ - str r1, [sp, 0x4]\n\ - mov r2, r8\n\ - str r2, [sp, 0x8]\n\ - str r1, [sp, 0xC]\n\ - str r6, [sp, 0x10]\n\ - adds r0, r4, 0\n\ - movs r1, 0x1\n\ - movs r2, 0\n\ - movs r3, 0\n\ - bl AddTextPrinterParameterized4\n\ - adds r0, r5, 0\n\ - bl PutWindowTilemap\n\ - adds r0, r5, 0\n\ - movs r1, 0x3\n\ - bl CopyWindowToVram\n\ - adds r0, r4, 0\n\ - bl PutWindowTilemap\n\ - adds r0, r4, 0\n\ - movs r1, 0x3\n\ - bl CopyWindowToVram\n\ - ldr r0, =gUnknown_0203229C\n\ - ldr r1, [r0]\n\ - b _08079A1A\n\ - .pool\n\ -_080799EC:\n\ - ldr r0, =gUnknown_0832DF99\n\ - lsls r1, r7, 1\n\ - adds r4, r1, r0\n\ - ldrb r2, [r4]\n\ - adds r2, 0x4\n\ - lsls r2, 24\n\ - lsrs r2, 24\n\ - adds r0, 0x1\n\ - adds r1, r0\n\ - ldrb r3, [r1]\n\ - adds r3, 0x1\n\ - lsls r3, 24\n\ - lsrs r3, 24\n\ - ldrb r0, [r4]\n\ - str r0, [sp]\n\ - ldrb r0, [r1]\n\ - str r0, [sp, 0x4]\n\ - adds r0, r7, 0\n\ - mov r1, r10\n\ - bl sub_8079C4C\n\ - ldr r2, =gUnknown_0203229C\n\ - ldr r1, [r2]\n\ -_08079A1A:\n\ - adds r1, 0x74\n\ - adds r1, r7\n\ - ldrb r0, [r1]\n\ - adds r0, 0x1\n\ - strb r0, [r1]\n\ -_08079A24:\n\ - add sp, 0x68\n\ - pop {r3-r5}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - mov r10, r5\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif // NONMATCHING u8 sub_8079A3C(u8 *a0, bool8 a1, u8 a2) { @@ -2604,6 +1927,8 @@ void sub_8079C4C(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4, u8 a5) gUnknown_0203229C->tilemapBuffer[(a3 - 1) * 32 + a2 + 1] = r2; } +extern const u8 gUnknown_0832DE3E[][6][2]; +extern const u8 gUnknown_0832DE56[][6][2]; // Very close but loop preamble not working. #ifdef NONMATCHING void sub_8079E44(u8 a0) @@ -2731,7 +2056,7 @@ u32 sub_807A09C(void) { u32 acc = 0; int i; - + for (i = 0; i < 4; i++) { acc += gUnknown_0203229C->unk_8D0[i].unk_0; @@ -2845,7 +2170,6 @@ void sub_807A308(const u8 *a0, u8 *a1, u8 unused) sub_80C6D80(a0, a1, 0, 0, 6); } -#ifdef NONMATCHING void sub_807A320(u8 a0) { int i; @@ -2857,18 +2181,18 @@ void sub_807A320(u8 a0) { if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) == TRUE) { - gUnknown_0203229C->unk_45[i] = 0; - gUnknown_0203229C->unk_51[0][i] = 1; + gUnknown_0203229C->unk_45[a0][i] = 0; + gUnknown_0203229C->unk_51[a0][i] = 1; } else if (GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) { - gUnknown_0203229C->unk_45[i] = 0; - gUnknown_0203229C->unk_51[0][i] = 0; + gUnknown_0203229C->unk_45[a0][i] = 0; + gUnknown_0203229C->unk_51[a0][i] = 0; } else { - gUnknown_0203229C->unk_45[i] = 1; - gUnknown_0203229C->unk_51[0][i] = 0; + gUnknown_0203229C->unk_45[a0][i] = 1; + gUnknown_0203229C->unk_51[a0][i] = 0; } } break; @@ -2877,192 +2201,23 @@ void sub_807A320(u8 a0) { if (GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG) == TRUE) { - gUnknown_0203229C->unk_45[i + 6] = 0; - gUnknown_0203229C->unk_51[1][i] = 1; + gUnknown_0203229C->unk_45[a0][i] = 0; + gUnknown_0203229C->unk_51[a0][i] = 1; } else if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) { - gUnknown_0203229C->unk_45[i + 6] = 0; - gUnknown_0203229C->unk_51[1][i] = 0; + gUnknown_0203229C->unk_45[a0][i] = 0; + gUnknown_0203229C->unk_51[a0][i] = 0; } else { - gUnknown_0203229C->unk_45[i + 6] = 1; - gUnknown_0203229C->unk_51[1][i] = 0; + gUnknown_0203229C->unk_45[a0][i] = 1; + gUnknown_0203229C->unk_51[a0][i] = 0; } } break; } } -#else -NAKED -void sub_807A320(u8 a0) -{ - asm_unified("push {r4-r7,lr}\n\ - mov r7, r9\n\ - mov r6, r8\n\ - push {r6,r7}\n\ - lsls r0, 24\n\ - lsrs r0, 24\n\ - mov r8, r0\n\ - cmp r0, 0\n\ - beq _0807A338\n\ - cmp r0, 0x1\n\ - beq _0807A3CC\n\ - b _0807A458\n\ -_0807A338:\n\ - movs r7, 0\n\ - ldr r1, =gUnknown_0203229C\n\ - ldr r0, [r1]\n\ - adds r0, 0x36\n\ - ldrb r0, [r0]\n\ - cmp r7, r0\n\ - blt _0807A348\n\ - b _0807A458\n\ -_0807A348:\n\ - adds r6, r1, 0\n\ - movs r5, 0\n\ - mov r9, r5\n\ -_0807A34E:\n\ - movs r0, 0x64\n\ - adds r1, r7, 0\n\ - muls r1, r0\n\ - ldr r0, =gPlayerParty\n\ - adds r4, r1, r0\n\ - adds r0, r4, 0\n\ - movs r1, 0x2D\n\ - bl GetMonData\n\ - adds r1, r0, 0\n\ - cmp r1, 0x1\n\ - bne _0807A380\n\ - ldr r0, [r6]\n\ - adds r0, 0x45\n\ - adds r0, r5\n\ - mov r2, r9\n\ - strb r2, [r0]\n\ - ldr r0, [r6]\n\ - adds r0, 0x51\n\ - adds r0, r5\n\ - b _0807A3B0\n\ - .pool\n\ -_0807A380:\n\ - adds r0, r4, 0\n\ - movs r1, 0x39\n\ - bl GetMonData\n\ - adds r1, r0, 0\n\ - cmp r1, 0\n\ - bne _0807A39E\n\ - ldr r0, [r6]\n\ - adds r0, 0x45\n\ - adds r0, r5\n\ - strb r1, [r0]\n\ - ldr r0, [r6]\n\ - adds r0, 0x51\n\ - adds r0, r5\n\ - b _0807A3B0\n\ -_0807A39E:\n\ - ldr r0, [r6]\n\ - adds r0, 0x45\n\ - adds r0, r5\n\ - movs r1, 0x1\n\ - strb r1, [r0]\n\ - ldr r0, [r6]\n\ - adds r0, 0x51\n\ - adds r0, r5\n\ - mov r1, r9\n\ -_0807A3B0:\n\ - strb r1, [r0]\n\ - ldr r0, =gUnknown_0203229C\n\ - adds r5, 0x1\n\ - adds r7, 0x1\n\ - ldr r0, [r0]\n\ - adds r0, 0x36\n\ - add r0, r8\n\ - ldrb r0, [r0]\n\ - cmp r7, r0\n\ - blt _0807A34E\n\ - b _0807A458\n\ - .pool\n\ -_0807A3CC:\n\ - movs r7, 0\n\ - ldr r1, =gUnknown_0203229C\n\ - ldr r0, [r1]\n\ - adds r0, 0x37\n\ - ldrb r0, [r0]\n\ - cmp r7, r0\n\ - bge _0807A458\n\ - adds r6, r1, 0\n\ - movs r5, 0x6\n\ - movs r2, 0\n\ - mov r9, r2\n\ -_0807A3E2:\n\ - movs r0, 0x64\n\ - adds r1, r7, 0\n\ - muls r1, r0\n\ - ldr r0, =gEnemyParty\n\ - adds r4, r1, r0\n\ - adds r0, r4, 0\n\ - movs r1, 0x2D\n\ - bl GetMonData\n\ - adds r1, r0, 0\n\ - cmp r1, 0x1\n\ - bne _0807A414\n\ - ldr r0, [r6]\n\ - adds r0, 0x45\n\ - adds r0, r5\n\ - mov r2, r9\n\ - strb r2, [r0]\n\ - ldr r0, [r6]\n\ - adds r0, 0x51\n\ - adds r0, r5\n\ - b _0807A444\n\ - .pool\n\ -_0807A414:\n\ - adds r0, r4, 0\n\ - movs r1, 0x39\n\ - bl GetMonData\n\ - adds r1, r0, 0\n\ - cmp r1, 0\n\ - bne _0807A432\n\ - ldr r0, [r6]\n\ - adds r0, 0x45\n\ - adds r0, r5\n\ - strb r1, [r0]\n\ - ldr r0, [r6]\n\ - adds r0, 0x51\n\ - adds r0, r5\n\ - b _0807A444\n\ -_0807A432:\n\ - ldr r0, [r6]\n\ - adds r0, 0x45\n\ - adds r0, r5\n\ - movs r1, 0x1\n\ - strb r1, [r0]\n\ - ldr r0, [r6]\n\ - adds r0, 0x51\n\ - adds r0, r5\n\ - mov r1, r9\n\ -_0807A444:\n\ - strb r1, [r0]\n\ - ldr r0, =gUnknown_0203229C\n\ - adds r5, 0x1\n\ - adds r7, 0x1\n\ - ldr r0, [r0]\n\ - adds r0, 0x36\n\ - add r0, r8\n\ - ldrb r0, [r0]\n\ - cmp r7, r0\n\ - blt _0807A3E2\n\ -_0807A458:\n\ - pop {r3,r4}\n\ - mov r8, r3\n\ - mov r9, r4\n\ - pop {r4-r7}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif // NONMATCHING void sub_807A468(u8 a0) { @@ -3092,7 +2247,7 @@ void sub_807A468(u8 a0) void sub_807A53C(void) { int i, j; - + for (i = 0; i < 2; i++) { for (j = 0; j < gUnknown_0203229C->unk_36[i]; j++) @@ -3154,7 +2309,7 @@ u32 sub_807A5F4(struct Pokemon *a0, int a1, int a2) { return 5; } - + if (!IsSpeciesInHoennDex(species2[a2])) { return 4; @@ -3198,22 +2353,20 @@ u32 sub_807A5F4(struct Pokemon *a0, int a1, int a2) s32 sub_807A728(void) { - int val; - u8 version; - + s32 val; + u16 version; + if (gReceivedRemoteLinkPlayers != 0) { val = 0; version = (gLinkPlayers[GetMultiplayerId() ^ 1].version & 0xFF); - if (version == VERSION_RUBY || - version == VERSION_SAPPHIRE || - version == VERSION_EMERALD) + + if (version == VERSION_RUBY || version == VERSION_SAPPHIRE || version == VERSION_EMERALD) { // this value could actually be anything 0 or less val = 0; } - else if (version == VERSION_FIRE_RED || - version == VERSION_LEAF_GREEN) + else if (version == VERSION_FIRE_RED || version == VERSION_LEAF_GREEN) { val = 2; } From 7f6f6c33ab9a9a5ab97aff8976ea2cb153106624 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 26 Dec 2018 13:05:02 +0100 Subject: [PATCH 10/53] Fix BgAttributes --- include/bg.h | 20 ++-- src/battle_bg.c | 6 +- src/battle_intro.c | 20 ++-- src/battle_script_commands.c | 12 +- src/bg.c | 166 ++++++++++++++------------- src/contest.c | 2 +- src/egg_hatch.c | 2 +- src/evolution_scene.c | 8 +- src/menu.c | 4 +- src/mirage_tower.c | 4 +- src/overworld.c | 6 +- src/pokedex_area_screen.c | 6 +- src/pokemon_storage_system.c | 20 ++-- src/pokemon_summary_screen.c | 16 +-- src/region_map.c | 152 ++++++++++++------------ src/reshow_battle_screen.c | 4 +- src/unk_pokedex_area_screen_helper.c | 8 +- src/window.c | 12 +- 18 files changed, 237 insertions(+), 231 deletions(-) diff --git a/include/bg.h b/include/bg.h index ffcaf43edf..1366923f1f 100644 --- a/include/bg.h +++ b/include/bg.h @@ -13,14 +13,16 @@ struct BGCntrlBitfield // for the I/O registers enum { - BG_CTRL_ATTR_VISIBLE = 1, - BG_CTRL_ATTR_CHARBASEINDEX = 2, - BG_CTRL_ATTR_MAPBASEINDEX = 3, - BG_CTRL_ATTR_SCREENSIZE = 4, - BG_CTRL_ATTR_PALETTEMODE = 5, - BG_CTRL_ATTR_PRIORITY = 6, - BG_CTRL_ATTR_MOSAIC = 7, - BG_CTRL_ATTR_WRAPAROUND = 8, + BG_ATTR_CHARBASEINDEX = 1, + BG_ATTR_MAPBASEINDEX, + BG_ATTR_SCREENSIZE, + BG_ATTR_PALETTEMODE, + BG_ATTR_MOSAIC, + BG_ATTR_WRAPAROUND, + BG_ATTR_PRIORITY, + BG_ATTR_METRIC, + BG_ATTR_TYPE, + BG_ATTR_BASETILE, }; struct BgTemplate @@ -38,8 +40,6 @@ void ResetBgs(void); u8 GetBgMode(void); void ResetBgControlStructs(void); void Unused_ResetBgControlStruct(u8 bg); -void SetBgControlAttributes(u8 bg, u8 charBaseIndex, u8 mapBaseIndex, u8 screenSize, u8 paletteMode, u8 priority, u8 mosaic, u8 wraparound); -u16 GetBgControlAttribute(u8 bg, u8 attributeId); u8 LoadBgVram(u8 bg, const void *src, u16 size, u16 destOffset, u8 mode); void SetTextModeAndHideBgs(void); bool8 IsInvalidBg(u8 bg); diff --git a/src/battle_bg.c b/src/battle_bg.c index a6919be1db..a072a2cda0 100644 --- a/src/battle_bg.c +++ b/src/battle_bg.c @@ -1092,7 +1092,7 @@ void DrawBattleEntryBackground(void) LZDecompressVram(gUnknown_08D778F0, (void*)(VRAM + 0x4000)); LZDecompressVram(gUnknown_08D77B0C, (void*)(VRAM + 0x10000)); LoadCompressedPalette(gUnknown_08D77AE4, 0x60, 0x20); - SetBgAttribute(1, BG_CTRL_ATTR_MAPBASEINDEX, 1); + SetBgAttribute(1, BG_ATTR_SCREENSIZE, 1); SetGpuReg(REG_OFFSET_BG1CNT, 0x5C04); CopyToBgTilemapBuffer(1, gUnknown_08D779D8, 0, 0); CopyToBgTilemapBuffer(2, gUnknown_08D779D8, 0, 0); @@ -1113,8 +1113,8 @@ void DrawBattleEntryBackground(void) } else { - SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 2); - SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 2); + SetBgAttribute(1, BG_ATTR_CHARBASEINDEX, 2); + SetBgAttribute(2, BG_ATTR_CHARBASEINDEX, 2); CopyToBgTilemapBuffer(1, gUnknown_08D857A8, 0, 0); CopyToBgTilemapBuffer(2, gUnknown_08D85A1C, 0, 0); CopyBgTilemapBufferToVram(1); diff --git a/src/battle_intro.c b/src/battle_intro.c index 736e35a87f..21e83ed29e 100644 --- a/src/battle_intro.c +++ b/src/battle_intro.c @@ -221,8 +221,8 @@ static void BattleIntroSlide1(u8 taskId) gScanlineEffect.state = 3; gTasks[taskId].data[0]++; CpuFill32(0, (void *)BG_SCREEN_ADDR(28), BG_SCREEN_SIZE); - SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0); - SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0); + SetBgAttribute(1, BG_ATTR_CHARBASEINDEX, 0); + SetBgAttribute(2, BG_ATTR_CHARBASEINDEX, 0); SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT256x512); SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT512x256); } @@ -330,8 +330,8 @@ static void BattleIntroSlide2(u8 taskId) gScanlineEffect.state = 3; gTasks[taskId].data[0]++; CpuFill32(0, (void *)BG_SCREEN_ADDR(28), BG_SCREEN_SIZE); - SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0); - SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0); + SetBgAttribute(1, BG_ATTR_CHARBASEINDEX, 0); + SetBgAttribute(2, BG_ATTR_CHARBASEINDEX, 0); SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT256x512); SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT512x256); } @@ -418,8 +418,8 @@ static void BattleIntroSlide3(u8 taskId) gScanlineEffect.state = 3; gTasks[taskId].data[0]++; CpuFill32(0, (void *)BG_SCREEN_ADDR(28), BG_SCREEN_SIZE); - SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0); - SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0); + SetBgAttribute(1, BG_ATTR_CHARBASEINDEX, 0); + SetBgAttribute(2, BG_ATTR_CHARBASEINDEX, 0); SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT256x512); SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT512x256); } @@ -499,8 +499,8 @@ static void BattleIntroSlideLink(u8 taskId) { gScanlineEffect.state = 3; gTasks[taskId].data[0]++; - SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0); - SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0); + SetBgAttribute(1, BG_ATTR_CHARBASEINDEX, 0); + SetBgAttribute(2, BG_ATTR_CHARBASEINDEX, 0); SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT256x512); SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT512x256); } @@ -567,8 +567,8 @@ static void BattleIntroSlidePartner(u8 taskId) { CpuFill32(0, (void *)BG_SCREEN_ADDR(28), BG_SCREEN_SIZE * 4); SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) & ~DISPCNT_WIN1_ON); - SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0); - SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0); + SetBgAttribute(1, BG_ATTR_CHARBASEINDEX, 0); + SetBgAttribute(2, BG_ATTR_CHARBASEINDEX, 0); SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(28) | BGCNT_TXT256x512); SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(0) | BGCNT_CHARBASE(0) | BGCNT_16COLOR | BGCNT_SCREENBASE(30) | BGCNT_TXT512x256); gScanlineEffect.state = 3; diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 9e1aa6be7b..67e9a0b1a1 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -6237,7 +6237,7 @@ static void atk6C_drawlvlupbox(void) { case 1: gBattle_BG2_Y = 0x60; - SetBgAttribute(2, BG_CTRL_ATTR_MOSAIC, 0); + SetBgAttribute(2, BG_ATTR_PRIORITY, 0); ShowBg(2); sub_804F17C(); gBattleScripting.atk6C_state = 2; @@ -6249,8 +6249,8 @@ static void atk6C_drawlvlupbox(void) case 3: gBattle_BG1_X = 0; gBattle_BG1_Y = 0x100; - SetBgAttribute(0, BG_CTRL_ATTR_MOSAIC, 1); - SetBgAttribute(1, BG_CTRL_ATTR_MOSAIC, 0); + SetBgAttribute(0, BG_ATTR_PRIORITY, 1); + SetBgAttribute(1, BG_ATTR_PRIORITY, 0); ShowBg(0); ShowBg(1); HandleBattleWindow(0x12, 7, 0x1D, 0x13, WINDOW_x80); @@ -6296,7 +6296,7 @@ static void atk6C_drawlvlupbox(void) ClearWindowTilemap(13); CopyWindowToVram(13, 1); - SetBgAttribute(2, BG_CTRL_ATTR_MOSAIC, 2); + SetBgAttribute(2, BG_ATTR_PRIORITY, 2); ShowBg(2); gBattleScripting.atk6C_state = 10; @@ -6305,8 +6305,8 @@ static void atk6C_drawlvlupbox(void) case 10: if (!IsDma3ManagerBusyWithBgCopy()) { - SetBgAttribute(0, BG_CTRL_ATTR_MOSAIC, 0); - SetBgAttribute(1, BG_CTRL_ATTR_MOSAIC, 1); + SetBgAttribute(0, BG_ATTR_PRIORITY, 0); + SetBgAttribute(1, BG_ATTR_PRIORITY, 1); ShowBg(0); ShowBg(1); gBattlescriptCurrInstr++; diff --git a/src/bg.c b/src/bg.c index 21624e4a02..54ec3b347b 100644 --- a/src/bg.c +++ b/src/bg.c @@ -77,15 +77,27 @@ void ResetBgControlStructs(void) void Unused_ResetBgControlStruct(u8 bg) { - if (IsInvalidBg(bg) == FALSE) + if (!IsInvalidBg(bg)) { sGpuBgConfigs.configs[bg] = sZeroedBgControlStruct; } } -void SetBgControlAttributes(u8 bg, u8 charBaseIndex, u8 mapBaseIndex, u8 screenSize, u8 paletteMode, u8 priority, u8 mosaic, u8 wraparound) +enum { - if (IsInvalidBg(bg) == FALSE) + BG_CTRL_ATTR_VISIBLE = 1, + BG_CTRL_ATTR_CHARBASEINDEX = 2, + BG_CTRL_ATTR_MAPBASEINDEX = 3, + BG_CTRL_ATTR_SCREENSIZE = 4, + BG_CTRL_ATTR_PALETTEMODE = 5, + BG_CTRL_ATTR_PRIORITY = 6, + BG_CTRL_ATTR_MOSAIC = 7, + BG_CTRL_ATTR_WRAPAROUND = 8, +}; + +static void SetBgControlAttributes(u8 bg, u8 charBaseIndex, u8 mapBaseIndex, u8 screenSize, u8 paletteMode, u8 priority, u8 mosaic, u8 wraparound) +{ + if (!IsInvalidBg(bg)) { if (charBaseIndex != 0xFF) { @@ -129,9 +141,9 @@ void SetBgControlAttributes(u8 bg, u8 charBaseIndex, u8 mapBaseIndex, u8 screenS } } -u16 GetBgControlAttribute(u8 bg, u8 attributeId) +static u16 GetBgControlAttribute(u8 bg, u8 attributeId) { - if (IsInvalidBg(bg) == FALSE && sGpuBgConfigs.configs[bg].visible != FALSE) + if (!IsInvalidBg(bg) && sGpuBgConfigs.configs[bg].visible) { switch (attributeId) { @@ -162,7 +174,7 @@ u8 LoadBgVram(u8 bg, const void *src, u16 size, u16 destOffset, u8 mode) u16 offset; s8 cursor; - if (IsInvalidBg(bg) == FALSE && sGpuBgConfigs.configs[bg].visible != FALSE) + if (!IsInvalidBg(bg) && sGpuBgConfigs.configs[bg].visible) { switch (mode) { @@ -198,7 +210,7 @@ end: static void ShowBgInternal(u8 bg) { u16 value; - if (IsInvalidBg(bg) == FALSE && sGpuBgConfigs.configs[bg].visible != FALSE) + if (!IsInvalidBg(bg) && sGpuBgConfigs.configs[bg].visible) { value = sGpuBgConfigs.configs[bg].priority | (sGpuBgConfigs.configs[bg].charBaseIndex << 2) | @@ -217,7 +229,7 @@ static void ShowBgInternal(u8 bg) static void HideBgInternal(u8 bg) { - if (IsInvalidBg(bg) == FALSE) + if (!IsInvalidBg(bg)) { sGpuBgConfigs.bgVisibilityAndMode &= ~(1 << (bg + 8)); sGpuBgConfigs.bgVisibilityAndMode &= DISPCNT_ALL_BG_AND_MODE_BITS; @@ -226,12 +238,12 @@ static void HideBgInternal(u8 bg) static void SyncBgVisibilityAndMode(void) { - SetGpuReg(0, (GetGpuReg(0) & ~DISPCNT_ALL_BG_AND_MODE_BITS) | sGpuBgConfigs.bgVisibilityAndMode); + SetGpuReg(REG_OFFSET_DISPCNT, (GetGpuReg(REG_OFFSET_DISPCNT) & ~DISPCNT_ALL_BG_AND_MODE_BITS) | sGpuBgConfigs.bgVisibilityAndMode); } void SetTextModeAndHideBgs(void) { - SetGpuReg(0, GetGpuReg(0) & ~DISPCNT_ALL_BG_AND_MODE_BITS); + SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) & ~DISPCNT_ALL_BG_AND_MODE_BITS); } static void SetBgAffineInternal(u8 bg, u32 srcCenterX, u32 srcCenterY, s16 dispCenterX, s16 dispCenterY, s16 scaleX, s16 scaleY, u16 rotationAngle) @@ -312,7 +324,8 @@ void InitBgsFromTemplates(u8 bgMode, const struct BgTemplate *templates, u8 numT for (i = 0; i < numTemplates; i++) { bg = templates[i].bg; - if (bg < 4) { + if (bg < 4) + { SetBgControlAttributes(bg, templates[i].charBaseIndex, templates[i].mapBaseIndex, @@ -396,9 +409,7 @@ u16 LoadBgTiles(u8 bg, const void* src, u16 size, u16 destOffset) u16 LoadBgTilemap(u8 bg, const void *src, u16 size, u16 destOffset) { - u8 cursor; - - cursor = LoadBgVram(bg, src, size, destOffset * 2, DISPCNT_MODE_2); + u8 cursor = LoadBgVram(bg, src, size, destOffset * 2, DISPCNT_MODE_2); if (cursor == 0xFF) { @@ -412,12 +423,11 @@ u16 LoadBgTilemap(u8 bg, const void *src, u16 size, u16 destOffset) u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset) { - u16 paletteOffset; s8 cursor; - if (IsInvalidBg32(bg) == FALSE) + if (!IsInvalidBg32(bg)) { - paletteOffset = (sGpuBgConfigs2[bg].basePalette * 0x20) + (destOffset * 2); + u16 paletteOffset = (sGpuBgConfigs2[bg].basePalette * 0x20) + (destOffset * 2); cursor = RequestDma3Copy(src, (void*)(paletteOffset + BG_PLTT), size, 0); if (cursor == -1) @@ -437,20 +447,16 @@ u16 Unused_LoadBgPalette(u8 bg, const void *src, u16 size, u16 destOffset) bool8 IsDma3ManagerBusyWithBgCopy(void) { - u8 mod; - u8 div; - s8 reqSpace; - int i; for (i = 0; i < 0x80; i++) { - div = i / 0x20; - mod = i % 0x20; + u8 div = i / 0x20; + u8 mod = i % 0x20; - if ((sDmaBusyBitfield[div] & (1 << mod)) != FALSE) + if ((sDmaBusyBitfield[div] & (1 << mod))) { - reqSpace = CheckForSpaceForDma3Request(i); + s8 reqSpace = CheckForSpaceForDma3Request(i); if (reqSpace == -1) { return TRUE; @@ -479,25 +485,25 @@ void SetBgAttribute(u8 bg, u8 attributeId, u8 value) { switch (attributeId) { - case 1: + case BG_ATTR_CHARBASEINDEX: SetBgControlAttributes(bg, value, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF); break; - case 2: + case BG_ATTR_MAPBASEINDEX: SetBgControlAttributes(bg, 0xFF, value, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF); break; - case 3: + case BG_ATTR_SCREENSIZE: SetBgControlAttributes(bg, 0xFF, 0xFF, value, 0xFF, 0xFF, 0xFF, 0xFF); break; - case 4: + case BG_ATTR_PALETTEMODE: SetBgControlAttributes(bg, 0xFF, 0xFF, 0xFF, value, 0xFF, 0xFF, 0xFF); break; - case 7: + case BG_ATTR_PRIORITY: SetBgControlAttributes(bg, 0xFF, 0xFF, 0xFF, 0xFF, value, 0xFF, 0xFF); break; - case 5: + case BG_ATTR_MOSAIC: SetBgControlAttributes(bg, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, value, 0xFF); break; - case 6: + case BG_ATTR_WRAPAROUND: SetBgControlAttributes(bg, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, value); break; } @@ -507,21 +513,21 @@ u16 GetBgAttribute(u8 bg, u8 attributeId) { switch (attributeId) { - case 1: + case BG_ATTR_CHARBASEINDEX: return GetBgControlAttribute(bg, BG_CTRL_ATTR_CHARBASEINDEX); - case 2: + case BG_ATTR_MAPBASEINDEX: return GetBgControlAttribute(bg, BG_CTRL_ATTR_MAPBASEINDEX); - case 3: + case BG_ATTR_SCREENSIZE: return GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE); - case 4: + case BG_ATTR_PALETTEMODE: return GetBgControlAttribute(bg, BG_CTRL_ATTR_PALETTEMODE); - case 7: + case BG_ATTR_PRIORITY: return GetBgControlAttribute(bg, BG_CTRL_ATTR_PRIORITY); - case 5: + case BG_ATTR_MOSAIC: return GetBgControlAttribute(bg, BG_CTRL_ATTR_MOSAIC); - case 6: + case BG_ATTR_WRAPAROUND: return GetBgControlAttribute(bg, BG_CTRL_ATTR_WRAPAROUND); - case 8: + case BG_ATTR_METRIC: switch (GetBgType(bg)) { case 0: @@ -531,9 +537,9 @@ u16 GetBgAttribute(u8 bg, u8 attributeId) default: return 0; } - case 9: + case BG_ATTR_TYPE: return GetBgType(bg); - case 10: + case BG_ATTR_BASETILE: return sGpuBgConfigs2[bg].baseTile; default: return -1; @@ -546,7 +552,7 @@ s32 ChangeBgX(u8 bg, s32 value, u8 op) u16 temp1; u16 temp2; - if (IsInvalidBg32(bg) != FALSE || GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE) == 0) + if (IsInvalidBg32(bg) || !GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE)) { return -1; } @@ -612,9 +618,9 @@ s32 ChangeBgX(u8 bg, s32 value, u8 op) s32 GetBgX(u8 bg) { - if (IsInvalidBg32(bg) != FALSE) + if (IsInvalidBg32(bg)) return -1; - else if (GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE) == 0) + else if (!GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE)) return -1; else return sGpuBgConfigs2[bg].bg_x; @@ -626,7 +632,7 @@ s32 ChangeBgY(u8 bg, s32 value, u8 op) u16 temp1; u16 temp2; - if (IsInvalidBg32(bg) != FALSE || GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE) == 0) + if (IsInvalidBg32(bg) || !GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE)) { return -1; } @@ -696,7 +702,7 @@ s32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op) u16 temp1; u16 temp2; - if (IsInvalidBg32(bg) != FALSE || GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE) == 0) + if (IsInvalidBg32(bg) || !GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE)) { return -1; } @@ -763,9 +769,9 @@ s32 ChangeBgY_ScreenOff(u8 bg, u32 value, u8 op) s32 GetBgY(u8 bg) { - if (IsInvalidBg32(bg) != FALSE) + if (IsInvalidBg32(bg)) return -1; - else if (GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE) == 0) + else if (!GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE)) return -1; else return sGpuBgConfigs2[bg].bg_y; @@ -849,7 +855,7 @@ u8 Unused_AdjustBgMosaic(u8 a1, u8 a2) void SetBgTilemapBuffer(u8 bg, void *tilemap) { - if (IsInvalidBg32(bg) == FALSE && GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE) != 0x0) + if (!IsInvalidBg32(bg) && GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE)) { sGpuBgConfigs2[bg].tilemap = tilemap; } @@ -857,7 +863,7 @@ void SetBgTilemapBuffer(u8 bg, void *tilemap) void UnsetBgTilemapBuffer(u8 bg) { - if (IsInvalidBg32(bg) == FALSE && GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE) != 0x0) + if (!IsInvalidBg32(bg) && GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE)) { sGpuBgConfigs2[bg].tilemap = NULL; } @@ -865,9 +871,9 @@ void UnsetBgTilemapBuffer(u8 bg) void* GetBgTilemapBuffer(u8 bg) { - if (IsInvalidBg32(bg) != FALSE) + if (IsInvalidBg32(bg)) return NULL; - else if (GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE) == 0) + else if (!GetBgControlAttribute(bg, BG_CTRL_ATTR_VISIBLE)) return NULL; else return sGpuBgConfigs2[bg].tilemap; @@ -875,7 +881,7 @@ void* GetBgTilemapBuffer(u8 bg) void CopyToBgTilemapBuffer(u8 bg, const void *src, u16 mode, u16 destOffset) { - if (IsInvalidBg32(bg) == FALSE && IsTileMapOutsideWram(bg) == FALSE) + if (!IsInvalidBg32(bg) && !IsTileMapOutsideWram(bg)) { if (mode != 0) CpuCopy16(src, (void *)(sGpuBgConfigs2[bg].tilemap + (destOffset * 2)), mode); @@ -888,7 +894,7 @@ void CopyBgTilemapBufferToVram(u8 bg) { u16 sizeToLoad; - if (IsInvalidBg32(bg) == FALSE && IsTileMapOutsideWram(bg) == FALSE) + if (!IsInvalidBg32(bg) && !IsTileMapOutsideWram(bg)) { switch (GetBgType(bg)) { @@ -908,12 +914,12 @@ void CopyBgTilemapBufferToVram(u8 bg) void CopyToBgTilemapBufferRect(u8 bg, const void* src, u8 destX, u8 destY, u8 width, u8 height) { - const void* srcCopy; + const void *srcCopy; u16 destX16; u16 destY16; u16 mode; - if (IsInvalidBg32(bg) == FALSE && IsTileMapOutsideWram(bg) == FALSE) + if (!IsInvalidBg32(bg) && !IsTileMapOutsideWram(bg)) { switch (GetBgType(bg)) { @@ -997,29 +1003,29 @@ void FillBgTilemapBufferRect_Palette0(u8 bg, u16 tileNum, u8 x, u8 y, u8 width, u16 y16; u16 mode; - if (IsInvalidBg32(bg) == FALSE && IsTileMapOutsideWram(bg) == FALSE) + if (!IsInvalidBg32(bg) && !IsTileMapOutsideWram(bg)) { switch (GetBgType(bg)) { - case 0: - for (y16 = y; y16 < (y + height); y16++) + case 0: + for (y16 = y; y16 < (y + height); y16++) + { + for (x16 = x; x16 < (x + width); x16++) { - for (x16 = x; x16 < (x + width); x16++) - { - ((u16*)sGpuBgConfigs2[bg].tilemap)[((y16 * 0x20) + x16)] = tileNum; - } + ((u16*)sGpuBgConfigs2[bg].tilemap)[((y16 * 0x20) + x16)] = tileNum; } - break; - case 1: - mode = GetBgMetricAffineMode(bg, 0x1); - for (y16 = y; y16 < (y + height); y16++) + } + break; + case 1: + mode = GetBgMetricAffineMode(bg, 0x1); + for (y16 = y; y16 < (y + height); y16++) + { + for (x16 = x; x16 < (x + width); x16++) { - for (x16 = x; x16 < (x + width); x16++) - { - ((u8*)sGpuBgConfigs2[bg].tilemap)[((y16 * mode) + x16)] = tileNum; - } + ((u8*)sGpuBgConfigs2[bg].tilemap)[((y16 * mode) + x16)] = tileNum; } - break; + } + break; } } } @@ -1071,12 +1077,12 @@ void WriteSequenceToBgTilemapBuffer(u8 bg, u16 firstTileNum, u8 x, u8 y, u8 widt u16 GetBgMetricTextMode(u8 bg, u8 whichMetric) { - u8 attribute = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE); + u8 screenSize = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE); switch (whichMetric) { case 0: - switch (attribute) + switch (screenSize) { case 0: return 1; @@ -1088,7 +1094,7 @@ u16 GetBgMetricTextMode(u8 bg, u8 whichMetric) } break; case 1: - switch (attribute) + switch (screenSize) { case 0: return 1; @@ -1101,7 +1107,7 @@ u16 GetBgMetricTextMode(u8 bg, u8 whichMetric) } break; case 2: - switch (attribute) + switch (screenSize) { case 0: case 1: @@ -1117,12 +1123,12 @@ u16 GetBgMetricTextMode(u8 bg, u8 whichMetric) u32 GetBgMetricAffineMode(u8 bg, u8 whichMetric) { - u8 attribute = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE); + u8 screenSize = GetBgControlAttribute(bg, BG_CTRL_ATTR_SCREENSIZE); switch (whichMetric) { case 0: - switch (attribute) + switch (screenSize) { case 0: return 0x1; @@ -1136,7 +1142,7 @@ u32 GetBgMetricAffineMode(u8 bg, u8 whichMetric) break; case 1: case 2: - return 0x10 << attribute; + return 0x10 << screenSize; } return 0; } diff --git a/src/contest.c b/src/contest.c index c3ce9c9aae..0f29f4ad96 100644 --- a/src/contest.c +++ b/src/contest.c @@ -285,7 +285,7 @@ void sub_80D779C(void) ResetBgsAndClearDma3BusyFlags(0); InitBgsFromTemplates(0, gUnknown_08587F34, ARRAY_COUNT(gUnknown_08587F34)); - SetBgAttribute(3, BG_CTRL_ATTR_PRIORITY, 1); + SetBgAttribute(3, BG_ATTR_WRAPAROUND, 1); for (i = 0; i < 4; i++) { SetBgTilemapBuffer(i, gContestResources->field_24[i]); diff --git a/src/egg_hatch.c b/src/egg_hatch.c index 360dd24664..a7b3e30b04 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -502,7 +502,7 @@ static void CB2_EggHatch_0(void) ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); - SetBgAttribute(1, BG_CTRL_ATTR_MOSAIC, 2); + SetBgAttribute(1, BG_ATTR_PRIORITY, 2); SetBgTilemapBuffer(1, Alloc(0x1000)); SetBgTilemapBuffer(0, Alloc(0x2000)); diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 1070c69e90..ea2302130b 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -1483,8 +1483,8 @@ static void InitMovingBackgroundTask(bool8 isLink) SetGpuReg(REG_OFFSET_BLDALPHA, 0x808); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG2_ON | DISPCNT_BG1_ON | DISPCNT_BG0_ON | DISPCNT_OBJ_1D_MAP); - SetBgAttribute(innerBgId, BG_CTRL_ATTR_MOSAIC, 2); - SetBgAttribute(outerBgId, BG_CTRL_ATTR_MOSAIC, 2); + SetBgAttribute(innerBgId, BG_ATTR_PRIORITY, 2); + SetBgAttribute(outerBgId, BG_ATTR_PRIORITY, 2); ShowBg(1); ShowBg(2); @@ -1529,8 +1529,8 @@ static void sub_8140174(void) gBattle_BG1_X = 0; gBattle_BG1_Y = 0; gBattle_BG2_X = 0; - SetBgAttribute(1, BG_CTRL_ATTR_MOSAIC, sub_80391E0(1, 5)); - SetBgAttribute(2, BG_CTRL_ATTR_MOSAIC, sub_80391E0(2, 5)); + SetBgAttribute(1, BG_ATTR_PRIORITY, sub_80391E0(1, 5)); + SetBgAttribute(2, BG_ATTR_PRIORITY, sub_80391E0(2, 5)); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG3_ON | DISPCNT_BG0_ON | DISPCNT_OBJ_1D_MAP); Free(sEvoMovingBgPtr); } diff --git a/src/menu.c b/src/menu.c index e0e5eb4eb9..8c3c61ea76 100644 --- a/src/menu.c +++ b/src/menu.c @@ -1934,8 +1934,8 @@ void sub_8199D98(void) void sub_8199DF0(u32 bg, u8 a1, int a2, int a3) { - int temp = (!GetBgAttribute(bg, 4)) ? 0x20 : 0x40; - void *addr = (void *)((GetBgAttribute(bg, 1) * 0x4000) + (GetBgAttribute(bg, 10) + a2) * temp); + int temp = (!GetBgAttribute(bg, BG_ATTR_PALETTEMODE)) ? 0x20 : 0x40; + void *addr = (void *)((GetBgAttribute(bg, BG_ATTR_CHARBASEINDEX) * 0x4000) + (GetBgAttribute(bg, BG_ATTR_BASETILE) + a2) * temp); RequestDma3Fill(a1 << 24 | a1 << 16 | a1 << 8 | a1, addr + VRAM, a3 * temp, 1); } diff --git a/src/mirage_tower.c b/src/mirage_tower.c index d002e1de4d..bfaea4c5e7 100644 --- a/src/mirage_tower.c +++ b/src/mirage_tower.c @@ -509,7 +509,7 @@ static void InitMirageTowerShake(u8 taskId) { case 0: FreeAllWindowBuffers(); - SetBgAttribute(0, BG_CTRL_ATTR_MOSAIC, 2); + SetBgAttribute(0, BG_ATTR_PRIORITY, 2); gTasks[taskId].data[0]++; break; case 1: @@ -624,7 +624,7 @@ static void DoMirageTowerDisintegration(u8 taskId) case 6: SetGpuRegBits(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2)); SetGpuRegBits(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0)); - SetBgAttribute(0, BG_CTRL_ATTR_MOSAIC, 0); + SetBgAttribute(0, BG_ATTR_PRIORITY, 0); sub_81971D0(); break; case 7: diff --git a/src/overworld.c b/src/overworld.c index ea4b44cbf9..2aad688615 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -1448,9 +1448,9 @@ u8 GetCurrentMapBattleScene(void) static void overworld_bg_setup(void) { InitBgsFromTemplates(0, gUnknown_08339DAC, ARRAY_COUNT(gUnknown_08339DAC)); - SetBgAttribute(1, BG_CTRL_ATTR_PALETTEMODE, 1); - SetBgAttribute(2, BG_CTRL_ATTR_PALETTEMODE, 1); - SetBgAttribute(3, BG_CTRL_ATTR_PALETTEMODE, 1); + SetBgAttribute(1, BG_ATTR_MOSAIC, 1); + SetBgAttribute(2, BG_ATTR_MOSAIC, 1); + SetBgAttribute(3, BG_ATTR_MOSAIC, 1); gBGTilemapBuffers2 = AllocZeroed(0x800); gBGTilemapBuffers1 = AllocZeroed(0x800); gBGTilemapBuffers3 = AllocZeroed(0x800); diff --git a/src/pokedex_area_screen.c b/src/pokedex_area_screen.c index 30a127c713..a268b53822 100755 --- a/src/pokedex_area_screen.c +++ b/src/pokedex_area_screen.c @@ -533,7 +533,7 @@ static void Task_PokedexAreaScreen_0(u8 taskId) HideBg(0); break; case 1: - SetBgAttribute(3, BG_CTRL_ATTR_VISIBLE, 3); + SetBgAttribute(3, BG_ATTR_CHARBASEINDEX, 3); sub_81C4D70(&sUnknown_085B4018); StringFill(sPokedexAreaScreen->charBuffer, CHAR_SPACE, 16); break; @@ -628,8 +628,8 @@ static void Task_PokedexAreaScreen_1(u8 taskId) static void sub_813D6B4(void) { - SetBgAttribute(3, BG_CTRL_ATTR_VISIBLE, 0); - SetBgAttribute(3, BG_CTRL_ATTR_SCREENSIZE, 0); + SetBgAttribute(3, BG_ATTR_CHARBASEINDEX, 0); + SetBgAttribute(3, BG_ATTR_PALETTEMODE, 0); } static void CreateAreaMarkerSprites(void) diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 7b1d8da7c9..91a1a5fd03 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -8826,7 +8826,7 @@ static bool8 sub_80D024C(void) FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20); FillWindowPixelBuffer8Bit(sPSSData->field_2200, 0); sub_80D07B0(sMoveMonsPtr->fromRow, sMoveMonsPtr->fromColumn); - SetBgAttribute(0, 4, 1); + SetBgAttribute(0, BG_ATTR_PALETTEMODE, 1); PutWindowTilemap(sPSSData->field_2200); CopyWindowToVram8Bit(sPSSData->field_2200, 3); BlendPalettes(0x3F00, 8, RGB_WHITE); @@ -9246,7 +9246,7 @@ static void sub_80D0B5C(void) { ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); - SetBgAttribute(0, 4, 0); + SetBgAttribute(0, BG_ATTR_PALETTEMODE, 0); ClearGpuRegBits(REG_OFFSET_BG0CNT, BGCNT_256COLOR); FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 32, 32); CopyBgTilemapBufferToVram(0); @@ -9865,7 +9865,7 @@ static bool8 sub_80D184C(void) var = 0x15 - sPSSData->field_2236; for (i = 0; i < var; i++) { - WriteSequenceToBgTilemapBuffer(0, GetBgAttribute(0, 10) + 0x14 + sPSSData->field_2236 + i, i, 13, 1, 7, 15, 21); + WriteSequenceToBgTilemapBuffer(0, GetBgAttribute(0, BG_ATTR_BASETILE) + 0x14 + sPSSData->field_2236 + i, i, 13, 1, 7, 15, 21); } sub_80D19B4(var); @@ -9886,7 +9886,7 @@ static bool8 sub_80D18E4(void) var = 0x15 - sPSSData->field_2236; for (i = 0; i < var; i++) { - WriteSequenceToBgTilemapBuffer(0, GetBgAttribute(0, 10) + 0x14 + sPSSData->field_2236 + i, i, 13, 1, 7, 15, 21); + WriteSequenceToBgTilemapBuffer(0, GetBgAttribute(0, BG_ATTR_BASETILE) + 0x14 + sPSSData->field_2236 + i, i, 13, 1, 7, 15, 21); } if (var >= 0) @@ -10423,7 +10423,7 @@ static const sUnkVars[][4] = static void sub_80D2644(u8 id, u8 bg, const void *arg2, u16 arg3, u16 arg4) { - u16 attribute1, attribute2; + u16 bgScreenSize, bgType; if (id >= gUnknown_02039D88) return; @@ -10434,11 +10434,11 @@ static void sub_80D2644(u8 id, u8 bg, const void *arg2, u16 arg3, u16 arg4) gUnknown_02039D84[id].field_24 = arg3; gUnknown_02039D84[id].field_26 = arg4; - attribute1 = GetBgAttribute(bg, 3); - attribute2 = GetBgAttribute(bg, 9); - gUnknown_02039D84[id].field_20 = sUnkVars[attribute2][attribute1].a; - gUnknown_02039D84[id].field_22 = sUnkVars[attribute2][attribute1].b; - if (attribute2 != 0) + bgScreenSize = GetBgAttribute(bg, BG_ATTR_SCREENSIZE); + bgType = GetBgAttribute(bg, BG_ATTR_TYPE); + gUnknown_02039D84[id].field_20 = sUnkVars[bgType][bgScreenSize].a; + gUnknown_02039D84[id].field_22 = sUnkVars[bgType][bgScreenSize].b; + if (bgType != 0) gUnknown_02039D84[id].field_2A = 1; else gUnknown_02039D84[id].field_2A = 2; diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index eedb9417bd..7feeb79e76 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -1688,15 +1688,15 @@ static void sub_81C0B8C(u8 taskId) if (pssData->unk40C9 == 0) { data[1] = 1; - SetBgAttribute(1, 7, 1); - SetBgAttribute(2, 7, 2); + SetBgAttribute(1, BG_ATTR_PRIORITY, 1); + SetBgAttribute(2, BG_ATTR_PRIORITY, 2); schedule_bg_copy_tilemap_to_vram(1); } else { data[1] = 2; - SetBgAttribute(2, 7, 1); - SetBgAttribute(1, 7, 2); + SetBgAttribute(2, BG_ATTR_PRIORITY, 1); + SetBgAttribute(1, BG_ATTR_PRIORITY, 2); schedule_bg_copy_tilemap_to_vram(2); } ChangeBgX(data[1], 0, 0); @@ -1745,14 +1745,14 @@ static void sub_81C0D44(u8 taskId) s16 *data = gTasks[taskId].data; if (pssData->unk40C9 == 0) { - SetBgAttribute(1, 7, 1); - SetBgAttribute(2, 7, 2); + SetBgAttribute(1, BG_ATTR_PRIORITY, 1); + SetBgAttribute(2, BG_ATTR_PRIORITY, 2); schedule_bg_copy_tilemap_to_vram(2); } else { - SetBgAttribute(2, 7, 1); - SetBgAttribute(1, 7, 2); + SetBgAttribute(2, BG_ATTR_PRIORITY, 1); + SetBgAttribute(1, BG_ATTR_PRIORITY, 2); schedule_bg_copy_tilemap_to_vram(1); } if (pssData->currPageIndex > 1) diff --git a/src/region_map.c b/src/region_map.c index 4caf3147a2..fa5ed21592 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -427,82 +427,82 @@ bool8 sub_8122DB0(void) { switch (gRegionMap->initStep) { - case 0: - if (gRegionMap->bgManaged) - { - decompress_and_copy_tile_data_to_vram(gRegionMap->bgNum, sRegionMapBkgnd_GfxLZ, 0, 0, 0); - } - else - { - LZ77UnCompVram(sRegionMapBkgnd_GfxLZ, (u16 *)BG_CHAR_ADDR(2)); - } - break; - case 1: - if (gRegionMap->bgManaged) - { - if (!free_temp_tile_data_buffers_if_possible()) - { - decompress_and_copy_tile_data_to_vram(gRegionMap->bgNum, sRegionMapBkgnd_TilemapLZ, 0, 0, 1); - } - } - else - { - LZ77UnCompVram(sRegionMapBkgnd_TilemapLZ, (u16 *)BG_SCREEN_ADDR(28)); - } - break; - case 2: - if (!free_temp_tile_data_buffers_if_possible()) - { - LoadPalette(sRegionMapBkgnd_Pal, 0x70, 0x60); - } - break; - case 3: - LZ77UnCompWram(sRegionMapCursorSmallGfxLZ, gRegionMap->cursorSmallImage); - break; - case 4: - LZ77UnCompWram(sRegionMapCursorLargeGfxLZ, gRegionMap->cursorLargeImage); - break; - case 5: - RegionMap_InitializeStateBasedOnPlayerLocation(); - gRegionMap->playerIconSpritePosX = gRegionMap->cursorPosX; - gRegionMap->playerIconSpritePosY = gRegionMap->cursorPosY; - gRegionMap->mapSecId = CorrectSpecialMapSecId_Internal(gRegionMap->mapSecId); - gRegionMap->iconDrawType = get_flagnr_blue_points(gRegionMap->mapSecId); - GetMapName(gRegionMap->mapSecName, gRegionMap->mapSecId, 16); - break; - case 6: - if (gRegionMap->zoomed == FALSE) - { - CalcZoomScrollParams(0, 0, 0, 0, 0x100, 0x100, 0); - } - else - { - gRegionMap->scrollX = gRegionMap->cursorPosX * 8 - 0x34; - gRegionMap->scrollY = gRegionMap->cursorPosY * 8 - 0x44; - gRegionMap->zoomedCursorPosX = gRegionMap->cursorPosX; - gRegionMap->zoomedCursorPosY = gRegionMap->cursorPosY; - CalcZoomScrollParams(gRegionMap->scrollX, gRegionMap->scrollY, 0x38, 0x48, 0x80, 0x80, 0); - } - break; - case 7: - RegionMap_GetPositionOfCursorWithinMapSection(); - UpdateRegionMapVideoRegs(); - gRegionMap->cursorSprite = NULL; - gRegionMap->playerIconSprite = NULL; - gRegionMap->cursorMovementFrameCounter = 0; - gRegionMap->blinkPlayerIcon = FALSE; - if (gRegionMap->bgManaged) - { - SetBgAttribute(gRegionMap->bgNum, BG_CTRL_ATTR_MAPBASEINDEX, 2); - SetBgAttribute(gRegionMap->bgNum, BG_CTRL_ATTR_VISIBLE, gRegionMap->charBaseIdx); - SetBgAttribute(gRegionMap->bgNum, BG_CTRL_ATTR_CHARBASEINDEX, gRegionMap->mapBaseIdx); - SetBgAttribute(gRegionMap->bgNum, BG_CTRL_ATTR_PRIORITY, 1); - SetBgAttribute(gRegionMap->bgNum, BG_CTRL_ATTR_SCREENSIZE, 1); - } - gRegionMap->initStep++; - return FALSE; - default: - return FALSE; + case 0: + if (gRegionMap->bgManaged) + { + decompress_and_copy_tile_data_to_vram(gRegionMap->bgNum, sRegionMapBkgnd_GfxLZ, 0, 0, 0); + } + else + { + LZ77UnCompVram(sRegionMapBkgnd_GfxLZ, (u16 *)BG_CHAR_ADDR(2)); + } + break; + case 1: + if (gRegionMap->bgManaged) + { + if (!free_temp_tile_data_buffers_if_possible()) + { + decompress_and_copy_tile_data_to_vram(gRegionMap->bgNum, sRegionMapBkgnd_TilemapLZ, 0, 0, 1); + } + } + else + { + LZ77UnCompVram(sRegionMapBkgnd_TilemapLZ, (u16 *)BG_SCREEN_ADDR(28)); + } + break; + case 2: + if (!free_temp_tile_data_buffers_if_possible()) + { + LoadPalette(sRegionMapBkgnd_Pal, 0x70, 0x60); + } + break; + case 3: + LZ77UnCompWram(sRegionMapCursorSmallGfxLZ, gRegionMap->cursorSmallImage); + break; + case 4: + LZ77UnCompWram(sRegionMapCursorLargeGfxLZ, gRegionMap->cursorLargeImage); + break; + case 5: + RegionMap_InitializeStateBasedOnPlayerLocation(); + gRegionMap->playerIconSpritePosX = gRegionMap->cursorPosX; + gRegionMap->playerIconSpritePosY = gRegionMap->cursorPosY; + gRegionMap->mapSecId = CorrectSpecialMapSecId_Internal(gRegionMap->mapSecId); + gRegionMap->iconDrawType = get_flagnr_blue_points(gRegionMap->mapSecId); + GetMapName(gRegionMap->mapSecName, gRegionMap->mapSecId, 16); + break; + case 6: + if (gRegionMap->zoomed == FALSE) + { + CalcZoomScrollParams(0, 0, 0, 0, 0x100, 0x100, 0); + } + else + { + gRegionMap->scrollX = gRegionMap->cursorPosX * 8 - 0x34; + gRegionMap->scrollY = gRegionMap->cursorPosY * 8 - 0x44; + gRegionMap->zoomedCursorPosX = gRegionMap->cursorPosX; + gRegionMap->zoomedCursorPosY = gRegionMap->cursorPosY; + CalcZoomScrollParams(gRegionMap->scrollX, gRegionMap->scrollY, 0x38, 0x48, 0x80, 0x80, 0); + } + break; + case 7: + RegionMap_GetPositionOfCursorWithinMapSection(); + UpdateRegionMapVideoRegs(); + gRegionMap->cursorSprite = NULL; + gRegionMap->playerIconSprite = NULL; + gRegionMap->cursorMovementFrameCounter = 0; + gRegionMap->blinkPlayerIcon = FALSE; + if (gRegionMap->bgManaged) + { + SetBgAttribute(gRegionMap->bgNum, BG_ATTR_SCREENSIZE, 2); + SetBgAttribute(gRegionMap->bgNum, BG_ATTR_CHARBASEINDEX, gRegionMap->charBaseIdx); + SetBgAttribute(gRegionMap->bgNum, BG_ATTR_MAPBASEINDEX, gRegionMap->mapBaseIdx); + SetBgAttribute(gRegionMap->bgNum, BG_ATTR_WRAPAROUND, 1); + SetBgAttribute(gRegionMap->bgNum, BG_ATTR_PALETTEMODE, 1); + } + gRegionMap->initStep++; + return FALSE; + default: + return FALSE; } gRegionMap->initStep++; return TRUE; diff --git a/src/reshow_battle_screen.c b/src/reshow_battle_screen.c index 06d2af5b74..1b17c372c6 100644 --- a/src/reshow_battle_screen.c +++ b/src/reshow_battle_screen.c @@ -50,8 +50,8 @@ static void CB2_ReshowBattleScreenAfterMenu(void) case 0: ScanlineEffect_Clear(); BattleInitBgsAndWindows(); - SetBgAttribute(1, BG_CTRL_ATTR_VISIBLE, 0); - SetBgAttribute(2, BG_CTRL_ATTR_VISIBLE, 0); + SetBgAttribute(1, BG_ATTR_CHARBASEINDEX, 0); + SetBgAttribute(2, BG_ATTR_CHARBASEINDEX, 0); ShowBg(0); ShowBg(1); ShowBg(2); diff --git a/src/unk_pokedex_area_screen_helper.c b/src/unk_pokedex_area_screen_helper.c index 67fd52cb50..0041d628c5 100644 --- a/src/unk_pokedex_area_screen_helper.c +++ b/src/unk_pokedex_area_screen_helper.c @@ -22,21 +22,21 @@ void sub_81C4D70(const struct UnkStruct_1C4D70 *template) if (unk == 0) { - SetBgAttribute(template->bg, BG_CTRL_ATTR_WRAPAROUND, 0); + SetBgAttribute(template->bg, BG_ATTR_METRIC, 0); decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861D1A0, 0, template->unk2, unk); sub_8199D3C(decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861DEF4, 0, 0, 1), template->unk2, 32, 32, unk); } else { - SetBgAttribute(template->bg, BG_CTRL_ATTR_WRAPAROUND, 2); - SetBgAttribute(template->bg, 9, 1); + SetBgAttribute(template->bg, BG_ATTR_METRIC, 2); + SetBgAttribute(template->bg, BG_ATTR_TYPE, 1); decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861E208, 0, template->unk2, 0); sub_8199D3C(decompress_and_copy_tile_data_to_vram(template->bg, gUnknown_0861EF64, 0, 0, 1), template->unk2, 64, 64, 1); } ChangeBgX(template->bg, 0, 0); ChangeBgY(template->bg, 0, 0); - SetBgAttribute(template->bg, BG_CTRL_ATTR_SCREENSIZE, 1); + SetBgAttribute(template->bg, BG_ATTR_PALETTEMODE, 1); CpuCopy32(gUnknown_0861D140, &gPlttBufferUnfaded[0x70], 0x60); *gUnknown_0203CF28 = template->bg; } diff --git a/src/window.c b/src/window.c index aa1df3a123..3da5291789 100644 --- a/src/window.c +++ b/src/window.c @@ -63,7 +63,7 @@ bool16 InitWindows(const struct WindowTemplate *templates) if (gUnknown_03002F70[bgLayer] == NULL) { - attrib = GetBgAttribute(bgLayer, 0x8); + attrib = GetBgAttribute(bgLayer, BG_ATTR_METRIC); if (attrib != 0xFFFF) { @@ -141,7 +141,7 @@ u16 AddWindow(const struct WindowTemplate *template) if (gUnknown_03002F70[bgLayer] == NULL) { - attrib = GetBgAttribute(bgLayer, 0x8); + attrib = GetBgAttribute(bgLayer, BG_ATTR_METRIC); if (attrib != 0xFFFF) { @@ -328,7 +328,7 @@ void PutWindowTilemap(u8 windowId) WriteSequenceToBgTilemapBuffer( windowLocal.window.bg, - GetBgAttribute(windowLocal.window.bg, 0xA) + windowLocal.window.baseBlock, + GetBgAttribute(windowLocal.window.bg, BG_ATTR_BASETILE) + windowLocal.window.baseBlock, windowLocal.window.tilemapLeft, windowLocal.window.tilemapTop, windowLocal.window.width, @@ -340,7 +340,7 @@ void PutWindowTilemap(u8 windowId) void PutWindowRectTilemapOverridePalette(u8 windowId, u8 x, u8 y, u8 width, u8 height, u8 palette) { struct Window windowLocal = gWindows[windowId]; - u16 currentRow = windowLocal.window.baseBlock + (y * windowLocal.window.width) + x + GetBgAttribute(windowLocal.window.bg, 0xA); + u16 currentRow = windowLocal.window.baseBlock + (y * windowLocal.window.width) + x + GetBgAttribute(windowLocal.window.bg, BG_ATTR_BASETILE); int i; for (i = 0; i < height; ++i) @@ -376,7 +376,7 @@ void ClearWindowTilemap(u8 windowId) void PutWindowRectTilemap(u8 windowId, u8 x, u8 y, u8 width, u8 height) { struct Window windowLocal = gWindows[windowId]; - u16 currentRow = windowLocal.window.baseBlock + (y * windowLocal.window.width) + x + GetBgAttribute(windowLocal.window.bg, 0xA); + u16 currentRow = windowLocal.window.baseBlock + (y * windowLocal.window.width) + x + GetBgAttribute(windowLocal.window.bg, BG_ATTR_BASETILE); int i; for (i = 0; i < height; ++i) @@ -617,7 +617,7 @@ u16 AddWindow8Bit(const struct WindowTemplate *template) bgLayer = template->bg; if (gUnknown_03002F70[bgLayer] == 0) { - u16 attribute = GetBgAttribute(bgLayer, 8); + u16 attribute = GetBgAttribute(bgLayer, BG_ATTR_METRIC); if (attribute != 0xFFFF) { s32 i; From 7e4db39da531320f0f2ff180ddbd2f2c21f84fce Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 26 Dec 2018 13:43:07 +0100 Subject: [PATCH 11/53] Fix bldcnt gpu reg args --- src/battle_anim.c | 2 +- src/battle_anim_effects_2.c | 2 +- src/battle_anim_effects_3.c | 2 +- src/berry_fix_program.c | 18 +++++++++--------- src/credits.c | 2 +- src/evolution_scene.c | 4 ++-- src/fldeff_misc.c | 4 ++-- src/hall_of_fame.c | 4 ++-- src/starter_choose.c | 2 +- src/title_screen.c | 6 +++--- src/unk_transition.c | 2 +- src/wallclock.c | 16 ++++++++-------- 12 files changed, 32 insertions(+), 32 deletions(-) diff --git a/src/battle_anim.c b/src/battle_anim.c index d1550f31e6..7dd1526dd2 100644 --- a/src/battle_anim.c +++ b/src/battle_anim.c @@ -2283,7 +2283,7 @@ static void ScriptCmd_setalpha(void) sBattleAnimScriptPtr++; half1 = *(sBattleAnimScriptPtr++); half2 = *(sBattleAnimScriptPtr++) << 8; - SetGpuReg(REG_OFFSET_BLDCNT, 0x3F40); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, half1 | half2); } diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 8acbf62d4a..0ec8b63d7a 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -3134,7 +3134,7 @@ void sub_8105EB0(u8 taskId) SetGpuReg(REG_OFFSET_WIN0V, gBattle_WIN0V); SetGpuReg(REG_OFFSET_WININ, 0x3F1F); SetGpuReg(REG_OFFSET_WINOUT, 0x3F3F); - SetGpuReg(REG_OFFSET_BLDCNT, 0xC8); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG3 | BLDCNT_EFFECT_DARKEN); SetGpuReg(REG_OFFSET_BLDY, 0x10); gTasks[taskId].data[0] = win0v; gTasks[taskId].data[1] = win0h; diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index f6858c0935..5f135691b9 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -3220,7 +3220,7 @@ void sub_815CED8(u8 taskId) gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND; FillPalette(RGB(31, 31, 31), (gSprites[spriteId].oam.paletteNum << 4) + 0x100, 32); gSprites[spriteId].oam.priority = priority; - SetGpuReg(REG_OFFSET_BLDCNT, 0x3F40); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1])); gTasks[taskId].data[0] = spriteId; diff --git a/src/berry_fix_program.c b/src/berry_fix_program.c index d87509e101..3631c083ad 100644 --- a/src/berry_fix_program.c +++ b/src/berry_fix_program.c @@ -67,7 +67,7 @@ static const u16 sUnknown_08618138[] = { 0x7fff, 0x7fff, 0x318c, 0x675a, 0x043c, 0x3aff, 0x0664, 0x4bd2, 0x6546, 0x7b14, 0x7fff, 0x318c, - 0x675a, 0x0000, 0x0000, 0x0000 + 0x675a, 0, 0, 0 }; static const u8 sUnknown_08618158[] = {10, 11, 12}; @@ -124,7 +124,7 @@ void CB2_InitBerryFixProgram(void) ResetSpriteData(); ResetTasks(); ScanlineEffect_Stop(); - SetGpuReg(REG_OFFSET_DISPCNT, 0x0000); + SetGpuReg(REG_OFFSET_DISPCNT, 0); berry_fix_mb_manager = AllocZeroed(0x50); berry_fix_mb_manager->state = 0; berry_fix_mb_manager->unk1 = 6; @@ -203,13 +203,13 @@ static void berry_fix_gpu_set(void) { s32 width, left; - SetGpuReg(REG_OFFSET_BG0CNT, 0x0000); - SetGpuReg(REG_OFFSET_BG1CNT, 0x0000); - SetGpuReg(REG_OFFSET_BG0HOFS, 0x0000); - SetGpuReg(REG_OFFSET_BG0VOFS, 0x0000); - SetGpuReg(REG_OFFSET_BG1HOFS, 0x0000); - SetGpuReg(REG_OFFSET_BG1VOFS, 0x0000); - SetGpuReg(REG_OFFSET_BLDCNT, 0x0000); + SetGpuReg(REG_OFFSET_BG0CNT, 0); + SetGpuReg(REG_OFFSET_BG1CNT, 0); + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); DmaFill32(3, 0, VRAM, VRAM_SIZE); DmaFill32(3, 0, OAM, OAM_SIZE); diff --git a/src/credits.c b/src/credits.c index 5e52e5fb71..c27004a283 100644 --- a/src/credits.c +++ b/src/credits.c @@ -2219,7 +2219,7 @@ static void sub_8177050(struct Sprite *sprite) } else { - SetGpuReg(REG_OFFSET_BLDCNT, 0xF40); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3); SetGpuReg(REG_OFFSET_BLDALPHA, 0x10); sprite->oam.objMode = 1; sprite->data[3] = 16; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index ea2302130b..1b3133e9ec 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -1479,7 +1479,7 @@ static void InitMovingBackgroundTask(bool8 isLink) if (!isLink) { - SetGpuReg(REG_OFFSET_BLDCNT, 0x442); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG2); SetGpuReg(REG_OFFSET_BLDALPHA, 0x808); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG2_ON | DISPCNT_BG1_ON | DISPCNT_BG0_ON | DISPCNT_OBJ_1D_MAP); @@ -1491,7 +1491,7 @@ static void InitMovingBackgroundTask(bool8 isLink) } else { - SetGpuReg(REG_OFFSET_BLDCNT, 0x842); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG3); SetGpuReg(REG_OFFSET_BLDALPHA, 0x808); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG3_ON | DISPCNT_BG1_ON | DISPCNT_BG0_ON | DISPCNT_OBJ_1D_MAP); } diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index 9d77383ae4..1f4c6f9fbd 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -376,7 +376,7 @@ static void sub_80F9C90(u8 taskId) task->data[7] = GetGpuReg(REG_OFFSET_BLDCNT); task->data[8] = GetGpuReg(REG_OFFSET_BLDY); - SetGpuReg(REG_OFFSET_BLDCNT, 0xBF); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_ALL | BLDCNT_EFFECT_LIGHTEN); SetGpuReg(REG_OFFSET_BLDY, 0x10); break; @@ -452,7 +452,7 @@ static void sub_80F9DFC(u8 taskId) { task->data[5] = 0x50; task->data[6] = 0x51; - SetGpuReg(REG_OFFSET_BLDCNT, 0xBF); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_ALL | BLDCNT_EFFECT_LIGHTEN); SetGpuReg(REG_OFFSET_BLDY, 0x10); } SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE(task->data[5], task->data[6])); diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index b973798f6e..63818dd49b 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -355,7 +355,7 @@ static bool8 InitHallOfFameScreen(void) gMain.state++; break; case 2: - SetGpuReg(REG_OFFSET_BLDCNT, 0x3F42); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, 0x710); SetGpuReg(REG_OFFSET_BLDY, 0); sub_8174FAC(); @@ -817,7 +817,7 @@ void CB2_DoHallOfFamePC(void) { u8 taskId, i; - SetGpuReg(REG_OFFSET_BLDCNT, 0x3F42); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, 0x710); SetGpuReg(REG_OFFSET_BLDY, 0); taskId = CreateTask(Task_HofPC_CopySaveData, 0); diff --git a/src/starter_choose.c b/src/starter_choose.c index afa3fabbf6..2d4a1b1e1c 100644 --- a/src/starter_choose.c +++ b/src/starter_choose.c @@ -425,7 +425,7 @@ void CB2_ChooseStarter(void) SetGpuReg(REG_OFFSET_WINOUT, 0x1F); SetGpuReg(REG_OFFSET_WIN0H, 0); SetGpuReg(REG_OFFSET_WIN0V, 0); - SetGpuReg(REG_OFFSET_BLDCNT, 0xFE); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_TGT1_BG2 | BLDCNT_TGT1_BG3 | BLDCNT_TGT1_OBJ | BLDCNT_TGT1_BD | BLDCNT_EFFECT_DARKEN); SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 7); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON | DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); diff --git a/src/title_screen.c b/src/title_screen.c index c6e9aa26fa..76704987f4 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -553,7 +553,7 @@ void CB2_InitTitleScreen(void) SetGpuReg(REG_OFFSET_WIN1V, 0); SetGpuReg(REG_OFFSET_WININ, 0x1F1F); SetGpuReg(REG_OFFSET_WINOUT, 0x3F1F); - SetGpuReg(REG_OFFSET_BLDCNT, 0x84); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG2 | BLDCNT_EFFECT_LIGHTEN); SetGpuReg(REG_OFFSET_BLDALPHA, 0); SetGpuReg(REG_OFFSET_BLDY, 0xC); SetGpuReg(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(3) | BGCNT_CHARBASE(2) | BGCNT_SCREENBASE(26) | BGCNT_16COLOR | BGCNT_TXT256x256); @@ -615,7 +615,7 @@ static void Task_TitleScreenPhase1(u8 taskId) SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG2_ON | DISPCNT_OBJ_ON); SetGpuReg(REG_OFFSET_WININ, 0); SetGpuReg(REG_OFFSET_WINOUT, 0); - SetGpuReg(REG_OFFSET_BLDCNT, 0x3F50); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_OBJ | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, 0x10); SetGpuReg(REG_OFFSET_BLDY, 0); @@ -652,7 +652,7 @@ static void Task_TitleScreenPhase2(u8 taskId) else { gTasks[taskId].tSkipToNext = TRUE; - SetGpuReg(REG_OFFSET_BLDCNT, 0x2142); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BD); SetGpuReg(REG_OFFSET_BLDALPHA, 0xF06); SetGpuReg(REG_OFFSET_BLDY, 0); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 diff --git a/src/unk_transition.c b/src/unk_transition.c index 7346e06abe..0faf454026 100644 --- a/src/unk_transition.c +++ b/src/unk_transition.c @@ -337,7 +337,7 @@ static bool8 sub_81DAACC(struct Task *task) else { sub_81DA700(); - SetGpuReg(REG_OFFSET_BLDCNT, 0x3F41); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, 0x1000); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); diff --git a/src/wallclock.c b/src/wallclock.c index 58704c8a39..546750ba66 100644 --- a/src/wallclock.c +++ b/src/wallclock.c @@ -585,11 +585,11 @@ static void WallClockVblankCallback(void) static void LoadWallClockGraphics(void) { SetVBlankCallback(NULL); - SetGpuReg(REG_OFFSET_DISPCNT, 0x0000); - SetGpuReg(REG_OFFSET_BG3CNT, 0x0000); - SetGpuReg(REG_OFFSET_BG2CNT, 0x0000); - SetGpuReg(REG_OFFSET_BG1CNT, 0x0000); - SetGpuReg(REG_OFFSET_BG0CNT, 0x0000); + SetGpuReg(REG_OFFSET_DISPCNT, 0); + SetGpuReg(REG_OFFSET_BG3CNT, 0); + SetGpuReg(REG_OFFSET_BG2CNT, 0); + SetGpuReg(REG_OFFSET_BG1CNT, 0); + SetGpuReg(REG_OFFSET_BG0CNT, 0); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); ChangeBgX(1, 0, 0); @@ -633,9 +633,9 @@ static void WallClockInit(void) EnableInterrupts(INTR_FLAG_VBLANK); SetVBlankCallback(WallClockVblankCallback); SetMainCallback2(WallClockMainCallback); - SetGpuReg(REG_OFFSET_BLDCNT, 0x0000); - SetGpuReg(REG_OFFSET_BLDALPHA, 0x0000); - SetGpuReg(REG_OFFSET_BLDY, 0x0000); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); + SetGpuReg(REG_OFFSET_BLDY, 0); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON); ShowBg(0); ShowBg(2); From 6761a049daa44bce169638356dd1760c55e786c5 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 26 Dec 2018 14:03:48 +0100 Subject: [PATCH 12/53] Fix Bldalpha args --- src/battle_interface.c | 4 ++-- src/credits.c | 2 +- src/evolution_scene.c | 4 ++-- src/hall_of_fame.c | 4 ++-- src/mail.c | 48 +++++++++++++++++++++--------------------- src/rayquaza_scene.c | 8 +++---- src/title_screen.c | 4 ++-- src/unk_transition.c | 8 +++---- 8 files changed, 41 insertions(+), 41 deletions(-) diff --git a/src/battle_interface.c b/src/battle_interface.c index 4a84220912..0eb494db4b 100644 --- a/src/battle_interface.c +++ b/src/battle_interface.c @@ -1753,7 +1753,7 @@ static void sub_8073E08(u8 taskId) if (--gTasks[taskId].tData15 < 0) return; - SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].data[15]) | ((16 - gTasks[taskId].data[15]) << 8)); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[15], 16 - gTasks[taskId].data[15])); } if (gTasks[taskId].tData15 == 0) gTasks[taskId].func = sub_8073E64; @@ -1806,7 +1806,7 @@ static void sub_8073F98(u8 taskId) if (--gTasks[taskId].tData15 >= 0) { - SetGpuReg(REG_OFFSET_BLDALPHA, (gTasks[taskId].tData15) | ((16 - gTasks[taskId].tData15) << 8)); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[15], 16 - gTasks[taskId].data[15])); } else if (gTasks[taskId].tData15 == -1) { diff --git a/src/credits.c b/src/credits.c index c27004a283..3639d36e4c 100644 --- a/src/credits.c +++ b/src/credits.c @@ -2220,7 +2220,7 @@ static void sub_8177050(struct Sprite *sprite) else { SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3); - SetGpuReg(REG_OFFSET_BLDALPHA, 0x10); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); sprite->oam.objMode = 1; sprite->data[3] = 16; sprite->data[0] += 1; diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 1b3133e9ec..2c1df814b4 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -1480,7 +1480,7 @@ static void InitMovingBackgroundTask(bool8 isLink) if (!isLink) { SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG2); - SetGpuReg(REG_OFFSET_BLDALPHA, 0x808); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(8, 8)); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG2_ON | DISPCNT_BG1_ON | DISPCNT_BG0_ON | DISPCNT_OBJ_1D_MAP); SetBgAttribute(innerBgId, BG_ATTR_PRIORITY, 2); @@ -1492,7 +1492,7 @@ static void InitMovingBackgroundTask(bool8 isLink) else { SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG3); - SetGpuReg(REG_OFFSET_BLDALPHA, 0x808); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(8, 8)); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_BG3_ON | DISPCNT_BG1_ON | DISPCNT_BG0_ON | DISPCNT_OBJ_1D_MAP); } diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 63818dd49b..34d62149a1 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -356,7 +356,7 @@ static bool8 InitHallOfFameScreen(void) break; case 2: SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); - SetGpuReg(REG_OFFSET_BLDALPHA, 0x710); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 7)); SetGpuReg(REG_OFFSET_BLDY, 0); sub_8174FAC(); sHofGfxPtr->state = 0; @@ -818,7 +818,7 @@ void CB2_DoHallOfFamePC(void) u8 taskId, i; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); - SetGpuReg(REG_OFFSET_BLDALPHA, 0x710); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 7)); SetGpuReg(REG_OFFSET_BLDY, 0); taskId = CreateTask(Task_HofPC_CopySaveData, 0); diff --git a/src/mail.c b/src/mail.c index 7b096ed00c..287a91e656 100644 --- a/src/mail.c +++ b/src/mail.c @@ -89,7 +89,7 @@ struct MailGraphics struct MailRead { - /*0x0000*/ u8 strbuf[8][64]; + /*0*/ u8 strbuf[8][64]; /*0x0200*/ u8 playerName[12]; /*0x020C*/ MainCallback callback; /*0x0210*/ MainCallback callback2; @@ -170,29 +170,29 @@ static const u16 sUnknown_0859F2B0[][2] = { static const struct MailGraphics sUnknown_0859F2B8[] = { { - gMailPalette_Orange, gMailTiles_Orange, gMailTilemap_Orange, 0x02c0, 0x0000, 0x294a, 0x6739 + gMailPalette_Orange, gMailTiles_Orange, gMailTilemap_Orange, 0x02c0, 0, 0x294a, 0x6739 }, { - gMailPalette_Harbor, gMailTiles_Harbor, gMailTilemap_Harbor, 0x02e0, 0x0000, 0x7fff, 0x4631 + gMailPalette_Harbor, gMailTiles_Harbor, gMailTilemap_Harbor, 0x02e0, 0, 0x7fff, 0x4631 }, { - gMailPalette_Glitter, gMailTiles_Glitter, gMailTilemap_Glitter, 0x0400, 0x0000, 0x294a, 0x6739 + gMailPalette_Glitter, gMailTiles_Glitter, gMailTilemap_Glitter, 0x0400, 0, 0x294a, 0x6739 }, { - gMailPalette_Mech, gMailTiles_Mech, gMailTilemap_Mech, 0x01e0, 0x0000, 0x7fff, 0x4631 + gMailPalette_Mech, gMailTiles_Mech, gMailTilemap_Mech, 0x01e0, 0, 0x7fff, 0x4631 }, { - gMailPalette_Wood, gMailTiles_Wood, gMailTilemap_Wood, 0x02e0, 0x0000, 0x7fff, 0x4631 + gMailPalette_Wood, gMailTiles_Wood, gMailTilemap_Wood, 0x02e0, 0, 0x7fff, 0x4631 }, { - gMailPalette_Wave, gMailTiles_Wave, gMailTilemap_Wave, 0x0300, 0x0000, 0x294a, 0x6739 + gMailPalette_Wave, gMailTiles_Wave, gMailTilemap_Wave, 0x0300, 0, 0x294a, 0x6739 }, { - gMailPalette_Bead, gMailTiles_Bead, gMailTilemap_Bead, 0x0140, 0x0000, 0x7fff, 0x4631 + gMailPalette_Bead, gMailTiles_Bead, gMailTilemap_Bead, 0x0140, 0, 0x7fff, 0x4631 }, { - gMailPalette_Shadow, gMailTiles_Shadow, gMailTilemap_Shadow, 0x0300, 0x0000, 0x7fff, 0x4631 + gMailPalette_Shadow, gMailTiles_Shadow, gMailTilemap_Shadow, 0x0300, 0, 0x7fff, 0x4631 }, { - gMailPalette_Tropic, gMailTiles_Tropic, gMailTilemap_Tropic, 0x0220, 0x0000, 0x294a, 0x6739 + gMailPalette_Tropic, gMailTiles_Tropic, gMailTilemap_Tropic, 0x0220, 0, 0x294a, 0x6739 }, { - gMailPalette_Dream, gMailTiles_Dream, gMailTilemap_Dream, 0x0340, 0x0000, 0x294a, 0x6739 + gMailPalette_Dream, gMailTiles_Dream, gMailTilemap_Dream, 0x0340, 0, 0x294a, 0x6739 }, { - gMailPalette_Fab, gMailTiles_Fab, gMailTilemap_Fab, 0x02a0, 0x0000, 0x294a, 0x6739 + gMailPalette_Fab, gMailTiles_Fab, gMailTilemap_Fab, 0x02a0, 0, 0x294a, 0x6739 }, { - gMailPalette_Retro, gMailTiles_Retro, gMailTilemap_Retro, 0x0520, 0x0000, 0x294a, 0x6739 + gMailPalette_Retro, gMailTiles_Retro, gMailTilemap_Retro, 0x0520, 0, 0x294a, 0x6739 } }; @@ -306,7 +306,7 @@ static bool8 MailReadBuildGraphics(void) case 0: SetVBlankCallback(NULL); ScanlineEffect_Stop(); - SetGpuReg(REG_OFFSET_DISPCNT, 0x0000); + SetGpuReg(REG_OFFSET_DISPCNT, 0); break; case 1: CpuFill16(0, (void *)OAM, OAM_SIZE); @@ -323,16 +323,16 @@ static bool8 MailReadBuildGraphics(void) case 5: FreeAllSpritePalettes(); reset_temp_tile_data_buffers(); - SetGpuReg(REG_OFFSET_BG0HOFS, 0x0000); - SetGpuReg(REG_OFFSET_BG0VOFS, 0x0000); - SetGpuReg(REG_OFFSET_BG1HOFS, 0x0000); - SetGpuReg(REG_OFFSET_BG1VOFS, 0x0000); - SetGpuReg(REG_OFFSET_BG2VOFS, 0x0000); - SetGpuReg(REG_OFFSET_BG2HOFS, 0x0000); - SetGpuReg(REG_OFFSET_BG3HOFS, 0x0000); - SetGpuReg(REG_OFFSET_BG3VOFS, 0x0000); - SetGpuReg(REG_OFFSET_BLDCNT, 0x0000); - SetGpuReg(REG_OFFSET_BLDALPHA, 0x0000); + SetGpuReg(REG_OFFSET_BG0HOFS, 0); + SetGpuReg(REG_OFFSET_BG0VOFS, 0); + SetGpuReg(REG_OFFSET_BG1HOFS, 0); + SetGpuReg(REG_OFFSET_BG1VOFS, 0); + SetGpuReg(REG_OFFSET_BG2VOFS, 0); + SetGpuReg(REG_OFFSET_BG2HOFS, 0); + SetGpuReg(REG_OFFSET_BG3HOFS, 0); + SetGpuReg(REG_OFFSET_BG3VOFS, 0); + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BLDALPHA, 0); break; case 6: ResetBgsAndClearDma3BusyFlags(0); diff --git a/src/rayquaza_scene.c b/src/rayquaza_scene.c index 94d81e30f6..00a73a0a20 100644 --- a/src/rayquaza_scene.c +++ b/src/rayquaza_scene.c @@ -1708,7 +1708,7 @@ static void sub_81D752C(u8 taskId) if (data[0] != 16) { data[0]++; - SetGpuReg(REG_OFFSET_BLDALPHA, (data[0] << 8) | (16 - data[0])); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16 - data[0], data[0])); } } @@ -1954,7 +1954,7 @@ static void Task_RayTakesFlightAnim(u8 taskId) sub_81D7E10(); sub_81D7E9C(); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_OBJ | BLDCNT_TGT2_BG1 | BLDCNT_EFFECT_BLEND); - SetGpuReg(REG_OFFSET_BLDALPHA, 0x808); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(8, 8)); BlendPalettes(-1, 0x10, 0); SetVBlankCallback(VBlankCB_RayquazaScene); CreateTask(sub_81D81A4, 0); @@ -2153,7 +2153,7 @@ static void Task_RayDescendsAnim(u8 taskId) sub_81D82B0(); sub_81D8358(); SetGpuRegBits(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_EFFECT_BLEND); - SetGpuReg(REG_OFFSET_BLDALPHA, 0x1000); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); BlendPalettes(-1, 0x10, 0); SetVBlankCallback(VBlankCB_RayquazaScene); sRayScene->field_2008 = 0; @@ -2509,7 +2509,7 @@ static void Task_RayChasesAwayAnim(u8 taskId) sub_81D68C8(); ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_BG2_ON); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_EFFECT_BLEND); - SetGpuReg(REG_OFFSET_BLDALPHA, 0xE09); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(9, 14)); BlendPalettes(-1, 0x10, 0); SetVBlankCallback(VBlankCB_RayquazaScene); data[0] = 0; diff --git a/src/title_screen.c b/src/title_screen.c index 76704987f4..48571ff96c 100644 --- a/src/title_screen.c +++ b/src/title_screen.c @@ -616,7 +616,7 @@ static void Task_TitleScreenPhase1(u8 taskId) SetGpuReg(REG_OFFSET_WININ, 0); SetGpuReg(REG_OFFSET_WINOUT, 0); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_OBJ | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); - SetGpuReg(REG_OFFSET_BLDALPHA, 0x10); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 0)); SetGpuReg(REG_OFFSET_BLDY, 0); // Create left side of version banner @@ -653,7 +653,7 @@ static void Task_TitleScreenPhase2(u8 taskId) { gTasks[taskId].tSkipToNext = TRUE; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BD); - SetGpuReg(REG_OFFSET_BLDALPHA, 0xF06); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(6, 15)); SetGpuReg(REG_OFFSET_BLDY, 0); SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP diff --git a/src/unk_transition.c b/src/unk_transition.c index 0faf454026..d56998b5bb 100644 --- a/src/unk_transition.c +++ b/src/unk_transition.c @@ -338,7 +338,7 @@ static bool8 sub_81DAACC(struct Task *task) { sub_81DA700(); SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG0 | BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); - SetGpuReg(REG_OFFSET_BLDALPHA, 0x1000); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(0, 16)); ChangeBgX(0, 0, 0); ChangeBgY(0, 0, 0); ChangeBgY(0, 0x500, 2); @@ -368,11 +368,11 @@ static bool8 sub_81DAB4C(struct Task *task) } else { - u16 var; + u16 blnd; task->data[2]++; - var = task->data[2]; - SetGpuReg(REG_OFFSET_BLDALPHA, (var) | ((16 - var) << 8)); + blnd = task->data[2]; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(blnd, 16 - blnd)); } return FALSE; From b9ad5de8a044623b9d4d76307a76c00e2fcf0da6 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Wed, 26 Dec 2018 14:50:47 +0100 Subject: [PATCH 13/53] fortmatting --- src/mail.c | 2 +- src/region_map.c | 152 +++++++++++++++++++++++------------------------ 2 files changed, 77 insertions(+), 77 deletions(-) diff --git a/src/mail.c b/src/mail.c index 287a91e656..45e96e85e5 100644 --- a/src/mail.c +++ b/src/mail.c @@ -89,7 +89,7 @@ struct MailGraphics struct MailRead { - /*0*/ u8 strbuf[8][64]; + /*0x0000*/ u8 strbuf[8][64]; /*0x0200*/ u8 playerName[12]; /*0x020C*/ MainCallback callback; /*0x0210*/ MainCallback callback2; diff --git a/src/region_map.c b/src/region_map.c index fa5ed21592..4752d96f05 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -427,82 +427,82 @@ bool8 sub_8122DB0(void) { switch (gRegionMap->initStep) { - case 0: - if (gRegionMap->bgManaged) - { - decompress_and_copy_tile_data_to_vram(gRegionMap->bgNum, sRegionMapBkgnd_GfxLZ, 0, 0, 0); - } - else - { - LZ77UnCompVram(sRegionMapBkgnd_GfxLZ, (u16 *)BG_CHAR_ADDR(2)); - } - break; - case 1: - if (gRegionMap->bgManaged) - { - if (!free_temp_tile_data_buffers_if_possible()) - { - decompress_and_copy_tile_data_to_vram(gRegionMap->bgNum, sRegionMapBkgnd_TilemapLZ, 0, 0, 1); - } - } - else - { - LZ77UnCompVram(sRegionMapBkgnd_TilemapLZ, (u16 *)BG_SCREEN_ADDR(28)); - } - break; - case 2: - if (!free_temp_tile_data_buffers_if_possible()) - { - LoadPalette(sRegionMapBkgnd_Pal, 0x70, 0x60); - } - break; - case 3: - LZ77UnCompWram(sRegionMapCursorSmallGfxLZ, gRegionMap->cursorSmallImage); - break; - case 4: - LZ77UnCompWram(sRegionMapCursorLargeGfxLZ, gRegionMap->cursorLargeImage); - break; - case 5: - RegionMap_InitializeStateBasedOnPlayerLocation(); - gRegionMap->playerIconSpritePosX = gRegionMap->cursorPosX; - gRegionMap->playerIconSpritePosY = gRegionMap->cursorPosY; - gRegionMap->mapSecId = CorrectSpecialMapSecId_Internal(gRegionMap->mapSecId); - gRegionMap->iconDrawType = get_flagnr_blue_points(gRegionMap->mapSecId); - GetMapName(gRegionMap->mapSecName, gRegionMap->mapSecId, 16); - break; - case 6: - if (gRegionMap->zoomed == FALSE) - { - CalcZoomScrollParams(0, 0, 0, 0, 0x100, 0x100, 0); - } - else - { - gRegionMap->scrollX = gRegionMap->cursorPosX * 8 - 0x34; - gRegionMap->scrollY = gRegionMap->cursorPosY * 8 - 0x44; - gRegionMap->zoomedCursorPosX = gRegionMap->cursorPosX; - gRegionMap->zoomedCursorPosY = gRegionMap->cursorPosY; - CalcZoomScrollParams(gRegionMap->scrollX, gRegionMap->scrollY, 0x38, 0x48, 0x80, 0x80, 0); - } - break; - case 7: - RegionMap_GetPositionOfCursorWithinMapSection(); - UpdateRegionMapVideoRegs(); - gRegionMap->cursorSprite = NULL; - gRegionMap->playerIconSprite = NULL; - gRegionMap->cursorMovementFrameCounter = 0; - gRegionMap->blinkPlayerIcon = FALSE; - if (gRegionMap->bgManaged) - { - SetBgAttribute(gRegionMap->bgNum, BG_ATTR_SCREENSIZE, 2); - SetBgAttribute(gRegionMap->bgNum, BG_ATTR_CHARBASEINDEX, gRegionMap->charBaseIdx); - SetBgAttribute(gRegionMap->bgNum, BG_ATTR_MAPBASEINDEX, gRegionMap->mapBaseIdx); - SetBgAttribute(gRegionMap->bgNum, BG_ATTR_WRAPAROUND, 1); - SetBgAttribute(gRegionMap->bgNum, BG_ATTR_PALETTEMODE, 1); - } - gRegionMap->initStep++; - return FALSE; - default: - return FALSE; + case 0: + if (gRegionMap->bgManaged) + { + decompress_and_copy_tile_data_to_vram(gRegionMap->bgNum, sRegionMapBkgnd_GfxLZ, 0, 0, 0); + } + else + { + LZ77UnCompVram(sRegionMapBkgnd_GfxLZ, (u16 *)BG_CHAR_ADDR(2)); + } + break; + case 1: + if (gRegionMap->bgManaged) + { + if (!free_temp_tile_data_buffers_if_possible()) + { + decompress_and_copy_tile_data_to_vram(gRegionMap->bgNum, sRegionMapBkgnd_TilemapLZ, 0, 0, 1); + } + } + else + { + LZ77UnCompVram(sRegionMapBkgnd_TilemapLZ, (u16 *)BG_SCREEN_ADDR(28)); + } + break; + case 2: + if (!free_temp_tile_data_buffers_if_possible()) + { + LoadPalette(sRegionMapBkgnd_Pal, 0x70, 0x60); + } + break; + case 3: + LZ77UnCompWram(sRegionMapCursorSmallGfxLZ, gRegionMap->cursorSmallImage); + break; + case 4: + LZ77UnCompWram(sRegionMapCursorLargeGfxLZ, gRegionMap->cursorLargeImage); + break; + case 5: + RegionMap_InitializeStateBasedOnPlayerLocation(); + gRegionMap->playerIconSpritePosX = gRegionMap->cursorPosX; + gRegionMap->playerIconSpritePosY = gRegionMap->cursorPosY; + gRegionMap->mapSecId = CorrectSpecialMapSecId_Internal(gRegionMap->mapSecId); + gRegionMap->iconDrawType = get_flagnr_blue_points(gRegionMap->mapSecId); + GetMapName(gRegionMap->mapSecName, gRegionMap->mapSecId, 16); + break; + case 6: + if (gRegionMap->zoomed == FALSE) + { + CalcZoomScrollParams(0, 0, 0, 0, 0x100, 0x100, 0); + } + else + { + gRegionMap->scrollX = gRegionMap->cursorPosX * 8 - 0x34; + gRegionMap->scrollY = gRegionMap->cursorPosY * 8 - 0x44; + gRegionMap->zoomedCursorPosX = gRegionMap->cursorPosX; + gRegionMap->zoomedCursorPosY = gRegionMap->cursorPosY; + CalcZoomScrollParams(gRegionMap->scrollX, gRegionMap->scrollY, 0x38, 0x48, 0x80, 0x80, 0); + } + break; + case 7: + RegionMap_GetPositionOfCursorWithinMapSection(); + UpdateRegionMapVideoRegs(); + gRegionMap->cursorSprite = NULL; + gRegionMap->playerIconSprite = NULL; + gRegionMap->cursorMovementFrameCounter = 0; + gRegionMap->blinkPlayerIcon = FALSE; + if (gRegionMap->bgManaged) + { + SetBgAttribute(gRegionMap->bgNum, BG_ATTR_SCREENSIZE, 2); + SetBgAttribute(gRegionMap->bgNum, BG_ATTR_CHARBASEINDEX, gRegionMap->charBaseIdx); + SetBgAttribute(gRegionMap->bgNum, BG_ATTR_MAPBASEINDEX, gRegionMap->mapBaseIdx); + SetBgAttribute(gRegionMap->bgNum, BG_ATTR_WRAPAROUND, 1); + SetBgAttribute(gRegionMap->bgNum, BG_ATTR_PALETTEMODE, 1); + } + gRegionMap->initStep++; + return FALSE; + default: + return FALSE; } gRegionMap->initStep++; return TRUE; From a1ea3b5e394bc115ba9b86348c161094a00dcca7 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 26 Dec 2018 12:20:15 -0600 Subject: [PATCH 14/53] Use map_header_flags macro (#483) --- asm/macros/map.inc | 4 ++++ data/maps/AbandonedShip_CaptainsOffice/header.inc | 2 +- data/maps/AbandonedShip_Corridors_1F/header.inc | 2 +- data/maps/AbandonedShip_Corridors_B1F/header.inc | 2 +- data/maps/AbandonedShip_Deck/header.inc | 2 +- data/maps/AbandonedShip_HiddenFloorCorridors/header.inc | 2 +- data/maps/AbandonedShip_HiddenFloorRooms/header.inc | 2 +- data/maps/AbandonedShip_Room_B1F/header.inc | 2 +- data/maps/AbandonedShip_Rooms2_1F/header.inc | 2 +- data/maps/AbandonedShip_Rooms2_B1F/header.inc | 2 +- data/maps/AbandonedShip_Rooms_1F/header.inc | 2 +- data/maps/AbandonedShip_Rooms_B1F/header.inc | 2 +- data/maps/AbandonedShip_Underwater1/header.inc | 2 +- data/maps/AbandonedShip_Underwater2/header.inc | 2 +- data/maps/AlteringCave/header.inc | 2 +- data/maps/AncientTomb/header.inc | 2 +- data/maps/AquaHideout_1F/header.inc | 2 +- data/maps/AquaHideout_B1F/header.inc | 2 +- data/maps/AquaHideout_B2F/header.inc | 2 +- data/maps/AquaHideout_UnusedRubyMap1/header.inc | 2 +- data/maps/AquaHideout_UnusedRubyMap2/header.inc | 2 +- data/maps/AquaHideout_UnusedRubyMap3/header.inc | 2 +- data/maps/ArtisanCave_1F/header.inc | 2 +- data/maps/ArtisanCave_B1F/header.inc | 2 +- data/maps/BattleFrontier_BattleArenaBattleRoom/header.inc | 2 +- data/maps/BattleFrontier_BattleArenaCorridor/header.inc | 2 +- data/maps/BattleFrontier_BattleArenaLobby/header.inc | 2 +- data/maps/BattleFrontier_BattleDomeBattleRoom/header.inc | 2 +- data/maps/BattleFrontier_BattleDomeCorridor/header.inc | 2 +- data/maps/BattleFrontier_BattleDomeLobby/header.inc | 2 +- data/maps/BattleFrontier_BattleDomePreBattleRoom/header.inc | 2 +- data/maps/BattleFrontier_BattleFactoryBattleRoom/header.inc | 2 +- data/maps/BattleFrontier_BattleFactoryLobby/header.inc | 2 +- .../maps/BattleFrontier_BattleFactoryPreBattleRoom/header.inc | 2 +- data/maps/BattleFrontier_BattlePalaceBattleRoom/header.inc | 2 +- data/maps/BattleFrontier_BattlePalaceCorridor/header.inc | 2 +- data/maps/BattleFrontier_BattlePalaceLobby/header.inc | 2 +- data/maps/BattleFrontier_BattlePikeCorridor/header.inc | 2 +- data/maps/BattleFrontier_BattlePikeLobby/header.inc | 2 +- data/maps/BattleFrontier_BattlePikeRandomRoom1/header.inc | 2 +- data/maps/BattleFrontier_BattlePikeRandomRoom2/header.inc | 2 +- data/maps/BattleFrontier_BattlePikeRandomRoom3/header.inc | 2 +- data/maps/BattleFrontier_BattlePikeThreePathRoom/header.inc | 2 +- .../header.inc | 2 +- data/maps/BattleFrontier_BattlePyramidEmptySquare/header.inc | 2 +- data/maps/BattleFrontier_BattlePyramidLobby/header.inc | 2 +- data/maps/BattleFrontier_BattlePyramidTop/header.inc | 2 +- data/maps/BattleFrontier_BattleTowerBattleRoom/header.inc | 2 +- data/maps/BattleFrontier_BattleTowerBattleRoom2/header.inc | 2 +- data/maps/BattleFrontier_BattleTowerCorridor/header.inc | 2 +- data/maps/BattleFrontier_BattleTowerCorridor2/header.inc | 2 +- data/maps/BattleFrontier_BattleTowerElevator/header.inc | 2 +- data/maps/BattleFrontier_BattleTowerLobby/header.inc | 2 +- .../maps/BattleFrontier_BattleTowerMultiBattleRoom/header.inc | 2 +- data/maps/BattleFrontier_Lounge1/header.inc | 2 +- data/maps/BattleFrontier_Lounge2/header.inc | 2 +- data/maps/BattleFrontier_Lounge3/header.inc | 2 +- data/maps/BattleFrontier_Lounge4/header.inc | 2 +- data/maps/BattleFrontier_Lounge5/header.inc | 2 +- data/maps/BattleFrontier_Lounge6/header.inc | 2 +- data/maps/BattleFrontier_Lounge7/header.inc | 2 +- data/maps/BattleFrontier_Lounge8/header.inc | 2 +- data/maps/BattleFrontier_Lounge9/header.inc | 2 +- data/maps/BattleFrontier_Mart/header.inc | 2 +- data/maps/BattleFrontier_OutsideEast/header.inc | 2 +- data/maps/BattleFrontier_OutsideWest/header.inc | 2 +- data/maps/BattleFrontier_PokemonCenter_1F/header.inc | 2 +- data/maps/BattleFrontier_PokemonCenter_2F/header.inc | 2 +- data/maps/BattleFrontier_RankingHall/header.inc | 2 +- data/maps/BattleFrontier_ReceptionGate/header.inc | 2 +- data/maps/BattleFrontier_ScottsHouse/header.inc | 2 +- data/maps/BattlePyramidSquare01/header.inc | 2 +- data/maps/BattlePyramidSquare02/header.inc | 2 +- data/maps/BattlePyramidSquare03/header.inc | 2 +- data/maps/BattlePyramidSquare04/header.inc | 2 +- data/maps/BattlePyramidSquare05/header.inc | 2 +- data/maps/BattlePyramidSquare06/header.inc | 2 +- data/maps/BattlePyramidSquare07/header.inc | 2 +- data/maps/BattlePyramidSquare08/header.inc | 2 +- data/maps/BattlePyramidSquare09/header.inc | 2 +- data/maps/BattlePyramidSquare10/header.inc | 2 +- data/maps/BattlePyramidSquare11/header.inc | 2 +- data/maps/BattlePyramidSquare12/header.inc | 2 +- data/maps/BattlePyramidSquare13/header.inc | 2 +- data/maps/BattlePyramidSquare14/header.inc | 2 +- data/maps/BattlePyramidSquare15/header.inc | 2 +- data/maps/BattlePyramidSquare16/header.inc | 2 +- data/maps/BirthIsland_Exterior/header.inc | 2 +- data/maps/BirthIsland_Harbor/header.inc | 2 +- data/maps/CaveOfOrigin_1F/header.inc | 2 +- data/maps/CaveOfOrigin_B1F/header.inc | 2 +- data/maps/CaveOfOrigin_Entrance/header.inc | 2 +- data/maps/CaveOfOrigin_UnusedRubySapphireMap1/header.inc | 2 +- data/maps/CaveOfOrigin_UnusedRubySapphireMap2/header.inc | 2 +- data/maps/CaveOfOrigin_UnusedRubySapphireMap3/header.inc | 2 +- data/maps/DesertRuins/header.inc | 2 +- data/maps/DesertUnderpass/header.inc | 2 +- data/maps/DewfordTown/header.inc | 2 +- data/maps/DewfordTown_Gym/header.inc | 2 +- data/maps/DewfordTown_Hall/header.inc | 2 +- data/maps/DewfordTown_House1/header.inc | 2 +- data/maps/DewfordTown_House2/header.inc | 2 +- data/maps/DewfordTown_PokemonCenter_1F/header.inc | 2 +- data/maps/DewfordTown_PokemonCenter_2F/header.inc | 2 +- data/maps/DoubleBattleColosseum/header.inc | 2 +- data/maps/EverGrandeCity/header.inc | 2 +- data/maps/EverGrandeCity_ChampionsRoom/header.inc | 2 +- data/maps/EverGrandeCity_DrakesRoom/header.inc | 2 +- data/maps/EverGrandeCity_GlaciasRoom/header.inc | 2 +- data/maps/EverGrandeCity_Hall1/header.inc | 2 +- data/maps/EverGrandeCity_Hall2/header.inc | 2 +- data/maps/EverGrandeCity_Hall3/header.inc | 2 +- data/maps/EverGrandeCity_Hall4/header.inc | 2 +- data/maps/EverGrandeCity_Hall5/header.inc | 2 +- data/maps/EverGrandeCity_HallOfFame/header.inc | 2 +- data/maps/EverGrandeCity_PhoebesRoom/header.inc | 2 +- data/maps/EverGrandeCity_PokemonCenter_1F/header.inc | 2 +- data/maps/EverGrandeCity_PokemonCenter_2F/header.inc | 2 +- data/maps/EverGrandeCity_PokemonLeague_1F/header.inc | 2 +- data/maps/EverGrandeCity_PokemonLeague_2F/header.inc | 2 +- data/maps/EverGrandeCity_SidneysRoom/header.inc | 2 +- data/maps/FallarborTown/header.inc | 2 +- data/maps/FallarborTown_BattleTentBattleRoom/header.inc | 2 +- data/maps/FallarborTown_BattleTentCorridor/header.inc | 2 +- data/maps/FallarborTown_BattleTentLobby/header.inc | 2 +- data/maps/FallarborTown_House1/header.inc | 2 +- data/maps/FallarborTown_House2/header.inc | 2 +- data/maps/FallarborTown_Mart/header.inc | 2 +- data/maps/FallarborTown_PokemonCenter_1F/header.inc | 2 +- data/maps/FallarborTown_PokemonCenter_2F/header.inc | 2 +- data/maps/FarawayIsland_Entrance/header.inc | 2 +- data/maps/FarawayIsland_Interior/header.inc | 2 +- data/maps/FieryPath/header.inc | 2 +- data/maps/FortreeCity/header.inc | 2 +- data/maps/FortreeCity_DecorationShop/header.inc | 2 +- data/maps/FortreeCity_Gym/header.inc | 2 +- data/maps/FortreeCity_House1/header.inc | 2 +- data/maps/FortreeCity_House2/header.inc | 2 +- data/maps/FortreeCity_House3/header.inc | 2 +- data/maps/FortreeCity_House4/header.inc | 2 +- data/maps/FortreeCity_House5/header.inc | 2 +- data/maps/FortreeCity_Mart/header.inc | 2 +- data/maps/FortreeCity_PokemonCenter_1F/header.inc | 2 +- data/maps/FortreeCity_PokemonCenter_2F/header.inc | 2 +- data/maps/GraniteCave_1F/header.inc | 2 +- data/maps/GraniteCave_B1F/header.inc | 2 +- data/maps/GraniteCave_B2F/header.inc | 2 +- data/maps/GraniteCave_StevensRoom/header.inc | 2 +- data/maps/InsideOfTruck/header.inc | 2 +- data/maps/IslandCave/header.inc | 2 +- data/maps/JaggedPass/header.inc | 2 +- data/maps/LavaridgeTown/header.inc | 2 +- data/maps/LavaridgeTown_Gym_1F/header.inc | 2 +- data/maps/LavaridgeTown_Gym_B1F/header.inc | 2 +- data/maps/LavaridgeTown_HerbShop/header.inc | 2 +- data/maps/LavaridgeTown_House/header.inc | 2 +- data/maps/LavaridgeTown_Mart/header.inc | 2 +- data/maps/LavaridgeTown_PokemonCenter_1F/header.inc | 2 +- data/maps/LavaridgeTown_PokemonCenter_2F/header.inc | 2 +- data/maps/LilycoveCity/header.inc | 2 +- data/maps/LilycoveCity_ContestHall/header.inc | 2 +- data/maps/LilycoveCity_ContestLobby/header.inc | 2 +- data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc | 2 +- data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc | 2 +- data/maps/LilycoveCity_DepartmentStoreElevator/header.inc | 2 +- data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc | 2 +- data/maps/LilycoveCity_DepartmentStore_1F/header.inc | 2 +- data/maps/LilycoveCity_DepartmentStore_2F/header.inc | 2 +- data/maps/LilycoveCity_DepartmentStore_3F/header.inc | 2 +- data/maps/LilycoveCity_DepartmentStore_4F/header.inc | 2 +- data/maps/LilycoveCity_DepartmentStore_5F/header.inc | 2 +- data/maps/LilycoveCity_Harbor/header.inc | 2 +- data/maps/LilycoveCity_House1/header.inc | 2 +- data/maps/LilycoveCity_House2/header.inc | 2 +- data/maps/LilycoveCity_House3/header.inc | 2 +- data/maps/LilycoveCity_House4/header.inc | 2 +- data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc | 2 +- data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc | 2 +- data/maps/LilycoveCity_MoveDeletersHouse/header.inc | 2 +- data/maps/LilycoveCity_PokemonCenter_1F/header.inc | 2 +- data/maps/LilycoveCity_PokemonCenter_2F/header.inc | 2 +- data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc | 2 +- data/maps/LilycoveCity_UnusedMart/header.inc | 2 +- data/maps/LinkContestRoom1/header.inc | 2 +- data/maps/LinkContestRoom2/header.inc | 2 +- data/maps/LinkContestRoom3/header.inc | 2 +- data/maps/LinkContestRoom4/header.inc | 2 +- data/maps/LinkContestRoom5/header.inc | 2 +- data/maps/LinkContestRoom6/header.inc | 2 +- data/maps/LittlerootTown/header.inc | 2 +- data/maps/LittlerootTown_BrendansHouse_1F/header.inc | 2 +- data/maps/LittlerootTown_BrendansHouse_2F/header.inc | 2 +- data/maps/LittlerootTown_MaysHouse_1F/header.inc | 2 +- data/maps/LittlerootTown_MaysHouse_2F/header.inc | 2 +- data/maps/LittlerootTown_ProfessorBirchsLab/header.inc | 2 +- data/maps/MagmaHideout_1F/header.inc | 2 +- data/maps/MagmaHideout_2F_1R/header.inc | 2 +- data/maps/MagmaHideout_2F_2R/header.inc | 2 +- data/maps/MagmaHideout_2F_3R/header.inc | 2 +- data/maps/MagmaHideout_3F_1R/header.inc | 2 +- data/maps/MagmaHideout_3F_2R/header.inc | 2 +- data/maps/MagmaHideout_3F_3R/header.inc | 2 +- data/maps/MagmaHideout_4F/header.inc | 2 +- data/maps/MarineCave_End/header.inc | 2 +- data/maps/MarineCave_Entrance/header.inc | 2 +- data/maps/MauvilleCity/header.inc | 2 +- data/maps/MauvilleCity_BikeShop/header.inc | 2 +- data/maps/MauvilleCity_GameCorner/header.inc | 2 +- data/maps/MauvilleCity_Gym/header.inc | 2 +- data/maps/MauvilleCity_House1/header.inc | 2 +- data/maps/MauvilleCity_House2/header.inc | 2 +- data/maps/MauvilleCity_Mart/header.inc | 2 +- data/maps/MauvilleCity_PokemonCenter_1F/header.inc | 2 +- data/maps/MauvilleCity_PokemonCenter_2F/header.inc | 2 +- data/maps/MeteorFalls_1F_1R/header.inc | 2 +- data/maps/MeteorFalls_1F_2R/header.inc | 2 +- data/maps/MeteorFalls_B1F_1R/header.inc | 2 +- data/maps/MeteorFalls_B1F_2R/header.inc | 2 +- data/maps/MeteorFalls_StevensCave/header.inc | 2 +- data/maps/MirageTower_1F/header.inc | 2 +- data/maps/MirageTower_2F/header.inc | 2 +- data/maps/MirageTower_3F/header.inc | 2 +- data/maps/MirageTower_4F/header.inc | 2 +- data/maps/MossdeepCity/header.inc | 2 +- data/maps/MossdeepCity_GameCorner_1F/header.inc | 2 +- data/maps/MossdeepCity_GameCorner_B1F/header.inc | 2 +- data/maps/MossdeepCity_Gym/header.inc | 2 +- data/maps/MossdeepCity_House1/header.inc | 2 +- data/maps/MossdeepCity_House2/header.inc | 2 +- data/maps/MossdeepCity_House3/header.inc | 2 +- data/maps/MossdeepCity_House4/header.inc | 2 +- data/maps/MossdeepCity_Mart/header.inc | 2 +- data/maps/MossdeepCity_PokemonCenter_1F/header.inc | 2 +- data/maps/MossdeepCity_PokemonCenter_2F/header.inc | 2 +- data/maps/MossdeepCity_SpaceCenter_1F/header.inc | 2 +- data/maps/MossdeepCity_SpaceCenter_2F/header.inc | 2 +- data/maps/MossdeepCity_StevensHouse/header.inc | 2 +- data/maps/MtChimney/header.inc | 2 +- data/maps/MtChimney_CableCarStation/header.inc | 2 +- data/maps/MtPyre_1F/header.inc | 2 +- data/maps/MtPyre_2F/header.inc | 2 +- data/maps/MtPyre_3F/header.inc | 2 +- data/maps/MtPyre_4F/header.inc | 2 +- data/maps/MtPyre_5F/header.inc | 2 +- data/maps/MtPyre_6F/header.inc | 2 +- data/maps/MtPyre_Exterior/header.inc | 2 +- data/maps/MtPyre_Summit/header.inc | 2 +- data/maps/NavelRock_B1F/header.inc | 2 +- data/maps/NavelRock_Bottom/header.inc | 2 +- data/maps/NavelRock_Down01/header.inc | 2 +- data/maps/NavelRock_Down02/header.inc | 2 +- data/maps/NavelRock_Down03/header.inc | 2 +- data/maps/NavelRock_Down04/header.inc | 2 +- data/maps/NavelRock_Down05/header.inc | 2 +- data/maps/NavelRock_Down06/header.inc | 2 +- data/maps/NavelRock_Down07/header.inc | 2 +- data/maps/NavelRock_Down08/header.inc | 2 +- data/maps/NavelRock_Down09/header.inc | 2 +- data/maps/NavelRock_Down10/header.inc | 2 +- data/maps/NavelRock_Down11/header.inc | 2 +- data/maps/NavelRock_Entrance/header.inc | 2 +- data/maps/NavelRock_Exterior/header.inc | 2 +- data/maps/NavelRock_Fork/header.inc | 2 +- data/maps/NavelRock_Harbor/header.inc | 2 +- data/maps/NavelRock_Top/header.inc | 2 +- data/maps/NavelRock_Up1/header.inc | 2 +- data/maps/NavelRock_Up2/header.inc | 2 +- data/maps/NavelRock_Up3/header.inc | 2 +- data/maps/NavelRock_Up4/header.inc | 2 +- data/maps/NewMauville_Entrance/header.inc | 2 +- data/maps/NewMauville_Inside/header.inc | 2 +- data/maps/OldaleTown/header.inc | 2 +- data/maps/OldaleTown_House1/header.inc | 2 +- data/maps/OldaleTown_House2/header.inc | 2 +- data/maps/OldaleTown_Mart/header.inc | 2 +- data/maps/OldaleTown_PokemonCenter_1F/header.inc | 2 +- data/maps/OldaleTown_PokemonCenter_2F/header.inc | 2 +- data/maps/PacifidlogTown/header.inc | 2 +- data/maps/PacifidlogTown_House1/header.inc | 2 +- data/maps/PacifidlogTown_House2/header.inc | 2 +- data/maps/PacifidlogTown_House3/header.inc | 2 +- data/maps/PacifidlogTown_House4/header.inc | 2 +- data/maps/PacifidlogTown_House5/header.inc | 2 +- data/maps/PacifidlogTown_PokemonCenter_1F/header.inc | 2 +- data/maps/PacifidlogTown_PokemonCenter_2F/header.inc | 2 +- data/maps/PetalburgCity/header.inc | 2 +- data/maps/PetalburgCity_Gym/header.inc | 2 +- data/maps/PetalburgCity_House1/header.inc | 2 +- data/maps/PetalburgCity_House2/header.inc | 2 +- data/maps/PetalburgCity_Mart/header.inc | 2 +- data/maps/PetalburgCity_PokemonCenter_1F/header.inc | 2 +- data/maps/PetalburgCity_PokemonCenter_2F/header.inc | 2 +- data/maps/PetalburgCity_WallysHouse/header.inc | 2 +- data/maps/PetalburgWoods/header.inc | 2 +- data/maps/RecordCorner/header.inc | 2 +- data/maps/Route101/header.inc | 2 +- data/maps/Route102/header.inc | 2 +- data/maps/Route103/header.inc | 2 +- data/maps/Route104/header.inc | 2 +- data/maps/Route104_MrBrineysHouse/header.inc | 2 +- data/maps/Route104_PrettyPetalFlowerShop/header.inc | 2 +- data/maps/Route104_Prototype/header.inc | 2 +- data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc | 2 +- data/maps/Route105/header.inc | 2 +- data/maps/Route106/header.inc | 2 +- data/maps/Route107/header.inc | 2 +- data/maps/Route108/header.inc | 2 +- data/maps/Route109/header.inc | 2 +- data/maps/Route109_SeashoreHouse/header.inc | 2 +- data/maps/Route110/header.inc | 2 +- data/maps/Route110_SeasideCyclingRoadNorthEntrance/header.inc | 2 +- data/maps/Route110_SeasideCyclingRoadSouthEntrance/header.inc | 2 +- data/maps/Route110_TrickHouseCorridor/header.inc | 2 +- data/maps/Route110_TrickHouseEnd/header.inc | 2 +- data/maps/Route110_TrickHouseEntrance/header.inc | 2 +- data/maps/Route110_TrickHousePuzzle1/header.inc | 2 +- data/maps/Route110_TrickHousePuzzle2/header.inc | 2 +- data/maps/Route110_TrickHousePuzzle3/header.inc | 2 +- data/maps/Route110_TrickHousePuzzle4/header.inc | 2 +- data/maps/Route110_TrickHousePuzzle5/header.inc | 2 +- data/maps/Route110_TrickHousePuzzle6/header.inc | 2 +- data/maps/Route110_TrickHousePuzzle7/header.inc | 2 +- data/maps/Route110_TrickHousePuzzle8/header.inc | 2 +- data/maps/Route111/header.inc | 2 +- data/maps/Route111_OldLadysRestStop/header.inc | 2 +- data/maps/Route111_WinstrateFamilysHouse/header.inc | 2 +- data/maps/Route112/header.inc | 2 +- data/maps/Route112_CableCarStation/header.inc | 2 +- data/maps/Route113/header.inc | 2 +- data/maps/Route113_GlassWorkshop/header.inc | 2 +- data/maps/Route114/header.inc | 2 +- data/maps/Route114_FossilManiacsHouse/header.inc | 2 +- data/maps/Route114_FossilManiacsTunnel/header.inc | 2 +- data/maps/Route114_LanettesHouse/header.inc | 2 +- data/maps/Route115/header.inc | 2 +- data/maps/Route116/header.inc | 2 +- data/maps/Route116_TunnelersRestHouse/header.inc | 2 +- data/maps/Route117/header.inc | 2 +- data/maps/Route117_PokemonDayCare/header.inc | 2 +- data/maps/Route118/header.inc | 2 +- data/maps/Route119/header.inc | 2 +- data/maps/Route119_House/header.inc | 2 +- data/maps/Route119_WeatherInstitute_1F/header.inc | 2 +- data/maps/Route119_WeatherInstitute_2F/header.inc | 2 +- data/maps/Route120/header.inc | 2 +- data/maps/Route121/header.inc | 2 +- data/maps/Route121_SafariZoneEntrance/header.inc | 2 +- data/maps/Route122/header.inc | 2 +- data/maps/Route123/header.inc | 2 +- data/maps/Route123_BerryMastersHouse/header.inc | 2 +- data/maps/Route124/header.inc | 2 +- data/maps/Route124_DivingTreasureHuntersHouse/header.inc | 2 +- data/maps/Route125/header.inc | 2 +- data/maps/Route126/header.inc | 2 +- data/maps/Route127/header.inc | 2 +- data/maps/Route128/header.inc | 2 +- data/maps/Route129/header.inc | 2 +- data/maps/Route130/header.inc | 2 +- data/maps/Route131/header.inc | 2 +- data/maps/Route132/header.inc | 2 +- data/maps/Route133/header.inc | 2 +- data/maps/Route134/header.inc | 2 +- data/maps/RustboroCity/header.inc | 2 +- data/maps/RustboroCity_CuttersHouse/header.inc | 2 +- data/maps/RustboroCity_DevonCorp_1F/header.inc | 2 +- data/maps/RustboroCity_DevonCorp_2F/header.inc | 2 +- data/maps/RustboroCity_DevonCorp_3F/header.inc | 2 +- data/maps/RustboroCity_Flat1_1F/header.inc | 2 +- data/maps/RustboroCity_Flat1_2F/header.inc | 2 +- data/maps/RustboroCity_Flat2_1F/header.inc | 2 +- data/maps/RustboroCity_Flat2_2F/header.inc | 2 +- data/maps/RustboroCity_Flat2_3F/header.inc | 2 +- data/maps/RustboroCity_Gym/header.inc | 2 +- data/maps/RustboroCity_House1/header.inc | 2 +- data/maps/RustboroCity_House2/header.inc | 2 +- data/maps/RustboroCity_House3/header.inc | 2 +- data/maps/RustboroCity_Mart/header.inc | 2 +- data/maps/RustboroCity_PokemonCenter_1F/header.inc | 2 +- data/maps/RustboroCity_PokemonCenter_2F/header.inc | 2 +- data/maps/RustboroCity_PokemonSchool/header.inc | 2 +- data/maps/RusturfTunnel/header.inc | 2 +- data/maps/SSTidalCorridor/header.inc | 2 +- data/maps/SSTidalLowerDeck/header.inc | 2 +- data/maps/SSTidalRooms/header.inc | 2 +- data/maps/SafariZone_North/header.inc | 2 +- data/maps/SafariZone_Northeast/header.inc | 2 +- data/maps/SafariZone_Northwest/header.inc | 2 +- data/maps/SafariZone_RestHouse/header.inc | 2 +- data/maps/SafariZone_South/header.inc | 2 +- data/maps/SafariZone_Southeast/header.inc | 2 +- data/maps/SafariZone_Southwest/header.inc | 2 +- data/maps/ScorchedSlab/header.inc | 2 +- data/maps/SeafloorCavern_Entrance/header.inc | 2 +- data/maps/SeafloorCavern_Room1/header.inc | 2 +- data/maps/SeafloorCavern_Room2/header.inc | 2 +- data/maps/SeafloorCavern_Room3/header.inc | 2 +- data/maps/SeafloorCavern_Room4/header.inc | 2 +- data/maps/SeafloorCavern_Room5/header.inc | 2 +- data/maps/SeafloorCavern_Room6/header.inc | 2 +- data/maps/SeafloorCavern_Room7/header.inc | 2 +- data/maps/SeafloorCavern_Room8/header.inc | 2 +- data/maps/SeafloorCavern_Room9/header.inc | 2 +- data/maps/SealedChamber_InnerRoom/header.inc | 2 +- data/maps/SealedChamber_OuterRoom/header.inc | 2 +- data/maps/SecretBase_BlueCave1/header.inc | 2 +- data/maps/SecretBase_BlueCave2/header.inc | 2 +- data/maps/SecretBase_BlueCave3/header.inc | 2 +- data/maps/SecretBase_BlueCave4/header.inc | 2 +- data/maps/SecretBase_BrownCave1/header.inc | 2 +- data/maps/SecretBase_BrownCave2/header.inc | 2 +- data/maps/SecretBase_BrownCave3/header.inc | 2 +- data/maps/SecretBase_BrownCave4/header.inc | 2 +- data/maps/SecretBase_RedCave1/header.inc | 2 +- data/maps/SecretBase_RedCave2/header.inc | 2 +- data/maps/SecretBase_RedCave3/header.inc | 2 +- data/maps/SecretBase_RedCave4/header.inc | 2 +- data/maps/SecretBase_Shrub1/header.inc | 2 +- data/maps/SecretBase_Shrub2/header.inc | 2 +- data/maps/SecretBase_Shrub3/header.inc | 2 +- data/maps/SecretBase_Shrub4/header.inc | 2 +- data/maps/SecretBase_Tree1/header.inc | 2 +- data/maps/SecretBase_Tree2/header.inc | 2 +- data/maps/SecretBase_Tree3/header.inc | 2 +- data/maps/SecretBase_Tree4/header.inc | 2 +- data/maps/SecretBase_YellowCave1/header.inc | 2 +- data/maps/SecretBase_YellowCave2/header.inc | 2 +- data/maps/SecretBase_YellowCave3/header.inc | 2 +- data/maps/SecretBase_YellowCave4/header.inc | 2 +- data/maps/ShoalCave_HighTideEntranceRoom/header.inc | 2 +- data/maps/ShoalCave_HighTideInnerRoom/header.inc | 2 +- data/maps/ShoalCave_LowTideEntranceRoom/header.inc | 2 +- data/maps/ShoalCave_LowTideIceRoom/header.inc | 2 +- data/maps/ShoalCave_LowTideInnerRoom/header.inc | 2 +- data/maps/ShoalCave_LowTideLowerRoom/header.inc | 2 +- data/maps/ShoalCave_LowTideStairsRoom/header.inc | 2 +- data/maps/SingleBattleColosseum/header.inc | 2 +- data/maps/SkyPillar_1F/header.inc | 2 +- data/maps/SkyPillar_2F/header.inc | 2 +- data/maps/SkyPillar_3F/header.inc | 2 +- data/maps/SkyPillar_4F/header.inc | 2 +- data/maps/SkyPillar_5F/header.inc | 2 +- data/maps/SkyPillar_Entrance/header.inc | 2 +- data/maps/SkyPillar_Outside/header.inc | 2 +- data/maps/SkyPillar_Top/header.inc | 2 +- data/maps/SlateportCity/header.inc | 2 +- data/maps/SlateportCity_BattleTentBattleRoom/header.inc | 2 +- data/maps/SlateportCity_BattleTentCorridor/header.inc | 2 +- data/maps/SlateportCity_BattleTentLobby/header.inc | 2 +- data/maps/SlateportCity_Harbor/header.inc | 2 +- data/maps/SlateportCity_House1/header.inc | 2 +- data/maps/SlateportCity_House2/header.inc | 2 +- data/maps/SlateportCity_Mart/header.inc | 2 +- data/maps/SlateportCity_OceanicMuseum_1F/header.inc | 2 +- data/maps/SlateportCity_OceanicMuseum_2F/header.inc | 2 +- data/maps/SlateportCity_PokemonCenter_1F/header.inc | 2 +- data/maps/SlateportCity_PokemonCenter_2F/header.inc | 2 +- data/maps/SlateportCity_PokemonFanClub/header.inc | 2 +- data/maps/SlateportCity_SternsShipyard_1F/header.inc | 2 +- data/maps/SlateportCity_SternsShipyard_2F/header.inc | 2 +- data/maps/SootopolisCity/header.inc | 2 +- data/maps/SootopolisCity_Gym_1F/header.inc | 2 +- data/maps/SootopolisCity_Gym_B1F/header.inc | 2 +- data/maps/SootopolisCity_House1/header.inc | 2 +- data/maps/SootopolisCity_House2/header.inc | 2 +- data/maps/SootopolisCity_House3/header.inc | 2 +- data/maps/SootopolisCity_House4/header.inc | 2 +- data/maps/SootopolisCity_House5/header.inc | 2 +- data/maps/SootopolisCity_House6/header.inc | 2 +- data/maps/SootopolisCity_House7/header.inc | 2 +- data/maps/SootopolisCity_LotadAndSeedotHouse/header.inc | 2 +- data/maps/SootopolisCity_Mart/header.inc | 2 +- data/maps/SootopolisCity_MysteryEventsHouse_1F/header.inc | 2 +- data/maps/SootopolisCity_MysteryEventsHouse_B1F/header.inc | 2 +- data/maps/SootopolisCity_PokemonCenter_1F/header.inc | 2 +- data/maps/SootopolisCity_PokemonCenter_2F/header.inc | 2 +- data/maps/SouthernIsland_Exterior/header.inc | 2 +- data/maps/SouthernIsland_Interior/header.inc | 2 +- data/maps/TerraCave_End/header.inc | 2 +- data/maps/TerraCave_Entrance/header.inc | 2 +- data/maps/TradeCenter/header.inc | 2 +- data/maps/TrainerHill_1F/header.inc | 2 +- data/maps/TrainerHill_2F/header.inc | 2 +- data/maps/TrainerHill_3F/header.inc | 2 +- data/maps/TrainerHill_4F/header.inc | 2 +- data/maps/TrainerHill_Elevator/header.inc | 2 +- data/maps/TrainerHill_Entrance/header.inc | 2 +- data/maps/TrainerHill_Roof/header.inc | 2 +- data/maps/Underwater1/header.inc | 2 +- data/maps/Underwater2/header.inc | 2 +- data/maps/Underwater3/header.inc | 2 +- data/maps/Underwater4/header.inc | 2 +- data/maps/Underwater5/header.inc | 2 +- data/maps/Underwater6/header.inc | 2 +- data/maps/Underwater7/header.inc | 2 +- data/maps/Underwater_MarineCave/header.inc | 2 +- data/maps/Underwater_Route134/header.inc | 2 +- data/maps/Underwater_SeafloorCavern/header.inc | 2 +- data/maps/Underwater_SealedChamber/header.inc | 2 +- data/maps/Underwater_SootopolisCity/header.inc | 2 +- data/maps/UnionRoom/header.inc | 2 +- data/maps/UnknownMap_25_29/header.inc | 2 +- data/maps/UnknownMap_25_30/header.inc | 2 +- data/maps/UnknownMap_25_31/header.inc | 2 +- data/maps/UnknownMap_25_32/header.inc | 2 +- data/maps/UnknownMap_25_33/header.inc | 2 +- data/maps/UnknownMap_25_34/header.inc | 2 +- data/maps/VerdanturfTown/header.inc | 2 +- data/maps/VerdanturfTown_BattleTentBattleRoom/header.inc | 2 +- data/maps/VerdanturfTown_BattleTentCorridor/header.inc | 2 +- data/maps/VerdanturfTown_BattleTentLobby/header.inc | 2 +- data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc | 2 +- data/maps/VerdanturfTown_House/header.inc | 2 +- data/maps/VerdanturfTown_Mart/header.inc | 2 +- data/maps/VerdanturfTown_PokemonCenter_1F/header.inc | 2 +- data/maps/VerdanturfTown_PokemonCenter_2F/header.inc | 2 +- data/maps/VerdanturfTown_WandasHouse/header.inc | 2 +- data/maps/VictoryRoad_1F/header.inc | 2 +- data/maps/VictoryRoad_B1F/header.inc | 2 +- data/maps/VictoryRoad_B2F/header.inc | 2 +- 519 files changed, 522 insertions(+), 518 deletions(-) diff --git a/asm/macros/map.inc b/asm/macros/map.inc index 94caeb6978..c98364ccc6 100644 --- a/asm/macros/map.inc +++ b/asm/macros/map.inc @@ -101,3 +101,7 @@ map \map .space 2 .endm + + .macro map_header_flags allow_bike:req, allow_escape_rope:req, allow_run:req, show_map_name:req + .byte ((\show_map_name & 1) << 3) | ((\allow_run & 1) << 2) | ((\allow_escape_rope & 1) << 1) | \allow_bike + .endm diff --git a/data/maps/AbandonedShip_CaptainsOffice/header.inc b/data/maps/AbandonedShip_CaptainsOffice/header.inc index 21573c079d..3102e0614d 100644 --- a/data/maps/AbandonedShip_CaptainsOffice/header.inc +++ b/data/maps/AbandonedShip_CaptainsOffice/header.inc @@ -10,6 +10,6 @@ AbandonedShip_CaptainsOffice: @ 84845A4 .byte WEATHER_SHADE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AbandonedShip_Corridors_1F/header.inc b/data/maps/AbandonedShip_Corridors_1F/header.inc index 0ffb5d1f70..b9f5e809c0 100644 --- a/data/maps/AbandonedShip_Corridors_1F/header.inc +++ b/data/maps/AbandonedShip_Corridors_1F/header.inc @@ -10,6 +10,6 @@ AbandonedShip_Corridors_1F: @ 84844C4 .byte WEATHER_SHADE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AbandonedShip_Corridors_B1F/header.inc b/data/maps/AbandonedShip_Corridors_B1F/header.inc index 5e4eb1dd68..98f23c223a 100644 --- a/data/maps/AbandonedShip_Corridors_B1F/header.inc +++ b/data/maps/AbandonedShip_Corridors_B1F/header.inc @@ -10,6 +10,6 @@ AbandonedShip_Corridors_B1F: @ 84844FC .byte WEATHER_SHADE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AbandonedShip_Deck/header.inc b/data/maps/AbandonedShip_Deck/header.inc index a9f8945d9b..394c93ec95 100644 --- a/data/maps/AbandonedShip_Deck/header.inc +++ b/data/maps/AbandonedShip_Deck/header.inc @@ -10,6 +10,6 @@ AbandonedShip_Deck: @ 84844A8 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AbandonedShip_HiddenFloorCorridors/header.inc b/data/maps/AbandonedShip_HiddenFloorCorridors/header.inc index 6645c9d960..dcf42db40c 100644 --- a/data/maps/AbandonedShip_HiddenFloorCorridors/header.inc +++ b/data/maps/AbandonedShip_HiddenFloorCorridors/header.inc @@ -10,6 +10,6 @@ AbandonedShip_HiddenFloorCorridors: @ 84845DC .byte WEATHER_SHADE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AbandonedShip_HiddenFloorRooms/header.inc b/data/maps/AbandonedShip_HiddenFloorRooms/header.inc index 5cc5bf0adc..f279a52ab7 100644 --- a/data/maps/AbandonedShip_HiddenFloorRooms/header.inc +++ b/data/maps/AbandonedShip_HiddenFloorRooms/header.inc @@ -10,6 +10,6 @@ AbandonedShip_HiddenFloorRooms: @ 84845F8 .byte WEATHER_SHADE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 7 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AbandonedShip_Room_B1F/header.inc b/data/maps/AbandonedShip_Room_B1F/header.inc index 4e6212d017..3ac0c5f38a 100644 --- a/data/maps/AbandonedShip_Room_B1F/header.inc +++ b/data/maps/AbandonedShip_Room_B1F/header.inc @@ -10,6 +10,6 @@ AbandonedShip_Room_B1F: @ 848456C .byte WEATHER_SHADE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AbandonedShip_Rooms2_1F/header.inc b/data/maps/AbandonedShip_Rooms2_1F/header.inc index 8e004365e3..71f856bc06 100644 --- a/data/maps/AbandonedShip_Rooms2_1F/header.inc +++ b/data/maps/AbandonedShip_Rooms2_1F/header.inc @@ -10,6 +10,6 @@ AbandonedShip_Rooms2_1F: @ 8484588 .byte WEATHER_SHADE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AbandonedShip_Rooms2_B1F/header.inc b/data/maps/AbandonedShip_Rooms2_B1F/header.inc index 2f64a63151..943e57b77d 100644 --- a/data/maps/AbandonedShip_Rooms2_B1F/header.inc +++ b/data/maps/AbandonedShip_Rooms2_B1F/header.inc @@ -10,6 +10,6 @@ AbandonedShip_Rooms2_B1F: @ 8484534 .byte WEATHER_SHADE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AbandonedShip_Rooms_1F/header.inc b/data/maps/AbandonedShip_Rooms_1F/header.inc index 9ee2f40bc4..b37456c281 100644 --- a/data/maps/AbandonedShip_Rooms_1F/header.inc +++ b/data/maps/AbandonedShip_Rooms_1F/header.inc @@ -10,6 +10,6 @@ AbandonedShip_Rooms_1F: @ 84844E0 .byte WEATHER_SHADE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AbandonedShip_Rooms_B1F/header.inc b/data/maps/AbandonedShip_Rooms_B1F/header.inc index d6f656e3bc..f5ec64f2b7 100644 --- a/data/maps/AbandonedShip_Rooms_B1F/header.inc +++ b/data/maps/AbandonedShip_Rooms_B1F/header.inc @@ -10,6 +10,6 @@ AbandonedShip_Rooms_B1F: @ 8484518 .byte WEATHER_SHADE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AbandonedShip_Underwater1/header.inc b/data/maps/AbandonedShip_Underwater1/header.inc index 82fbdc0e94..e5119887a7 100644 --- a/data/maps/AbandonedShip_Underwater1/header.inc +++ b/data/maps/AbandonedShip_Underwater1/header.inc @@ -10,6 +10,6 @@ AbandonedShip_Underwater1: @ 8484550 .byte WEATHER_BUBBLES .byte MAP_TYPE_UNDERWATER .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AbandonedShip_Underwater2/header.inc b/data/maps/AbandonedShip_Underwater2/header.inc index c26d65df02..de7e871d0b 100644 --- a/data/maps/AbandonedShip_Underwater2/header.inc +++ b/data/maps/AbandonedShip_Underwater2/header.inc @@ -10,6 +10,6 @@ AbandonedShip_Underwater2: @ 84845C0 .byte WEATHER_BUBBLES .byte MAP_TYPE_UNDERWATER .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AlteringCave/header.inc b/data/maps/AlteringCave/header.inc index 4796b37ff4..fe88dbca0c 100644 --- a/data/maps/AlteringCave/header.inc +++ b/data/maps/AlteringCave/header.inc @@ -10,6 +10,6 @@ AlteringCave: @ 8484A58 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AncientTomb/header.inc b/data/maps/AncientTomb/header.inc index a314ad3baa..5bfe546145 100644 --- a/data/maps/AncientTomb/header.inc +++ b/data/maps/AncientTomb/header.inc @@ -10,6 +10,6 @@ AncientTomb: @ 8484630 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/AquaHideout_1F/header.inc b/data/maps/AquaHideout_1F/header.inc index c632eb2048..dd4e120437 100644 --- a/data/maps/AquaHideout_1F/header.inc +++ b/data/maps/AquaHideout_1F/header.inc @@ -10,6 +10,6 @@ AquaHideout_1F: @ 8484144 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 8 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=1 .byte MAP_BATTLE_SCENE_AQUA diff --git a/data/maps/AquaHideout_B1F/header.inc b/data/maps/AquaHideout_B1F/header.inc index ba017fb565..bc65150d61 100644 --- a/data/maps/AquaHideout_B1F/header.inc +++ b/data/maps/AquaHideout_B1F/header.inc @@ -10,6 +10,6 @@ AquaHideout_B1F: @ 8484160 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 8 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=1 .byte MAP_BATTLE_SCENE_AQUA diff --git a/data/maps/AquaHideout_B2F/header.inc b/data/maps/AquaHideout_B2F/header.inc index ea15240b9d..d4bf343288 100644 --- a/data/maps/AquaHideout_B2F/header.inc +++ b/data/maps/AquaHideout_B2F/header.inc @@ -10,6 +10,6 @@ AquaHideout_B2F: @ 848417C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 8 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=1 .byte MAP_BATTLE_SCENE_AQUA diff --git a/data/maps/AquaHideout_UnusedRubyMap1/header.inc b/data/maps/AquaHideout_UnusedRubyMap1/header.inc index 455941160d..90e59a51e1 100644 --- a/data/maps/AquaHideout_UnusedRubyMap1/header.inc +++ b/data/maps/AquaHideout_UnusedRubyMap1/header.inc @@ -10,6 +10,6 @@ AquaHideout_UnusedRubyMap1: @ 84846D8 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_MAGMA diff --git a/data/maps/AquaHideout_UnusedRubyMap2/header.inc b/data/maps/AquaHideout_UnusedRubyMap2/header.inc index b4e2e712e4..776465f16e 100644 --- a/data/maps/AquaHideout_UnusedRubyMap2/header.inc +++ b/data/maps/AquaHideout_UnusedRubyMap2/header.inc @@ -10,6 +10,6 @@ AquaHideout_UnusedRubyMap2: @ 84846F4 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_MAGMA diff --git a/data/maps/AquaHideout_UnusedRubyMap3/header.inc b/data/maps/AquaHideout_UnusedRubyMap3/header.inc index 7abe192b68..ab97ae84d5 100644 --- a/data/maps/AquaHideout_UnusedRubyMap3/header.inc +++ b/data/maps/AquaHideout_UnusedRubyMap3/header.inc @@ -10,6 +10,6 @@ AquaHideout_UnusedRubyMap3: @ 8484710 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_MAGMA diff --git a/data/maps/ArtisanCave_1F/header.inc b/data/maps/ArtisanCave_1F/header.inc index a69128ee78..c53a2851b4 100644 --- a/data/maps/ArtisanCave_1F/header.inc +++ b/data/maps/ArtisanCave_1F/header.inc @@ -10,6 +10,6 @@ ArtisanCave_1F: @ 84849B0 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/ArtisanCave_B1F/header.inc b/data/maps/ArtisanCave_B1F/header.inc index aba179fc64..f76fe69382 100644 --- a/data/maps/ArtisanCave_B1F/header.inc +++ b/data/maps/ArtisanCave_B1F/header.inc @@ -10,6 +10,6 @@ ArtisanCave_B1F: @ 8484994 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/header.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/header.inc index 8332c42360..12962e7dec 100644 --- a/data/maps/BattleFrontier_BattleArenaBattleRoom/header.inc +++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleArenaBattleRoom: @ 8485484 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleArenaCorridor/header.inc b/data/maps/BattleFrontier_BattleArenaCorridor/header.inc index 2ed587f6eb..d4935ea9ef 100644 --- a/data/maps/BattleFrontier_BattleArenaCorridor/header.inc +++ b/data/maps/BattleFrontier_BattleArenaCorridor/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleArenaCorridor: @ 8485468 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleArenaLobby/header.inc b/data/maps/BattleFrontier_BattleArenaLobby/header.inc index 5c02e0c8a5..3523eaf63f 100644 --- a/data/maps/BattleFrontier_BattleArenaLobby/header.inc +++ b/data/maps/BattleFrontier_BattleArenaLobby/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleArenaLobby: @ 848544C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/header.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/header.inc index 3f1eb25b20..7d2119ebee 100644 --- a/data/maps/BattleFrontier_BattleDomeBattleRoom/header.inc +++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleDomeBattleRoom: @ 8485388 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleDomeCorridor/header.inc b/data/maps/BattleFrontier_BattleDomeCorridor/header.inc index 940ba24e6e..25883e9ed5 100644 --- a/data/maps/BattleFrontier_BattleDomeCorridor/header.inc +++ b/data/maps/BattleFrontier_BattleDomeCorridor/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleDomeCorridor: @ 8485350 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleDomeLobby/header.inc b/data/maps/BattleFrontier_BattleDomeLobby/header.inc index 5d1a7eb82f..451192a452 100644 --- a/data/maps/BattleFrontier_BattleDomeLobby/header.inc +++ b/data/maps/BattleFrontier_BattleDomeLobby/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleDomeLobby: @ 8485334 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleDomePreBattleRoom/header.inc b/data/maps/BattleFrontier_BattleDomePreBattleRoom/header.inc index e35435b275..59b5b15e4a 100644 --- a/data/maps/BattleFrontier_BattleDomePreBattleRoom/header.inc +++ b/data/maps/BattleFrontier_BattleDomePreBattleRoom/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleDomePreBattleRoom: @ 848536C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/header.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/header.inc index cef72bc09a..960fef2eb4 100644 --- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/header.inc +++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleFactoryBattleRoom: @ 84854D8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleFactoryLobby/header.inc b/data/maps/BattleFrontier_BattleFactoryLobby/header.inc index d56a2a23d5..92329c6ef5 100644 --- a/data/maps/BattleFrontier_BattleFactoryLobby/header.inc +++ b/data/maps/BattleFrontier_BattleFactoryLobby/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleFactoryLobby: @ 84854A0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/header.inc b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/header.inc index 3dc5d23cce..4cae9ed0c7 100644 --- a/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/header.inc +++ b/data/maps/BattleFrontier_BattleFactoryPreBattleRoom/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleFactoryPreBattleRoom: @ 84854BC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/header.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/header.inc index d63d3b2682..2715ade5c7 100644 --- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/header.inc +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattlePalaceBattleRoom: @ 84853DC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattlePalaceCorridor/header.inc b/data/maps/BattleFrontier_BattlePalaceCorridor/header.inc index ff8af8ca85..f2866b9b0d 100644 --- a/data/maps/BattleFrontier_BattlePalaceCorridor/header.inc +++ b/data/maps/BattleFrontier_BattlePalaceCorridor/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattlePalaceCorridor: @ 84853C0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattlePalaceLobby/header.inc b/data/maps/BattleFrontier_BattlePalaceLobby/header.inc index 060013cce1..19d06e0be6 100644 --- a/data/maps/BattleFrontier_BattlePalaceLobby/header.inc +++ b/data/maps/BattleFrontier_BattlePalaceLobby/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattlePalaceLobby: @ 84853A4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattlePikeCorridor/header.inc b/data/maps/BattleFrontier_BattlePikeCorridor/header.inc index 574d0cbab0..07d7305798 100644 --- a/data/maps/BattleFrontier_BattlePikeCorridor/header.inc +++ b/data/maps/BattleFrontier_BattlePikeCorridor/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattlePikeCorridor: @ 8485510 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 4 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattlePikeLobby/header.inc b/data/maps/BattleFrontier_BattlePikeLobby/header.inc index 239c317211..e591be668f 100644 --- a/data/maps/BattleFrontier_BattlePikeLobby/header.inc +++ b/data/maps/BattleFrontier_BattlePikeLobby/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattlePikeLobby: @ 84854F4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/header.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom1/header.inc index dcb088c272..d49bb07d5d 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom1/header.inc +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom1/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattlePikeRandomRoom1: @ 8485548 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 4 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom2/header.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom2/header.inc index 1ee69c0778..506a31496b 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom2/header.inc +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom2/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattlePikeRandomRoom2: @ 8485564 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 4 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom3/header.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom3/header.inc index 68ca305469..3f5607922d 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom3/header.inc +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom3/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattlePikeRandomRoom3: @ 8485580 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 4 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattlePikeThreePathRoom/header.inc b/data/maps/BattleFrontier_BattlePikeThreePathRoom/header.inc index 5e0afedb5f..9743a7c365 100644 --- a/data/maps/BattleFrontier_BattlePikeThreePathRoom/header.inc +++ b/data/maps/BattleFrontier_BattlePikeThreePathRoom/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattlePikeThreePathRoom: @ 848552C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 4 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/header.inc b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/header.inc index ccaa1cbca6..831a39d2a5 100644 --- a/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/header.inc +++ b/data/maps/BattleFrontier_BattlePointExchangeServiceCorner/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattlePointExchangeServiceCorner: @ 84855D4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattlePyramidEmptySquare/header.inc b/data/maps/BattleFrontier_BattlePyramidEmptySquare/header.inc index a92f009dd0..ef5c8409f8 100644 --- a/data/maps/BattleFrontier_BattlePyramidEmptySquare/header.inc +++ b/data/maps/BattleFrontier_BattlePyramidEmptySquare/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattlePyramidEmptySquare: @ 8485414 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 4 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattlePyramidLobby/header.inc b/data/maps/BattleFrontier_BattlePyramidLobby/header.inc index 6da3143043..91d454fbe4 100644 --- a/data/maps/BattleFrontier_BattlePyramidLobby/header.inc +++ b/data/maps/BattleFrontier_BattlePyramidLobby/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattlePyramidLobby: @ 84853F8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattlePyramidTop/header.inc b/data/maps/BattleFrontier_BattlePyramidTop/header.inc index 28de39cad9..d58e1fe81e 100644 --- a/data/maps/BattleFrontier_BattlePyramidTop/header.inc +++ b/data/maps/BattleFrontier_BattlePyramidTop/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattlePyramidTop: @ 8485430 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 4 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/header.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/header.inc index 797022beb4..5aa95a63e8 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom/header.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleTowerBattleRoom: @ 848521C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/header.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/header.inc index 90ae26c25e..34a8fae84e 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/header.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom2/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleTowerBattleRoom2: @ 8485318 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/BattleFrontier_BattleTowerCorridor/header.inc b/data/maps/BattleFrontier_BattleTowerCorridor/header.inc index bd2d38b378..8d920a8c8b 100644 --- a/data/maps/BattleFrontier_BattleTowerCorridor/header.inc +++ b/data/maps/BattleFrontier_BattleTowerCorridor/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleTowerCorridor: @ 8485200 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/header.inc b/data/maps/BattleFrontier_BattleTowerCorridor2/header.inc index 94e46b1968..66255315f4 100644 --- a/data/maps/BattleFrontier_BattleTowerCorridor2/header.inc +++ b/data/maps/BattleFrontier_BattleTowerCorridor2/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleTowerCorridor2: @ 84852FC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleTowerElevator/header.inc b/data/maps/BattleFrontier_BattleTowerElevator/header.inc index fa1e08fafa..f8d9ff8538 100644 --- a/data/maps/BattleFrontier_BattleTowerElevator/header.inc +++ b/data/maps/BattleFrontier_BattleTowerElevator/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleTowerElevator: @ 84851E4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleTowerLobby/header.inc b/data/maps/BattleFrontier_BattleTowerLobby/header.inc index e16e2a7003..989bffe9b6 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/header.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleTowerLobby: @ 84851C8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/header.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/header.inc index 727322b941..23a792934b 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/header.inc +++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/header.inc @@ -10,6 +10,6 @@ BattleFrontier_BattleTowerMultiBattleRoom: @ 84852E0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 4 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_Lounge1/header.inc b/data/maps/BattleFrontier_Lounge1/header.inc index a4cf64a781..58caac9039 100644 --- a/data/maps/BattleFrontier_Lounge1/header.inc +++ b/data/maps/BattleFrontier_Lounge1/header.inc @@ -10,6 +10,6 @@ BattleFrontier_Lounge1: @ 84855B8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_Lounge2/header.inc b/data/maps/BattleFrontier_Lounge2/header.inc index c363d54bf9..effcc53bda 100644 --- a/data/maps/BattleFrontier_Lounge2/header.inc +++ b/data/maps/BattleFrontier_Lounge2/header.inc @@ -10,6 +10,6 @@ BattleFrontier_Lounge2: @ 84855F0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_Lounge3/header.inc b/data/maps/BattleFrontier_Lounge3/header.inc index e5649a3695..d6867551e8 100644 --- a/data/maps/BattleFrontier_Lounge3/header.inc +++ b/data/maps/BattleFrontier_Lounge3/header.inc @@ -10,6 +10,6 @@ BattleFrontier_Lounge3: @ 848560C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_Lounge4/header.inc b/data/maps/BattleFrontier_Lounge4/header.inc index a9da9677cf..912cc41ff6 100644 --- a/data/maps/BattleFrontier_Lounge4/header.inc +++ b/data/maps/BattleFrontier_Lounge4/header.inc @@ -10,6 +10,6 @@ BattleFrontier_Lounge4: @ 8485628 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_Lounge5/header.inc b/data/maps/BattleFrontier_Lounge5/header.inc index 7f1142f2d0..a6febc0c86 100644 --- a/data/maps/BattleFrontier_Lounge5/header.inc +++ b/data/maps/BattleFrontier_Lounge5/header.inc @@ -10,6 +10,6 @@ BattleFrontier_Lounge5: @ 8485660 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_Lounge6/header.inc b/data/maps/BattleFrontier_Lounge6/header.inc index e07dd297f6..151890a147 100644 --- a/data/maps/BattleFrontier_Lounge6/header.inc +++ b/data/maps/BattleFrontier_Lounge6/header.inc @@ -10,6 +10,6 @@ BattleFrontier_Lounge6: @ 848567C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_Lounge7/header.inc b/data/maps/BattleFrontier_Lounge7/header.inc index 22797d04e4..061d2102c8 100644 --- a/data/maps/BattleFrontier_Lounge7/header.inc +++ b/data/maps/BattleFrontier_Lounge7/header.inc @@ -10,6 +10,6 @@ BattleFrontier_Lounge7: @ 8485698 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_Lounge8/header.inc b/data/maps/BattleFrontier_Lounge8/header.inc index 5494c964fd..e1b319e1d5 100644 --- a/data/maps/BattleFrontier_Lounge8/header.inc +++ b/data/maps/BattleFrontier_Lounge8/header.inc @@ -10,6 +10,6 @@ BattleFrontier_Lounge8: @ 84856D0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_Lounge9/header.inc b/data/maps/BattleFrontier_Lounge9/header.inc index 5248720c75..916feb5699 100644 --- a/data/maps/BattleFrontier_Lounge9/header.inc +++ b/data/maps/BattleFrontier_Lounge9/header.inc @@ -10,6 +10,6 @@ BattleFrontier_Lounge9: @ 84856EC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_Mart/header.inc b/data/maps/BattleFrontier_Mart/header.inc index 4b3e7f79ad..7dcfb9d33e 100644 --- a/data/maps/BattleFrontier_Mart/header.inc +++ b/data/maps/BattleFrontier_Mart/header.inc @@ -10,6 +10,6 @@ BattleFrontier_Mart: @ 8485740 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_OutsideEast/header.inc b/data/maps/BattleFrontier_OutsideEast/header.inc index a30a148c25..b67df4029b 100644 --- a/data/maps/BattleFrontier_OutsideEast/header.inc +++ b/data/maps/BattleFrontier_OutsideEast/header.inc @@ -10,6 +10,6 @@ BattleFrontier_OutsideEast: @ 84852C4 .byte WEATHER_NONE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_OutsideWest/header.inc b/data/maps/BattleFrontier_OutsideWest/header.inc index a42ac30ff2..312c1961ab 100644 --- a/data/maps/BattleFrontier_OutsideWest/header.inc +++ b/data/maps/BattleFrontier_OutsideWest/header.inc @@ -10,6 +10,6 @@ BattleFrontier_OutsideWest: @ 84851AC .byte WEATHER_NONE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_PokemonCenter_1F/header.inc b/data/maps/BattleFrontier_PokemonCenter_1F/header.inc index a136e803da..dcf26742c0 100644 --- a/data/maps/BattleFrontier_PokemonCenter_1F/header.inc +++ b/data/maps/BattleFrontier_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ BattleFrontier_PokemonCenter_1F: @ 8485708 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_PokemonCenter_2F/header.inc b/data/maps/BattleFrontier_PokemonCenter_2F/header.inc index 4cd607aefa..6bcff1234b 100644 --- a/data/maps/BattleFrontier_PokemonCenter_2F/header.inc +++ b/data/maps/BattleFrontier_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ BattleFrontier_PokemonCenter_2F: @ 8485724 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_RankingHall/header.inc b/data/maps/BattleFrontier_RankingHall/header.inc index 6fcb187edf..03d9e36222 100644 --- a/data/maps/BattleFrontier_RankingHall/header.inc +++ b/data/maps/BattleFrontier_RankingHall/header.inc @@ -10,6 +10,6 @@ BattleFrontier_RankingHall: @ 848559C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_ReceptionGate/header.inc b/data/maps/BattleFrontier_ReceptionGate/header.inc index 88f806e83f..099ab38e14 100644 --- a/data/maps/BattleFrontier_ReceptionGate/header.inc +++ b/data/maps/BattleFrontier_ReceptionGate/header.inc @@ -10,6 +10,6 @@ BattleFrontier_ReceptionGate: @ 84856B4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattleFrontier_ScottsHouse/header.inc b/data/maps/BattleFrontier_ScottsHouse/header.inc index 0fbbb55e33..fe55f82726 100644 --- a/data/maps/BattleFrontier_ScottsHouse/header.inc +++ b/data/maps/BattleFrontier_ScottsHouse/header.inc @@ -10,6 +10,6 @@ BattleFrontier_ScottsHouse: @ 8485644 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BattlePyramidSquare01/header.inc b/data/maps/BattlePyramidSquare01/header.inc index bcbc06c90b..d9105ed4aa 100644 --- a/data/maps/BattlePyramidSquare01/header.inc +++ b/data/maps/BattlePyramidSquare01/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare01: @ 8484F60 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare02/header.inc b/data/maps/BattlePyramidSquare02/header.inc index 24255ea1a2..cebb14906e 100644 --- a/data/maps/BattlePyramidSquare02/header.inc +++ b/data/maps/BattlePyramidSquare02/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare02: @ 8484F7C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare03/header.inc b/data/maps/BattlePyramidSquare03/header.inc index 21e15dc82c..389cd65387 100644 --- a/data/maps/BattlePyramidSquare03/header.inc +++ b/data/maps/BattlePyramidSquare03/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare03: @ 8484F98 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare04/header.inc b/data/maps/BattlePyramidSquare04/header.inc index fae10152a5..3b09fce2e6 100644 --- a/data/maps/BattlePyramidSquare04/header.inc +++ b/data/maps/BattlePyramidSquare04/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare04: @ 8484FB4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare05/header.inc b/data/maps/BattlePyramidSquare05/header.inc index 17e05fc199..ec6eff68c6 100644 --- a/data/maps/BattlePyramidSquare05/header.inc +++ b/data/maps/BattlePyramidSquare05/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare05: @ 8484FD0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare06/header.inc b/data/maps/BattlePyramidSquare06/header.inc index 9a1543a337..7890c30886 100644 --- a/data/maps/BattlePyramidSquare06/header.inc +++ b/data/maps/BattlePyramidSquare06/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare06: @ 8484FEC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare07/header.inc b/data/maps/BattlePyramidSquare07/header.inc index 78d3cf7f49..7f1bb51f1e 100644 --- a/data/maps/BattlePyramidSquare07/header.inc +++ b/data/maps/BattlePyramidSquare07/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare07: @ 8485008 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare08/header.inc b/data/maps/BattlePyramidSquare08/header.inc index de960bab0c..a5d6415198 100644 --- a/data/maps/BattlePyramidSquare08/header.inc +++ b/data/maps/BattlePyramidSquare08/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare08: @ 8485024 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare09/header.inc b/data/maps/BattlePyramidSquare09/header.inc index 96b2beb370..d396c65a66 100644 --- a/data/maps/BattlePyramidSquare09/header.inc +++ b/data/maps/BattlePyramidSquare09/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare09: @ 8485040 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare10/header.inc b/data/maps/BattlePyramidSquare10/header.inc index 37901889fc..254c24708d 100644 --- a/data/maps/BattlePyramidSquare10/header.inc +++ b/data/maps/BattlePyramidSquare10/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare10: @ 848505C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare11/header.inc b/data/maps/BattlePyramidSquare11/header.inc index c188ecb869..765b74a0ad 100644 --- a/data/maps/BattlePyramidSquare11/header.inc +++ b/data/maps/BattlePyramidSquare11/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare11: @ 8485078 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare12/header.inc b/data/maps/BattlePyramidSquare12/header.inc index 11e6c7b989..e81801a353 100644 --- a/data/maps/BattlePyramidSquare12/header.inc +++ b/data/maps/BattlePyramidSquare12/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare12: @ 8485094 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare13/header.inc b/data/maps/BattlePyramidSquare13/header.inc index 2f5746143d..356063c357 100644 --- a/data/maps/BattlePyramidSquare13/header.inc +++ b/data/maps/BattlePyramidSquare13/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare13: @ 84850B0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare14/header.inc b/data/maps/BattlePyramidSquare14/header.inc index 5926a9d2ac..76ae3925cd 100644 --- a/data/maps/BattlePyramidSquare14/header.inc +++ b/data/maps/BattlePyramidSquare14/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare14: @ 84850CC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare15/header.inc b/data/maps/BattlePyramidSquare15/header.inc index e65db912d7..57e45e1b2b 100644 --- a/data/maps/BattlePyramidSquare15/header.inc +++ b/data/maps/BattlePyramidSquare15/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare15: @ 84850E8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BattlePyramidSquare16/header.inc b/data/maps/BattlePyramidSquare16/header.inc index f8f97b671f..24aa3edcc2 100644 --- a/data/maps/BattlePyramidSquare16/header.inc +++ b/data/maps/BattlePyramidSquare16/header.inc @@ -10,6 +10,6 @@ BattlePyramidSquare16: @ 8485104 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/BirthIsland_Exterior/header.inc b/data/maps/BirthIsland_Exterior/header.inc index dabad3a713..c6b02f600b 100644 --- a/data/maps/BirthIsland_Exterior/header.inc +++ b/data/maps/BirthIsland_Exterior/header.inc @@ -10,6 +10,6 @@ BirthIsland_Exterior: @ 8485794 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/BirthIsland_Harbor/header.inc b/data/maps/BirthIsland_Harbor/header.inc index f2493d7386..82b752f90f 100644 --- a/data/maps/BirthIsland_Harbor/header.inc +++ b/data/maps/BirthIsland_Harbor/header.inc @@ -10,6 +10,6 @@ BirthIsland_Harbor: @ 84857B0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/CaveOfOrigin_1F/header.inc b/data/maps/CaveOfOrigin_1F/header.inc index 384d08bd7f..f051c230cd 100644 --- a/data/maps/CaveOfOrigin_1F/header.inc +++ b/data/maps/CaveOfOrigin_1F/header.inc @@ -10,6 +10,6 @@ CaveOfOrigin_1F: @ 84842E8 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/CaveOfOrigin_B1F/header.inc b/data/maps/CaveOfOrigin_B1F/header.inc index d8dab3bea9..7b70ba43f2 100644 --- a/data/maps/CaveOfOrigin_B1F/header.inc +++ b/data/maps/CaveOfOrigin_B1F/header.inc @@ -10,6 +10,6 @@ CaveOfOrigin_B1F: @ 8484358 .byte WEATHER_FOG_1 .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 14 + map_header_flags allow_bike=0, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/CaveOfOrigin_Entrance/header.inc b/data/maps/CaveOfOrigin_Entrance/header.inc index d42f912da8..af622019a2 100644 --- a/data/maps/CaveOfOrigin_Entrance/header.inc +++ b/data/maps/CaveOfOrigin_Entrance/header.inc @@ -10,6 +10,6 @@ CaveOfOrigin_Entrance: @ 84842CC .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/header.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/header.inc index b8edb52bca..6b928bb3cc 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/header.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap1/header.inc @@ -10,6 +10,6 @@ CaveOfOrigin_UnusedRubySapphireMap1: @ 8484304 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/header.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/header.inc index 8d0f838923..0088131dc8 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/header.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap2/header.inc @@ -10,6 +10,6 @@ CaveOfOrigin_UnusedRubySapphireMap2: @ 8484320 .byte WEATHER_FOG_1 .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/header.inc b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/header.inc index 00e07549e0..75bd4189ea 100644 --- a/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/header.inc +++ b/data/maps/CaveOfOrigin_UnusedRubySapphireMap3/header.inc @@ -10,6 +10,6 @@ CaveOfOrigin_UnusedRubySapphireMap3: @ 848433C .byte WEATHER_FOG_1 .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/DesertRuins/header.inc b/data/maps/DesertRuins/header.inc index 16e2ce55af..c717661f4d 100644 --- a/data/maps/DesertRuins/header.inc +++ b/data/maps/DesertRuins/header.inc @@ -10,6 +10,6 @@ DesertRuins: @ 8483F68 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/DesertUnderpass/header.inc b/data/maps/DesertUnderpass/header.inc index c4f3a05c70..757d81e73e 100644 --- a/data/maps/DesertUnderpass/header.inc +++ b/data/maps/DesertUnderpass/header.inc @@ -10,6 +10,6 @@ DesertUnderpass: @ 8484978 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/DewfordTown/header.inc b/data/maps/DewfordTown/header.inc index c905fd6068..9314f753fb 100644 --- a/data/maps/DewfordTown/header.inc +++ b/data/maps/DewfordTown/header.inc @@ -10,6 +10,6 @@ DewfordTown: @ 84825EC .byte WEATHER_SUNNY .byte MAP_TYPE_TOWN .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/DewfordTown_Gym/header.inc b/data/maps/DewfordTown_Gym/header.inc index 4463cc40e5..783a7eacc6 100644 --- a/data/maps/DewfordTown_Gym/header.inc +++ b/data/maps/DewfordTown_Gym/header.inc @@ -10,6 +10,6 @@ DewfordTown_Gym: @ 8482C60 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/DewfordTown_Hall/header.inc b/data/maps/DewfordTown_Hall/header.inc index 1ba44b49de..600b027631 100644 --- a/data/maps/DewfordTown_Hall/header.inc +++ b/data/maps/DewfordTown_Hall/header.inc @@ -10,6 +10,6 @@ DewfordTown_Hall: @ 8482C7C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/DewfordTown_House1/header.inc b/data/maps/DewfordTown_House1/header.inc index 219c70fc3a..cfaaaa698f 100644 --- a/data/maps/DewfordTown_House1/header.inc +++ b/data/maps/DewfordTown_House1/header.inc @@ -10,6 +10,6 @@ DewfordTown_House1: @ 8482C0C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/DewfordTown_House2/header.inc b/data/maps/DewfordTown_House2/header.inc index 248b7a9902..2f9a36cf8f 100644 --- a/data/maps/DewfordTown_House2/header.inc +++ b/data/maps/DewfordTown_House2/header.inc @@ -10,6 +10,6 @@ DewfordTown_House2: @ 8482C98 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/DewfordTown_PokemonCenter_1F/header.inc b/data/maps/DewfordTown_PokemonCenter_1F/header.inc index 6813134f93..ae98bd680b 100644 --- a/data/maps/DewfordTown_PokemonCenter_1F/header.inc +++ b/data/maps/DewfordTown_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ DewfordTown_PokemonCenter_1F: @ 8482C28 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/DewfordTown_PokemonCenter_2F/header.inc b/data/maps/DewfordTown_PokemonCenter_2F/header.inc index 43485dcad2..bb46a43d04 100644 --- a/data/maps/DewfordTown_PokemonCenter_2F/header.inc +++ b/data/maps/DewfordTown_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ DewfordTown_PokemonCenter_2F: @ 8482C44 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/DoubleBattleColosseum/header.inc b/data/maps/DoubleBattleColosseum/header.inc index 6bfc003936..032ef58ab3 100644 --- a/data/maps/DoubleBattleColosseum/header.inc +++ b/data/maps/DoubleBattleColosseum/header.inc @@ -10,6 +10,6 @@ DoubleBattleColosseum: @ 8484D84 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/EverGrandeCity/header.inc b/data/maps/EverGrandeCity/header.inc index 2bebe5d125..b1ee8e3a43 100644 --- a/data/maps/EverGrandeCity/header.inc +++ b/data/maps/EverGrandeCity/header.inc @@ -10,6 +10,6 @@ EverGrandeCity: @ 8482598 .byte WEATHER_SUNNY .byte MAP_TYPE_CITY .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/EverGrandeCity_ChampionsRoom/header.inc b/data/maps/EverGrandeCity_ChampionsRoom/header.inc index 03ab762db4..bd2ab305f3 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/header.inc +++ b/data/maps/EverGrandeCity_ChampionsRoom/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_ChampionsRoom: @ 8483C3C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/EverGrandeCity_DrakesRoom/header.inc b/data/maps/EverGrandeCity_DrakesRoom/header.inc index fedc35c76a..da5c8fa476 100644 --- a/data/maps/EverGrandeCity_DrakesRoom/header.inc +++ b/data/maps/EverGrandeCity_DrakesRoom/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_DrakesRoom: @ 8483C20 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_DRAKE diff --git a/data/maps/EverGrandeCity_GlaciasRoom/header.inc b/data/maps/EverGrandeCity_GlaciasRoom/header.inc index dd23d11efd..0773a613ec 100644 --- a/data/maps/EverGrandeCity_GlaciasRoom/header.inc +++ b/data/maps/EverGrandeCity_GlaciasRoom/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_GlaciasRoom: @ 8483C04 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GLACIA diff --git a/data/maps/EverGrandeCity_Hall1/header.inc b/data/maps/EverGrandeCity_Hall1/header.inc index b055ba8b17..d554ff768b 100644 --- a/data/maps/EverGrandeCity_Hall1/header.inc +++ b/data/maps/EverGrandeCity_Hall1/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_Hall1: @ 8483C58 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/EverGrandeCity_Hall2/header.inc b/data/maps/EverGrandeCity_Hall2/header.inc index a80a688e0b..646478a25d 100644 --- a/data/maps/EverGrandeCity_Hall2/header.inc +++ b/data/maps/EverGrandeCity_Hall2/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_Hall2: @ 8483C74 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/EverGrandeCity_Hall3/header.inc b/data/maps/EverGrandeCity_Hall3/header.inc index 18a9d90dcd..d7beaf36e4 100644 --- a/data/maps/EverGrandeCity_Hall3/header.inc +++ b/data/maps/EverGrandeCity_Hall3/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_Hall3: @ 8483C90 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/EverGrandeCity_Hall4/header.inc b/data/maps/EverGrandeCity_Hall4/header.inc index 1aeb8e6a2d..8cf1eea6e9 100644 --- a/data/maps/EverGrandeCity_Hall4/header.inc +++ b/data/maps/EverGrandeCity_Hall4/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_Hall4: @ 8483CAC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/EverGrandeCity_Hall5/header.inc b/data/maps/EverGrandeCity_Hall5/header.inc index dd82e6b569..38279720eb 100644 --- a/data/maps/EverGrandeCity_Hall5/header.inc +++ b/data/maps/EverGrandeCity_Hall5/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_Hall5: @ 8483CC8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/EverGrandeCity_HallOfFame/header.inc b/data/maps/EverGrandeCity_HallOfFame/header.inc index c575b2f08f..865f90b91a 100644 --- a/data/maps/EverGrandeCity_HallOfFame/header.inc +++ b/data/maps/EverGrandeCity_HallOfFame/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_HallOfFame: @ 8483D00 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/EverGrandeCity_PhoebesRoom/header.inc b/data/maps/EverGrandeCity_PhoebesRoom/header.inc index 64bcaec0da..eb0d77d7bd 100644 --- a/data/maps/EverGrandeCity_PhoebesRoom/header.inc +++ b/data/maps/EverGrandeCity_PhoebesRoom/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_PhoebesRoom: @ 8483BE8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_PHOEBE diff --git a/data/maps/EverGrandeCity_PokemonCenter_1F/header.inc b/data/maps/EverGrandeCity_PokemonCenter_1F/header.inc index 46af6f51e1..2923564720 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_1F/header.inc +++ b/data/maps/EverGrandeCity_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_PokemonCenter_1F: @ 8483D1C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/EverGrandeCity_PokemonCenter_2F/header.inc b/data/maps/EverGrandeCity_PokemonCenter_2F/header.inc index 163663bb98..ec9f3e5425 100644 --- a/data/maps/EverGrandeCity_PokemonCenter_2F/header.inc +++ b/data/maps/EverGrandeCity_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_PokemonCenter_2F: @ 8483D38 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/EverGrandeCity_PokemonLeague_1F/header.inc b/data/maps/EverGrandeCity_PokemonLeague_1F/header.inc index c6a86baa50..90a42edea2 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_1F/header.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_1F/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_PokemonLeague_1F: @ 8483CE4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/EverGrandeCity_PokemonLeague_2F/header.inc b/data/maps/EverGrandeCity_PokemonLeague_2F/header.inc index 61370c18d4..4d9ee7f460 100644 --- a/data/maps/EverGrandeCity_PokemonLeague_2F/header.inc +++ b/data/maps/EverGrandeCity_PokemonLeague_2F/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_PokemonLeague_2F: @ 8483D54 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/EverGrandeCity_SidneysRoom/header.inc b/data/maps/EverGrandeCity_SidneysRoom/header.inc index ce3356a954..b19db5fbb2 100644 --- a/data/maps/EverGrandeCity_SidneysRoom/header.inc +++ b/data/maps/EverGrandeCity_SidneysRoom/header.inc @@ -10,6 +10,6 @@ EverGrandeCity_SidneysRoom: @ 8483BCC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_SIDNEY diff --git a/data/maps/FallarborTown/header.inc b/data/maps/FallarborTown/header.inc index 0c2053b8bd..f32f0c30b5 100644 --- a/data/maps/FallarborTown/header.inc +++ b/data/maps/FallarborTown/header.inc @@ -10,6 +10,6 @@ FallarborTown: @ 8482624 .byte WEATHER_SUNNY .byte MAP_TYPE_TOWN .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/header.inc b/data/maps/FallarborTown_BattleTentBattleRoom/header.inc index 81dbad44ac..3435512f25 100644 --- a/data/maps/FallarborTown_BattleTentBattleRoom/header.inc +++ b/data/maps/FallarborTown_BattleTentBattleRoom/header.inc @@ -10,6 +10,6 @@ FallarborTown_BattleTentBattleRoom: @ 8482DCC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FallarborTown_BattleTentCorridor/header.inc b/data/maps/FallarborTown_BattleTentCorridor/header.inc index 4e9484d11b..4b45ea55dd 100644 --- a/data/maps/FallarborTown_BattleTentCorridor/header.inc +++ b/data/maps/FallarborTown_BattleTentCorridor/header.inc @@ -10,6 +10,6 @@ FallarborTown_BattleTentCorridor: @ 8482DB0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FallarborTown_BattleTentLobby/header.inc b/data/maps/FallarborTown_BattleTentLobby/header.inc index 416d700d04..2465f36c8b 100644 --- a/data/maps/FallarborTown_BattleTentLobby/header.inc +++ b/data/maps/FallarborTown_BattleTentLobby/header.inc @@ -10,6 +10,6 @@ FallarborTown_BattleTentLobby: @ 8482D94 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FallarborTown_House1/header.inc b/data/maps/FallarborTown_House1/header.inc index aa182e2ed8..d5362b8c5c 100644 --- a/data/maps/FallarborTown_House1/header.inc +++ b/data/maps/FallarborTown_House1/header.inc @@ -10,6 +10,6 @@ FallarborTown_House1: @ 8482E20 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FallarborTown_House2/header.inc b/data/maps/FallarborTown_House2/header.inc index c8c22eacf3..7cb16bbf36 100644 --- a/data/maps/FallarborTown_House2/header.inc +++ b/data/maps/FallarborTown_House2/header.inc @@ -10,6 +10,6 @@ FallarborTown_House2: @ 8482E3C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FallarborTown_Mart/header.inc b/data/maps/FallarborTown_Mart/header.inc index 3119638bf6..65c5caaa60 100644 --- a/data/maps/FallarborTown_Mart/header.inc +++ b/data/maps/FallarborTown_Mart/header.inc @@ -10,6 +10,6 @@ FallarborTown_Mart: @ 8482D78 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FallarborTown_PokemonCenter_1F/header.inc b/data/maps/FallarborTown_PokemonCenter_1F/header.inc index 65df98a81e..b30b4874f1 100644 --- a/data/maps/FallarborTown_PokemonCenter_1F/header.inc +++ b/data/maps/FallarborTown_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ FallarborTown_PokemonCenter_1F: @ 8482DE8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FallarborTown_PokemonCenter_2F/header.inc b/data/maps/FallarborTown_PokemonCenter_2F/header.inc index 5308b4e098..b818368bfa 100644 --- a/data/maps/FallarborTown_PokemonCenter_2F/header.inc +++ b/data/maps/FallarborTown_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ FallarborTown_PokemonCenter_2F: @ 8482E04 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FarawayIsland_Entrance/header.inc b/data/maps/FarawayIsland_Entrance/header.inc index e06051d7e1..af762d8329 100644 --- a/data/maps/FarawayIsland_Entrance/header.inc +++ b/data/maps/FarawayIsland_Entrance/header.inc @@ -10,6 +10,6 @@ FarawayIsland_Entrance: @ 848575C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FarawayIsland_Interior/header.inc b/data/maps/FarawayIsland_Interior/header.inc index b45ac71c36..c37bacece6 100644 --- a/data/maps/FarawayIsland_Interior/header.inc +++ b/data/maps/FarawayIsland_Interior/header.inc @@ -10,6 +10,6 @@ FarawayIsland_Interior: @ 8485778 .byte WEATHER_SHADE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FieryPath/header.inc b/data/maps/FieryPath/header.inc index 3c9f51bc12..20278028f7 100644 --- a/data/maps/FieryPath/header.inc +++ b/data/maps/FieryPath/header.inc @@ -10,6 +10,6 @@ FieryPath: @ 8484048 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FortreeCity/header.inc b/data/maps/FortreeCity/header.inc index 3f671fb6c9..0bfccda3ce 100644 --- a/data/maps/FortreeCity/header.inc +++ b/data/maps/FortreeCity/header.inc @@ -10,6 +10,6 @@ FortreeCity: @ 8482528 .byte WEATHER_SUNNY .byte MAP_TYPE_CITY .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FortreeCity_DecorationShop/header.inc b/data/maps/FortreeCity_DecorationShop/header.inc index 651b374887..4a640a8ada 100644 --- a/data/maps/FortreeCity_DecorationShop/header.inc +++ b/data/maps/FortreeCity_DecorationShop/header.inc @@ -10,6 +10,6 @@ FortreeCity_DecorationShop: @ 848361C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FortreeCity_Gym/header.inc b/data/maps/FortreeCity_Gym/header.inc index 54a45633dc..68f02747fc 100644 --- a/data/maps/FortreeCity_Gym/header.inc +++ b/data/maps/FortreeCity_Gym/header.inc @@ -10,6 +10,6 @@ FortreeCity_Gym: @ 848353C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/FortreeCity_House1/header.inc b/data/maps/FortreeCity_House1/header.inc index 1c106b8f54..1b52dd7259 100644 --- a/data/maps/FortreeCity_House1/header.inc +++ b/data/maps/FortreeCity_House1/header.inc @@ -10,6 +10,6 @@ FortreeCity_House1: @ 8483520 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FortreeCity_House2/header.inc b/data/maps/FortreeCity_House2/header.inc index 1e20a0227e..02b76c3941 100644 --- a/data/maps/FortreeCity_House2/header.inc +++ b/data/maps/FortreeCity_House2/header.inc @@ -10,6 +10,6 @@ FortreeCity_House2: @ 84835AC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FortreeCity_House3/header.inc b/data/maps/FortreeCity_House3/header.inc index f2d53219a1..1b039c24e8 100644 --- a/data/maps/FortreeCity_House3/header.inc +++ b/data/maps/FortreeCity_House3/header.inc @@ -10,6 +10,6 @@ FortreeCity_House3: @ 84835C8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FortreeCity_House4/header.inc b/data/maps/FortreeCity_House4/header.inc index efc5f06bed..e675e063b2 100644 --- a/data/maps/FortreeCity_House4/header.inc +++ b/data/maps/FortreeCity_House4/header.inc @@ -10,6 +10,6 @@ FortreeCity_House4: @ 84835E4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FortreeCity_House5/header.inc b/data/maps/FortreeCity_House5/header.inc index c4d07f46be..bac2fff5ba 100644 --- a/data/maps/FortreeCity_House5/header.inc +++ b/data/maps/FortreeCity_House5/header.inc @@ -10,6 +10,6 @@ FortreeCity_House5: @ 8483600 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FortreeCity_Mart/header.inc b/data/maps/FortreeCity_Mart/header.inc index 5179187bec..37af953ab8 100644 --- a/data/maps/FortreeCity_Mart/header.inc +++ b/data/maps/FortreeCity_Mart/header.inc @@ -10,6 +10,6 @@ FortreeCity_Mart: @ 8483590 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FortreeCity_PokemonCenter_1F/header.inc b/data/maps/FortreeCity_PokemonCenter_1F/header.inc index 9f2b78dd4c..f2fdf37695 100644 --- a/data/maps/FortreeCity_PokemonCenter_1F/header.inc +++ b/data/maps/FortreeCity_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ FortreeCity_PokemonCenter_1F: @ 8483558 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/FortreeCity_PokemonCenter_2F/header.inc b/data/maps/FortreeCity_PokemonCenter_2F/header.inc index ccfc5bd09b..1ad4484d92 100644 --- a/data/maps/FortreeCity_PokemonCenter_2F/header.inc +++ b/data/maps/FortreeCity_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ FortreeCity_PokemonCenter_2F: @ 8483574 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/GraniteCave_1F/header.inc b/data/maps/GraniteCave_1F/header.inc index 4a754207b3..7578523b26 100644 --- a/data/maps/GraniteCave_1F/header.inc +++ b/data/maps/GraniteCave_1F/header.inc @@ -10,6 +10,6 @@ GraniteCave_1F: @ 8483F84 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/GraniteCave_B1F/header.inc b/data/maps/GraniteCave_B1F/header.inc index beb7fdb83a..64187397c9 100644 --- a/data/maps/GraniteCave_B1F/header.inc +++ b/data/maps/GraniteCave_B1F/header.inc @@ -10,6 +10,6 @@ GraniteCave_B1F: @ 8483FA0 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/GraniteCave_B2F/header.inc b/data/maps/GraniteCave_B2F/header.inc index 0eb017bc42..4fd519156d 100644 --- a/data/maps/GraniteCave_B2F/header.inc +++ b/data/maps/GraniteCave_B2F/header.inc @@ -10,6 +10,6 @@ GraniteCave_B2F: @ 8483FBC .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/GraniteCave_StevensRoom/header.inc b/data/maps/GraniteCave_StevensRoom/header.inc index 78df1ff837..0bd8e41b20 100644 --- a/data/maps/GraniteCave_StevensRoom/header.inc +++ b/data/maps/GraniteCave_StevensRoom/header.inc @@ -10,6 +10,6 @@ GraniteCave_StevensRoom: @ 8483FD8 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/InsideOfTruck/header.inc b/data/maps/InsideOfTruck/header.inc index 51f499ee46..52ea777a9d 100644 --- a/data/maps/InsideOfTruck/header.inc +++ b/data/maps/InsideOfTruck/header.inc @@ -10,6 +10,6 @@ InsideOfTruck: @ 8484EF0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/IslandCave/header.inc b/data/maps/IslandCave/header.inc index a56a3e4d0b..767df72f02 100644 --- a/data/maps/IslandCave/header.inc +++ b/data/maps/IslandCave/header.inc @@ -10,6 +10,6 @@ IslandCave: @ 8484614 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/JaggedPass/header.inc b/data/maps/JaggedPass/header.inc index 797760e918..f53bfbe652 100644 --- a/data/maps/JaggedPass/header.inc +++ b/data/maps/JaggedPass/header.inc @@ -10,6 +10,6 @@ JaggedPass: @ 848402C .byte WEATHER_NONE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LavaridgeTown/header.inc b/data/maps/LavaridgeTown/header.inc index 006896453f..6ea1e048ce 100644 --- a/data/maps/LavaridgeTown/header.inc +++ b/data/maps/LavaridgeTown/header.inc @@ -10,6 +10,6 @@ LavaridgeTown: @ 8482608 .byte WEATHER_SUNNY .byte MAP_TYPE_TOWN .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LavaridgeTown_Gym_1F/header.inc b/data/maps/LavaridgeTown_Gym_1F/header.inc index 6ea20174ca..86882ed341 100644 --- a/data/maps/LavaridgeTown_Gym_1F/header.inc +++ b/data/maps/LavaridgeTown_Gym_1F/header.inc @@ -10,6 +10,6 @@ LavaridgeTown_Gym_1F: @ 8482CD0 .byte WEATHER_FOG_1 .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/LavaridgeTown_Gym_B1F/header.inc b/data/maps/LavaridgeTown_Gym_B1F/header.inc index 579c1dd3ee..b393e3693c 100644 --- a/data/maps/LavaridgeTown_Gym_B1F/header.inc +++ b/data/maps/LavaridgeTown_Gym_B1F/header.inc @@ -10,6 +10,6 @@ LavaridgeTown_Gym_B1F: @ 8482CEC .byte WEATHER_FOG_1 .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/LavaridgeTown_HerbShop/header.inc b/data/maps/LavaridgeTown_HerbShop/header.inc index 418632b28e..596d13482d 100644 --- a/data/maps/LavaridgeTown_HerbShop/header.inc +++ b/data/maps/LavaridgeTown_HerbShop/header.inc @@ -10,6 +10,6 @@ LavaridgeTown_HerbShop: @ 8482CB4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LavaridgeTown_House/header.inc b/data/maps/LavaridgeTown_House/header.inc index 9a350db799..11bb01e136 100644 --- a/data/maps/LavaridgeTown_House/header.inc +++ b/data/maps/LavaridgeTown_House/header.inc @@ -10,6 +10,6 @@ LavaridgeTown_House: @ 8482D08 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LavaridgeTown_Mart/header.inc b/data/maps/LavaridgeTown_Mart/header.inc index 30683052be..1c3ce0cafe 100644 --- a/data/maps/LavaridgeTown_Mart/header.inc +++ b/data/maps/LavaridgeTown_Mart/header.inc @@ -10,6 +10,6 @@ LavaridgeTown_Mart: @ 8482D24 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LavaridgeTown_PokemonCenter_1F/header.inc b/data/maps/LavaridgeTown_PokemonCenter_1F/header.inc index e657a688a4..0f18f64e9e 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_1F/header.inc +++ b/data/maps/LavaridgeTown_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ LavaridgeTown_PokemonCenter_1F: @ 8482D40 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LavaridgeTown_PokemonCenter_2F/header.inc b/data/maps/LavaridgeTown_PokemonCenter_2F/header.inc index 3d40c93cfd..d66d90b733 100644 --- a/data/maps/LavaridgeTown_PokemonCenter_2F/header.inc +++ b/data/maps/LavaridgeTown_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ LavaridgeTown_PokemonCenter_2F: @ 8482D5C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity/header.inc b/data/maps/LilycoveCity/header.inc index dafbfaccd0..cf3ebf2f5e 100644 --- a/data/maps/LilycoveCity/header.inc +++ b/data/maps/LilycoveCity/header.inc @@ -10,6 +10,6 @@ LilycoveCity: @ 8482544 .byte WEATHER_SUNNY .byte MAP_TYPE_CITY .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_ContestHall/header.inc b/data/maps/LilycoveCity_ContestHall/header.inc index 2049fd74c3..eb07c7d59b 100644 --- a/data/maps/LilycoveCity_ContestHall/header.inc +++ b/data/maps/LilycoveCity_ContestHall/header.inc @@ -10,6 +10,6 @@ LilycoveCity_ContestHall: @ 84836C4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_ContestLobby/header.inc b/data/maps/LilycoveCity_ContestLobby/header.inc index 6aba3e4163..605d594d3c 100644 --- a/data/maps/LilycoveCity_ContestLobby/header.inc +++ b/data/maps/LilycoveCity_ContestLobby/header.inc @@ -10,6 +10,6 @@ LilycoveCity_ContestLobby: @ 84836A8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc b/data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc index a2737b05bc..0322b01e1e 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc +++ b/data/maps/LilycoveCity_CoveLilyMotel_1F/header.inc @@ -10,6 +10,6 @@ LilycoveCity_CoveLilyMotel_1F: @ 8483638 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc b/data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc index 112a6e8d71..92ccdc1b3b 100644 --- a/data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc +++ b/data/maps/LilycoveCity_CoveLilyMotel_2F/header.inc @@ -10,6 +10,6 @@ LilycoveCity_CoveLilyMotel_2F: @ 8483654 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_DepartmentStoreElevator/header.inc b/data/maps/LilycoveCity_DepartmentStoreElevator/header.inc index 0c8cc574d9..eb728241b0 100644 --- a/data/maps/LilycoveCity_DepartmentStoreElevator/header.inc +++ b/data/maps/LilycoveCity_DepartmentStoreElevator/header.inc @@ -10,6 +10,6 @@ LilycoveCity_DepartmentStoreElevator: @ 84838A0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc b/data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc index cd6ded7d68..73ba491c32 100644 --- a/data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc +++ b/data/maps/LilycoveCity_DepartmentStoreRooftop/header.inc @@ -10,6 +10,6 @@ LilycoveCity_DepartmentStoreRooftop: @ 8483884 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_DepartmentStore_1F/header.inc b/data/maps/LilycoveCity_DepartmentStore_1F/header.inc index bae2b837d4..949b23403b 100644 --- a/data/maps/LilycoveCity_DepartmentStore_1F/header.inc +++ b/data/maps/LilycoveCity_DepartmentStore_1F/header.inc @@ -10,6 +10,6 @@ LilycoveCity_DepartmentStore_1F: @ 84837F8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_DepartmentStore_2F/header.inc b/data/maps/LilycoveCity_DepartmentStore_2F/header.inc index 88ca3ece3a..01f94ac14e 100644 --- a/data/maps/LilycoveCity_DepartmentStore_2F/header.inc +++ b/data/maps/LilycoveCity_DepartmentStore_2F/header.inc @@ -10,6 +10,6 @@ LilycoveCity_DepartmentStore_2F: @ 8483814 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_DepartmentStore_3F/header.inc b/data/maps/LilycoveCity_DepartmentStore_3F/header.inc index 1753be637e..bc62df7d66 100644 --- a/data/maps/LilycoveCity_DepartmentStore_3F/header.inc +++ b/data/maps/LilycoveCity_DepartmentStore_3F/header.inc @@ -10,6 +10,6 @@ LilycoveCity_DepartmentStore_3F: @ 8483830 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_DepartmentStore_4F/header.inc b/data/maps/LilycoveCity_DepartmentStore_4F/header.inc index c9b0870fa3..94a8d29c64 100644 --- a/data/maps/LilycoveCity_DepartmentStore_4F/header.inc +++ b/data/maps/LilycoveCity_DepartmentStore_4F/header.inc @@ -10,6 +10,6 @@ LilycoveCity_DepartmentStore_4F: @ 848384C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_DepartmentStore_5F/header.inc b/data/maps/LilycoveCity_DepartmentStore_5F/header.inc index 62d836d567..6c8070d803 100644 --- a/data/maps/LilycoveCity_DepartmentStore_5F/header.inc +++ b/data/maps/LilycoveCity_DepartmentStore_5F/header.inc @@ -10,6 +10,6 @@ LilycoveCity_DepartmentStore_5F: @ 8483868 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_Harbor/header.inc b/data/maps/LilycoveCity_Harbor/header.inc index 7f970b4634..e818c894fa 100644 --- a/data/maps/LilycoveCity_Harbor/header.inc +++ b/data/maps/LilycoveCity_Harbor/header.inc @@ -10,6 +10,6 @@ LilycoveCity_Harbor: @ 8483750 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_House1/header.inc b/data/maps/LilycoveCity_House1/header.inc index 4cc0a80614..ecae303728 100644 --- a/data/maps/LilycoveCity_House1/header.inc +++ b/data/maps/LilycoveCity_House1/header.inc @@ -10,6 +10,6 @@ LilycoveCity_House1: @ 8483788 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_House2/header.inc b/data/maps/LilycoveCity_House2/header.inc index 988b7fa4cf..f3b0098808 100644 --- a/data/maps/LilycoveCity_House2/header.inc +++ b/data/maps/LilycoveCity_House2/header.inc @@ -10,6 +10,6 @@ LilycoveCity_House2: @ 84837A4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_House3/header.inc b/data/maps/LilycoveCity_House3/header.inc index 41f01234c2..9126bb8fc5 100644 --- a/data/maps/LilycoveCity_House3/header.inc +++ b/data/maps/LilycoveCity_House3/header.inc @@ -10,6 +10,6 @@ LilycoveCity_House3: @ 84837C0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_House4/header.inc b/data/maps/LilycoveCity_House4/header.inc index 656e60bf3c..6ddb9a5f72 100644 --- a/data/maps/LilycoveCity_House4/header.inc +++ b/data/maps/LilycoveCity_House4/header.inc @@ -10,6 +10,6 @@ LilycoveCity_House4: @ 84837DC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc b/data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc index 0d6faebe8e..b0aef9efae 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc +++ b/data/maps/LilycoveCity_LilycoveMuseum_1F/header.inc @@ -10,6 +10,6 @@ LilycoveCity_LilycoveMuseum_1F: @ 8483670 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc b/data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc index 641859ac60..c58b692257 100644 --- a/data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc +++ b/data/maps/LilycoveCity_LilycoveMuseum_2F/header.inc @@ -10,6 +10,6 @@ LilycoveCity_LilycoveMuseum_2F: @ 848368C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_MoveDeletersHouse/header.inc b/data/maps/LilycoveCity_MoveDeletersHouse/header.inc index 6a0ddfebcf..cdd8668ad9 100644 --- a/data/maps/LilycoveCity_MoveDeletersHouse/header.inc +++ b/data/maps/LilycoveCity_MoveDeletersHouse/header.inc @@ -10,6 +10,6 @@ LilycoveCity_MoveDeletersHouse: @ 848376C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/header.inc b/data/maps/LilycoveCity_PokemonCenter_1F/header.inc index c040d77153..bcca0354dd 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/header.inc +++ b/data/maps/LilycoveCity_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ LilycoveCity_PokemonCenter_1F: @ 84836E0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_PokemonCenter_2F/header.inc b/data/maps/LilycoveCity_PokemonCenter_2F/header.inc index e9c27fd816..26c0789d63 100644 --- a/data/maps/LilycoveCity_PokemonCenter_2F/header.inc +++ b/data/maps/LilycoveCity_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ LilycoveCity_PokemonCenter_2F: @ 84836FC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc b/data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc index 78102855c5..aba9dcb3cf 100644 --- a/data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc +++ b/data/maps/LilycoveCity_PokemonTrainerFanClub/header.inc @@ -10,6 +10,6 @@ LilycoveCity_PokemonTrainerFanClub: @ 8483734 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LilycoveCity_UnusedMart/header.inc b/data/maps/LilycoveCity_UnusedMart/header.inc index 0384e495fc..f1cbaf5508 100644 --- a/data/maps/LilycoveCity_UnusedMart/header.inc +++ b/data/maps/LilycoveCity_UnusedMart/header.inc @@ -10,6 +10,6 @@ LilycoveCity_UnusedMart: @ 8483718 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LinkContestRoom1/header.inc b/data/maps/LinkContestRoom1/header.inc index 9aa0c9cc77..2465a86804 100644 --- a/data/maps/LinkContestRoom1/header.inc +++ b/data/maps/LinkContestRoom1/header.inc @@ -10,6 +10,6 @@ LinkContestRoom1: @ 8484DA0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LinkContestRoom2/header.inc b/data/maps/LinkContestRoom2/header.inc index 342ed7d0bd..f9274e58b6 100644 --- a/data/maps/LinkContestRoom2/header.inc +++ b/data/maps/LinkContestRoom2/header.inc @@ -10,6 +10,6 @@ LinkContestRoom2: @ 8484E64 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LinkContestRoom3/header.inc b/data/maps/LinkContestRoom3/header.inc index ff29d7e872..1b445db4b7 100644 --- a/data/maps/LinkContestRoom3/header.inc +++ b/data/maps/LinkContestRoom3/header.inc @@ -10,6 +10,6 @@ LinkContestRoom3: @ 8484E80 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LinkContestRoom4/header.inc b/data/maps/LinkContestRoom4/header.inc index 025e5971e0..20720be06c 100644 --- a/data/maps/LinkContestRoom4/header.inc +++ b/data/maps/LinkContestRoom4/header.inc @@ -10,6 +10,6 @@ LinkContestRoom4: @ 8484E9C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LinkContestRoom5/header.inc b/data/maps/LinkContestRoom5/header.inc index 7c145d0e40..f2e9c6c55b 100644 --- a/data/maps/LinkContestRoom5/header.inc +++ b/data/maps/LinkContestRoom5/header.inc @@ -10,6 +10,6 @@ LinkContestRoom5: @ 8484EB8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LinkContestRoom6/header.inc b/data/maps/LinkContestRoom6/header.inc index 939d56426c..225a99e465 100644 --- a/data/maps/LinkContestRoom6/header.inc +++ b/data/maps/LinkContestRoom6/header.inc @@ -10,6 +10,6 @@ LinkContestRoom6: @ 8484ED4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LittlerootTown/header.inc b/data/maps/LittlerootTown/header.inc index db13d6def4..a94244f95e 100644 --- a/data/maps/LittlerootTown/header.inc +++ b/data/maps/LittlerootTown/header.inc @@ -10,6 +10,6 @@ LittlerootTown: @ 84825B4 .byte WEATHER_SUNNY .byte MAP_TYPE_TOWN .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LittlerootTown_BrendansHouse_1F/header.inc b/data/maps/LittlerootTown_BrendansHouse_1F/header.inc index 6224e7a509..edae81a87e 100644 --- a/data/maps/LittlerootTown_BrendansHouse_1F/header.inc +++ b/data/maps/LittlerootTown_BrendansHouse_1F/header.inc @@ -10,6 +10,6 @@ LittlerootTown_BrendansHouse_1F: @ 8482AF4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/header.inc b/data/maps/LittlerootTown_BrendansHouse_2F/header.inc index ec7eb66cee..4c9e566d0f 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/header.inc +++ b/data/maps/LittlerootTown_BrendansHouse_2F/header.inc @@ -10,6 +10,6 @@ LittlerootTown_BrendansHouse_2F: @ 8482B10 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LittlerootTown_MaysHouse_1F/header.inc b/data/maps/LittlerootTown_MaysHouse_1F/header.inc index 7681d9a83e..768c7d1b43 100644 --- a/data/maps/LittlerootTown_MaysHouse_1F/header.inc +++ b/data/maps/LittlerootTown_MaysHouse_1F/header.inc @@ -10,6 +10,6 @@ LittlerootTown_MaysHouse_1F: @ 8482B2C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LittlerootTown_MaysHouse_2F/header.inc b/data/maps/LittlerootTown_MaysHouse_2F/header.inc index 9e5d0c8070..8729bedeb3 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/header.inc +++ b/data/maps/LittlerootTown_MaysHouse_2F/header.inc @@ -10,6 +10,6 @@ LittlerootTown_MaysHouse_2F: @ 8482B48 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/header.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/header.inc index 3e55729a88..49ab947271 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/header.inc +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/header.inc @@ -10,6 +10,6 @@ LittlerootTown_ProfessorBirchsLab: @ 8482B64 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MagmaHideout_1F/header.inc b/data/maps/MagmaHideout_1F/header.inc index 851f562788..897f4f4fdf 100644 --- a/data/maps/MagmaHideout_1F/header.inc +++ b/data/maps/MagmaHideout_1F/header.inc @@ -10,6 +10,6 @@ MagmaHideout_1F: @ 8484828 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MagmaHideout_2F_1R/header.inc b/data/maps/MagmaHideout_2F_1R/header.inc index d8118281f1..cafe144d8d 100644 --- a/data/maps/MagmaHideout_2F_1R/header.inc +++ b/data/maps/MagmaHideout_2F_1R/header.inc @@ -10,6 +10,6 @@ MagmaHideout_2F_1R: @ 8484844 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MagmaHideout_2F_2R/header.inc b/data/maps/MagmaHideout_2F_2R/header.inc index 1de48fb62e..1493ae0769 100644 --- a/data/maps/MagmaHideout_2F_2R/header.inc +++ b/data/maps/MagmaHideout_2F_2R/header.inc @@ -10,6 +10,6 @@ MagmaHideout_2F_2R: @ 8484860 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MagmaHideout_2F_3R/header.inc b/data/maps/MagmaHideout_2F_3R/header.inc index b374192781..5e1ccdcda3 100644 --- a/data/maps/MagmaHideout_2F_3R/header.inc +++ b/data/maps/MagmaHideout_2F_3R/header.inc @@ -10,6 +10,6 @@ MagmaHideout_2F_3R: @ 84848EC .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MagmaHideout_3F_1R/header.inc b/data/maps/MagmaHideout_3F_1R/header.inc index d5347ed254..492fb8a7e6 100644 --- a/data/maps/MagmaHideout_3F_1R/header.inc +++ b/data/maps/MagmaHideout_3F_1R/header.inc @@ -10,6 +10,6 @@ MagmaHideout_3F_1R: @ 848487C .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MagmaHideout_3F_2R/header.inc b/data/maps/MagmaHideout_3F_2R/header.inc index 45cda066b5..e1cd32f9ce 100644 --- a/data/maps/MagmaHideout_3F_2R/header.inc +++ b/data/maps/MagmaHideout_3F_2R/header.inc @@ -10,6 +10,6 @@ MagmaHideout_3F_2R: @ 8484898 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MagmaHideout_3F_3R/header.inc b/data/maps/MagmaHideout_3F_3R/header.inc index 347ec1897c..b21df5e70d 100644 --- a/data/maps/MagmaHideout_3F_3R/header.inc +++ b/data/maps/MagmaHideout_3F_3R/header.inc @@ -10,6 +10,6 @@ MagmaHideout_3F_3R: @ 84848D0 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MagmaHideout_4F/header.inc b/data/maps/MagmaHideout_4F/header.inc index f11c5eadd3..e10a780f7a 100644 --- a/data/maps/MagmaHideout_4F/header.inc +++ b/data/maps/MagmaHideout_4F/header.inc @@ -10,6 +10,6 @@ MagmaHideout_4F: @ 84848B4 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MarineCave_End/header.inc b/data/maps/MarineCave_End/header.inc index 36bff96d68..5a3c1106bd 100644 --- a/data/maps/MarineCave_End/header.inc +++ b/data/maps/MarineCave_End/header.inc @@ -10,6 +10,6 @@ MarineCave_End: @ 8484A04 .byte WEATHER_FOG_1 .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 14 + map_header_flags allow_bike=0, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MarineCave_Entrance/header.inc b/data/maps/MarineCave_Entrance/header.inc index 9feb17fe2b..338da988ae 100644 --- a/data/maps/MarineCave_Entrance/header.inc +++ b/data/maps/MarineCave_Entrance/header.inc @@ -10,6 +10,6 @@ MarineCave_Entrance: @ 84849E8 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 14 + map_header_flags allow_bike=0, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MauvilleCity/header.inc b/data/maps/MauvilleCity/header.inc index f6aadf1ff6..aa107e460b 100644 --- a/data/maps/MauvilleCity/header.inc +++ b/data/maps/MauvilleCity/header.inc @@ -10,6 +10,6 @@ MauvilleCity: @ 84824F0 .byte WEATHER_SUNNY .byte MAP_TYPE_CITY .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MauvilleCity_BikeShop/header.inc b/data/maps/MauvilleCity_BikeShop/header.inc index baa4f18d57..d4434e8ba0 100644 --- a/data/maps/MauvilleCity_BikeShop/header.inc +++ b/data/maps/MauvilleCity_BikeShop/header.inc @@ -10,6 +10,6 @@ MauvilleCity_BikeShop: @ 8483280 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MauvilleCity_GameCorner/header.inc b/data/maps/MauvilleCity_GameCorner/header.inc index 45fd23da08..5c7399ae6e 100644 --- a/data/maps/MauvilleCity_GameCorner/header.inc +++ b/data/maps/MauvilleCity_GameCorner/header.inc @@ -10,6 +10,6 @@ MauvilleCity_GameCorner: @ 84832B8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MauvilleCity_Gym/header.inc b/data/maps/MauvilleCity_Gym/header.inc index 736b491db8..cd38ec176e 100644 --- a/data/maps/MauvilleCity_Gym/header.inc +++ b/data/maps/MauvilleCity_Gym/header.inc @@ -10,6 +10,6 @@ MauvilleCity_Gym: @ 8483264 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/MauvilleCity_House1/header.inc b/data/maps/MauvilleCity_House1/header.inc index 6a29041cc6..261e0e45bb 100644 --- a/data/maps/MauvilleCity_House1/header.inc +++ b/data/maps/MauvilleCity_House1/header.inc @@ -10,6 +10,6 @@ MauvilleCity_House1: @ 848329C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MauvilleCity_House2/header.inc b/data/maps/MauvilleCity_House2/header.inc index 3fc04798e6..3a584fe41c 100644 --- a/data/maps/MauvilleCity_House2/header.inc +++ b/data/maps/MauvilleCity_House2/header.inc @@ -10,6 +10,6 @@ MauvilleCity_House2: @ 84832D4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MauvilleCity_Mart/header.inc b/data/maps/MauvilleCity_Mart/header.inc index 3722f45653..b3d85a0c66 100644 --- a/data/maps/MauvilleCity_Mart/header.inc +++ b/data/maps/MauvilleCity_Mart/header.inc @@ -10,6 +10,6 @@ MauvilleCity_Mart: @ 8483328 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/header.inc b/data/maps/MauvilleCity_PokemonCenter_1F/header.inc index 659176f800..207dfb5263 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/header.inc +++ b/data/maps/MauvilleCity_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ MauvilleCity_PokemonCenter_1F: @ 84832F0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MauvilleCity_PokemonCenter_2F/header.inc b/data/maps/MauvilleCity_PokemonCenter_2F/header.inc index 462fdc47dc..00bf23b830 100644 --- a/data/maps/MauvilleCity_PokemonCenter_2F/header.inc +++ b/data/maps/MauvilleCity_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ MauvilleCity_PokemonCenter_2F: @ 848330C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MeteorFalls_1F_1R/header.inc b/data/maps/MeteorFalls_1F_1R/header.inc index abf0e85c5e..85ba8dd6b2 100644 --- a/data/maps/MeteorFalls_1F_1R/header.inc +++ b/data/maps/MeteorFalls_1F_1R/header.inc @@ -10,6 +10,6 @@ MeteorFalls_1F_1R: @ 8483EC0 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MeteorFalls_1F_2R/header.inc b/data/maps/MeteorFalls_1F_2R/header.inc index a0d0741216..79b56a254a 100644 --- a/data/maps/MeteorFalls_1F_2R/header.inc +++ b/data/maps/MeteorFalls_1F_2R/header.inc @@ -10,6 +10,6 @@ MeteorFalls_1F_2R: @ 8483EDC .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MeteorFalls_B1F_1R/header.inc b/data/maps/MeteorFalls_B1F_1R/header.inc index 078998891c..0d1edf89e3 100644 --- a/data/maps/MeteorFalls_B1F_1R/header.inc +++ b/data/maps/MeteorFalls_B1F_1R/header.inc @@ -10,6 +10,6 @@ MeteorFalls_B1F_1R: @ 8483EF8 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MeteorFalls_B1F_2R/header.inc b/data/maps/MeteorFalls_B1F_2R/header.inc index dabf884b42..ed9fe8bebb 100644 --- a/data/maps/MeteorFalls_B1F_2R/header.inc +++ b/data/maps/MeteorFalls_B1F_2R/header.inc @@ -10,6 +10,6 @@ MeteorFalls_B1F_2R: @ 8483F14 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MeteorFalls_StevensCave/header.inc b/data/maps/MeteorFalls_StevensCave/header.inc index 7236159f32..28b265d446 100644 --- a/data/maps/MeteorFalls_StevensCave/header.inc +++ b/data/maps/MeteorFalls_StevensCave/header.inc @@ -10,6 +10,6 @@ MeteorFalls_StevensCave: @ 8484A74 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MirageTower_1F/header.inc b/data/maps/MirageTower_1F/header.inc index 584ed3f7ff..59ce7edbf2 100644 --- a/data/maps/MirageTower_1F/header.inc +++ b/data/maps/MirageTower_1F/header.inc @@ -10,6 +10,6 @@ MirageTower_1F: @ 8484908 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MirageTower_2F/header.inc b/data/maps/MirageTower_2F/header.inc index 03f762758b..efb9705383 100644 --- a/data/maps/MirageTower_2F/header.inc +++ b/data/maps/MirageTower_2F/header.inc @@ -10,6 +10,6 @@ MirageTower_2F: @ 8484924 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MirageTower_3F/header.inc b/data/maps/MirageTower_3F/header.inc index 3930ca2ba4..7362c553e3 100644 --- a/data/maps/MirageTower_3F/header.inc +++ b/data/maps/MirageTower_3F/header.inc @@ -10,6 +10,6 @@ MirageTower_3F: @ 8484940 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MirageTower_4F/header.inc b/data/maps/MirageTower_4F/header.inc index 505e671eb8..842b12bb68 100644 --- a/data/maps/MirageTower_4F/header.inc +++ b/data/maps/MirageTower_4F/header.inc @@ -10,6 +10,6 @@ MirageTower_4F: @ 848495C .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MossdeepCity/header.inc b/data/maps/MossdeepCity/header.inc index f5196d035e..641faf0f79 100644 --- a/data/maps/MossdeepCity/header.inc +++ b/data/maps/MossdeepCity/header.inc @@ -10,6 +10,6 @@ MossdeepCity: @ 8482560 .byte WEATHER_SUNNY .byte MAP_TYPE_CITY .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MossdeepCity_GameCorner_1F/header.inc b/data/maps/MossdeepCity_GameCorner_1F/header.inc index 302f13d7e0..d32f3a3062 100644 --- a/data/maps/MossdeepCity_GameCorner_1F/header.inc +++ b/data/maps/MossdeepCity_GameCorner_1F/header.inc @@ -10,6 +10,6 @@ MossdeepCity_GameCorner_1F: @ 84839F0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MossdeepCity_GameCorner_B1F/header.inc b/data/maps/MossdeepCity_GameCorner_B1F/header.inc index 86e796c525..856f76166e 100644 --- a/data/maps/MossdeepCity_GameCorner_B1F/header.inc +++ b/data/maps/MossdeepCity_GameCorner_B1F/header.inc @@ -10,6 +10,6 @@ MossdeepCity_GameCorner_B1F: @ 8483A0C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MossdeepCity_Gym/header.inc b/data/maps/MossdeepCity_Gym/header.inc index 1b325fc9af..12421b7872 100644 --- a/data/maps/MossdeepCity_Gym/header.inc +++ b/data/maps/MossdeepCity_Gym/header.inc @@ -10,6 +10,6 @@ MossdeepCity_Gym: @ 84838BC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/MossdeepCity_House1/header.inc b/data/maps/MossdeepCity_House1/header.inc index 25b8f5558b..365120f528 100644 --- a/data/maps/MossdeepCity_House1/header.inc +++ b/data/maps/MossdeepCity_House1/header.inc @@ -10,6 +10,6 @@ MossdeepCity_House1: @ 84838D8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MossdeepCity_House2/header.inc b/data/maps/MossdeepCity_House2/header.inc index 718ed1f1ab..76673969a0 100644 --- a/data/maps/MossdeepCity_House2/header.inc +++ b/data/maps/MossdeepCity_House2/header.inc @@ -10,6 +10,6 @@ MossdeepCity_House2: @ 84838F4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MossdeepCity_House3/header.inc b/data/maps/MossdeepCity_House3/header.inc index 53aeb0a29f..0d5be2fede 100644 --- a/data/maps/MossdeepCity_House3/header.inc +++ b/data/maps/MossdeepCity_House3/header.inc @@ -10,6 +10,6 @@ MossdeepCity_House3: @ 8483964 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MossdeepCity_House4/header.inc b/data/maps/MossdeepCity_House4/header.inc index 41cbc6a7ac..ba90597579 100644 --- a/data/maps/MossdeepCity_House4/header.inc +++ b/data/maps/MossdeepCity_House4/header.inc @@ -10,6 +10,6 @@ MossdeepCity_House4: @ 848399C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MossdeepCity_Mart/header.inc b/data/maps/MossdeepCity_Mart/header.inc index 659c7e1333..7de6cb5de6 100644 --- a/data/maps/MossdeepCity_Mart/header.inc +++ b/data/maps/MossdeepCity_Mart/header.inc @@ -10,6 +10,6 @@ MossdeepCity_Mart: @ 8483948 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MossdeepCity_PokemonCenter_1F/header.inc b/data/maps/MossdeepCity_PokemonCenter_1F/header.inc index 75f151c518..b97b7108d7 100644 --- a/data/maps/MossdeepCity_PokemonCenter_1F/header.inc +++ b/data/maps/MossdeepCity_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ MossdeepCity_PokemonCenter_1F: @ 8483910 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MossdeepCity_PokemonCenter_2F/header.inc b/data/maps/MossdeepCity_PokemonCenter_2F/header.inc index 5a98563b8c..263511ce97 100644 --- a/data/maps/MossdeepCity_PokemonCenter_2F/header.inc +++ b/data/maps/MossdeepCity_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ MossdeepCity_PokemonCenter_2F: @ 848392C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MossdeepCity_SpaceCenter_1F/header.inc b/data/maps/MossdeepCity_SpaceCenter_1F/header.inc index a0dd1e0501..5e99c584ad 100644 --- a/data/maps/MossdeepCity_SpaceCenter_1F/header.inc +++ b/data/maps/MossdeepCity_SpaceCenter_1F/header.inc @@ -10,6 +10,6 @@ MossdeepCity_SpaceCenter_1F: @ 84839B8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/header.inc b/data/maps/MossdeepCity_SpaceCenter_2F/header.inc index 7f6c20a663..3f4eab34e5 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/header.inc +++ b/data/maps/MossdeepCity_SpaceCenter_2F/header.inc @@ -10,6 +10,6 @@ MossdeepCity_SpaceCenter_2F: @ 84839D4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MossdeepCity_StevensHouse/header.inc b/data/maps/MossdeepCity_StevensHouse/header.inc index 68da469654..693801b86e 100644 --- a/data/maps/MossdeepCity_StevensHouse/header.inc +++ b/data/maps/MossdeepCity_StevensHouse/header.inc @@ -10,6 +10,6 @@ MossdeepCity_StevensHouse: @ 8483980 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MtChimney/header.inc b/data/maps/MtChimney/header.inc index 04bfa4a450..9cd0659030 100644 --- a/data/maps/MtChimney/header.inc +++ b/data/maps/MtChimney/header.inc @@ -10,6 +10,6 @@ MtChimney: @ 8484010 .byte WEATHER_ASH .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MtChimney_CableCarStation/header.inc b/data/maps/MtChimney_CableCarStation/header.inc index e12bfbacb7..0f858f9c1e 100644 --- a/data/maps/MtChimney_CableCarStation/header.inc +++ b/data/maps/MtChimney_CableCarStation/header.inc @@ -10,6 +10,6 @@ MtChimney_CableCarStation: @ 8483DFC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MtPyre_1F/header.inc b/data/maps/MtPyre_1F/header.inc index 241f3dff38..f60532fa2c 100644 --- a/data/maps/MtPyre_1F/header.inc +++ b/data/maps/MtPyre_1F/header.inc @@ -10,6 +10,6 @@ MtPyre_1F: @ 8484064 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 8 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MtPyre_2F/header.inc b/data/maps/MtPyre_2F/header.inc index a542638a77..1abca71436 100644 --- a/data/maps/MtPyre_2F/header.inc +++ b/data/maps/MtPyre_2F/header.inc @@ -10,6 +10,6 @@ MtPyre_2F: @ 8484080 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 8 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MtPyre_3F/header.inc b/data/maps/MtPyre_3F/header.inc index b09729f813..3f54a36701 100644 --- a/data/maps/MtPyre_3F/header.inc +++ b/data/maps/MtPyre_3F/header.inc @@ -10,6 +10,6 @@ MtPyre_3F: @ 848409C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 8 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MtPyre_4F/header.inc b/data/maps/MtPyre_4F/header.inc index bee0a548f4..1c41c3a6d7 100644 --- a/data/maps/MtPyre_4F/header.inc +++ b/data/maps/MtPyre_4F/header.inc @@ -10,6 +10,6 @@ MtPyre_4F: @ 84840B8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 8 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MtPyre_5F/header.inc b/data/maps/MtPyre_5F/header.inc index d17d642628..17c8eddcd8 100644 --- a/data/maps/MtPyre_5F/header.inc +++ b/data/maps/MtPyre_5F/header.inc @@ -10,6 +10,6 @@ MtPyre_5F: @ 84840D4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 8 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MtPyre_6F/header.inc b/data/maps/MtPyre_6F/header.inc index a783fc7c38..4e80828207 100644 --- a/data/maps/MtPyre_6F/header.inc +++ b/data/maps/MtPyre_6F/header.inc @@ -10,6 +10,6 @@ MtPyre_6F: @ 84840F0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 8 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MtPyre_Exterior/header.inc b/data/maps/MtPyre_Exterior/header.inc index b9b2575e8a..3b703a41e2 100644 --- a/data/maps/MtPyre_Exterior/header.inc +++ b/data/maps/MtPyre_Exterior/header.inc @@ -10,6 +10,6 @@ MtPyre_Exterior: @ 848410C .byte WEATHER_NONE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/MtPyre_Summit/header.inc b/data/maps/MtPyre_Summit/header.inc index d1a65792fd..29a28e99b7 100644 --- a/data/maps/MtPyre_Summit/header.inc +++ b/data/maps/MtPyre_Summit/header.inc @@ -10,6 +10,6 @@ MtPyre_Summit: @ 8484128 .byte WEATHER_FOG_1 .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_B1F/header.inc b/data/maps/NavelRock_B1F/header.inc index 59e9a3f594..cf56d8fb48 100644 --- a/data/maps/NavelRock_B1F/header.inc +++ b/data/maps/NavelRock_B1F/header.inc @@ -10,6 +10,6 @@ NavelRock_B1F: @ 84858C8 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Bottom/header.inc b/data/maps/NavelRock_Bottom/header.inc index 0711b5b815..d6f9b9d5a0 100644 --- a/data/maps/NavelRock_Bottom/header.inc +++ b/data/maps/NavelRock_Bottom/header.inc @@ -10,6 +10,6 @@ NavelRock_Bottom: @ 8485AC0 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Down01/header.inc b/data/maps/NavelRock_Down01/header.inc index fd5b2c0f39..2dc18c232d 100644 --- a/data/maps/NavelRock_Down01/header.inc +++ b/data/maps/NavelRock_Down01/header.inc @@ -10,6 +10,6 @@ NavelRock_Down01: @ 848598C .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Down02/header.inc b/data/maps/NavelRock_Down02/header.inc index 7827fe4cb3..731e4e2fb7 100644 --- a/data/maps/NavelRock_Down02/header.inc +++ b/data/maps/NavelRock_Down02/header.inc @@ -10,6 +10,6 @@ NavelRock_Down02: @ 84859A8 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Down03/header.inc b/data/maps/NavelRock_Down03/header.inc index 4652974821..fdf22dbc3f 100644 --- a/data/maps/NavelRock_Down03/header.inc +++ b/data/maps/NavelRock_Down03/header.inc @@ -10,6 +10,6 @@ NavelRock_Down03: @ 84859C4 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Down04/header.inc b/data/maps/NavelRock_Down04/header.inc index 7ee2eee47b..7f93253b17 100644 --- a/data/maps/NavelRock_Down04/header.inc +++ b/data/maps/NavelRock_Down04/header.inc @@ -10,6 +10,6 @@ NavelRock_Down04: @ 84859E0 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Down05/header.inc b/data/maps/NavelRock_Down05/header.inc index 3f41991959..602f440e0d 100644 --- a/data/maps/NavelRock_Down05/header.inc +++ b/data/maps/NavelRock_Down05/header.inc @@ -10,6 +10,6 @@ NavelRock_Down05: @ 84859FC .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Down06/header.inc b/data/maps/NavelRock_Down06/header.inc index 189c269691..c3ec1fe559 100644 --- a/data/maps/NavelRock_Down06/header.inc +++ b/data/maps/NavelRock_Down06/header.inc @@ -10,6 +10,6 @@ NavelRock_Down06: @ 8485A18 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Down07/header.inc b/data/maps/NavelRock_Down07/header.inc index 378b7bbd29..f3a5ab3f34 100644 --- a/data/maps/NavelRock_Down07/header.inc +++ b/data/maps/NavelRock_Down07/header.inc @@ -10,6 +10,6 @@ NavelRock_Down07: @ 8485A34 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Down08/header.inc b/data/maps/NavelRock_Down08/header.inc index 7ad3e736a6..3a6f28081a 100644 --- a/data/maps/NavelRock_Down08/header.inc +++ b/data/maps/NavelRock_Down08/header.inc @@ -10,6 +10,6 @@ NavelRock_Down08: @ 8485A50 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Down09/header.inc b/data/maps/NavelRock_Down09/header.inc index 60cec1da89..f132b9f669 100644 --- a/data/maps/NavelRock_Down09/header.inc +++ b/data/maps/NavelRock_Down09/header.inc @@ -10,6 +10,6 @@ NavelRock_Down09: @ 8485A6C .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Down10/header.inc b/data/maps/NavelRock_Down10/header.inc index 08b2d975b5..3ee4d62cec 100644 --- a/data/maps/NavelRock_Down10/header.inc +++ b/data/maps/NavelRock_Down10/header.inc @@ -10,6 +10,6 @@ NavelRock_Down10: @ 8485A88 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Down11/header.inc b/data/maps/NavelRock_Down11/header.inc index 8182f1c418..ef2ad00b7c 100644 --- a/data/maps/NavelRock_Down11/header.inc +++ b/data/maps/NavelRock_Down11/header.inc @@ -10,6 +10,6 @@ NavelRock_Down11: @ 8485AA4 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Entrance/header.inc b/data/maps/NavelRock_Entrance/header.inc index a0ec2bdc20..dbc28a7816 100644 --- a/data/maps/NavelRock_Entrance/header.inc +++ b/data/maps/NavelRock_Entrance/header.inc @@ -10,6 +10,6 @@ NavelRock_Entrance: @ 84858AC .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Exterior/header.inc b/data/maps/NavelRock_Exterior/header.inc index 582fd9cbc1..e13422c260 100644 --- a/data/maps/NavelRock_Exterior/header.inc +++ b/data/maps/NavelRock_Exterior/header.inc @@ -10,6 +10,6 @@ NavelRock_Exterior: @ 8485874 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Fork/header.inc b/data/maps/NavelRock_Fork/header.inc index 53c0fdaed6..49087db7e2 100644 --- a/data/maps/NavelRock_Fork/header.inc +++ b/data/maps/NavelRock_Fork/header.inc @@ -10,6 +10,6 @@ NavelRock_Fork: @ 84858E4 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Harbor/header.inc b/data/maps/NavelRock_Harbor/header.inc index 79b1dbafb6..1df05a2bc3 100644 --- a/data/maps/NavelRock_Harbor/header.inc +++ b/data/maps/NavelRock_Harbor/header.inc @@ -10,6 +10,6 @@ NavelRock_Harbor: @ 8485890 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Top/header.inc b/data/maps/NavelRock_Top/header.inc index 9c0a7b1c0b..e99a64054e 100644 --- a/data/maps/NavelRock_Top/header.inc +++ b/data/maps/NavelRock_Top/header.inc @@ -10,6 +10,6 @@ NavelRock_Top: @ 8485970 .byte WEATHER_SHADE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Up1/header.inc b/data/maps/NavelRock_Up1/header.inc index 3fa05854eb..33266d8f0b 100644 --- a/data/maps/NavelRock_Up1/header.inc +++ b/data/maps/NavelRock_Up1/header.inc @@ -10,6 +10,6 @@ NavelRock_Up1: @ 8485900 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Up2/header.inc b/data/maps/NavelRock_Up2/header.inc index 62fed7dc3b..f93dc31ed6 100644 --- a/data/maps/NavelRock_Up2/header.inc +++ b/data/maps/NavelRock_Up2/header.inc @@ -10,6 +10,6 @@ NavelRock_Up2: @ 848591C .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Up3/header.inc b/data/maps/NavelRock_Up3/header.inc index 723329d92f..d816e58f1a 100644 --- a/data/maps/NavelRock_Up3/header.inc +++ b/data/maps/NavelRock_Up3/header.inc @@ -10,6 +10,6 @@ NavelRock_Up3: @ 8485938 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NavelRock_Up4/header.inc b/data/maps/NavelRock_Up4/header.inc index 33501a6783..583c672b43 100644 --- a/data/maps/NavelRock_Up4/header.inc +++ b/data/maps/NavelRock_Up4/header.inc @@ -10,6 +10,6 @@ NavelRock_Up4: @ 8485954 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NewMauville_Entrance/header.inc b/data/maps/NewMauville_Entrance/header.inc index 092cf841fc..a8a1df2968 100644 --- a/data/maps/NewMauville_Entrance/header.inc +++ b/data/maps/NewMauville_Entrance/header.inc @@ -10,6 +10,6 @@ NewMauville_Entrance: @ 8484470 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/NewMauville_Inside/header.inc b/data/maps/NewMauville_Inside/header.inc index 3f8d3192ed..57966d38fe 100644 --- a/data/maps/NewMauville_Inside/header.inc +++ b/data/maps/NewMauville_Inside/header.inc @@ -10,6 +10,6 @@ NewMauville_Inside: @ 848448C .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/OldaleTown/header.inc b/data/maps/OldaleTown/header.inc index 8d94687a6b..83f3624dcc 100644 --- a/data/maps/OldaleTown/header.inc +++ b/data/maps/OldaleTown/header.inc @@ -10,6 +10,6 @@ OldaleTown: @ 84825D0 .byte WEATHER_SUNNY .byte MAP_TYPE_TOWN .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/OldaleTown_House1/header.inc b/data/maps/OldaleTown_House1/header.inc index 934cb22b03..6444d83c48 100644 --- a/data/maps/OldaleTown_House1/header.inc +++ b/data/maps/OldaleTown_House1/header.inc @@ -10,6 +10,6 @@ OldaleTown_House1: @ 8482B80 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/OldaleTown_House2/header.inc b/data/maps/OldaleTown_House2/header.inc index 55a6fd8a30..0df8e3c0e3 100644 --- a/data/maps/OldaleTown_House2/header.inc +++ b/data/maps/OldaleTown_House2/header.inc @@ -10,6 +10,6 @@ OldaleTown_House2: @ 8482B9C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/OldaleTown_Mart/header.inc b/data/maps/OldaleTown_Mart/header.inc index 4727f0da96..df506157b2 100644 --- a/data/maps/OldaleTown_Mart/header.inc +++ b/data/maps/OldaleTown_Mart/header.inc @@ -10,6 +10,6 @@ OldaleTown_Mart: @ 8482BF0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/OldaleTown_PokemonCenter_1F/header.inc b/data/maps/OldaleTown_PokemonCenter_1F/header.inc index cdd572a957..250f5d1644 100644 --- a/data/maps/OldaleTown_PokemonCenter_1F/header.inc +++ b/data/maps/OldaleTown_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ OldaleTown_PokemonCenter_1F: @ 8482BB8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/OldaleTown_PokemonCenter_2F/header.inc b/data/maps/OldaleTown_PokemonCenter_2F/header.inc index 24cf90aab5..1562c900f8 100644 --- a/data/maps/OldaleTown_PokemonCenter_2F/header.inc +++ b/data/maps/OldaleTown_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ OldaleTown_PokemonCenter_2F: @ 8482BD4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PacifidlogTown/header.inc b/data/maps/PacifidlogTown/header.inc index 5b572682b9..786fa9d713 100644 --- a/data/maps/PacifidlogTown/header.inc +++ b/data/maps/PacifidlogTown/header.inc @@ -10,6 +10,6 @@ PacifidlogTown: @ 848265C .byte WEATHER_SUNNY .byte MAP_TYPE_TOWN .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PacifidlogTown_House1/header.inc b/data/maps/PacifidlogTown_House1/header.inc index 511692df1d..a4f350e069 100644 --- a/data/maps/PacifidlogTown_House1/header.inc +++ b/data/maps/PacifidlogTown_House1/header.inc @@ -10,6 +10,6 @@ PacifidlogTown_House1: @ 8482F8C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PacifidlogTown_House2/header.inc b/data/maps/PacifidlogTown_House2/header.inc index 04d6853232..8a3e0ada4e 100644 --- a/data/maps/PacifidlogTown_House2/header.inc +++ b/data/maps/PacifidlogTown_House2/header.inc @@ -10,6 +10,6 @@ PacifidlogTown_House2: @ 8482FA8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PacifidlogTown_House3/header.inc b/data/maps/PacifidlogTown_House3/header.inc index 48f4617978..ed538fa8b0 100644 --- a/data/maps/PacifidlogTown_House3/header.inc +++ b/data/maps/PacifidlogTown_House3/header.inc @@ -10,6 +10,6 @@ PacifidlogTown_House3: @ 8482FC4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PacifidlogTown_House4/header.inc b/data/maps/PacifidlogTown_House4/header.inc index a1edad163b..7108a0104d 100644 --- a/data/maps/PacifidlogTown_House4/header.inc +++ b/data/maps/PacifidlogTown_House4/header.inc @@ -10,6 +10,6 @@ PacifidlogTown_House4: @ 8482FE0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PacifidlogTown_House5/header.inc b/data/maps/PacifidlogTown_House5/header.inc index 850b4864b4..07da6a24dc 100644 --- a/data/maps/PacifidlogTown_House5/header.inc +++ b/data/maps/PacifidlogTown_House5/header.inc @@ -10,6 +10,6 @@ PacifidlogTown_House5: @ 8482FFC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PacifidlogTown_PokemonCenter_1F/header.inc b/data/maps/PacifidlogTown_PokemonCenter_1F/header.inc index b301336540..9db47a72be 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_1F/header.inc +++ b/data/maps/PacifidlogTown_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ PacifidlogTown_PokemonCenter_1F: @ 8482F54 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PacifidlogTown_PokemonCenter_2F/header.inc b/data/maps/PacifidlogTown_PokemonCenter_2F/header.inc index db6f8b3df8..e16d7b5e53 100644 --- a/data/maps/PacifidlogTown_PokemonCenter_2F/header.inc +++ b/data/maps/PacifidlogTown_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ PacifidlogTown_PokemonCenter_2F: @ 8482F70 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PetalburgCity/header.inc b/data/maps/PetalburgCity/header.inc index 4dae59652d..6a4f82bfa2 100644 --- a/data/maps/PetalburgCity/header.inc +++ b/data/maps/PetalburgCity/header.inc @@ -10,6 +10,6 @@ PetalburgCity: @ 84824B8 .byte WEATHER_SUNNY .byte MAP_TYPE_CITY .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PetalburgCity_Gym/header.inc b/data/maps/PetalburgCity_Gym/header.inc index e320638943..626f37c3d7 100644 --- a/data/maps/PetalburgCity_Gym/header.inc +++ b/data/maps/PetalburgCity_Gym/header.inc @@ -10,6 +10,6 @@ PetalburgCity_Gym: @ 8483034 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/PetalburgCity_House1/header.inc b/data/maps/PetalburgCity_House1/header.inc index 85bc3e460d..058d2ae6b9 100644 --- a/data/maps/PetalburgCity_House1/header.inc +++ b/data/maps/PetalburgCity_House1/header.inc @@ -10,6 +10,6 @@ PetalburgCity_House1: @ 8483050 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PetalburgCity_House2/header.inc b/data/maps/PetalburgCity_House2/header.inc index f7f16748f0..d8ceeafbe6 100644 --- a/data/maps/PetalburgCity_House2/header.inc +++ b/data/maps/PetalburgCity_House2/header.inc @@ -10,6 +10,6 @@ PetalburgCity_House2: @ 848306C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PetalburgCity_Mart/header.inc b/data/maps/PetalburgCity_Mart/header.inc index 624c8b6a1f..757430cab1 100644 --- a/data/maps/PetalburgCity_Mart/header.inc +++ b/data/maps/PetalburgCity_Mart/header.inc @@ -10,6 +10,6 @@ PetalburgCity_Mart: @ 84830C0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PetalburgCity_PokemonCenter_1F/header.inc b/data/maps/PetalburgCity_PokemonCenter_1F/header.inc index 2a05feb291..61b328753f 100644 --- a/data/maps/PetalburgCity_PokemonCenter_1F/header.inc +++ b/data/maps/PetalburgCity_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ PetalburgCity_PokemonCenter_1F: @ 8483088 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PetalburgCity_PokemonCenter_2F/header.inc b/data/maps/PetalburgCity_PokemonCenter_2F/header.inc index 473e3c7363..c6cacfc3a0 100644 --- a/data/maps/PetalburgCity_PokemonCenter_2F/header.inc +++ b/data/maps/PetalburgCity_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ PetalburgCity_PokemonCenter_2F: @ 84830A4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PetalburgCity_WallysHouse/header.inc b/data/maps/PetalburgCity_WallysHouse/header.inc index 91ee3622bc..04b7236660 100644 --- a/data/maps/PetalburgCity_WallysHouse/header.inc +++ b/data/maps/PetalburgCity_WallysHouse/header.inc @@ -10,6 +10,6 @@ PetalburgCity_WallysHouse: @ 8483018 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/PetalburgWoods/header.inc b/data/maps/PetalburgWoods/header.inc index 94b5bdfd1b..e25f6f7507 100644 --- a/data/maps/PetalburgWoods/header.inc +++ b/data/maps/PetalburgWoods/header.inc @@ -10,6 +10,6 @@ PetalburgWoods: @ 8483FF4 .byte WEATHER_SHADE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RecordCorner/header.inc b/data/maps/RecordCorner/header.inc index 9029f306f5..c0864092b9 100644 --- a/data/maps/RecordCorner/header.inc +++ b/data/maps/RecordCorner/header.inc @@ -10,6 +10,6 @@ RecordCorner: @ 8484D68 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route101/header.inc b/data/maps/Route101/header.inc index 64836245fc..5a98f7e22f 100644 --- a/data/maps/Route101/header.inc +++ b/data/maps/Route101/header.inc @@ -10,6 +10,6 @@ Route101: @ 8482678 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route102/header.inc b/data/maps/Route102/header.inc index dc2b3240a6..7a0fcacdab 100644 --- a/data/maps/Route102/header.inc +++ b/data/maps/Route102/header.inc @@ -10,6 +10,6 @@ Route102: @ 8482694 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route103/header.inc b/data/maps/Route103/header.inc index c7510701e8..b614f32eb0 100644 --- a/data/maps/Route103/header.inc +++ b/data/maps/Route103/header.inc @@ -10,6 +10,6 @@ Route103: @ 84826B0 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route104/header.inc b/data/maps/Route104/header.inc index df6f0d34a6..101e690d5c 100644 --- a/data/maps/Route104/header.inc +++ b/data/maps/Route104/header.inc @@ -10,6 +10,6 @@ Route104: @ 84826CC .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route104_MrBrineysHouse/header.inc b/data/maps/Route104_MrBrineysHouse/header.inc index 139efeb74d..c52a076de3 100644 --- a/data/maps/Route104_MrBrineysHouse/header.inc +++ b/data/maps/Route104_MrBrineysHouse/header.inc @@ -10,6 +10,6 @@ Route104_MrBrineysHouse: @ 8483D70 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route104_PrettyPetalFlowerShop/header.inc b/data/maps/Route104_PrettyPetalFlowerShop/header.inc index cd34cd3f4c..eaf0735503 100644 --- a/data/maps/Route104_PrettyPetalFlowerShop/header.inc +++ b/data/maps/Route104_PrettyPetalFlowerShop/header.inc @@ -10,6 +10,6 @@ Route104_PrettyPetalFlowerShop: @ 8483D8C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route104_Prototype/header.inc b/data/maps/Route104_Prototype/header.inc index ea0b1390a9..0de3a4b478 100644 --- a/data/maps/Route104_Prototype/header.inc +++ b/data/maps/Route104_Prototype/header.inc @@ -10,6 +10,6 @@ Route104_Prototype: @ 8485AF8 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 8 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc b/data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc index fce17ef009..e72f9a6060 100644 --- a/data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc +++ b/data/maps/Route104_PrototypePrettyPetalFlowerShop/header.inc @@ -10,6 +10,6 @@ Route104_PrototypePrettyPetalFlowerShop: @ 8485B14 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 8 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route105/header.inc b/data/maps/Route105/header.inc index 59ea4f3dfd..5c6b2fc153 100644 --- a/data/maps/Route105/header.inc +++ b/data/maps/Route105/header.inc @@ -10,6 +10,6 @@ Route105: @ 84826E8 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route106/header.inc b/data/maps/Route106/header.inc index 9292cae39e..f0f032b8b5 100644 --- a/data/maps/Route106/header.inc +++ b/data/maps/Route106/header.inc @@ -10,6 +10,6 @@ Route106: @ 8482704 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route107/header.inc b/data/maps/Route107/header.inc index e038ea7057..a4ec264ead 100644 --- a/data/maps/Route107/header.inc +++ b/data/maps/Route107/header.inc @@ -10,6 +10,6 @@ Route107: @ 8482720 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route108/header.inc b/data/maps/Route108/header.inc index a6314172f2..106fe3135e 100644 --- a/data/maps/Route108/header.inc +++ b/data/maps/Route108/header.inc @@ -10,6 +10,6 @@ Route108: @ 848273C .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route109/header.inc b/data/maps/Route109/header.inc index 489ea8789a..045f422567 100644 --- a/data/maps/Route109/header.inc +++ b/data/maps/Route109/header.inc @@ -10,6 +10,6 @@ Route109: @ 8482758 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route109_SeashoreHouse/header.inc b/data/maps/Route109_SeashoreHouse/header.inc index 1f6f067cad..68dc54b777 100644 --- a/data/maps/Route109_SeashoreHouse/header.inc +++ b/data/maps/Route109_SeashoreHouse/header.inc @@ -10,6 +10,6 @@ Route109_SeashoreHouse: @ 8485B30 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route110/header.inc b/data/maps/Route110/header.inc index c1dd037899..14194cd37b 100644 --- a/data/maps/Route110/header.inc +++ b/data/maps/Route110/header.inc @@ -10,6 +10,6 @@ Route110: @ 8482774 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/header.inc b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/header.inc index d98361dd3d..50f4b763ff 100644 --- a/data/maps/Route110_SeasideCyclingRoadNorthEntrance/header.inc +++ b/data/maps/Route110_SeasideCyclingRoadNorthEntrance/header.inc @@ -10,6 +10,6 @@ Route110_SeasideCyclingRoadNorthEntrance: @ 8485C80 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 1 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/header.inc b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/header.inc index 24baeb0427..4e09eeef32 100644 --- a/data/maps/Route110_SeasideCyclingRoadSouthEntrance/header.inc +++ b/data/maps/Route110_SeasideCyclingRoadSouthEntrance/header.inc @@ -10,6 +10,6 @@ Route110_SeasideCyclingRoadSouthEntrance: @ 8485C9C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 1 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route110_TrickHouseCorridor/header.inc b/data/maps/Route110_TrickHouseCorridor/header.inc index 9d9cf23edf..6657162b76 100644 --- a/data/maps/Route110_TrickHouseCorridor/header.inc +++ b/data/maps/Route110_TrickHouseCorridor/header.inc @@ -10,6 +10,6 @@ Route110_TrickHouseCorridor: @ 8485B84 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route110_TrickHouseEnd/header.inc b/data/maps/Route110_TrickHouseEnd/header.inc index 3ea5a8eb86..52a39914fe 100644 --- a/data/maps/Route110_TrickHouseEnd/header.inc +++ b/data/maps/Route110_TrickHouseEnd/header.inc @@ -10,6 +10,6 @@ Route110_TrickHouseEnd: @ 8485B68 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route110_TrickHouseEntrance/header.inc b/data/maps/Route110_TrickHouseEntrance/header.inc index 8e202e650d..4e651e5f97 100644 --- a/data/maps/Route110_TrickHouseEntrance/header.inc +++ b/data/maps/Route110_TrickHouseEntrance/header.inc @@ -10,6 +10,6 @@ Route110_TrickHouseEntrance: @ 8485B4C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route110_TrickHousePuzzle1/header.inc b/data/maps/Route110_TrickHousePuzzle1/header.inc index 593b807ce1..de4ff3ed2e 100644 --- a/data/maps/Route110_TrickHousePuzzle1/header.inc +++ b/data/maps/Route110_TrickHousePuzzle1/header.inc @@ -10,6 +10,6 @@ Route110_TrickHousePuzzle1: @ 8485BA0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route110_TrickHousePuzzle2/header.inc b/data/maps/Route110_TrickHousePuzzle2/header.inc index e632dbca98..8a2b708ea4 100644 --- a/data/maps/Route110_TrickHousePuzzle2/header.inc +++ b/data/maps/Route110_TrickHousePuzzle2/header.inc @@ -10,6 +10,6 @@ Route110_TrickHousePuzzle2: @ 8485BBC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route110_TrickHousePuzzle3/header.inc b/data/maps/Route110_TrickHousePuzzle3/header.inc index 77e2e4a38a..37a517f72f 100644 --- a/data/maps/Route110_TrickHousePuzzle3/header.inc +++ b/data/maps/Route110_TrickHousePuzzle3/header.inc @@ -10,6 +10,6 @@ Route110_TrickHousePuzzle3: @ 8485BD8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route110_TrickHousePuzzle4/header.inc b/data/maps/Route110_TrickHousePuzzle4/header.inc index 9ad6159f31..993f002d70 100644 --- a/data/maps/Route110_TrickHousePuzzle4/header.inc +++ b/data/maps/Route110_TrickHousePuzzle4/header.inc @@ -10,6 +10,6 @@ Route110_TrickHousePuzzle4: @ 8485BF4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route110_TrickHousePuzzle5/header.inc b/data/maps/Route110_TrickHousePuzzle5/header.inc index 910638d825..b22b21bcef 100644 --- a/data/maps/Route110_TrickHousePuzzle5/header.inc +++ b/data/maps/Route110_TrickHousePuzzle5/header.inc @@ -10,6 +10,6 @@ Route110_TrickHousePuzzle5: @ 8485C10 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route110_TrickHousePuzzle6/header.inc b/data/maps/Route110_TrickHousePuzzle6/header.inc index ab6c752cb2..e10fd78b23 100644 --- a/data/maps/Route110_TrickHousePuzzle6/header.inc +++ b/data/maps/Route110_TrickHousePuzzle6/header.inc @@ -10,6 +10,6 @@ Route110_TrickHousePuzzle6: @ 8485C2C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route110_TrickHousePuzzle7/header.inc b/data/maps/Route110_TrickHousePuzzle7/header.inc index 68a7098fbe..40f43f9d84 100644 --- a/data/maps/Route110_TrickHousePuzzle7/header.inc +++ b/data/maps/Route110_TrickHousePuzzle7/header.inc @@ -10,6 +10,6 @@ Route110_TrickHousePuzzle7: @ 8485C48 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route110_TrickHousePuzzle8/header.inc b/data/maps/Route110_TrickHousePuzzle8/header.inc index a330e3c1f7..1755152924 100644 --- a/data/maps/Route110_TrickHousePuzzle8/header.inc +++ b/data/maps/Route110_TrickHousePuzzle8/header.inc @@ -10,6 +10,6 @@ Route110_TrickHousePuzzle8: @ 8485C64 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route111/header.inc b/data/maps/Route111/header.inc index 449498ed49..cb975e74a3 100644 --- a/data/maps/Route111/header.inc +++ b/data/maps/Route111/header.inc @@ -10,6 +10,6 @@ Route111: @ 8482790 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route111_OldLadysRestStop/header.inc b/data/maps/Route111_OldLadysRestStop/header.inc index 70bbe3777f..a3c2a0161a 100644 --- a/data/maps/Route111_OldLadysRestStop/header.inc +++ b/data/maps/Route111_OldLadysRestStop/header.inc @@ -10,6 +10,6 @@ Route111_OldLadysRestStop: @ 8483DC4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route111_WinstrateFamilysHouse/header.inc b/data/maps/Route111_WinstrateFamilysHouse/header.inc index dea0352e68..12e4080890 100644 --- a/data/maps/Route111_WinstrateFamilysHouse/header.inc +++ b/data/maps/Route111_WinstrateFamilysHouse/header.inc @@ -10,6 +10,6 @@ Route111_WinstrateFamilysHouse: @ 8483DA8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route112/header.inc b/data/maps/Route112/header.inc index 5961e48c2e..70e0f2d65a 100644 --- a/data/maps/Route112/header.inc +++ b/data/maps/Route112/header.inc @@ -10,6 +10,6 @@ Route112: @ 84827AC .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route112_CableCarStation/header.inc b/data/maps/Route112_CableCarStation/header.inc index 8e1dbc8079..fd9038c12f 100644 --- a/data/maps/Route112_CableCarStation/header.inc +++ b/data/maps/Route112_CableCarStation/header.inc @@ -10,6 +10,6 @@ Route112_CableCarStation: @ 8483DE0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route113/header.inc b/data/maps/Route113/header.inc index e1b0827129..deaacca366 100644 --- a/data/maps/Route113/header.inc +++ b/data/maps/Route113/header.inc @@ -10,6 +10,6 @@ Route113: @ 84827C8 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route113_GlassWorkshop/header.inc b/data/maps/Route113_GlassWorkshop/header.inc index 9f31f510f0..44a87e5efe 100644 --- a/data/maps/Route113_GlassWorkshop/header.inc +++ b/data/maps/Route113_GlassWorkshop/header.inc @@ -10,6 +10,6 @@ Route113_GlassWorkshop: @ 8485CB8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route114/header.inc b/data/maps/Route114/header.inc index c0920ada92..318efdbaf9 100644 --- a/data/maps/Route114/header.inc +++ b/data/maps/Route114/header.inc @@ -10,6 +10,6 @@ Route114: @ 84827E4 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route114_FossilManiacsHouse/header.inc b/data/maps/Route114_FossilManiacsHouse/header.inc index a1ad307e41..ca042d6b4e 100644 --- a/data/maps/Route114_FossilManiacsHouse/header.inc +++ b/data/maps/Route114_FossilManiacsHouse/header.inc @@ -10,6 +10,6 @@ Route114_FossilManiacsHouse: @ 8483E18 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route114_FossilManiacsTunnel/header.inc b/data/maps/Route114_FossilManiacsTunnel/header.inc index 2506956710..be53b84cea 100644 --- a/data/maps/Route114_FossilManiacsTunnel/header.inc +++ b/data/maps/Route114_FossilManiacsTunnel/header.inc @@ -10,6 +10,6 @@ Route114_FossilManiacsTunnel: @ 8483E34 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route114_LanettesHouse/header.inc b/data/maps/Route114_LanettesHouse/header.inc index 8ba9dd58cd..51023a8006 100644 --- a/data/maps/Route114_LanettesHouse/header.inc +++ b/data/maps/Route114_LanettesHouse/header.inc @@ -10,6 +10,6 @@ Route114_LanettesHouse: @ 8483E50 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route115/header.inc b/data/maps/Route115/header.inc index 5da7c89903..70e831aeec 100644 --- a/data/maps/Route115/header.inc +++ b/data/maps/Route115/header.inc @@ -10,6 +10,6 @@ Route115: @ 8482800 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route116/header.inc b/data/maps/Route116/header.inc index d0f4bfedf4..e97885bc78 100644 --- a/data/maps/Route116/header.inc +++ b/data/maps/Route116/header.inc @@ -10,6 +10,6 @@ Route116: @ 848281C .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route116_TunnelersRestHouse/header.inc b/data/maps/Route116_TunnelersRestHouse/header.inc index ce7de5c71d..1c3abde780 100644 --- a/data/maps/Route116_TunnelersRestHouse/header.inc +++ b/data/maps/Route116_TunnelersRestHouse/header.inc @@ -10,6 +10,6 @@ Route116_TunnelersRestHouse: @ 8483E6C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route117/header.inc b/data/maps/Route117/header.inc index c720839deb..1d5eda074a 100644 --- a/data/maps/Route117/header.inc +++ b/data/maps/Route117/header.inc @@ -10,6 +10,6 @@ Route117: @ 8482838 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route117_PokemonDayCare/header.inc b/data/maps/Route117_PokemonDayCare/header.inc index d8fb67ce9d..ba48de2288 100644 --- a/data/maps/Route117_PokemonDayCare/header.inc +++ b/data/maps/Route117_PokemonDayCare/header.inc @@ -10,6 +10,6 @@ Route117_PokemonDayCare: @ 8483E88 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route118/header.inc b/data/maps/Route118/header.inc index 826281c095..e0b5416432 100644 --- a/data/maps/Route118/header.inc +++ b/data/maps/Route118/header.inc @@ -10,6 +10,6 @@ Route118: @ 8482854 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route119/header.inc b/data/maps/Route119/header.inc index cb9b211d98..7181f6b0d5 100644 --- a/data/maps/Route119/header.inc +++ b/data/maps/Route119/header.inc @@ -10,6 +10,6 @@ Route119: @ 8482870 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route119_House/header.inc b/data/maps/Route119_House/header.inc index e06dc31477..334b858ecc 100644 --- a/data/maps/Route119_House/header.inc +++ b/data/maps/Route119_House/header.inc @@ -10,6 +10,6 @@ Route119_House: @ 8485D28 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route119_WeatherInstitute_1F/header.inc b/data/maps/Route119_WeatherInstitute_1F/header.inc index ce15e7ea7b..e5e7abbc98 100644 --- a/data/maps/Route119_WeatherInstitute_1F/header.inc +++ b/data/maps/Route119_WeatherInstitute_1F/header.inc @@ -10,6 +10,6 @@ Route119_WeatherInstitute_1F: @ 8485CF0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route119_WeatherInstitute_2F/header.inc b/data/maps/Route119_WeatherInstitute_2F/header.inc index eb8d25cd0a..c81f9731c7 100644 --- a/data/maps/Route119_WeatherInstitute_2F/header.inc +++ b/data/maps/Route119_WeatherInstitute_2F/header.inc @@ -10,6 +10,6 @@ Route119_WeatherInstitute_2F: @ 8485D0C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route120/header.inc b/data/maps/Route120/header.inc index a3b062bcaa..626b57a94d 100644 --- a/data/maps/Route120/header.inc +++ b/data/maps/Route120/header.inc @@ -10,6 +10,6 @@ Route120: @ 848288C .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route121/header.inc b/data/maps/Route121/header.inc index 5f744afafd..3f070c2ec0 100644 --- a/data/maps/Route121/header.inc +++ b/data/maps/Route121/header.inc @@ -10,6 +10,6 @@ Route121: @ 84828A8 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route121_SafariZoneEntrance/header.inc b/data/maps/Route121_SafariZoneEntrance/header.inc index 3617aa5b01..fa645a6934 100644 --- a/data/maps/Route121_SafariZoneEntrance/header.inc +++ b/data/maps/Route121_SafariZoneEntrance/header.inc @@ -10,6 +10,6 @@ Route121_SafariZoneEntrance: @ 8483EA4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route122/header.inc b/data/maps/Route122/header.inc index 7e6dc55c26..eddd1a2347 100644 --- a/data/maps/Route122/header.inc +++ b/data/maps/Route122/header.inc @@ -10,6 +10,6 @@ Route122: @ 84828C4 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route123/header.inc b/data/maps/Route123/header.inc index 9eba6be87f..a215c35923 100644 --- a/data/maps/Route123/header.inc +++ b/data/maps/Route123/header.inc @@ -10,6 +10,6 @@ Route123: @ 84828E0 .byte WEATHER_SUNNY .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route123_BerryMastersHouse/header.inc b/data/maps/Route123_BerryMastersHouse/header.inc index 009b6fa98f..163625aaed 100644 --- a/data/maps/Route123_BerryMastersHouse/header.inc +++ b/data/maps/Route123_BerryMastersHouse/header.inc @@ -10,6 +10,6 @@ Route123_BerryMastersHouse: @ 8485CD4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route124/header.inc b/data/maps/Route124/header.inc index 43aab1b68a..c9ae442b7a 100644 --- a/data/maps/Route124/header.inc +++ b/data/maps/Route124/header.inc @@ -10,6 +10,6 @@ Route124: @ 84828FC .byte WEATHER_SUNNY .byte MAP_TYPE_6 .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route124_DivingTreasureHuntersHouse/header.inc b/data/maps/Route124_DivingTreasureHuntersHouse/header.inc index 777edeff27..db9097ce54 100644 --- a/data/maps/Route124_DivingTreasureHuntersHouse/header.inc +++ b/data/maps/Route124_DivingTreasureHuntersHouse/header.inc @@ -10,6 +10,6 @@ Route124_DivingTreasureHuntersHouse: @ 8485D44 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route125/header.inc b/data/maps/Route125/header.inc index 8cf6f85310..12ea805319 100644 --- a/data/maps/Route125/header.inc +++ b/data/maps/Route125/header.inc @@ -10,6 +10,6 @@ Route125: @ 8482918 .byte WEATHER_SUNNY .byte MAP_TYPE_6 .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route126/header.inc b/data/maps/Route126/header.inc index 3e489dffd2..86225727fa 100644 --- a/data/maps/Route126/header.inc +++ b/data/maps/Route126/header.inc @@ -10,6 +10,6 @@ Route126: @ 8482934 .byte WEATHER_SUNNY .byte MAP_TYPE_6 .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route127/header.inc b/data/maps/Route127/header.inc index 950e11df7b..b237a42ab1 100644 --- a/data/maps/Route127/header.inc +++ b/data/maps/Route127/header.inc @@ -10,6 +10,6 @@ Route127: @ 8482950 .byte WEATHER_SUNNY .byte MAP_TYPE_6 .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route128/header.inc b/data/maps/Route128/header.inc index 6065e257ca..2875033e97 100644 --- a/data/maps/Route128/header.inc +++ b/data/maps/Route128/header.inc @@ -10,6 +10,6 @@ Route128: @ 848296C .byte WEATHER_SUNNY .byte MAP_TYPE_6 .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route129/header.inc b/data/maps/Route129/header.inc index 1bc9ac5f0b..645cc7d92e 100644 --- a/data/maps/Route129/header.inc +++ b/data/maps/Route129/header.inc @@ -10,6 +10,6 @@ Route129: @ 8482988 .byte WEATHER_SUNNY .byte MAP_TYPE_6 .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route130/header.inc b/data/maps/Route130/header.inc index bff8b4e40d..4c03656acc 100644 --- a/data/maps/Route130/header.inc +++ b/data/maps/Route130/header.inc @@ -10,6 +10,6 @@ Route130: @ 84829A4 .byte WEATHER_SUNNY .byte MAP_TYPE_6 .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route131/header.inc b/data/maps/Route131/header.inc index 3e6bf34b36..e84799fd4d 100644 --- a/data/maps/Route131/header.inc +++ b/data/maps/Route131/header.inc @@ -10,6 +10,6 @@ Route131: @ 84829C0 .byte WEATHER_SUNNY .byte MAP_TYPE_6 .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route132/header.inc b/data/maps/Route132/header.inc index 4e292a92b6..50630af030 100644 --- a/data/maps/Route132/header.inc +++ b/data/maps/Route132/header.inc @@ -10,6 +10,6 @@ Route132: @ 84829DC .byte WEATHER_SUNNY .byte MAP_TYPE_6 .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route133/header.inc b/data/maps/Route133/header.inc index 26428b3dc6..ed6b7d2cea 100644 --- a/data/maps/Route133/header.inc +++ b/data/maps/Route133/header.inc @@ -10,6 +10,6 @@ Route133: @ 84829F8 .byte WEATHER_SUNNY .byte MAP_TYPE_6 .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Route134/header.inc b/data/maps/Route134/header.inc index d1df504edd..8204e2815d 100644 --- a/data/maps/Route134/header.inc +++ b/data/maps/Route134/header.inc @@ -10,6 +10,6 @@ Route134: @ 8482A14 .byte WEATHER_SUNNY .byte MAP_TYPE_6 .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity/header.inc b/data/maps/RustboroCity/header.inc index 6e7bb70d4a..0cbd55b24d 100644 --- a/data/maps/RustboroCity/header.inc +++ b/data/maps/RustboroCity/header.inc @@ -10,6 +10,6 @@ RustboroCity: @ 848250C .byte WEATHER_SUNNY .byte MAP_TYPE_CITY .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_CuttersHouse/header.inc b/data/maps/RustboroCity_CuttersHouse/header.inc index 40742887b4..8ffdf2c7b6 100644 --- a/data/maps/RustboroCity_CuttersHouse/header.inc +++ b/data/maps/RustboroCity_CuttersHouse/header.inc @@ -10,6 +10,6 @@ RustboroCity_CuttersHouse: @ 8483478 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_DevonCorp_1F/header.inc b/data/maps/RustboroCity_DevonCorp_1F/header.inc index d86b8537c0..a6f55163bc 100644 --- a/data/maps/RustboroCity_DevonCorp_1F/header.inc +++ b/data/maps/RustboroCity_DevonCorp_1F/header.inc @@ -10,6 +10,6 @@ RustboroCity_DevonCorp_1F: @ 8483344 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_DevonCorp_2F/header.inc b/data/maps/RustboroCity_DevonCorp_2F/header.inc index b0da75514b..bb548c44e5 100644 --- a/data/maps/RustboroCity_DevonCorp_2F/header.inc +++ b/data/maps/RustboroCity_DevonCorp_2F/header.inc @@ -10,6 +10,6 @@ RustboroCity_DevonCorp_2F: @ 8483360 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_DevonCorp_3F/header.inc b/data/maps/RustboroCity_DevonCorp_3F/header.inc index 21a33d5b8b..d37f055a51 100644 --- a/data/maps/RustboroCity_DevonCorp_3F/header.inc +++ b/data/maps/RustboroCity_DevonCorp_3F/header.inc @@ -10,6 +10,6 @@ RustboroCity_DevonCorp_3F: @ 848337C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_Flat1_1F/header.inc b/data/maps/RustboroCity_Flat1_1F/header.inc index b2a4da3172..9d3a63c8c6 100644 --- a/data/maps/RustboroCity_Flat1_1F/header.inc +++ b/data/maps/RustboroCity_Flat1_1F/header.inc @@ -10,6 +10,6 @@ RustboroCity_Flat1_1F: @ 8483424 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_Flat1_2F/header.inc b/data/maps/RustboroCity_Flat1_2F/header.inc index 5a9a5a1332..ce47b6cb41 100644 --- a/data/maps/RustboroCity_Flat1_2F/header.inc +++ b/data/maps/RustboroCity_Flat1_2F/header.inc @@ -10,6 +10,6 @@ RustboroCity_Flat1_2F: @ 8483440 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_Flat2_1F/header.inc b/data/maps/RustboroCity_Flat2_1F/header.inc index 8df5659360..dc2a68edf5 100644 --- a/data/maps/RustboroCity_Flat2_1F/header.inc +++ b/data/maps/RustboroCity_Flat2_1F/header.inc @@ -10,6 +10,6 @@ RustboroCity_Flat2_1F: @ 84834B0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_Flat2_2F/header.inc b/data/maps/RustboroCity_Flat2_2F/header.inc index 92161bb4d8..1d117d3166 100644 --- a/data/maps/RustboroCity_Flat2_2F/header.inc +++ b/data/maps/RustboroCity_Flat2_2F/header.inc @@ -10,6 +10,6 @@ RustboroCity_Flat2_2F: @ 84834CC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_Flat2_3F/header.inc b/data/maps/RustboroCity_Flat2_3F/header.inc index fafca84e7f..037ca68211 100644 --- a/data/maps/RustboroCity_Flat2_3F/header.inc +++ b/data/maps/RustboroCity_Flat2_3F/header.inc @@ -10,6 +10,6 @@ RustboroCity_Flat2_3F: @ 84834E8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_Gym/header.inc b/data/maps/RustboroCity_Gym/header.inc index 8c07e3637c..72dc7ee47e 100644 --- a/data/maps/RustboroCity_Gym/header.inc +++ b/data/maps/RustboroCity_Gym/header.inc @@ -10,6 +10,6 @@ RustboroCity_Gym: @ 8483398 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/RustboroCity_House1/header.inc b/data/maps/RustboroCity_House1/header.inc index 94ae5e1e41..cff9064e93 100644 --- a/data/maps/RustboroCity_House1/header.inc +++ b/data/maps/RustboroCity_House1/header.inc @@ -10,6 +10,6 @@ RustboroCity_House1: @ 848345C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_House2/header.inc b/data/maps/RustboroCity_House2/header.inc index 51a6f79844..1de4f0e368 100644 --- a/data/maps/RustboroCity_House2/header.inc +++ b/data/maps/RustboroCity_House2/header.inc @@ -10,6 +10,6 @@ RustboroCity_House2: @ 8483494 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_House3/header.inc b/data/maps/RustboroCity_House3/header.inc index 89e62cf507..c1a0312e37 100644 --- a/data/maps/RustboroCity_House3/header.inc +++ b/data/maps/RustboroCity_House3/header.inc @@ -10,6 +10,6 @@ RustboroCity_House3: @ 8483504 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_Mart/header.inc b/data/maps/RustboroCity_Mart/header.inc index 766c1cb0c4..bb41aab1dd 100644 --- a/data/maps/RustboroCity_Mart/header.inc +++ b/data/maps/RustboroCity_Mart/header.inc @@ -10,6 +10,6 @@ RustboroCity_Mart: @ 8483408 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_PokemonCenter_1F/header.inc b/data/maps/RustboroCity_PokemonCenter_1F/header.inc index 17f717230a..4c5c500740 100644 --- a/data/maps/RustboroCity_PokemonCenter_1F/header.inc +++ b/data/maps/RustboroCity_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ RustboroCity_PokemonCenter_1F: @ 84833D0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_PokemonCenter_2F/header.inc b/data/maps/RustboroCity_PokemonCenter_2F/header.inc index e7a1999cc8..8e70f4c809 100644 --- a/data/maps/RustboroCity_PokemonCenter_2F/header.inc +++ b/data/maps/RustboroCity_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ RustboroCity_PokemonCenter_2F: @ 84833EC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RustboroCity_PokemonSchool/header.inc b/data/maps/RustboroCity_PokemonSchool/header.inc index 909e85c691..9b14670424 100644 --- a/data/maps/RustboroCity_PokemonSchool/header.inc +++ b/data/maps/RustboroCity_PokemonSchool/header.inc @@ -10,6 +10,6 @@ RustboroCity_PokemonSchool: @ 84833B4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/RusturfTunnel/header.inc b/data/maps/RusturfTunnel/header.inc index 4dc4e2797e..70a4776816 100644 --- a/data/maps/RusturfTunnel/header.inc +++ b/data/maps/RusturfTunnel/header.inc @@ -10,6 +10,6 @@ RusturfTunnel: @ 8483F30 .byte WEATHER_FOG_1 .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SSTidalCorridor/header.inc b/data/maps/SSTidalCorridor/header.inc index 9c1f2bab2c..37128821c2 100644 --- a/data/maps/SSTidalCorridor/header.inc +++ b/data/maps/SSTidalCorridor/header.inc @@ -10,6 +10,6 @@ SSTidalCorridor: @ 8484F0C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SSTidalLowerDeck/header.inc b/data/maps/SSTidalLowerDeck/header.inc index 6db9d2415d..f86d3ac06c 100644 --- a/data/maps/SSTidalLowerDeck/header.inc +++ b/data/maps/SSTidalLowerDeck/header.inc @@ -10,6 +10,6 @@ SSTidalLowerDeck: @ 8484F28 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SSTidalRooms/header.inc b/data/maps/SSTidalRooms/header.inc index a5788a49f8..0d1f4db63f 100644 --- a/data/maps/SSTidalRooms/header.inc +++ b/data/maps/SSTidalRooms/header.inc @@ -10,6 +10,6 @@ SSTidalRooms: @ 8484F44 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SafariZone_North/header.inc b/data/maps/SafariZone_North/header.inc index 3e667fafce..ebcb62f9a3 100644 --- a/data/maps/SafariZone_North/header.inc +++ b/data/maps/SafariZone_North/header.inc @@ -10,6 +10,6 @@ SafariZone_North: @ 8485158 .byte WEATHER_NONE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SafariZone_Northeast/header.inc b/data/maps/SafariZone_Northeast/header.inc index 7342546118..9db5fd596f 100644 --- a/data/maps/SafariZone_Northeast/header.inc +++ b/data/maps/SafariZone_Northeast/header.inc @@ -10,6 +10,6 @@ SafariZone_Northeast: @ 848528C .byte WEATHER_NONE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SafariZone_Northwest/header.inc b/data/maps/SafariZone_Northwest/header.inc index 786316fcd6..ca59f45e79 100644 --- a/data/maps/SafariZone_Northwest/header.inc +++ b/data/maps/SafariZone_Northwest/header.inc @@ -10,6 +10,6 @@ SafariZone_Northwest: @ 848513C .byte WEATHER_NONE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SafariZone_RestHouse/header.inc b/data/maps/SafariZone_RestHouse/header.inc index 1f02725b0b..fbb6f4d058 100644 --- a/data/maps/SafariZone_RestHouse/header.inc +++ b/data/maps/SafariZone_RestHouse/header.inc @@ -10,6 +10,6 @@ SafariZone_RestHouse: @ 8485270 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SafariZone_South/header.inc b/data/maps/SafariZone_South/header.inc index 5c60a541b7..1567935d26 100644 --- a/data/maps/SafariZone_South/header.inc +++ b/data/maps/SafariZone_South/header.inc @@ -10,6 +10,6 @@ SafariZone_South: @ 8485190 .byte WEATHER_NONE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SafariZone_Southeast/header.inc b/data/maps/SafariZone_Southeast/header.inc index 54f2c505ac..55ff682323 100644 --- a/data/maps/SafariZone_Southeast/header.inc +++ b/data/maps/SafariZone_Southeast/header.inc @@ -10,6 +10,6 @@ SafariZone_Southeast: @ 84852A8 .byte WEATHER_NONE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SafariZone_Southwest/header.inc b/data/maps/SafariZone_Southwest/header.inc index 332d2f9a4a..189fa09b87 100644 --- a/data/maps/SafariZone_Southwest/header.inc +++ b/data/maps/SafariZone_Southwest/header.inc @@ -10,6 +10,6 @@ SafariZone_Southwest: @ 8485174 .byte WEATHER_NONE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/ScorchedSlab/header.inc b/data/maps/ScorchedSlab/header.inc index 1de3fd4139..84c09df3fa 100644 --- a/data/maps/ScorchedSlab/header.inc +++ b/data/maps/ScorchedSlab/header.inc @@ -10,6 +10,6 @@ ScorchedSlab: @ 84846BC .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SeafloorCavern_Entrance/header.inc b/data/maps/SeafloorCavern_Entrance/header.inc index 417467ac57..8e62470ac1 100644 --- a/data/maps/SeafloorCavern_Entrance/header.inc +++ b/data/maps/SeafloorCavern_Entrance/header.inc @@ -10,6 +10,6 @@ SeafloorCavern_Entrance: @ 84841B4 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SeafloorCavern_Room1/header.inc b/data/maps/SeafloorCavern_Room1/header.inc index e259b065bf..9b84e5d960 100644 --- a/data/maps/SeafloorCavern_Room1/header.inc +++ b/data/maps/SeafloorCavern_Room1/header.inc @@ -10,6 +10,6 @@ SeafloorCavern_Room1: @ 84841D0 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SeafloorCavern_Room2/header.inc b/data/maps/SeafloorCavern_Room2/header.inc index 6331b3b185..b7d4e47d78 100644 --- a/data/maps/SeafloorCavern_Room2/header.inc +++ b/data/maps/SeafloorCavern_Room2/header.inc @@ -10,6 +10,6 @@ SeafloorCavern_Room2: @ 84841EC .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SeafloorCavern_Room3/header.inc b/data/maps/SeafloorCavern_Room3/header.inc index a91ef42ef1..b5a032b603 100644 --- a/data/maps/SeafloorCavern_Room3/header.inc +++ b/data/maps/SeafloorCavern_Room3/header.inc @@ -10,6 +10,6 @@ SeafloorCavern_Room3: @ 8484208 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SeafloorCavern_Room4/header.inc b/data/maps/SeafloorCavern_Room4/header.inc index 7385a41fba..75b51c3436 100644 --- a/data/maps/SeafloorCavern_Room4/header.inc +++ b/data/maps/SeafloorCavern_Room4/header.inc @@ -10,6 +10,6 @@ SeafloorCavern_Room4: @ 8484224 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SeafloorCavern_Room5/header.inc b/data/maps/SeafloorCavern_Room5/header.inc index aa2b0dc56e..6b053fc71c 100644 --- a/data/maps/SeafloorCavern_Room5/header.inc +++ b/data/maps/SeafloorCavern_Room5/header.inc @@ -10,6 +10,6 @@ SeafloorCavern_Room5: @ 8484240 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SeafloorCavern_Room6/header.inc b/data/maps/SeafloorCavern_Room6/header.inc index 2f76c9b8f4..d1346acd86 100644 --- a/data/maps/SeafloorCavern_Room6/header.inc +++ b/data/maps/SeafloorCavern_Room6/header.inc @@ -10,6 +10,6 @@ SeafloorCavern_Room6: @ 848425C .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SeafloorCavern_Room7/header.inc b/data/maps/SeafloorCavern_Room7/header.inc index 3640bb597a..b5b4aca03b 100644 --- a/data/maps/SeafloorCavern_Room7/header.inc +++ b/data/maps/SeafloorCavern_Room7/header.inc @@ -10,6 +10,6 @@ SeafloorCavern_Room7: @ 8484278 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SeafloorCavern_Room8/header.inc b/data/maps/SeafloorCavern_Room8/header.inc index 66e6523f02..0ada4ab71a 100644 --- a/data/maps/SeafloorCavern_Room8/header.inc +++ b/data/maps/SeafloorCavern_Room8/header.inc @@ -10,6 +10,6 @@ SeafloorCavern_Room8: @ 8484294 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SeafloorCavern_Room9/header.inc b/data/maps/SeafloorCavern_Room9/header.inc index 2f08ec83a0..4d2be9474a 100644 --- a/data/maps/SeafloorCavern_Room9/header.inc +++ b/data/maps/SeafloorCavern_Room9/header.inc @@ -10,6 +10,6 @@ SeafloorCavern_Room9: @ 84842B0 .byte WEATHER_FOG_1 .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 14 + map_header_flags allow_bike=0, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SealedChamber_InnerRoom/header.inc b/data/maps/SealedChamber_InnerRoom/header.inc index 541842c26f..5fa5dccc9c 100644 --- a/data/maps/SealedChamber_InnerRoom/header.inc +++ b/data/maps/SealedChamber_InnerRoom/header.inc @@ -10,6 +10,6 @@ SealedChamber_InnerRoom: @ 84846A0 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SealedChamber_OuterRoom/header.inc b/data/maps/SealedChamber_OuterRoom/header.inc index 5fa6728d85..3930e818dd 100644 --- a/data/maps/SealedChamber_OuterRoom/header.inc +++ b/data/maps/SealedChamber_OuterRoom/header.inc @@ -10,6 +10,6 @@ SealedChamber_OuterRoom: @ 8484684 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SecretBase_BlueCave1/header.inc b/data/maps/SecretBase_BlueCave1/header.inc index f75acd84a6..60eeeab322 100644 --- a/data/maps/SecretBase_BlueCave1/header.inc +++ b/data/maps/SecretBase_BlueCave1/header.inc @@ -10,6 +10,6 @@ SecretBase_BlueCave1: @ 8484AC8 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_BlueCave2/header.inc b/data/maps/SecretBase_BlueCave2/header.inc index 6b80b45bb1..348a5cd021 100644 --- a/data/maps/SecretBase_BlueCave2/header.inc +++ b/data/maps/SecretBase_BlueCave2/header.inc @@ -10,6 +10,6 @@ SecretBase_BlueCave2: @ 8484B70 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_BlueCave3/header.inc b/data/maps/SecretBase_BlueCave3/header.inc index 19a4afdfda..26ab5ef93a 100644 --- a/data/maps/SecretBase_BlueCave3/header.inc +++ b/data/maps/SecretBase_BlueCave3/header.inc @@ -10,6 +10,6 @@ SecretBase_BlueCave3: @ 8484C18 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_BlueCave4/header.inc b/data/maps/SecretBase_BlueCave4/header.inc index 3a51deec48..5e253d51e8 100644 --- a/data/maps/SecretBase_BlueCave4/header.inc +++ b/data/maps/SecretBase_BlueCave4/header.inc @@ -10,6 +10,6 @@ SecretBase_BlueCave4: @ 8484CC0 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_BrownCave1/header.inc b/data/maps/SecretBase_BrownCave1/header.inc index 7a79eab3e3..ab531bf5cb 100644 --- a/data/maps/SecretBase_BrownCave1/header.inc +++ b/data/maps/SecretBase_BrownCave1/header.inc @@ -10,6 +10,6 @@ SecretBase_BrownCave1: @ 8484AAC .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_BrownCave2/header.inc b/data/maps/SecretBase_BrownCave2/header.inc index 5f0e61f8c6..464bcd059a 100644 --- a/data/maps/SecretBase_BrownCave2/header.inc +++ b/data/maps/SecretBase_BrownCave2/header.inc @@ -10,6 +10,6 @@ SecretBase_BrownCave2: @ 8484B54 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_BrownCave3/header.inc b/data/maps/SecretBase_BrownCave3/header.inc index bd88bf1d3f..923b2c4be8 100644 --- a/data/maps/SecretBase_BrownCave3/header.inc +++ b/data/maps/SecretBase_BrownCave3/header.inc @@ -10,6 +10,6 @@ SecretBase_BrownCave3: @ 8484BFC .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_BrownCave4/header.inc b/data/maps/SecretBase_BrownCave4/header.inc index 8183eee678..6d61f06a72 100644 --- a/data/maps/SecretBase_BrownCave4/header.inc +++ b/data/maps/SecretBase_BrownCave4/header.inc @@ -10,6 +10,6 @@ SecretBase_BrownCave4: @ 8484CA4 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_RedCave1/header.inc b/data/maps/SecretBase_RedCave1/header.inc index 774e8471ea..82fc8c4e30 100644 --- a/data/maps/SecretBase_RedCave1/header.inc +++ b/data/maps/SecretBase_RedCave1/header.inc @@ -10,6 +10,6 @@ SecretBase_RedCave1: @ 8484A90 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_RedCave2/header.inc b/data/maps/SecretBase_RedCave2/header.inc index 2137748afc..e4a2176d71 100644 --- a/data/maps/SecretBase_RedCave2/header.inc +++ b/data/maps/SecretBase_RedCave2/header.inc @@ -10,6 +10,6 @@ SecretBase_RedCave2: @ 8484B38 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_RedCave3/header.inc b/data/maps/SecretBase_RedCave3/header.inc index 04b0ae23a0..9317921e20 100644 --- a/data/maps/SecretBase_RedCave3/header.inc +++ b/data/maps/SecretBase_RedCave3/header.inc @@ -10,6 +10,6 @@ SecretBase_RedCave3: @ 8484BE0 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_RedCave4/header.inc b/data/maps/SecretBase_RedCave4/header.inc index 94c8605a02..62fd094a45 100644 --- a/data/maps/SecretBase_RedCave4/header.inc +++ b/data/maps/SecretBase_RedCave4/header.inc @@ -10,6 +10,6 @@ SecretBase_RedCave4: @ 8484C88 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_Shrub1/header.inc b/data/maps/SecretBase_Shrub1/header.inc index 85e94f1581..4807cc4852 100644 --- a/data/maps/SecretBase_Shrub1/header.inc +++ b/data/maps/SecretBase_Shrub1/header.inc @@ -10,6 +10,6 @@ SecretBase_Shrub1: @ 8484B1C .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_Shrub2/header.inc b/data/maps/SecretBase_Shrub2/header.inc index 7beeb3d8b0..56df5fd2f2 100644 --- a/data/maps/SecretBase_Shrub2/header.inc +++ b/data/maps/SecretBase_Shrub2/header.inc @@ -10,6 +10,6 @@ SecretBase_Shrub2: @ 8484BC4 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_Shrub3/header.inc b/data/maps/SecretBase_Shrub3/header.inc index 18b1f132ac..3b5ade8f3b 100644 --- a/data/maps/SecretBase_Shrub3/header.inc +++ b/data/maps/SecretBase_Shrub3/header.inc @@ -10,6 +10,6 @@ SecretBase_Shrub3: @ 8484C6C .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_Shrub4/header.inc b/data/maps/SecretBase_Shrub4/header.inc index 72c5724f6f..816b963cb5 100644 --- a/data/maps/SecretBase_Shrub4/header.inc +++ b/data/maps/SecretBase_Shrub4/header.inc @@ -10,6 +10,6 @@ SecretBase_Shrub4: @ 8484D14 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_Tree1/header.inc b/data/maps/SecretBase_Tree1/header.inc index a9a3416964..f1ed545a5a 100644 --- a/data/maps/SecretBase_Tree1/header.inc +++ b/data/maps/SecretBase_Tree1/header.inc @@ -10,6 +10,6 @@ SecretBase_Tree1: @ 8484B00 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_Tree2/header.inc b/data/maps/SecretBase_Tree2/header.inc index 86898ed155..2d8c2652cf 100644 --- a/data/maps/SecretBase_Tree2/header.inc +++ b/data/maps/SecretBase_Tree2/header.inc @@ -10,6 +10,6 @@ SecretBase_Tree2: @ 8484BA8 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_Tree3/header.inc b/data/maps/SecretBase_Tree3/header.inc index 6ef9407965..e4f703d211 100644 --- a/data/maps/SecretBase_Tree3/header.inc +++ b/data/maps/SecretBase_Tree3/header.inc @@ -10,6 +10,6 @@ SecretBase_Tree3: @ 8484C50 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_Tree4/header.inc b/data/maps/SecretBase_Tree4/header.inc index 2a2523a074..7cf8ef0249 100644 --- a/data/maps/SecretBase_Tree4/header.inc +++ b/data/maps/SecretBase_Tree4/header.inc @@ -10,6 +10,6 @@ SecretBase_Tree4: @ 8484CF8 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_YellowCave1/header.inc b/data/maps/SecretBase_YellowCave1/header.inc index d15eacc36e..9bc1b071eb 100644 --- a/data/maps/SecretBase_YellowCave1/header.inc +++ b/data/maps/SecretBase_YellowCave1/header.inc @@ -10,6 +10,6 @@ SecretBase_YellowCave1: @ 8484AE4 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_YellowCave2/header.inc b/data/maps/SecretBase_YellowCave2/header.inc index a1afc748a2..60c0f49f0f 100644 --- a/data/maps/SecretBase_YellowCave2/header.inc +++ b/data/maps/SecretBase_YellowCave2/header.inc @@ -10,6 +10,6 @@ SecretBase_YellowCave2: @ 8484B8C .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_YellowCave3/header.inc b/data/maps/SecretBase_YellowCave3/header.inc index 798754531a..b82555cf42 100644 --- a/data/maps/SecretBase_YellowCave3/header.inc +++ b/data/maps/SecretBase_YellowCave3/header.inc @@ -10,6 +10,6 @@ SecretBase_YellowCave3: @ 8484C34 .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SecretBase_YellowCave4/header.inc b/data/maps/SecretBase_YellowCave4/header.inc index 89921f1d4d..d7056f380c 100644 --- a/data/maps/SecretBase_YellowCave4/header.inc +++ b/data/maps/SecretBase_YellowCave4/header.inc @@ -10,6 +10,6 @@ SecretBase_YellowCave4: @ 8484CDC .byte WEATHER_NONE .byte MAP_TYPE_SECRET_BASE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/ShoalCave_HighTideEntranceRoom/header.inc b/data/maps/ShoalCave_HighTideEntranceRoom/header.inc index 507ad70549..c4d7d39e9f 100644 --- a/data/maps/ShoalCave_HighTideEntranceRoom/header.inc +++ b/data/maps/ShoalCave_HighTideEntranceRoom/header.inc @@ -10,6 +10,6 @@ ShoalCave_HighTideEntranceRoom: @ 8484438 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/ShoalCave_HighTideInnerRoom/header.inc b/data/maps/ShoalCave_HighTideInnerRoom/header.inc index 1d334424b1..f9983a781e 100644 --- a/data/maps/ShoalCave_HighTideInnerRoom/header.inc +++ b/data/maps/ShoalCave_HighTideInnerRoom/header.inc @@ -10,6 +10,6 @@ ShoalCave_HighTideInnerRoom: @ 8484454 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/ShoalCave_LowTideEntranceRoom/header.inc b/data/maps/ShoalCave_LowTideEntranceRoom/header.inc index 98614de643..656df81888 100644 --- a/data/maps/ShoalCave_LowTideEntranceRoom/header.inc +++ b/data/maps/ShoalCave_LowTideEntranceRoom/header.inc @@ -10,6 +10,6 @@ ShoalCave_LowTideEntranceRoom: @ 84843C8 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/ShoalCave_LowTideIceRoom/header.inc b/data/maps/ShoalCave_LowTideIceRoom/header.inc index 05b77a442b..58669c0c6a 100644 --- a/data/maps/ShoalCave_LowTideIceRoom/header.inc +++ b/data/maps/ShoalCave_LowTideIceRoom/header.inc @@ -10,6 +10,6 @@ ShoalCave_LowTideIceRoom: @ 84847D4 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/ShoalCave_LowTideInnerRoom/header.inc b/data/maps/ShoalCave_LowTideInnerRoom/header.inc index b1ab8a459e..7f21d0a22d 100644 --- a/data/maps/ShoalCave_LowTideInnerRoom/header.inc +++ b/data/maps/ShoalCave_LowTideInnerRoom/header.inc @@ -10,6 +10,6 @@ ShoalCave_LowTideInnerRoom: @ 84843E4 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/ShoalCave_LowTideLowerRoom/header.inc b/data/maps/ShoalCave_LowTideLowerRoom/header.inc index 0c8380b794..21ea185eaa 100644 --- a/data/maps/ShoalCave_LowTideLowerRoom/header.inc +++ b/data/maps/ShoalCave_LowTideLowerRoom/header.inc @@ -10,6 +10,6 @@ ShoalCave_LowTideLowerRoom: @ 848441C .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/ShoalCave_LowTideStairsRoom/header.inc b/data/maps/ShoalCave_LowTideStairsRoom/header.inc index 8a977c94ec..7d7089f854 100644 --- a/data/maps/ShoalCave_LowTideStairsRoom/header.inc +++ b/data/maps/ShoalCave_LowTideStairsRoom/header.inc @@ -10,6 +10,6 @@ ShoalCave_LowTideStairsRoom: @ 8484400 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SingleBattleColosseum/header.inc b/data/maps/SingleBattleColosseum/header.inc index fe4b69f968..ac5f23b1e1 100644 --- a/data/maps/SingleBattleColosseum/header.inc +++ b/data/maps/SingleBattleColosseum/header.inc @@ -10,6 +10,6 @@ SingleBattleColosseum: @ 8484D30 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/SkyPillar_1F/header.inc b/data/maps/SkyPillar_1F/header.inc index 842ec79cda..9f76317d8d 100644 --- a/data/maps/SkyPillar_1F/header.inc +++ b/data/maps/SkyPillar_1F/header.inc @@ -10,6 +10,6 @@ SkyPillar_1F: @ 8484764 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SkyPillar_2F/header.inc b/data/maps/SkyPillar_2F/header.inc index e018869b9d..8335107025 100644 --- a/data/maps/SkyPillar_2F/header.inc +++ b/data/maps/SkyPillar_2F/header.inc @@ -10,6 +10,6 @@ SkyPillar_2F: @ 8484780 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SkyPillar_3F/header.inc b/data/maps/SkyPillar_3F/header.inc index e3b2c3c40c..5381079f63 100644 --- a/data/maps/SkyPillar_3F/header.inc +++ b/data/maps/SkyPillar_3F/header.inc @@ -10,6 +10,6 @@ SkyPillar_3F: @ 848479C .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SkyPillar_4F/header.inc b/data/maps/SkyPillar_4F/header.inc index 23addaa769..ff91215e06 100644 --- a/data/maps/SkyPillar_4F/header.inc +++ b/data/maps/SkyPillar_4F/header.inc @@ -10,6 +10,6 @@ SkyPillar_4F: @ 84847B8 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SkyPillar_5F/header.inc b/data/maps/SkyPillar_5F/header.inc index 46830945d5..06618c7667 100644 --- a/data/maps/SkyPillar_5F/header.inc +++ b/data/maps/SkyPillar_5F/header.inc @@ -10,6 +10,6 @@ SkyPillar_5F: @ 84847F0 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SkyPillar_Entrance/header.inc b/data/maps/SkyPillar_Entrance/header.inc index bafe1880a4..434b1f85a1 100644 --- a/data/maps/SkyPillar_Entrance/header.inc +++ b/data/maps/SkyPillar_Entrance/header.inc @@ -10,6 +10,6 @@ SkyPillar_Entrance: @ 848472C .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SkyPillar_Outside/header.inc b/data/maps/SkyPillar_Outside/header.inc index 5e7ff153cc..3ca072c808 100644 --- a/data/maps/SkyPillar_Outside/header.inc +++ b/data/maps/SkyPillar_Outside/header.inc @@ -10,6 +10,6 @@ SkyPillar_Outside: @ 8484748 .byte WEATHER_NONE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SkyPillar_Top/header.inc b/data/maps/SkyPillar_Top/header.inc index d4afb6ad16..07dbd38bb4 100644 --- a/data/maps/SkyPillar_Top/header.inc +++ b/data/maps/SkyPillar_Top/header.inc @@ -10,6 +10,6 @@ SkyPillar_Top: @ 848480C .byte WEATHER_NONE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 12 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity/header.inc b/data/maps/SlateportCity/header.inc index 335a1a0947..b8454f6560 100644 --- a/data/maps/SlateportCity/header.inc +++ b/data/maps/SlateportCity/header.inc @@ -10,6 +10,6 @@ SlateportCity: @ 84824D4 .byte WEATHER_SUNNY .byte MAP_TYPE_CITY .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/header.inc b/data/maps/SlateportCity_BattleTentBattleRoom/header.inc index 0b6c6bd39a..e9044f1e9c 100644 --- a/data/maps/SlateportCity_BattleTentBattleRoom/header.inc +++ b/data/maps/SlateportCity_BattleTentBattleRoom/header.inc @@ -10,6 +10,6 @@ SlateportCity_BattleTentBattleRoom: @ 848314C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity_BattleTentCorridor/header.inc b/data/maps/SlateportCity_BattleTentCorridor/header.inc index 926a367eeb..0a273edef0 100644 --- a/data/maps/SlateportCity_BattleTentCorridor/header.inc +++ b/data/maps/SlateportCity_BattleTentCorridor/header.inc @@ -10,6 +10,6 @@ SlateportCity_BattleTentCorridor: @ 8483130 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity_BattleTentLobby/header.inc b/data/maps/SlateportCity_BattleTentLobby/header.inc index d4689afde9..6bbbbf45fb 100644 --- a/data/maps/SlateportCity_BattleTentLobby/header.inc +++ b/data/maps/SlateportCity_BattleTentLobby/header.inc @@ -10,6 +10,6 @@ SlateportCity_BattleTentLobby: @ 8483114 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity_Harbor/header.inc b/data/maps/SlateportCity_Harbor/header.inc index 5a31901a37..922f84f1a7 100644 --- a/data/maps/SlateportCity_Harbor/header.inc +++ b/data/maps/SlateportCity_Harbor/header.inc @@ -10,6 +10,6 @@ SlateportCity_Harbor: @ 84831D8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity_House1/header.inc b/data/maps/SlateportCity_House1/header.inc index 06e2689cdd..1e48dfb549 100644 --- a/data/maps/SlateportCity_House1/header.inc +++ b/data/maps/SlateportCity_House1/header.inc @@ -10,6 +10,6 @@ SlateportCity_House1: @ 8483168 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity_House2/header.inc b/data/maps/SlateportCity_House2/header.inc index 5612c6df05..6028d12fba 100644 --- a/data/maps/SlateportCity_House2/header.inc +++ b/data/maps/SlateportCity_House2/header.inc @@ -10,6 +10,6 @@ SlateportCity_House2: @ 84831F4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity_Mart/header.inc b/data/maps/SlateportCity_Mart/header.inc index 764b8e9b5b..2d53ac8c39 100644 --- a/data/maps/SlateportCity_Mart/header.inc +++ b/data/maps/SlateportCity_Mart/header.inc @@ -10,6 +10,6 @@ SlateportCity_Mart: @ 8483248 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity_OceanicMuseum_1F/header.inc b/data/maps/SlateportCity_OceanicMuseum_1F/header.inc index 40b265c1d8..b75a12f600 100644 --- a/data/maps/SlateportCity_OceanicMuseum_1F/header.inc +++ b/data/maps/SlateportCity_OceanicMuseum_1F/header.inc @@ -10,6 +10,6 @@ SlateportCity_OceanicMuseum_1F: @ 84831A0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity_OceanicMuseum_2F/header.inc b/data/maps/SlateportCity_OceanicMuseum_2F/header.inc index 857443db14..a571c2372e 100644 --- a/data/maps/SlateportCity_OceanicMuseum_2F/header.inc +++ b/data/maps/SlateportCity_OceanicMuseum_2F/header.inc @@ -10,6 +10,6 @@ SlateportCity_OceanicMuseum_2F: @ 84831BC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity_PokemonCenter_1F/header.inc b/data/maps/SlateportCity_PokemonCenter_1F/header.inc index 0c4696d863..37f19272d8 100644 --- a/data/maps/SlateportCity_PokemonCenter_1F/header.inc +++ b/data/maps/SlateportCity_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ SlateportCity_PokemonCenter_1F: @ 8483210 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity_PokemonCenter_2F/header.inc b/data/maps/SlateportCity_PokemonCenter_2F/header.inc index 8026aaf415..1cac2f35ed 100644 --- a/data/maps/SlateportCity_PokemonCenter_2F/header.inc +++ b/data/maps/SlateportCity_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ SlateportCity_PokemonCenter_2F: @ 848322C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity_PokemonFanClub/header.inc b/data/maps/SlateportCity_PokemonFanClub/header.inc index 90b17f14a9..b3b0dc8995 100644 --- a/data/maps/SlateportCity_PokemonFanClub/header.inc +++ b/data/maps/SlateportCity_PokemonFanClub/header.inc @@ -10,6 +10,6 @@ SlateportCity_PokemonFanClub: @ 8483184 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity_SternsShipyard_1F/header.inc b/data/maps/SlateportCity_SternsShipyard_1F/header.inc index 48d1845174..e702530ef6 100644 --- a/data/maps/SlateportCity_SternsShipyard_1F/header.inc +++ b/data/maps/SlateportCity_SternsShipyard_1F/header.inc @@ -10,6 +10,6 @@ SlateportCity_SternsShipyard_1F: @ 84830DC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SlateportCity_SternsShipyard_2F/header.inc b/data/maps/SlateportCity_SternsShipyard_2F/header.inc index b868e843af..8139d7604c 100644 --- a/data/maps/SlateportCity_SternsShipyard_2F/header.inc +++ b/data/maps/SlateportCity_SternsShipyard_2F/header.inc @@ -10,6 +10,6 @@ SlateportCity_SternsShipyard_2F: @ 84830F8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SootopolisCity/header.inc b/data/maps/SootopolisCity/header.inc index e635b6f807..1b6832fbe9 100644 --- a/data/maps/SootopolisCity/header.inc +++ b/data/maps/SootopolisCity/header.inc @@ -10,6 +10,6 @@ SootopolisCity: @ 848257C .byte WEATHER_SUNNY .byte MAP_TYPE_CITY .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SootopolisCity_Gym_1F/header.inc b/data/maps/SootopolisCity_Gym_1F/header.inc index 8b5c93c0d0..1d71e09232 100644 --- a/data/maps/SootopolisCity_Gym_1F/header.inc +++ b/data/maps/SootopolisCity_Gym_1F/header.inc @@ -10,6 +10,6 @@ SootopolisCity_Gym_1F: @ 8483A28 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/SootopolisCity_Gym_B1F/header.inc b/data/maps/SootopolisCity_Gym_B1F/header.inc index 84caedcf87..c06afbc1b3 100644 --- a/data/maps/SootopolisCity_Gym_B1F/header.inc +++ b/data/maps/SootopolisCity_Gym_B1F/header.inc @@ -10,6 +10,6 @@ SootopolisCity_Gym_B1F: @ 8483A44 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_GYM diff --git a/data/maps/SootopolisCity_House1/header.inc b/data/maps/SootopolisCity_House1/header.inc index 0b4eae6199..f7621f917b 100644 --- a/data/maps/SootopolisCity_House1/header.inc +++ b/data/maps/SootopolisCity_House1/header.inc @@ -10,6 +10,6 @@ SootopolisCity_House1: @ 8483AB4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SootopolisCity_House2/header.inc b/data/maps/SootopolisCity_House2/header.inc index a0d8b4fb49..c329627185 100644 --- a/data/maps/SootopolisCity_House2/header.inc +++ b/data/maps/SootopolisCity_House2/header.inc @@ -10,6 +10,6 @@ SootopolisCity_House2: @ 8483AD0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SootopolisCity_House3/header.inc b/data/maps/SootopolisCity_House3/header.inc index 015f6fe6c5..bd90fabc00 100644 --- a/data/maps/SootopolisCity_House3/header.inc +++ b/data/maps/SootopolisCity_House3/header.inc @@ -10,6 +10,6 @@ SootopolisCity_House3: @ 8483AEC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SootopolisCity_House4/header.inc b/data/maps/SootopolisCity_House4/header.inc index 21c8c9235c..f715682877 100644 --- a/data/maps/SootopolisCity_House4/header.inc +++ b/data/maps/SootopolisCity_House4/header.inc @@ -10,6 +10,6 @@ SootopolisCity_House4: @ 8483B08 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SootopolisCity_House5/header.inc b/data/maps/SootopolisCity_House5/header.inc index 60fa216ca0..d3d90fb055 100644 --- a/data/maps/SootopolisCity_House5/header.inc +++ b/data/maps/SootopolisCity_House5/header.inc @@ -10,6 +10,6 @@ SootopolisCity_House5: @ 8483B24 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SootopolisCity_House6/header.inc b/data/maps/SootopolisCity_House6/header.inc index 112aa8a6d3..e3daef4ed2 100644 --- a/data/maps/SootopolisCity_House6/header.inc +++ b/data/maps/SootopolisCity_House6/header.inc @@ -10,6 +10,6 @@ SootopolisCity_House6: @ 8483B40 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SootopolisCity_House7/header.inc b/data/maps/SootopolisCity_House7/header.inc index a016164191..db988ed22c 100644 --- a/data/maps/SootopolisCity_House7/header.inc +++ b/data/maps/SootopolisCity_House7/header.inc @@ -10,6 +10,6 @@ SootopolisCity_House7: @ 8483B5C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SootopolisCity_LotadAndSeedotHouse/header.inc b/data/maps/SootopolisCity_LotadAndSeedotHouse/header.inc index b89221bacb..47f68b58fe 100644 --- a/data/maps/SootopolisCity_LotadAndSeedotHouse/header.inc +++ b/data/maps/SootopolisCity_LotadAndSeedotHouse/header.inc @@ -10,6 +10,6 @@ SootopolisCity_LotadAndSeedotHouse: @ 8483B78 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SootopolisCity_Mart/header.inc b/data/maps/SootopolisCity_Mart/header.inc index 4bdd9ef8d9..131540c7ac 100644 --- a/data/maps/SootopolisCity_Mart/header.inc +++ b/data/maps/SootopolisCity_Mart/header.inc @@ -10,6 +10,6 @@ SootopolisCity_Mart: @ 8483A98 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_1F/header.inc b/data/maps/SootopolisCity_MysteryEventsHouse_1F/header.inc index be2d37eb62..153be53cba 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_1F/header.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_1F/header.inc @@ -10,6 +10,6 @@ SootopolisCity_MysteryEventsHouse_1F: @ 8483B94 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/header.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/header.inc index 6635dc3d7d..e0355b0745 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/header.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/header.inc @@ -10,6 +10,6 @@ SootopolisCity_MysteryEventsHouse_B1F: @ 8483BB0 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SootopolisCity_PokemonCenter_1F/header.inc b/data/maps/SootopolisCity_PokemonCenter_1F/header.inc index c66b725fd9..75da1fc474 100644 --- a/data/maps/SootopolisCity_PokemonCenter_1F/header.inc +++ b/data/maps/SootopolisCity_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ SootopolisCity_PokemonCenter_1F: @ 8483A60 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SootopolisCity_PokemonCenter_2F/header.inc b/data/maps/SootopolisCity_PokemonCenter_2F/header.inc index 3a2844f4ed..f9e1c51896 100644 --- a/data/maps/SootopolisCity_PokemonCenter_2F/header.inc +++ b/data/maps/SootopolisCity_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ SootopolisCity_PokemonCenter_2F: @ 8483A7C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SouthernIsland_Exterior/header.inc b/data/maps/SouthernIsland_Exterior/header.inc index f6153e13ff..4aa0eff1a3 100644 --- a/data/maps/SouthernIsland_Exterior/header.inc +++ b/data/maps/SouthernIsland_Exterior/header.inc @@ -10,6 +10,6 @@ SouthernIsland_Exterior: @ 8485238 .byte WEATHER_NONE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/SouthernIsland_Interior/header.inc b/data/maps/SouthernIsland_Interior/header.inc index e674840cfb..b1238c4f75 100644 --- a/data/maps/SouthernIsland_Interior/header.inc +++ b/data/maps/SouthernIsland_Interior/header.inc @@ -10,6 +10,6 @@ SouthernIsland_Interior: @ 8485254 .byte WEATHER_SHADE .byte MAP_TYPE_ROUTE .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/TerraCave_End/header.inc b/data/maps/TerraCave_End/header.inc index b69a9b5011..8ba9f7d456 100644 --- a/data/maps/TerraCave_End/header.inc +++ b/data/maps/TerraCave_End/header.inc @@ -10,6 +10,6 @@ TerraCave_End: @ 8484A3C .byte WEATHER_FOG_1 .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 14 + map_header_flags allow_bike=0, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/TerraCave_Entrance/header.inc b/data/maps/TerraCave_Entrance/header.inc index 88ef9d3efe..b75c867993 100644 --- a/data/maps/TerraCave_Entrance/header.inc +++ b/data/maps/TerraCave_Entrance/header.inc @@ -10,6 +10,6 @@ TerraCave_Entrance: @ 8484A20 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/TradeCenter/header.inc b/data/maps/TradeCenter/header.inc index 947cdbde26..9b621cb026 100644 --- a/data/maps/TradeCenter/header.inc +++ b/data/maps/TradeCenter/header.inc @@ -10,6 +10,6 @@ TradeCenter: @ 8484D4C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/TrainerHill_1F/header.inc b/data/maps/TrainerHill_1F/header.inc index b21e67e69a..3c6b581191 100644 --- a/data/maps/TrainerHill_1F/header.inc +++ b/data/maps/TrainerHill_1F/header.inc @@ -10,6 +10,6 @@ TrainerHill_1F: @ 84857E8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 4 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/TrainerHill_2F/header.inc b/data/maps/TrainerHill_2F/header.inc index e2a02834e0..d8343060c7 100644 --- a/data/maps/TrainerHill_2F/header.inc +++ b/data/maps/TrainerHill_2F/header.inc @@ -10,6 +10,6 @@ TrainerHill_2F: @ 8485804 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 4 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/TrainerHill_3F/header.inc b/data/maps/TrainerHill_3F/header.inc index c7513cc96b..db82eb277f 100644 --- a/data/maps/TrainerHill_3F/header.inc +++ b/data/maps/TrainerHill_3F/header.inc @@ -10,6 +10,6 @@ TrainerHill_3F: @ 8485820 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 4 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/TrainerHill_4F/header.inc b/data/maps/TrainerHill_4F/header.inc index f25ce4e976..d699f53d57 100644 --- a/data/maps/TrainerHill_4F/header.inc +++ b/data/maps/TrainerHill_4F/header.inc @@ -10,6 +10,6 @@ TrainerHill_4F: @ 848583C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 4 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/TrainerHill_Elevator/header.inc b/data/maps/TrainerHill_Elevator/header.inc index 0d4e95af31..936b7712dd 100644 --- a/data/maps/TrainerHill_Elevator/header.inc +++ b/data/maps/TrainerHill_Elevator/header.inc @@ -10,6 +10,6 @@ TrainerHill_Elevator: @ 8485ADC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/TrainerHill_Entrance/header.inc b/data/maps/TrainerHill_Entrance/header.inc index 8e8eb4b919..79d6c8b961 100644 --- a/data/maps/TrainerHill_Entrance/header.inc +++ b/data/maps/TrainerHill_Entrance/header.inc @@ -10,6 +10,6 @@ TrainerHill_Entrance: @ 84857CC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 4 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/TrainerHill_Roof/header.inc b/data/maps/TrainerHill_Roof/header.inc index d4d431dc59..9f0b0dd3ba 100644 --- a/data/maps/TrainerHill_Roof/header.inc +++ b/data/maps/TrainerHill_Roof/header.inc @@ -10,6 +10,6 @@ TrainerHill_Roof: @ 8485858 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 4 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=1, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Underwater1/header.inc b/data/maps/Underwater1/header.inc index bf5589117d..7cf9542992 100644 --- a/data/maps/Underwater1/header.inc +++ b/data/maps/Underwater1/header.inc @@ -10,6 +10,6 @@ Underwater1: @ 8482A30 .byte WEATHER_BUBBLES .byte MAP_TYPE_UNDERWATER .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Underwater2/header.inc b/data/maps/Underwater2/header.inc index 5bd5b037b9..a4c14ab289 100644 --- a/data/maps/Underwater2/header.inc +++ b/data/maps/Underwater2/header.inc @@ -10,6 +10,6 @@ Underwater2: @ 8482A4C .byte WEATHER_BUBBLES .byte MAP_TYPE_UNDERWATER .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Underwater3/header.inc b/data/maps/Underwater3/header.inc index 064a732a5f..4e91eb687d 100644 --- a/data/maps/Underwater3/header.inc +++ b/data/maps/Underwater3/header.inc @@ -10,6 +10,6 @@ Underwater3: @ 8482A68 .byte WEATHER_BUBBLES .byte MAP_TYPE_UNDERWATER .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Underwater4/header.inc b/data/maps/Underwater4/header.inc index 7752479de1..804fb1d14a 100644 --- a/data/maps/Underwater4/header.inc +++ b/data/maps/Underwater4/header.inc @@ -10,6 +10,6 @@ Underwater4: @ 8482A84 .byte WEATHER_BUBBLES .byte MAP_TYPE_UNDERWATER .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Underwater5/header.inc b/data/maps/Underwater5/header.inc index dda2f54b19..8ad3b5ba28 100644 --- a/data/maps/Underwater5/header.inc +++ b/data/maps/Underwater5/header.inc @@ -10,6 +10,6 @@ Underwater5: @ 8482AA0 .byte WEATHER_BUBBLES .byte MAP_TYPE_UNDERWATER .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Underwater6/header.inc b/data/maps/Underwater6/header.inc index 17769c3317..4e978a1e7f 100644 --- a/data/maps/Underwater6/header.inc +++ b/data/maps/Underwater6/header.inc @@ -10,6 +10,6 @@ Underwater6: @ 8482ABC .byte WEATHER_BUBBLES .byte MAP_TYPE_UNDERWATER .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Underwater7/header.inc b/data/maps/Underwater7/header.inc index f5bc3bfa35..132eb867ee 100644 --- a/data/maps/Underwater7/header.inc +++ b/data/maps/Underwater7/header.inc @@ -10,6 +10,6 @@ Underwater7: @ 8482AD8 .byte WEATHER_BUBBLES .byte MAP_TYPE_UNDERWATER .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Underwater_MarineCave/header.inc b/data/maps/Underwater_MarineCave/header.inc index 7232ba916c..88fe213abd 100644 --- a/data/maps/Underwater_MarineCave/header.inc +++ b/data/maps/Underwater_MarineCave/header.inc @@ -10,6 +10,6 @@ Underwater_MarineCave: @ 84849CC .byte WEATHER_BUBBLES .byte MAP_TYPE_UNDERWATER .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Underwater_Route134/header.inc b/data/maps/Underwater_Route134/header.inc index 71332ec787..591dffa534 100644 --- a/data/maps/Underwater_Route134/header.inc +++ b/data/maps/Underwater_Route134/header.inc @@ -10,6 +10,6 @@ Underwater_Route134: @ 848464C .byte WEATHER_BUBBLES .byte MAP_TYPE_UNDERWATER .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Underwater_SeafloorCavern/header.inc b/data/maps/Underwater_SeafloorCavern/header.inc index bc2efc58e5..08eac747cf 100644 --- a/data/maps/Underwater_SeafloorCavern/header.inc +++ b/data/maps/Underwater_SeafloorCavern/header.inc @@ -10,6 +10,6 @@ Underwater_SeafloorCavern: @ 8484198 .byte WEATHER_BUBBLES .byte MAP_TYPE_UNDERWATER .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Underwater_SealedChamber/header.inc b/data/maps/Underwater_SealedChamber/header.inc index 0c6e945750..94fcc6ba74 100644 --- a/data/maps/Underwater_SealedChamber/header.inc +++ b/data/maps/Underwater_SealedChamber/header.inc @@ -10,6 +10,6 @@ Underwater_SealedChamber: @ 8484668 .byte WEATHER_BUBBLES .byte MAP_TYPE_UNDERWATER .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/Underwater_SootopolisCity/header.inc b/data/maps/Underwater_SootopolisCity/header.inc index c4f55b1ef4..1611026e01 100644 --- a/data/maps/Underwater_SootopolisCity/header.inc +++ b/data/maps/Underwater_SootopolisCity/header.inc @@ -10,6 +10,6 @@ Underwater_SootopolisCity: @ 8483F4C .byte WEATHER_BUBBLES .byte MAP_TYPE_UNDERWATER .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/UnionRoom/header.inc b/data/maps/UnionRoom/header.inc index 29608287d4..29fd3cc3fa 100644 --- a/data/maps/UnionRoom/header.inc +++ b/data/maps/UnionRoom/header.inc @@ -10,6 +10,6 @@ UnionRoom: @ 8485120 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_FRONTIER diff --git a/data/maps/UnknownMap_25_29/header.inc b/data/maps/UnknownMap_25_29/header.inc index 3241622ac7..a3777fd80e 100644 --- a/data/maps/UnknownMap_25_29/header.inc +++ b/data/maps/UnknownMap_25_29/header.inc @@ -10,6 +10,6 @@ UnknownMap_25_29: @ 8484DBC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/UnknownMap_25_30/header.inc b/data/maps/UnknownMap_25_30/header.inc index c1188df548..a4184b85dc 100644 --- a/data/maps/UnknownMap_25_30/header.inc +++ b/data/maps/UnknownMap_25_30/header.inc @@ -10,6 +10,6 @@ UnknownMap_25_30: @ 8484DD8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/UnknownMap_25_31/header.inc b/data/maps/UnknownMap_25_31/header.inc index 68eb31bc6c..ec4838bd5e 100644 --- a/data/maps/UnknownMap_25_31/header.inc +++ b/data/maps/UnknownMap_25_31/header.inc @@ -10,6 +10,6 @@ UnknownMap_25_31: @ 8484DF4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/UnknownMap_25_32/header.inc b/data/maps/UnknownMap_25_32/header.inc index c8d16cd09c..39e9820933 100644 --- a/data/maps/UnknownMap_25_32/header.inc +++ b/data/maps/UnknownMap_25_32/header.inc @@ -10,6 +10,6 @@ UnknownMap_25_32: @ 8484E10 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/UnknownMap_25_33/header.inc b/data/maps/UnknownMap_25_33/header.inc index 45f9543dfa..87f8b0c1ee 100644 --- a/data/maps/UnknownMap_25_33/header.inc +++ b/data/maps/UnknownMap_25_33/header.inc @@ -10,6 +10,6 @@ UnknownMap_25_33: @ 8484E2C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/UnknownMap_25_34/header.inc b/data/maps/UnknownMap_25_34/header.inc index 0b612b27c4..c053c5e199 100644 --- a/data/maps/UnknownMap_25_34/header.inc +++ b/data/maps/UnknownMap_25_34/header.inc @@ -10,6 +10,6 @@ UnknownMap_25_34: @ 8484E48 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/VerdanturfTown/header.inc b/data/maps/VerdanturfTown/header.inc index e07566710e..053a587129 100644 --- a/data/maps/VerdanturfTown/header.inc +++ b/data/maps/VerdanturfTown/header.inc @@ -10,6 +10,6 @@ VerdanturfTown: @ 8482640 .byte WEATHER_SUNNY .byte MAP_TYPE_TOWN .2byte 0 - .byte 13 + map_header_flags allow_bike=1, allow_escape_rope=0, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/header.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/header.inc index 30daf14ca6..8a95c60a30 100644 --- a/data/maps/VerdanturfTown_BattleTentBattleRoom/header.inc +++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/header.inc @@ -10,6 +10,6 @@ VerdanturfTown_BattleTentBattleRoom: @ 8482E90 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/VerdanturfTown_BattleTentCorridor/header.inc b/data/maps/VerdanturfTown_BattleTentCorridor/header.inc index e75e2f0035..5aa6fcc464 100644 --- a/data/maps/VerdanturfTown_BattleTentCorridor/header.inc +++ b/data/maps/VerdanturfTown_BattleTentCorridor/header.inc @@ -10,6 +10,6 @@ VerdanturfTown_BattleTentCorridor: @ 8482E74 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/VerdanturfTown_BattleTentLobby/header.inc b/data/maps/VerdanturfTown_BattleTentLobby/header.inc index 5852d60f4d..3f3eb1ae6f 100644 --- a/data/maps/VerdanturfTown_BattleTentLobby/header.inc +++ b/data/maps/VerdanturfTown_BattleTentLobby/header.inc @@ -10,6 +10,6 @@ VerdanturfTown_BattleTentLobby: @ 8482E58 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc b/data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc index dfb4b0d05a..43148f8efa 100644 --- a/data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc +++ b/data/maps/VerdanturfTown_FriendshipRatersHouse/header.inc @@ -10,6 +10,6 @@ VerdanturfTown_FriendshipRatersHouse: @ 8482F1C .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/VerdanturfTown_House/header.inc b/data/maps/VerdanturfTown_House/header.inc index 7f223d09ae..5c3e26d09c 100644 --- a/data/maps/VerdanturfTown_House/header.inc +++ b/data/maps/VerdanturfTown_House/header.inc @@ -10,6 +10,6 @@ VerdanturfTown_House: @ 8482F38 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/VerdanturfTown_Mart/header.inc b/data/maps/VerdanturfTown_Mart/header.inc index 4846b25e32..0441f81477 100644 --- a/data/maps/VerdanturfTown_Mart/header.inc +++ b/data/maps/VerdanturfTown_Mart/header.inc @@ -10,6 +10,6 @@ VerdanturfTown_Mart: @ 8482EAC .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/VerdanturfTown_PokemonCenter_1F/header.inc b/data/maps/VerdanturfTown_PokemonCenter_1F/header.inc index 9ae2edb7fe..e1d7d3fa8b 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_1F/header.inc +++ b/data/maps/VerdanturfTown_PokemonCenter_1F/header.inc @@ -10,6 +10,6 @@ VerdanturfTown_PokemonCenter_1F: @ 8482EC8 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/VerdanturfTown_PokemonCenter_2F/header.inc b/data/maps/VerdanturfTown_PokemonCenter_2F/header.inc index a2a5a929e1..933a3da18e 100644 --- a/data/maps/VerdanturfTown_PokemonCenter_2F/header.inc +++ b/data/maps/VerdanturfTown_PokemonCenter_2F/header.inc @@ -10,6 +10,6 @@ VerdanturfTown_PokemonCenter_2F: @ 8482EE4 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/VerdanturfTown_WandasHouse/header.inc b/data/maps/VerdanturfTown_WandasHouse/header.inc index 1887b78804..573fe6f76e 100644 --- a/data/maps/VerdanturfTown_WandasHouse/header.inc +++ b/data/maps/VerdanturfTown_WandasHouse/header.inc @@ -10,6 +10,6 @@ VerdanturfTown_WandasHouse: @ 8482F00 .byte WEATHER_NONE .byte MAP_TYPE_INDOOR .2byte 0 - .byte 0 + map_header_flags allow_bike=0, allow_escape_rope=0, allow_run=0, show_map_name=0 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/VictoryRoad_1F/header.inc b/data/maps/VictoryRoad_1F/header.inc index 56b800a29d..950f26aa5d 100644 --- a/data/maps/VictoryRoad_1F/header.inc +++ b/data/maps/VictoryRoad_1F/header.inc @@ -10,6 +10,6 @@ VictoryRoad_1F: @ 8484374 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/VictoryRoad_B1F/header.inc b/data/maps/VictoryRoad_B1F/header.inc index 6650653ef5..d89408de9d 100644 --- a/data/maps/VictoryRoad_B1F/header.inc +++ b/data/maps/VictoryRoad_B1F/header.inc @@ -10,6 +10,6 @@ VictoryRoad_B1F: @ 8484390 .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL diff --git a/data/maps/VictoryRoad_B2F/header.inc b/data/maps/VictoryRoad_B2F/header.inc index c89256b339..462898c2b3 100644 --- a/data/maps/VictoryRoad_B2F/header.inc +++ b/data/maps/VictoryRoad_B2F/header.inc @@ -10,6 +10,6 @@ VictoryRoad_B2F: @ 84843AC .byte WEATHER_NONE .byte MAP_TYPE_UNDERGROUND .2byte 0 - .byte 15 + map_header_flags allow_bike=1, allow_escape_rope=1, allow_run=1, show_map_name=1 .byte MAP_BATTLE_SCENE_NORMAL From c3dde7353dfeaa3cdb21c9ddeaa1af4f53aac383 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Wed, 26 Dec 2018 17:04:24 -0600 Subject: [PATCH 15/53] Add newline to Route111_NoMirageTower layout.inc To match all other layout.inc files. --- data/layouts/Route111_NoMirageTower/layout.inc | 1 + 1 file changed, 1 insertion(+) diff --git a/data/layouts/Route111_NoMirageTower/layout.inc b/data/layouts/Route111_NoMirageTower/layout.inc index acd390ada8..bf6a188ccf 100644 --- a/data/layouts/Route111_NoMirageTower/layout.inc +++ b/data/layouts/Route111_NoMirageTower/layout.inc @@ -12,3 +12,4 @@ Route111_NoMirageTower_Layout:: .4byte Route111_NoMirageTower_MapBlockdata .4byte gTileset_General .4byte gTileset_Mauville + From 5691a676293c3b7e5ab01d88eb03552d175a70f3 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Thu, 27 Dec 2018 02:05:09 -0600 Subject: [PATCH 16/53] Up to sub_807B62C --- asm/trade.s | 1986 ---------------------------------------------- include/trade.h | 2 +- include/util.h | 1 + src/party_menu.c | 2 +- src/trade.c | 1011 +++++++++++++++++++++++ 5 files changed, 1014 insertions(+), 1988 deletions(-) diff --git a/asm/trade.s b/asm/trade.s index dd5ff89c55..2fad5efedd 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6,1992 +6,6 @@ .text - thumb_func_start sub_807A8D0 -sub_807A8D0: @ 807A8D0 - push {r4-r6,lr} - lsls r1, 16 - lsrs r5, r1, 16 - adds r6, r5, 0 - lsls r2, 16 - lsrs r2, 16 - lsls r3, 24 - lsrs r3, 24 - lsls r0, 23 - lsrs r4, r0, 31 - adds r0, r2, 0 - adds r1, r3, 0 - bl sub_807A7BC - cmp r0, 0 - bne _0807A90A - cmp r4, 0 - bne _0807A90E - movs r0, 0xCE - lsls r0, 1 - cmp r5, r0 - bne _0807A900 - movs r0, 0x2 - b _0807A910 -_0807A900: - adds r0, r6, 0 - bl IsSpeciesInHoennDex - cmp r0, 0 - bne _0807A90E -_0807A90A: - movs r0, 0x1 - b _0807A910 -_0807A90E: - movs r0, 0 -_0807A910: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_807A8D0 - - thumb_func_start sub_807A918 -sub_807A918: @ 807A918 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x18 - adds r6, r0, 0 - lsls r1, 16 - lsrs r1, 16 - mov r8, r1 - movs r5, 0 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r5, r0 - bge _0807A95A - mov r4, sp -_0807A934: - movs r0, 0x64 - muls r0, r5 - adds r0, r6, r0 - movs r1, 0x41 - bl GetMonData - str r0, [r4] - movs r1, 0xCE - lsls r1, 1 - cmp r0, r1 - bne _0807A94E - movs r0, 0 - str r0, [r4] -_0807A94E: - adds r4, 0x4 - adds r5, 0x1 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r5, r0 - blt _0807A934 -_0807A95A: - movs r7, 0 - movs r6, 0x1 - movs r5, 0 - ldr r4, =gLinkPlayers - b _0807A980 - .pool -_0807A96C: - ldrb r0, [r4] - subs r0, 0x4 - cmp r0, 0x1 - bhi _0807A978 - movs r7, 0 - b _0807A97C -_0807A978: - movs r0, 0x1 - orrs r7, r0 -_0807A97C: - adds r4, 0x1C - adds r5, 0x1 -_0807A980: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - blt _0807A96C - movs r5, 0 - movs r4, 0 - b _0807A9B4 -_0807A992: - ldr r0, =gLinkPlayers - adds r2, r4, r0 - ldrb r1, [r2, 0x10] - movs r0, 0xF - ands r0, r1 - cmp r0, 0 - bne _0807A9A2 - movs r6, 0 -_0807A9A2: - cmp r7, 0 - beq _0807A9B0 - ldrb r0, [r2, 0x10] - lsrs r0, 4 - cmp r0, 0 - beq _0807A9B0 - movs r6, 0 -_0807A9B0: - adds r4, 0x1C - adds r5, 0x1 -_0807A9B4: - bl GetLinkPlayerCount - lsls r0, 24 - lsrs r0, 24 - cmp r5, r0 - blt _0807A992 - cmp r6, 0 - bne _0807A9EA - mov r1, r8 - lsls r0, r1, 2 - mov r1, sp - adds r4, r1, r0 - ldrh r0, [r4] - bl IsSpeciesInHoennDex - cmp r0, 0 - bne _0807A9E0 - movs r0, 0x2 - b _0807AA1A - .pool -_0807A9E0: - ldr r0, [r4] - cmp r0, 0 - bne _0807A9EA - movs r0, 0x3 - b _0807AA1A -_0807A9EA: - movs r2, 0 - movs r5, 0 - ldr r0, =gPlayerPartyCount - ldrb r0, [r0] - cmp r2, r0 - bge _0807AA0A - adds r3, r0, 0 - mov r1, sp -_0807A9FA: - cmp r8, r5 - beq _0807AA02 - ldr r0, [r1] - adds r2, r0 -_0807AA02: - adds r1, 0x4 - adds r5, 0x1 - cmp r5, r3 - blt _0807A9FA -_0807AA0A: - cmp r2, 0 - beq _0807AA18 - movs r0, 0 - b _0807AA1A - .pool -_0807AA18: - movs r0, 0x1 -_0807AA1A: - add sp, 0x18 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_807A918 - - thumb_func_start sub_807AA28 -sub_807AA28: @ 807AA28 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0807AA44 - movs r0, 0x17 - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2E] -_0807AA44: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807AA28 - - thumb_func_start sub_807AA4C -sub_807AA4C: @ 807AA4C - push {r4,r5,lr} - adds r4, r0, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r0, 0x4 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0807AA76 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _0807AA76 - movs r0, 0xC2 - bl PlaySE - strh r5, [r4, 0x2E] -_0807AA76: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_807AA4C - - thumb_func_start sub_807AA7C -sub_807AA7C: @ 807AA7C - push {lr} - adds r2, r0, 0 - movs r0, 0x30 - ldrsh r1, [r2, r0] - cmp r1, 0 - bne _0807AAB2 - ldrh r0, [r2, 0x2E] - adds r0, 0x1 - strh r0, [r2, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xC - bne _0807AA98 - strh r1, [r2, 0x2E] -_0807AA98: - movs r1, 0x2E - ldrsh r0, [r2, r1] - lsls r0, 1 - ldr r1, =gUnknown_08338EA4 - adds r0, r1 - ldrb r1, [r2, 0x5] - lsrs r1, 4 - adds r1, 0x10 - lsls r1, 4 - adds r1, 0x4 - movs r2, 0x2 - bl LoadPalette -_0807AAB2: - pop {r0} - bx r0 - .pool - thumb_func_end sub_807AA7C - - thumb_func_start sub_807AABC -sub_807AABC: @ 807AABC - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - adds r1, 0x1 - strh r1, [r2, 0x2E] - ldrh r0, [r2, 0x26] - adds r0, 0x1 - strh r0, [r2, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xA - bne _0807AADA - adds r0, r2, 0 - bl DestroySprite -_0807AADA: - pop {r0} - bx r0 - thumb_func_end sub_807AABC - - thumb_func_start sub_807AAE0 -sub_807AAE0: @ 807AAE0 - push {lr} - adds r2, r0, 0 - ldrh r1, [r2, 0x2E] - adds r1, 0x1 - strh r1, [r2, 0x2E] - ldrh r0, [r2, 0x26] - subs r0, 0x1 - strh r0, [r2, 0x26] - lsls r1, 16 - asrs r1, 16 - cmp r1, 0xA - bne _0807AAFE - adds r0, r2, 0 - bl DestroySprite -_0807AAFE: - pop {r0} - bx r0 - thumb_func_end sub_807AAE0 - - thumb_func_start sub_807AB04 -sub_807AB04: @ 807AB04 - push {r4,lr} - adds r4, r0, 0 - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bne _0807AB20 - movs r0, 0xCC - bl PlaySE - movs r0, 0 - strh r0, [r4, 0x2E] -_0807AB20: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807AB04 - - thumb_func_start sub_807AB28 -sub_807AB28: @ 807AB28 - push {r4,r5,lr} - sub sp, 0x20 - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - mov r12, r0 - adds r0, 0xD4 - ldrh r1, [r0] - lsls r1, 8 - adds r0, 0x2 - ldrh r2, [r0] - lsls r2, 8 - adds r0, 0x6 - movs r4, 0 - ldrsh r3, [r0, r4] - adds r0, 0x2 - movs r5, 0 - ldrsh r0, [r0, r5] - str r0, [sp] - mov r4, r12 - adds r4, 0xE8 - movs r5, 0 - ldrsh r0, [r4, r5] - str r0, [sp, 0x4] - movs r5, 0 - ldrsh r0, [r4, r5] - str r0, [sp, 0x8] - mov r0, r12 - adds r0, 0xEC - ldrh r0, [r0] - str r0, [sp, 0xC] - add r0, sp, 0x10 - bl DoBgAffineSet - add r0, sp, 0x10 - ldrh r1, [r0] - movs r0, 0x20 - bl SetGpuReg - add r0, sp, 0x10 - ldrh r1, [r0, 0x2] - movs r0, 0x22 - bl SetGpuReg - add r0, sp, 0x10 - ldrh r1, [r0, 0x4] - movs r0, 0x24 - bl SetGpuReg - add r0, sp, 0x10 - ldrh r1, [r0, 0x6] - movs r0, 0x26 - bl SetGpuReg - ldr r1, [sp, 0x18] - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x28 - bl SetGpuReg - ldr r1, [sp, 0x18] - lsrs r1, 16 - movs r0, 0x2A - bl SetGpuReg - ldr r1, [sp, 0x1C] - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x2C - bl SetGpuReg - ldr r1, [sp, 0x1C] - lsrs r1, 16 - movs r0, 0x2E - bl SetGpuReg - add sp, 0x20 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807AB28 - - thumb_func_start sub_807ABCC -sub_807ABCC: @ 807ABCC - push {r4,lr} - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r0, 0xE0 - ldrh r1, [r0] - movs r0, 0x16 - bl SetGpuReg - ldr r0, [r4] - adds r0, 0xE2 - ldrh r1, [r0] - movs r0, 0x14 - bl SetGpuReg - movs r0, 0 - bl GetGpuReg - lsls r0, 16 - movs r1, 0xE0 - lsls r1, 11 - ands r1, r0 - cmp r1, 0 - bne _0807AC18 - ldr r0, [r4] - adds r0, 0xE4 - ldrh r1, [r0] - movs r0, 0x1A - bl SetGpuReg - ldr r0, [r4] - adds r0, 0xE6 - ldrh r1, [r0] - movs r0, 0x18 - bl SetGpuReg - b _0807AC1C - .pool -_0807AC18: - bl sub_807AB28 -_0807AC1C: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_807ABCC - - thumb_func_start sub_807AC24 -sub_807AC24: @ 807AC24 - push {lr} - bl sub_807ABCC - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_807AC24 - - thumb_func_start sub_807AC3C -sub_807AC3C: @ 807AC3C - push {r4,lr} - ldr r3, =gUnknown_020322A0 - ldr r1, [r3] - movs r0, 0x8A - adds r0, r1 - mov r12, r0 - movs r2, 0 - movs r0, 0 - mov r4, r12 - strh r0, [r4] - adds r1, 0x88 - strb r2, [r1] - ldr r0, [r3] - adds r0, 0x89 - strb r2, [r0] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807AC3C - - thumb_func_start sub_807AC64 -sub_807AC64: @ 807AC64 - push {r4,r5,lr} - ldr r0, =gUnknown_020322A0 - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x88 - adds r3, r2, 0 - adds r3, 0x89 - ldrb r1, [r1] - adds r5, r0, 0 - ldrb r3, [r3] - cmp r1, r3 - bne _0807AC8C - adds r1, r2, 0 - adds r1, 0x8A - ldrh r0, [r1] - adds r0, 0x1 - b _0807AC92 - .pool -_0807AC8C: - adds r1, r2, 0 - adds r1, 0x8A - movs r0, 0 -_0807AC92: - strh r0, [r1] - adds r4, r5, 0 - ldr r0, [r4] - adds r0, 0x8A - ldrh r1, [r0] - movs r0, 0x96 - lsls r0, 1 - cmp r1, r0 - bls _0807ACC4 - bl CloseLink - ldr r0, =CB2_LinkError - bl SetMainCallback2 - ldr r1, [r4] - adds r3, r1, 0 - adds r3, 0x8A - movs r2, 0 - movs r0, 0 - strh r0, [r3] - adds r1, 0x89 - strb r2, [r1] - ldr r0, [r4] - adds r0, 0x88 - strb r2, [r0] -_0807ACC4: - ldr r0, [r5] - adds r1, r0, 0 - adds r1, 0x88 - ldrb r1, [r1] - adds r0, 0x89 - strb r1, [r0] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807AC64 - - thumb_func_start sub_807ACDC -sub_807ACDC: @ 807ACDC - push {lr} - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0807ACF0 - movs r0, 0 - b _0807ACF8 - .pool -_0807ACF0: - bl GetMultiplayerId - lsls r0, 24 - lsrs r0, 24 -_0807ACF8: - pop {r1} - bx r1 - thumb_func_end sub_807ACDC - - thumb_func_start sub_807ACFC -sub_807ACFC: @ 807ACFC - push {r4-r7,lr} - mov r7, r8 - push {r7} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r1, 24 - lsrs r5, r1, 24 - movs r4, 0 - mov r8, r4 - cmp r6, 0 - bne _0807AD22 - ldr r0, =gUnknown_02032298 - ldrb r1, [r0] - movs r0, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r1, r0 - mov r8, r1 - movs r4, 0x1 -_0807AD22: - cmp r6, 0x1 - bne _0807AD40 - ldr r0, =gUnknown_02032298 - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gEnemyParty - adds r1, r0 - mov r8, r1 - movs r4, 0x3 -_0807AD40: - cmp r5, 0 - beq _0807AD58 - cmp r5, 0x1 - beq _0807ADE0 - b _0807AE36 - .pool -_0807AD58: - mov r0, r8 - movs r1, 0x41 - bl GetMonData - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, r8 - movs r1, 0 - bl GetMonData - adds r7, r0, 0 - cmp r6, 0 - bne _0807AD94 - lsls r0, r5, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x8] - adds r2, r5, 0 - adds r3, r7, 0 - bl HandleLoadSpecialPokePic_2 - movs r4, 0 - b _0807ADB2 - .pool -_0807AD94: - lsls r0, r5, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r2, [r1] - lsls r4, r6, 1 - adds r1, r4, 0x1 - lsls r1, 2 - adds r2, 0x4 - adds r2, r1 - ldr r1, [r2] - adds r2, r5, 0 - adds r3, r7, 0 - bl HandleLoadSpecialPokePic_DontHandleDeoxys -_0807ADB2: - mov r0, r8 - bl GetMonSpritePalStruct - bl LoadCompressedSpritePalette - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - adds r0, r1, 0 - adds r0, 0xF0 - adds r0, r4 - strh r5, [r0] - lsls r0, r6, 2 - adds r1, 0x68 - adds r1, r0 - str r7, [r1] - b _0807AE36 - .pool -_0807ADE0: - mov r0, r8 - bl GetMonSpritePalStruct - ldrh r0, [r0, 0x4] - adds r1, r4, 0 - bl SetMultiuseSpriteTemplateToPokemon - ldr r0, =gMultiuseSpriteTemplate - movs r1, 0x78 - movs r2, 0x3C - movs r3, 0x6 - bl CreateSprite - ldr r4, =gUnknown_020322A0 - ldr r1, [r4] - adds r1, 0x8E - adds r1, r6 - strb r0, [r1] - ldr r3, =gSprites - ldr r0, [r4] - adds r0, 0x8E - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x8E - adds r0, r6 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, 0x1C - adds r0, r3 - ldr r1, =SpriteCallbackDummy - str r1, [r0] -_0807AE36: - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807ACFC - - thumb_func_start sub_807AE50 -sub_807AE50: @ 807AE50 - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xC - bls _0807AE66 - b _0807B116 -_0807AE66: - lsls r0, 2 - ldr r1, =_0807AE78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807AE78: - .4byte _0807AEAC - .4byte _0807AF58 - .4byte _0807AF9C - .4byte _0807AFBC - .4byte _0807B006 - .4byte _0807B034 - .4byte _0807B058 - .4byte _0807B070 - .4byte _0807B07A - .4byte _0807B094 - .4byte _0807B0B0 - .4byte _0807B0D4 - .4byte _0807B0F0 -_0807AEAC: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - bne _0807AEC0 - ldr r1, =gLinkType - ldr r2, =0x00001144 - adds r0, r2, 0 - strh r0, [r1] - bl CloseLink -_0807AEC0: - ldr r4, =gUnknown_020322A0 - movs r5, 0x80 - lsls r5, 1 - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4] - bl AllocateMonSpritesGfx - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, =sub_807AC24 - bl SetVBlankCallback - bl sub_807B170 - bl sub_807AC3C - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - ldr r1, [r4] - adds r0, r1, 0 - adds r0, 0x8C - strh r2, [r0] - adds r0, 0x8 - strh r2, [r0] - adds r1, 0xEE - movs r0, 0x1 - strb r0, [r1] - ldr r3, [r4] - adds r0, r3, 0 - adds r0, 0xD4 - movs r1, 0x40 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r0, 0x2 - strh r2, [r0] - adds r1, r3, 0 - adds r1, 0xDC - movs r0, 0x78 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x50 - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0xE8 - strh r5, [r0] - adds r0, 0x4 - strh r2, [r0] - b _0807B116 - .pool -_0807AF58: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r5, [r0] - cmp r5, 0 - bne _0807AF90 - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r0, 0xFA - movs r1, 0x1 - strb r1, [r0] - bl OpenLink - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r0, [r4] - str r5, [r0, 0x64] - b _0807B116 - .pool -_0807AF90: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - movs r0, 0x4 - strb r0, [r1] - b _0807B116 -_0807AF9C: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - bhi _0807AFAC - b _0807B116 -_0807AFAC: - movs r0, 0 - str r0, [r1, 0x64] - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _0807B0E4 - .pool -_0807AFBC: - bl IsLinkMaster - lsls r0, 24 - cmp r0, 0 - bne _0807AFC8 - b _0807B0DC -_0807AFC8: - bl GetLinkPlayerCount_2 - adds r4, r0, 0 - bl sub_800AA48 - lsls r4, 24 - lsls r0, 24 - cmp r4, r0 - bcc _0807B000 - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x1E - bhi _0807AFEA - b _0807B116 -_0807AFEA: - bl sub_800A620 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0807B0E4 - .pool -_0807B000: - bl sub_807AC64 - b _0807B116 -_0807B006: - bl sub_807AC64 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0x1 - beq _0807B014 - b _0807B116 -_0807B014: - bl IsLinkPlayerDataExchangeComplete - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - beq _0807B022 - b _0807B116 -_0807B022: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0807B0E4 - .pool -_0807B034: - ldr r2, =gUnknown_020322A0 - ldr r0, [r2] - adds r0, 0x72 - movs r1, 0 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x73 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0x93 - strb r1, [r0] - movs r0, 0 - bl sub_807ACFC - b _0807B0DC - .pool -_0807B058: - movs r0, 0 - movs r1, 0x1 - bl sub_807ACFC - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0807B0E4 - .pool -_0807B070: - movs r0, 0x1 - movs r1, 0 - bl sub_807ACFC - b _0807B0DC -_0807B07A: - movs r0, 0x1 - movs r1, 0x1 - bl sub_807ACFC - bl sub_807B154 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0807B0E4 - .pool -_0807B094: - bl sub_807BA94 - ldr r0, =gUnknown_08338D18 - bl LoadSpriteSheet - ldr r0, =gUnknown_08338D20 - bl LoadSpritePalette - b _0807B0DC - .pool -_0807B0B0: - 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, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - b _0807B0E4 - .pool -_0807B0D4: - bl sub_807B140 - bl sub_807BAD8 -_0807B0DC: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 -_0807B0E4: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0807B116 - .pool -_0807B0F0: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0807B116 - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0807B110 - bl sub_800E0E8 - movs r0, 0 - movs r1, 0 - bl CreateWirelessStatusIndicatorSprite -_0807B110: - ldr r0, =sub_807EA2C - bl SetMainCallback2 -_0807B116: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807AE50 - - thumb_func_start sub_807B140 -sub_807B140: @ 807B140 - push {lr} - movs r0, 0x5 - bl sub_807B62C - movs r0, 0 - bl sub_807B62C - pop {r0} - bx r0 - thumb_func_end sub_807B140 - - thumb_func_start sub_807B154 -sub_807B154: @ 807B154 - push {lr} - movs r0, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - pop {r0} - bx r0 - thumb_func_end sub_807B154 - - thumb_func_start sub_807B170 -sub_807B170: @ 807B170 - push {r4-r6,lr} - mov r6, r10 - mov r5, r9 - mov r4, r8 - push {r4-r6} - sub sp, 0x4 - movs r0, 0 - movs r1, 0 - bl SetGpuReg - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, =gUnknown_08339014 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgX - movs r0, 0 - movs r1, 0 - movs r2, 0 - bl ChangeBgY - movs r5, 0x80 - lsls r5, 4 - adds r0, r5, 0 - bl Alloc - adds r1, r0, 0 - movs r0, 0 - bl SetBgTilemapBuffer - adds r0, r5, 0 - bl Alloc - adds r1, r0, 0 - movs r0, 0x1 - bl SetBgTilemapBuffer - adds r0, r5, 0 - bl Alloc - adds r1, r0, 0 - movs r0, 0x3 - bl SetBgTilemapBuffer - bl DeactivateAllTextPrinters - ldr r0, =gBattleTextboxTiles - mov r10, r0 - movs r0, 0 - mov r9, r0 - str r0, [sp] - mov r1, r10 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - ldr r0, =gBattleTextboxTilemap - mov r8, r0 - ldr r4, =gDecompressionBuffer - adds r1, r4, 0 - bl LZDecompressWram - movs r0, 0 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - ldr r6, =gBattleTextboxPalette - adds r0, r6, 0 - movs r1, 0 - movs r2, 0x20 - bl LoadCompressedPalette - ldr r0, =gUnknown_08338FFC - bl InitWindows - mov r0, r9 - str r0, [sp] - movs r0, 0 - mov r1, r10 - movs r2, 0 - movs r3, 0 - bl DecompressAndLoadBgGfxUsingHeap - mov r0, r8 - adds r1, r4, 0 - bl LZDecompressWram - movs r0, 0 - adds r1, r4, 0 - adds r2, r5, 0 - movs r3, 0 - bl CopyToBgTilemapBuffer - adds r0, r6, 0 - movs r1, 0 - movs r2, 0x20 - bl LoadCompressedPalette - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807B170 - - thumb_func_start sub_807B270 -sub_807B270: @ 807B270 - push {r4-r6,lr} - mov r6, r8 - push {r6} - sub sp, 0xC - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xC - bls _0807B288 - b _0807B43E -_0807B288: - lsls r0, 2 - ldr r1, =_0807B29C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807B29C: - .4byte _0807B2D0 - .4byte _0807B43E - .4byte _0807B43E - .4byte _0807B43E - .4byte _0807B43E - .4byte _0807B3AC - .4byte _0807B3B6 - .4byte _0807B3C0 - .4byte _0807B3D0 - .4byte _0807B3F0 - .4byte _0807B40C - .4byte _0807B414 - .4byte _0807B438 -_0807B2D0: - ldr r1, =gUnknown_02032298 - ldr r0, =gSpecialVar_0x8005 - ldrh r0, [r0] - movs r6, 0 - strb r0, [r1] - movs r0, 0x6 - strb r0, [r1, 0x1] - ldr r4, =gLinkPlayers + 8 - ldr r0, =gSaveBlock2Ptr - ldr r1, [r0] - adds r0, r4, 0 - bl StringCopy - ldr r5, =gEnemyParty - adds r0, r5, 0 - movs r1, 0x7 - mov r2, sp - bl GetMonData - adds r0, r4, 0 - adds r0, 0x1C - mov r1, sp - bl StringCopy - subs r4, 0x8 - movs r0, 0 - mov r8, r0 - movs r0, 0x2 - strh r0, [r4, 0x1A] - adds r0, r5, 0 - movs r1, 0x3 - bl GetMonData - strh r0, [r4, 0x36] - ldr r4, =gUnknown_020322A0 - movs r5, 0x80 - lsls r5, 1 - adds r0, r5, 0 - bl AllocZeroed - str r0, [r4] - bl AllocateMonSpritesGfx - bl ResetTasks - bl ResetSpriteData - bl FreeAllSpritePalettes - ldr r0, =sub_807AC24 - bl SetVBlankCallback - bl sub_807B170 - ldr r0, [r4] - adds r0, 0xEE - mov r1, r8 - strb r1, [r0] - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x8C - strh r6, [r0] - adds r0, 0x8 - strh r6, [r0] - adds r0, 0x40 - movs r1, 0x40 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x2 - strh r6, [r0] - adds r0, 0x2 - strh r6, [r0] - adds r1, r2, 0 - adds r1, 0xDC - movs r0, 0x78 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x50 - strh r0, [r1] - adds r0, r2, 0 - adds r0, 0xE8 - strh r5, [r0] - adds r0, 0x4 - strh r6, [r0] - str r6, [r2, 0x64] - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - b _0807B43E - .pool -_0807B3AC: - movs r0, 0 - movs r1, 0 - bl sub_807ACFC - b _0807B424 -_0807B3B6: - movs r0, 0 - movs r1, 0x1 - bl sub_807ACFC - b _0807B424 -_0807B3C0: - movs r0, 0x1 - movs r1, 0 - bl sub_807ACFC - movs r0, 0 - bl ShowBg - b _0807B424 -_0807B3D0: - movs r0, 0x1 - movs r1, 0x1 - bl sub_807ACFC - movs r0, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - movs r0, 0 - bl PutWindowTilemap - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - b _0807B424 -_0807B3F0: - bl sub_807BA94 - ldr r0, =gUnknown_08338D18 - bl LoadSpriteSheet - ldr r0, =gUnknown_08338D20 - bl LoadSpritePalette - b _0807B424 - .pool -_0807B40C: - movs r0, 0 - bl ShowBg - b _0807B424 -_0807B414: - movs r0, 0x5 - bl sub_807B62C - movs r0, 0 - bl sub_807B62C - bl sub_807BAD8 -_0807B424: - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0807B43E - .pool -_0807B438: - ldr r0, =sub_807B60C - bl SetMainCallback2 -_0807B43E: - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0xC - pop {r3} - mov r8, r3 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807B270 - - thumb_func_start sub_807B464 -sub_807B464: @ 807B464 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r1, r0 - ldr r0, =gPlayerParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0807B4B8 - adds r0, r5, 0 - movs r1, 0xB - movs r2, 0 - bl GetMonData - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - movs r1, 0 - movs r2, 0 - bl GetMonData - adds r5, r0, 0 - adds r0, r4, 0 - bl SpeciesToNationalPokedexNum - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r4, 0 - movs r1, 0x2 - bl GetSetPokedexFlag - adds r0, r4, 0 - movs r1, 0x3 - adds r2, r5, 0 - bl HandleSetPokedexFlag -_0807B4B8: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807B464 - - thumb_func_start sub_807B4C4 -sub_807B4C4: @ 807B4C4 - push {lr} - bl GetMultiplayerId - pop {r0} - bx r0 - thumb_func_end sub_807B4C4 - - thumb_func_start sub_807B4D0 -sub_807B4D0: @ 807B4D0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 - lsls r4, 24 - lsrs r4, 24 - movs r5, 0x64 - mov r1, r9 - muls r1, r5 - ldr r0, =gPlayerParty - adds r7, r1, r0 - adds r0, r7, 0 - movs r1, 0x40 - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - adds r1, r4, 0 - muls r1, r5 - ldr r0, =gEnemyParty - adds r5, r1, r0 - adds r0, r5, 0 - movs r1, 0x40 - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - cmp r6, 0xFF - beq _0807B52A - ldr r0, =gSaveBlock1Ptr - lsls r1, r6, 3 - adds r1, r6 - lsls r1, 2 - ldr r2, =0x00002be0 - adds r1, r2 - ldr r0, [r0] - adds r0, r1 - bl ClearMailStruct -_0807B52A: - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r1, r7, 0 - movs r2, 0x64 - bl memcpy - adds r0, r7, 0 - adds r1, r5, 0 - movs r2, 0x64 - bl memcpy - ldr r1, [r4] - adds r0, r5, 0 - movs r2, 0x64 - bl memcpy - movs r1, 0x46 - mov r0, sp - strb r1, [r0] - adds r0, r7, 0 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0807B566 - adds r0, r7, 0 - movs r1, 0x20 - mov r2, sp - bl SetMonData -_0807B566: - mov r0, r8 - cmp r0, 0xFF - beq _0807B57C - lsls r1, r0, 3 - add r1, r8 - lsls r1, 2 - ldr r0, =gUnknown_020321C0 - adds r1, r0 - adds r0, r7, 0 - bl GiveMailToMon2 -_0807B57C: - mov r0, r9 - bl sub_807B464 - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r0, [r0] - cmp r0, 0 - beq _0807B58E - bl sub_807B4C4 -_0807B58E: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807B4D0 - - thumb_func_start sub_807B5B8 -sub_807B5B8: @ 807B5B8 - push {r4,lr} - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r0, 0x93 - ldrb r0, [r0] - cmp r0, 0x1 - beq _0807B5D0 - cmp r0, 0x2 - beq _0807B5F6 - b _0807B600 - .pool -_0807B5D0: - bl sub_800A520 - lsls r0, 24 - cmp r0, 0 - beq _0807B5F6 - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x74 - movs r2, 0x14 - bl SendBlock - ldr r1, [r4] - adds r1, 0x93 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] -_0807B5F6: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x93 - movs r1, 0 - strb r1, [r0] -_0807B600: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807B5B8 - - thumb_func_start sub_807B60C -sub_807B60C: @ 807B60C - push {lr} - bl sub_807BBC8 - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r0} - bx r0 - thumb_func_end sub_807B60C - - thumb_func_start sub_807B62C -sub_807B62C: @ 807B62C - push {r4-r7,lr} - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x7 - bls _0807B638 - b _0807BA68 -_0807B638: - lsls r0, 2 - ldr r1, =_0807B648 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807B648: - .4byte _0807B668 - .4byte _0807B6DC - .4byte _0807B784 - .4byte _0807B7F8 - .4byte _0807B840 - .4byte _0807B90C - .4byte _0807B924 - .4byte _0807B9FC -_0807B668: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - adds r2, r1, 0 - adds r2, 0xE4 - movs r0, 0 - strh r0, [r2] - adds r1, 0xE6 - movs r0, 0xB4 - strh r0, [r1] - movs r1, 0xAA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r1, =0x00005206 - movs r0, 0xC - bl SetGpuReg - ldr r0, =gTradeGba2_Pal - movs r1, 0x10 - movs r2, 0x60 - bl LoadPalette - ldr r3, =gTradeGba_Gfx - ldr r4, =0x06004000 - movs r5, 0xA1 - lsls r5, 5 - ldr r1, =0x040000d4 - ldr r6, =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0807B6AA: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0807B6AA - b _0807BA4C - .pool -_0807B6DC: - ldr r4, =gUnknown_020322A0 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xE2 - movs r0, 0 - strh r0, [r1] - adds r2, 0xE0 - movs r1, 0xAE - lsls r1, 1 - strh r1, [r2] - movs r0, 0x16 - bl SetGpuReg - ldr r1, =0x00008502 - movs r0, 0xA - bl SetGpuReg - ldr r1, =0x00009206 - movs r0, 0xC - bl SetGpuReg - ldr r0, [r4] - adds r0, 0xFA - ldrb r0, [r0] - cmp r0, 0 - beq _0807B724 - ldr r1, =gUnknown_083369A0 - b _0807B726 - .pool -_0807B724: - ldr r1, =gUnknown_083359A0 -_0807B726: - ldr r2, =0x06002800 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x80000800 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - ldr r3, =gTradeGba_Gfx - movs r4, 0xC0 - lsls r4, 19 - movs r5, 0xA1 - lsls r5, 5 - ldr r1, =0x040000d4 - ldr r6, =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0807B74A: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0807B74A - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - movs r1, 0x92 - lsls r1, 5 - b _0807B820 - .pool -_0807B784: - ldr r0, =gUnknown_020322A0 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0xE0 - movs r1, 0 - strh r1, [r0] - adds r0, 0x2 - strh r1, [r0] - adds r0, 0x18 - ldrb r0, [r0] - cmp r0, 0 - bne _0807B7C0 - ldr r1, =0x00001241 - movs r0, 0 - bl SetGpuReg - ldr r0, =gUnknown_083379A0 - ldr r1, =0x06002800 - bl LZ77UnCompVram - movs r0, 0x8 - b _0807B7DA - .pool -_0807B7C0: - ldr r1, =0x00001241 - movs r0, 0 - bl SetGpuReg - ldr r1, =gUnknown_0832FFC0 - ldr r2, =0x06002800 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x80000400 - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] - movs r0, 0x1 -_0807B7DA: - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - b _0807BA68 - .pool -_0807B7F8: - ldr r0, =gUnknown_08337EA0 - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette - ldr r0, =gUnknown_08337EC0 - ldr r1, =0x06004000 - bl LZ77UnCompVram - ldr r0, =gUnknown_08338550 - ldr r1, =0x06009000 - bl LZ77UnCompVram - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0xE4 - movs r1, 0x50 - strh r1, [r0] - movs r1, 0xB2 - lsls r1, 5 -_0807B820: - movs r0, 0 - bl SetGpuReg - b _0807BA68 - .pool -_0807B840: - ldr r1, =0x00001441 - movs r0, 0 - bl SetGpuReg - ldr r1, =0x00001287 - movs r0, 0xC - bl SetGpuReg - ldr r0, =gUnknown_020322A0 - ldr r3, [r0] - adds r1, r3, 0 - adds r1, 0xD4 - movs r2, 0 - movs r0, 0x40 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x5C - strh r0, [r1] - adds r1, 0x12 - movs r0, 0x20 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x80 - lsls r0, 3 - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0xEC - strh r2, [r0] - ldr r3, =gUnknown_08332F60 - ldr r4, =0x06004000 - movs r5, 0xA1 - lsls r5, 6 - ldr r1, =0x040000d4 - ldr r6, =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0807B88C: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0807B88C - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0xFA - ldrb r0, [r0] - cmp r0, 0 - beq _0807B8EC - ldr r1, =gUnknown_083357A0 - ldr r2, =0x06009000 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x80000080 - b _0807BA64 - .pool -_0807B8EC: - ldr r1, =gUnknown_083358A0 - ldr r2, =0x06009000 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x80000080 - b _0807BA64 - .pool -_0807B90C: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xE0 - movs r2, 0 - strh r2, [r1] - adds r0, 0xE2 - strh r2, [r0] - b _0807BA68 - .pool -_0807B924: - ldr r1, =0x00001441 - movs r0, 0 - bl SetGpuReg - ldr r1, =0x00001287 - movs r0, 0xC - bl SetGpuReg - ldr r0, =gUnknown_020322A0 - ldr r3, [r0] - adds r1, r3, 0 - adds r1, 0xD4 - movs r2, 0 - movs r0, 0x40 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x5C - strh r0, [r1] - adds r1, 0x12 - adds r0, 0xA4 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x80 - strh r0, [r1] - subs r1, 0xE - movs r0, 0x78 - strh r0, [r1] - adds r1, 0x2 - movs r0, 0x50 - strh r0, [r1] - adds r0, r3, 0 - adds r0, 0xEC - strh r2, [r0] - ldr r3, =gUnknown_08332F60 - ldr r4, =0x06004000 - movs r5, 0xA1 - lsls r5, 6 - ldr r1, =0x040000d4 - ldr r6, =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0807B97A: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0807B97A - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0xFA - ldrb r0, [r0] - cmp r0, 0 - beq _0807B9DC - ldr r1, =gUnknown_083357A0 - ldr r2, =0x06009000 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x80000080 - b _0807BA64 - .pool -_0807B9DC: - ldr r1, =gUnknown_083358A0 - ldr r2, =0x06009000 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x80000080 - b _0807BA64 - .pool -_0807B9FC: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r1, r0, 0 - adds r1, 0xE4 - movs r2, 0 - strh r2, [r1] - adds r0, 0xE6 - strh r2, [r0] - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - ldr r1, =0x00005206 - movs r0, 0xC - bl SetGpuReg - ldr r0, =gTradeGba2_Pal - movs r1, 0x10 - movs r2, 0x60 - bl LoadPalette - ldr r3, =gTradeGba_Gfx - ldr r4, =0x06004000 - movs r5, 0xA1 - lsls r5, 5 - ldr r1, =0x040000d4 - ldr r6, =0x80000800 - movs r2, 0x80 - lsls r2, 5 - movs r7, 0x80 - lsls r7, 24 -_0807BA3A: - str r3, [r1] - str r4, [r1, 0x4] - str r6, [r1, 0x8] - ldr r0, [r1, 0x8] - adds r3, r2 - adds r4, r2 - subs r5, r2 - cmp r5, r2 - bhi _0807BA3A -_0807BA4C: - str r3, [r1] - str r4, [r1, 0x4] - lsrs r0, r5, 1 - orrs r0, r7 - str r0, [r1, 0x8] - ldr r0, [r1, 0x8] - ldr r1, =gUnknown_08331F60 - ldr r2, =0x06009000 - ldr r0, =0x040000d4 - str r1, [r0] - str r2, [r0, 0x4] - ldr r1, =0x80000800 -_0807BA64: - str r1, [r0, 0x8] - ldr r0, [r0, 0x8] -_0807BA68: - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807B62C - thumb_func_start sub_807BA94 sub_807BA94: @ 807BA94 push {lr} diff --git a/include/trade.h b/include/trade.h index 45d8d9a0dd..b7f1fc7ad8 100644 --- a/include/trade.h +++ b/include/trade.h @@ -12,7 +12,7 @@ s32 sub_807A728(void); void sub_80773AC(void); void sub_807AE50(void); -int sub_807A8D0(u32 /* probably wrong */, u16, u16, u8); +int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8); int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); int sub_807A918(struct Pokemon*, u16); diff --git a/include/util.h b/include/util.h index 997c8f7131..9d13453c20 100644 --- a/include/util.h +++ b/include/util.h @@ -14,5 +14,6 @@ u16 CalcCRC16(u8 *data, s32 length); u16 CalcCRC16WithTable(u8 *data, u32 length); u32 CalcByteArraySum(const u8* data, u32 length); void BlendPalette(u16 palOffset, u16 numEntries, u8 coeff, u16 blendColor); +void DoBgAffineSet(struct BgAffineDstData *dest, u32 texX, u32 texY, s16 scrX, s16 scrY, s16 sx, s16 sy, u16 alpha); #endif // GUARD_UTIL_H diff --git a/src/party_menu.c b/src/party_menu.c index f8e3122177..34c67c4749 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -4579,7 +4579,7 @@ static void CursorCb_Register(u8 taskId) u16 species = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_SPECIES); u8 obedience = GetMonData(&gPlayerParty[gUnknown_0203CEC8.unk9], MON_DATA_OBEDIENCE); - switch (sub_807A8D0(*(u32 *)sub_800F7DC() /* dirty cast, probably needs to be changed */, species2, species, obedience)) + switch (sub_807A8D0(*(struct UnkLinkRfuStruct_02022B14Substruct *)sub_800F7DC(), species2, species, obedience)) { case 1: StringExpandPlaceholders(gStringVar4, gText_PkmnCantBeTradedNow); diff --git a/src/trade.c b/src/trade.c index 8eb0419b98..4d5edffd79 100644 --- a/src/trade.c +++ b/src/trade.c @@ -6,6 +6,7 @@ #include "cable_club.h" #include "data2.h" #include "daycare.h" +#include "decompress.h" #include "event_data.h" #include "gpu_regs.h" #include "graphics.h" @@ -13,10 +14,12 @@ #include "librfu.h" #include "link.h" #include "link_rfu.h" +#include "mail.h" #include "main.h" #include "overworld.h" #include "palette.h" #include "party_menu.h" +#include "pokedex.h" #include "pokemon_icon.h" #include "pokemon_summary_screen.h" #include "sound.h" @@ -26,6 +29,7 @@ #include "text_window.h" #include "trainer_card.h" #include "trade.h" +#include "util.h" #include "window.h" #include "constants/moves.h" #include "constants/species.h" @@ -77,6 +81,43 @@ extern struct { extern u8 *gUnknown_02032184; extern u8 *gUnknown_02032188[14]; extern u8 gUnknown_02032298[2]; +extern struct { + struct Pokemon mon; + u32 unk_64; + u32 unk_68[2]; + u8 filler_70[2]; + u8 unk_72; + u8 unk_73; + u8 unk_74[20]; + u8 unk_88; + u8 unk_89; + u16 unk_8A; + u16 unk_8C; + u8 unk_8E[2]; + u8 filler_90[3]; + u8 unk_93; + u16 unk_94; + u8 filler_96[0xD4 - 0x96]; + u16 unk_D4; + u16 unk_D6; + u16 unk_D8; + u16 unk_DA; + s16 unk_DC; + s16 unk_DE; + u16 unk_E0; + u16 unk_E2; + u16 unk_E4; + u16 unk_E6; + s16 unk_E8; + u16 unk_EA; + u16 unk_EC; + u8 unk_EE; + u8 filler_EF; + u16 unk_F0[2]; + u8 filler_F4[0xFA - 0xF4]; + u8 unk_FA; + u8 filler_FB[0x100 - 0xFB]; +} *gUnknown_020322A0; extern u8 gUnknown_0203CF20; @@ -105,6 +146,24 @@ extern const u8 *gUnknown_0832DEBC[]; extern const struct SpritePalette gSpritePalette_TradeScreenText; extern const struct SpritePalette gUnknown_0832DC44; extern const struct SpriteSheet gUnknown_0832DC3C; +extern const u16 gUnknown_08338EA4[]; +extern const struct SpriteSheet gUnknown_08338D18; +extern const struct SpritePalette gUnknown_08338D20; +extern const struct BgTemplate gUnknown_08339014[4]; +extern const struct WindowTemplate gUnknown_08338FFC[]; +extern const u16 gUnknown_08331F60[]; +extern const u16 gUnknown_083359A0[]; +extern const u16 gUnknown_083369A0[]; +extern const u32 gUnknown_083379A0[]; +extern const u16 gUnknown_0832FFC0[]; +extern const u16 gUnknown_08337EA0[]; +extern const u32 gUnknown_08337EC0[]; +extern const u32 gUnknown_08338550[]; +extern const u8 gUnknown_08332F60[]; +extern const u8 gUnknown_083357A0[]; +extern const u8 gUnknown_083358A0[]; + +extern const struct CompressedSpriteSheet gMonFrontPicTable[]; bool32 sub_8077260(void); void sub_80773D0(void); @@ -135,6 +194,15 @@ u32 sub_807A09C(void); u8 sub_8079A3C(u8 *, bool8, u8); void sub_8079AA4(u8 *, u8, u8); void sub_8079C4C(u8, u8, u8, u8, u8, u8); +void sub_807B170(void); +void sub_807B154(void); +void sub_807BA94(void); +void sub_807B140(void); +void sub_807BAD8(void); +void sub_807EA2C(void); +void sub_807B62C(u8); +void sub_807B60C(void); +void sub_807BBC8(void); bool8 sub_8077170(const void *a0, u32 a1) { @@ -2556,3 +2624,946 @@ int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuS return 0; } + +int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16 a1, u16 a2, u8 a3) +{ + u8 unk = a0.unk_01_0; + + if (sub_807A7BC(a2, a3)) + { + return 1; + } + + if (unk) + { + return 0; + } + + if (a1 == SPECIES_EGG) + { + return 2; + } + + if (IsSpeciesInHoennDex(a1)) + { + return 0; + } + + return 1; +} + +// r6/r7 flip. Ugh. +#ifdef NONMATCHING +int sub_807A918(struct Pokemon *a0, u16 a1) +{ + int i, version, versions, unk, unk2; + int arr[PARTY_SIZE]; + + for (i = 0; i < gPlayerPartyCount; i++) + { + arr[i] = GetMonData(&a0[i], MON_DATA_SPECIES2); + if (arr[i] == SPECIES_EGG) + { + arr[i] = 0; + } + } + + versions = 0; + unk = 1; + for (i = 0; i < GetLinkPlayerCount(); i++) + { + version = gLinkPlayers[i].version & 0xFF; + if (version == VERSION_FIRE_RED || + version == VERSION_LEAF_GREEN) + { + versions = 0; + } + else + { + versions |= 1; + } + } + + for (i = 0; i < GetLinkPlayerCount(); i++) + { + struct LinkPlayer *player = &gLinkPlayers[i]; + if ((player->name[8] & 0xF) == 0) + { + unk = 0; + } + + if (versions && (player->name[8] / 16)) + { + unk = 0; + } + } + + if (unk == 0) + { + if (!IsSpeciesInHoennDex(arr[a1])) + { + return 2; + } + + if (arr[a1] == SPECIES_NONE) + { + return 3; + } + } + + unk2 = 0; + for (i = 0; i < gPlayerPartyCount; i++) + { + if (a1 != i) + { + unk2 += arr[i]; + } + } + + if (!unk2) + { + return 1; + } + else + { + return 0; + } +} +#else +NAKED +int sub_807A918(struct Pokemon *a0, u16 a1) +{ + asm_unified("push {r4-r7,lr}\n\ + mov r7, r8\n\ + push {r7}\n\ + sub sp, 0x18\n\ + adds r6, r0, 0\n\ + lsls r1, 16\n\ + lsrs r1, 16\n\ + mov r8, r1\n\ + movs r5, 0\n\ + ldr r0, =gPlayerPartyCount\n\ + ldrb r0, [r0]\n\ + cmp r5, r0\n\ + bge _0807A95A\n\ + mov r4, sp\n\ +_0807A934:\n\ + movs r0, 0x64\n\ + muls r0, r5\n\ + adds r0, r6, r0\n\ + movs r1, 0x41\n\ + bl GetMonData\n\ + str r0, [r4]\n\ + movs r1, 0xCE\n\ + lsls r1, 1\n\ + cmp r0, r1\n\ + bne _0807A94E\n\ + movs r0, 0\n\ + str r0, [r4]\n\ +_0807A94E:\n\ + adds r4, 0x4\n\ + adds r5, 0x1\n\ + ldr r0, =gPlayerPartyCount\n\ + ldrb r0, [r0]\n\ + cmp r5, r0\n\ + blt _0807A934\n\ +_0807A95A:\n\ + movs r7, 0\n\ + movs r6, 0x1\n\ + movs r5, 0\n\ + ldr r4, =gLinkPlayers\n\ + b _0807A980\n\ + .pool\n\ +_0807A96C:\n\ + ldrb r0, [r4]\n\ + subs r0, 0x4\n\ + cmp r0, 0x1\n\ + bhi _0807A978\n\ + movs r7, 0\n\ + b _0807A97C\n\ +_0807A978:\n\ + movs r0, 0x1\n\ + orrs r7, r0\n\ +_0807A97C:\n\ + adds r4, 0x1C\n\ + adds r5, 0x1\n\ +_0807A980:\n\ + bl GetLinkPlayerCount\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r5, r0\n\ + blt _0807A96C\n\ + movs r5, 0\n\ + movs r4, 0\n\ + b _0807A9B4\n\ +_0807A992:\n\ + ldr r0, =gLinkPlayers\n\ + adds r2, r4, r0\n\ + ldrb r1, [r2, 0x10]\n\ + movs r0, 0xF\n\ + ands r0, r1\n\ + cmp r0, 0\n\ + bne _0807A9A2\n\ + movs r6, 0\n\ +_0807A9A2:\n\ + cmp r7, 0\n\ + beq _0807A9B0\n\ + ldrb r0, [r2, 0x10]\n\ + lsrs r0, 4\n\ + cmp r0, 0\n\ + beq _0807A9B0\n\ + movs r6, 0\n\ +_0807A9B0:\n\ + adds r4, 0x1C\n\ + adds r5, 0x1\n\ +_0807A9B4:\n\ + bl GetLinkPlayerCount\n\ + lsls r0, 24\n\ + lsrs r0, 24\n\ + cmp r5, r0\n\ + blt _0807A992\n\ + cmp r6, 0\n\ + bne _0807A9EA\n\ + mov r1, r8\n\ + lsls r0, r1, 2\n\ + mov r1, sp\n\ + adds r4, r1, r0\n\ + ldrh r0, [r4]\n\ + bl IsSpeciesInHoennDex\n\ + cmp r0, 0\n\ + bne _0807A9E0\n\ + movs r0, 0x2\n\ + b _0807AA1A\n\ + .pool\n\ +_0807A9E0:\n\ + ldr r0, [r4]\n\ + cmp r0, 0\n\ + bne _0807A9EA\n\ + movs r0, 0x3\n\ + b _0807AA1A\n\ +_0807A9EA:\n\ + movs r2, 0\n\ + movs r5, 0\n\ + ldr r0, =gPlayerPartyCount\n\ + ldrb r0, [r0]\n\ + cmp r2, r0\n\ + bge _0807AA0A\n\ + adds r3, r0, 0\n\ + mov r1, sp\n\ +_0807A9FA:\n\ + cmp r8, r5\n\ + beq _0807AA02\n\ + ldr r0, [r1]\n\ + adds r2, r0\n\ +_0807AA02:\n\ + adds r1, 0x4\n\ + adds r5, 0x1\n\ + cmp r5, r3\n\ + blt _0807A9FA\n\ +_0807AA0A:\n\ + cmp r2, 0\n\ + beq _0807AA18\n\ + movs r0, 0\n\ + b _0807AA1A\n\ + .pool\n\ +_0807AA18:\n\ + movs r0, 0x1\n\ +_0807AA1A:\n\ + add sp, 0x18\n\ + pop {r3}\n\ + mov r8, r3\n\ + pop {r4-r7}\n\ + pop {r1}\n\ + bx r1"); +} +#endif // NONMATCHING + +void sub_807AA28(struct Sprite *sprite) +{ + if (++sprite->data[0] == 10) + { + PlaySE(SE_BOWA); + sprite->data[0] = 0; + } +} + +void sub_807AA4C(struct Sprite *sprite) +{ + if (!sprite->invisible && ++sprite->data[0] == 10) + { + PlaySE(SE_W207B); + sprite->data[0] = 0; + } +} + +void sub_807AA7C(struct Sprite *sprite) +{ + if (!sprite->data[1]) + { + if (++sprite->data[0] == 12) + { + sprite->data[0] = 0; + } + + LoadPalette(&gUnknown_08338EA4[sprite->data[0]], (sprite->oam.paletteNum + 16) * 16 + 4, 2); + } +} + +void sub_807AABC(struct Sprite *sprite) +{ + sprite->data[0]++; + sprite->pos2.y++; + + if (sprite->data[0] == 10) + { + DestroySprite(sprite); + } +} + +void sub_807AAE0(struct Sprite *sprite) +{ + sprite->data[0]++; + sprite->pos2.y--; + + if (sprite->data[0] == 10) + { + DestroySprite(sprite); + } +} + +void sub_807AB04(struct Sprite *sprite) +{ + if (++sprite->data[0] == 15) + { + PlaySE(SE_W107); + sprite->data[0] = 0; + } +} + +void sub_807AB28(void) +{ + struct BgAffineDstData affine; + + DoBgAffineSet(&affine, gUnknown_020322A0->unk_D4 * 0x100, gUnknown_020322A0->unk_D6 * 0x100, gUnknown_020322A0->unk_DC, gUnknown_020322A0->unk_DE, gUnknown_020322A0->unk_E8, gUnknown_020322A0->unk_E8, gUnknown_020322A0->unk_EC); + SetGpuReg(REG_OFFSET_BG2PA, affine.pa); + SetGpuReg(REG_OFFSET_BG2PB, affine.pb); + SetGpuReg(REG_OFFSET_BG2PC, affine.pc); + SetGpuReg(REG_OFFSET_BG2PD, affine.pd); + SetGpuReg(REG_OFFSET_BG2X_L, affine.dx); + SetGpuReg(REG_OFFSET_BG2X_H, affine.dx >> 16); + SetGpuReg(REG_OFFSET_BG2Y_L, affine.dy); + SetGpuReg(REG_OFFSET_BG2Y_H, affine.dy >> 16); +} + +void sub_807ABCC(void) +{ + u16 dispcnt; + + SetGpuReg(REG_OFFSET_BG1VOFS, gUnknown_020322A0->unk_E0); + SetGpuReg(REG_OFFSET_BG1HOFS, gUnknown_020322A0->unk_E2); + + dispcnt = GetGpuReg(REG_OFFSET_DISPCNT); + if (!(dispcnt & (DISPCNT_MODE_1 | DISPCNT_MODE_2 | DISPCNT_MODE_3 | DISPCNT_MODE_4 | DISPCNT_MODE_5))) + { + SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_020322A0->unk_E4); + SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_020322A0->unk_E6); + } + else + { + sub_807AB28(); + } +} + +void sub_807AC24(void) +{ + sub_807ABCC(); + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +void sub_807AC3C(void) +{ + gUnknown_020322A0->unk_8A = 0; + gUnknown_020322A0->unk_88 = 0; + gUnknown_020322A0->unk_89 = 0; +} + +void sub_807AC64(void) +{ + if (gUnknown_020322A0->unk_88 == gUnknown_020322A0->unk_89) + { + gUnknown_020322A0->unk_8A++; + } + else + { + gUnknown_020322A0->unk_8A = 0; + } + + if (gUnknown_020322A0->unk_8A > 300) + { + CloseLink(); + SetMainCallback2(CB2_LinkError); + gUnknown_020322A0->unk_8A = 0; + gUnknown_020322A0->unk_89 = 0; + gUnknown_020322A0->unk_88 = 0; + } + + gUnknown_020322A0->unk_89 = gUnknown_020322A0->unk_88; +} + +u32 sub_807ACDC(void) +{ + if (gReceivedRemoteLinkPlayers != 0) + { + return GetMultiplayerId(); + } + + return 0; +} + +void sub_807ACFC(u8 a0, u8 a1) +{ + int unk = 0; + struct Pokemon *mon = NULL; + u16 species; + u32 personality; + + if (a0 == 0) + { + mon = &gPlayerParty[gUnknown_02032298[0]]; + unk = 1; + } + + if (a0 == 1) + { + mon = &gEnemyParty[gUnknown_02032298[1] % PARTY_SIZE]; + unk = 3; + } + + switch (a1) + { + case 0: + species = GetMonData(mon, MON_DATA_SPECIES2); + personality = GetMonData(mon, MON_DATA_PERSONALITY); + + if (a0 == 0) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality); + } + else + { + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[a0 * 2 + 1], species, personality); + } + LoadCompressedSpritePalette(GetMonSpritePalStruct(mon)); + gUnknown_020322A0->unk_F0[a0] = species; + gUnknown_020322A0->unk_68[a0] = personality; + break; + case 1: + SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, unk); + gUnknown_020322A0->unk_8E[a0] = CreateSprite(&gMultiuseSpriteTemplate, 120, 60, 6); + gSprites[gUnknown_020322A0->unk_8E[a0]].invisible = TRUE; + gSprites[gUnknown_020322A0->unk_8E[a0]].callback = SpriteCallbackDummy; + break; + } +} + +void sub_807AE50(void) +{ + switch (gMain.state) + { + case 0: + if (gReceivedRemoteLinkPlayers == 0) + { + gLinkType = 0x1144; + CloseLink(); + } + gUnknown_020322A0 = AllocZeroed(sizeof(*gUnknown_020322A0)); + AllocateMonSpritesGfx(); + ResetTasks(); + ResetSpriteData(); + FreeAllSpritePalettes(); + SetVBlankCallback(sub_807AC24); + sub_807B170(); + sub_807AC3C(); + gMain.state++; + gUnknown_020322A0->unk_8C = 0; + gUnknown_020322A0->unk_94 = 0; + gUnknown_020322A0->unk_EE = 1; + gUnknown_020322A0->unk_D4 = 64; + gUnknown_020322A0->unk_D6 = 64; + gUnknown_020322A0->unk_D8 = 0; + gUnknown_020322A0->unk_DA = 0; + gUnknown_020322A0->unk_DC = 120; + gUnknown_020322A0->unk_DE = 80; + gUnknown_020322A0->unk_E8 = 256; + gUnknown_020322A0->unk_EC = 0; + break; + case 1: + if (gReceivedRemoteLinkPlayers == 0) + { + gUnknown_020322A0->unk_FA = 1; + OpenLink(); + gMain.state++; + gUnknown_020322A0->unk_64 = 0; + } + else + { + gMain.state = 4; + } + break; + case 2: + if (++gUnknown_020322A0->unk_64 > 60) + { + gUnknown_020322A0->unk_64 = 0; + gMain.state++; + } + break; + case 3: + if (IsLinkMaster()) + { + if (GetLinkPlayerCount_2() >= sub_800AA48()) + { + if (++gUnknown_020322A0->unk_64 > 30) + { + sub_800A620(); + gMain.state++; + } + } + else + { + sub_807AC64(); + } + } + else + { + gMain.state++; + } + break; + case 4: + sub_807AC64(); + if (gReceivedRemoteLinkPlayers == 1 && IsLinkPlayerDataExchangeComplete() == TRUE) + { + gMain.state++; + } + break; + case 5: + gUnknown_020322A0->unk_72 = 0; + gUnknown_020322A0->unk_73 = 0; + gUnknown_020322A0->unk_93 = 0; + sub_807ACFC(0, 0); + gMain.state++; + break; + case 6: + sub_807ACFC(0, 1); + gMain.state++; + break; + case 7: + sub_807ACFC(1, 0); + gMain.state++; + break; + case 8: + sub_807ACFC(1, 1); + sub_807B154(); + gMain.state++; + break; + case 9: + sub_807BA94(); + LoadSpriteSheet(&gUnknown_08338D18); + LoadSpritePalette(&gUnknown_08338D20); + gMain.state++; + break; + case 10: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + ShowBg(0); + gMain.state++; + break; + case 11: + sub_807B140(); + sub_807BAD8(); + gMain.state++; + break; + case 12: + if (!gPaletteFade.active) + { + if (gWirelessCommType) + { + sub_800E0E8(); + CreateWirelessStatusIndicatorSprite(0, 0); + } + SetMainCallback2(sub_807EA2C); + } + break; + } + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_807B140(void) +{ + sub_807B62C(5); + sub_807B62C(0); +} + +void sub_807B154(void) +{ + FillWindowPixelBuffer(0, 0xFF); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); +} + +void sub_807B170(void) +{ + SetGpuReg(REG_OFFSET_DISPCNT, 0); + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, gUnknown_08339014, ARRAY_COUNT(gUnknown_08339014)); + ChangeBgX(0, 0, 0); + ChangeBgY(0, 0, 0); + SetBgTilemapBuffer(0, Alloc(0x800)); + SetBgTilemapBuffer(1, Alloc(0x800)); + SetBgTilemapBuffer(3, Alloc(0x800)); + DeactivateAllTextPrinters(); + DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); + LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); + CopyToBgTilemapBuffer(0, gDecompressionBuffer, 0x800, 0); + LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); + InitWindows(gUnknown_08338FFC); + DecompressAndLoadBgGfxUsingHeap(0, gBattleTextboxTiles, 0, 0, 0); + LZDecompressWram(gBattleTextboxTilemap, gDecompressionBuffer); + CopyToBgTilemapBuffer(0, gDecompressionBuffer, 0x800, 0); + LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); +} + +void sub_807B270(void) +{ + u8 name[12]; + + switch (gMain.state) + { + case 0: + gUnknown_02032298[0] = gSpecialVar_0x8005; + gUnknown_02032298[1] = 6; + StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName); + GetMonData(&gEnemyParty[0], MON_DATA_OT_NAME, name); + StringCopy(gLinkPlayers[1].name, name); + gLinkPlayers[0].language = LANGUAGE_ENGLISH; + gLinkPlayers[1].language = GetMonData(&gEnemyParty[0], MON_DATA_LANGUAGE); + gUnknown_020322A0 = AllocZeroed(sizeof(*gUnknown_020322A0)); + AllocateMonSpritesGfx(); + ResetTasks(); + ResetSpriteData(); + FreeAllSpritePalettes(); + SetVBlankCallback(sub_807AC24); + sub_807B170(); + gUnknown_020322A0->unk_EE = 0; + gUnknown_020322A0->unk_8C = 0; + gUnknown_020322A0->unk_94 = 0; + gUnknown_020322A0->unk_D4 = 64; + gUnknown_020322A0->unk_D6 = 64; + gUnknown_020322A0->unk_D8 = 0; + gUnknown_020322A0->unk_DA = 0; + gUnknown_020322A0->unk_DC = 120; + gUnknown_020322A0->unk_DE = 80; + gUnknown_020322A0->unk_E8 = 256; + gUnknown_020322A0->unk_EC = 0; + gUnknown_020322A0->unk_64 = 0; + gMain.state = 5; + break; + case 5: + sub_807ACFC(0, 0); + gMain.state++; + break; + case 6: + sub_807ACFC(0, 1); + gMain.state++; + break; + case 7: + sub_807ACFC(1, 0); + ShowBg(0); + gMain.state++; + break; + case 8: + sub_807ACFC(1, 1); + FillWindowPixelBuffer(0, 0xFF); + PutWindowTilemap(0); + CopyWindowToVram(0, 3); + gMain.state++; + break; + case 9: + sub_807BA94(); + LoadSpriteSheet(&gUnknown_08338D18); + LoadSpritePalette(&gUnknown_08338D20); + gMain.state++; + break; + case 10: + ShowBg(0); + gMain.state++; + break; + case 11: + sub_807B62C(5); + sub_807B62C(0); + sub_807BAD8(); + gMain.state++; + break; + case 12: + SetMainCallback2(sub_807B60C); + break; + } + + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_807B464(u8 a0) +{ + u16 species; + u32 personality; + struct Pokemon *mon = &gPlayerParty[a0]; + + if (!GetMonData(mon, MON_DATA_IS_EGG)) + { + species = GetMonData(mon, MON_DATA_SPECIES, NULL); + personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL); + species = SpeciesToNationalPokedexNum(species); + GetSetPokedexFlag(species, FLAG_SET_SEEN); + HandleSetPokedexFlag(species, FLAG_SET_CAUGHT, personality); + } +} + +void sub_807B4C4(void) +{ + GetMultiplayerId(); +} + +void sub_807B4D0(u8 a0, u8 a1) +{ + u8 friendship; + u16 mailId1; + u16 mailId2; + struct Pokemon *mon1 = &gPlayerParty[a0]; + struct Pokemon *mon2; + + mailId1 = GetMonData(mon1, MON_DATA_MAIL); + mon2 = &gEnemyParty[a1]; + mailId2 = GetMonData(mon2, MON_DATA_MAIL); + + if (mailId1 != 0xFF) + { + ClearMailStruct(&gSaveBlock1Ptr->mail[mailId1]); + } + + memcpy(&gUnknown_020322A0->mon, mon1, sizeof(struct Pokemon)); + memcpy(mon1, mon2, sizeof(struct Pokemon)); + memcpy(mon2, &gUnknown_020322A0->mon, sizeof(struct Pokemon)); + + friendship = 70; + if (!GetMonData(mon1, MON_DATA_IS_EGG)) + { + SetMonData(mon1, MON_DATA_FRIENDSHIP, &friendship); + } + + if (mailId2 != 0xFF) + { + GiveMailToMon2(mon1, &gUnknown_020321C0[mailId2]); + } + + sub_807B464(a0); + + if (gReceivedRemoteLinkPlayers != 0) + { + sub_807B4C4(); + } +} + +void sub_807B5B8(void) +{ + switch (gUnknown_020322A0->unk_93) + { + case 1: + if (sub_800A520()) + { + SendBlock(bitmask_all_link_players_but_self(), gUnknown_020322A0->unk_74, sizeof(gUnknown_020322A0->unk_74)); + gUnknown_020322A0->unk_93++; + } + case 2: + gUnknown_020322A0->unk_93 = 0; + break; + } +} + +void sub_807B60C(void) +{ + sub_807BBC8(); + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +// DmaCopy16Defvars in cases 4 and 6 tail merge, when they shouldn't +void sub_807B62C(u8 a0) +{ + switch (a0) + { + case 0: + gUnknown_020322A0->unk_E4 = 0; + gUnknown_020322A0->unk_E6 = 180; + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG0_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(1) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_TXT512x256); + LoadPalette(gTradeGba2_Pal, 16, 0x60); + DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); + DmaCopy16(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); + break; + case 1: + gUnknown_020322A0->unk_E2 = 0; + gUnknown_020322A0->unk_E0 = 348; + SetGpuReg(REG_OFFSET_BG1VOFS, 348); + SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(0) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(5) | + BGCNT_TXT256x512); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(1) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_TXT256x512); + + if (gUnknown_020322A0->unk_FA) + { + DmaCopy16Defvars(3, gUnknown_083369A0, (void *) BG_SCREEN_ADDR(5), 0x1000); + } + else + { + DmaCopy16Defvars(3, gUnknown_083359A0, (void *) BG_SCREEN_ADDR(5), 0x1000); + } + + DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(0), 0x1420, 0x1000); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + break; + case 2: + gUnknown_020322A0->unk_E0 = 0; + gUnknown_020322A0->unk_E2 = 0; + if (!gUnknown_020322A0->unk_FA) + { + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + LZ77UnCompVram(gUnknown_083379A0, (void *) BG_SCREEN_ADDR(5)); + BlendPalettes(0x8, 16, RGB_BLACK); + } + else + { + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + DmaCopy16Defvars(3, gUnknown_0832FFC0, (void *) BG_SCREEN_ADDR(5), 0x800); + BlendPalettes(0x1, 16, RGB_BLACK); + } + break; + case 3: + LoadPalette(gUnknown_08337EA0, 48, 0x20); + LZ77UnCompVram(gUnknown_08337EC0, (void *) BG_CHAR_ADDR(1)); + LZ77UnCompVram(gUnknown_08338550, (void *) BG_SCREEN_ADDR(18)); + gUnknown_020322A0->unk_E4 = 80; + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + break; + case 4: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | + BGCNT_CHARBASE(1) | + BGCNT_256COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_AFF128x128); + gUnknown_020322A0->unk_D4 = 64; + gUnknown_020322A0->unk_D6 = 92; + gUnknown_020322A0->unk_E8 = 32; + gUnknown_020322A0->unk_EA = 1024; + gUnknown_020322A0->unk_EC = 0; + + DmaCopyLarge16(3, gUnknown_08332F60, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000); + + if (gUnknown_020322A0->unk_FA) + { + DmaCopy16Defvars(3, gUnknown_083357A0, (void *) BG_SCREEN_ADDR(18), 0x100); + } + else + { + DmaCopy16Defvars(3, gUnknown_083358A0, (void *) BG_SCREEN_ADDR(18), 0x100); + } + break; + case 5: + gUnknown_020322A0->unk_E0 = 0; + gUnknown_020322A0->unk_E2 = 0; + break; + case 6: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(3) | + BGCNT_CHARBASE(1) | + BGCNT_256COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_AFF128x128); + gUnknown_020322A0->unk_D4 = 64; + gUnknown_020322A0->unk_D6 = 92; + gUnknown_020322A0->unk_E8 = 256; + gUnknown_020322A0->unk_EA = 128; + gUnknown_020322A0->unk_DC = 120; + gUnknown_020322A0->unk_DE = 80; + gUnknown_020322A0->unk_EC = 0; + + DmaCopyLarge16(3, gUnknown_08332F60, (void *) BG_CHAR_ADDR(1), 0x2840, 0x1000); + + if (gUnknown_020322A0->unk_FA) + { + DmaCopy16Defvars(3, gUnknown_083357A0, (void *) BG_SCREEN_ADDR(18), 0x100); + } + else + { + DmaCopy16Defvars(3, gUnknown_083358A0, (void *) BG_SCREEN_ADDR(18), 0x100); + } + break; + case 7: + gUnknown_020322A0->unk_E4 = 0; + gUnknown_020322A0->unk_E6 = 0; + SetGpuReg(REG_OFFSET_BLDCNT, 0); + SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | + BGCNT_CHARBASE(1) | + BGCNT_16COLOR | + BGCNT_SCREENBASE(18) | + BGCNT_TXT512x256); + LoadPalette(gTradeGba2_Pal, 16, 0x60); + DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); + DmaCopy16(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); + break; + } +} From 2c0f5f58e9234f34f5f4aa2ffae931a57c6cf19e Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 27 Dec 2018 11:24:34 -0600 Subject: [PATCH 17/53] Use constants for warp into MAP_INSIDE_OF_TRUCK --- src/new_game.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/new_game.c b/src/new_game.c index 4804b28f33..82e8c2c960 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -27,6 +27,7 @@ #include "pokedex.h" #include "apprentice.h" #include "frontier_util.h" +#include "constants/maps.h" extern u16 gSaveFileStatus; extern u8 gUnknown_030060B0; @@ -135,7 +136,7 @@ static void ClearFrontierRecord(void) static void WarpToTruck(void) { - Overworld_SetWarpDestination(25, 40, -1, -1, -1); // inside of truck + Overworld_SetWarpDestination(MAP_GROUP(INSIDE_OF_TRUCK), MAP_NUM(INSIDE_OF_TRUCK), -1, -1, -1); WarpIntoMap(); } From d59f5a8e5649ad09a41b65edcc68f701320ca52e Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Thu, 27 Dec 2018 16:30:47 -0600 Subject: [PATCH 18/53] Misc overworld documentation --- asm/contest_link_80F57C4.s | 6 +- asm/rom_8011DC0.s | 8 +- asm/trade.s | 4 +- asm/trainer_card.s | 4 +- include/constants/songs.h | 2 +- include/global.h | 10 +-- include/load_save.h | 10 +-- include/menu.h | 3 +- include/overworld.h | 41 +++++---- include/save_location.h | 6 ++ src/battle_arena.c | 2 +- src/battle_dome.c | 2 +- src/battle_factory.c | 2 +- src/battle_palace.c | 2 +- src/battle_pyramid_bag.c | 2 +- src/battle_script_commands.c | 2 +- src/battle_setup.c | 2 +- src/battle_tent.c | 6 +- src/battle_tower.c | 2 +- src/cable_club.c | 6 +- src/decoration.c | 2 +- src/easy_chat.c | 4 +- src/egg_hatch.c | 4 +- src/field_control_avatar.c | 11 +-- src/field_effect.c | 6 +- src/field_message_box.c | 56 ++++++------- src/field_screen_effect.c | 4 +- src/field_special_scene.c | 30 +++---- src/field_specials.c | 12 +-- src/fldeff_flash.c | 2 +- src/frontier_util.c | 4 +- src/hall_of_fame.c | 2 +- src/item_use.c | 2 +- src/load_save.c | 31 +++---- src/menu.c | 50 +++++------ src/mirage_tower.c | 2 +- src/naming_screen.c | 2 +- src/new_game.c | 4 +- src/overworld.c | 153 +++++++++++++++++----------------- src/party_menu.c | 10 +-- src/player_pc.c | 6 +- src/pokemon.c | 10 +-- src/pokemon_storage_system.c | 2 +- src/post_battle_event_funcs.c | 6 +- src/record_mixing.c | 4 +- src/region_map.c | 58 ++++++------- src/rom_8011DC0.c | 22 ++--- src/save.c | 4 +- src/save_location.c | 19 ++--- src/scrcmd.c | 28 +++---- src/secret_base.c | 8 +- src/start_menu.c | 20 ++--- 52 files changed, 345 insertions(+), 355 deletions(-) diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index b869adf1ba..ec962c71d9 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -578,10 +578,10 @@ _080F5D58: adds r0, r5, 0 movs r1, 0 bl VarSet - bl sub_8076D5C + bl SetContinueGameWarpStatusToDynamicWarp movs r0, 0x1 bl TrySavingData - bl sav2_gender2_inplace_and_xFE + bl ClearContinueGameWarpStatus2 adds r0, r5, 0 adds r1, r4, 0 bl VarSet @@ -5598,7 +5598,7 @@ _080F874C: movs r3, 0x1 negs r3, r3 movs r0, 0 - bl saved_warp2_set + bl SetDynamicWarp bl ScriptContext2_Disable bl EnableBothScriptContexts _080F877E: diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index b90c9701eb..e6751247bf 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -15686,7 +15686,7 @@ _0801EB04: lsls r0, 24 cmp r0, 0 bne _0801EBC2 - bl sub_8076D5C + bl SetContinueGameWarpStatusToDynamicWarp movs r0, 0 bl TrySavingData ldr r0, =gUnknown_02022C84 @@ -15713,7 +15713,7 @@ _0801EB40: bne _0801EBC2 movs r0, 0x37 bl PlaySE - bl sav2_gender2_inplace_and_xFE + bl ClearContinueGameWarpStatus2 ldr r0, =gUnknown_02022C84 ldr r1, [r0] movs r0, 0xA @@ -20568,7 +20568,7 @@ _080211EC: beq _080211F8 b _08021302 _080211F8: - bl sub_81971D0 + bl InitStandardTextBoxWindows bl sub_8197200 adds r0, r5, 0 bl sub_8022588 @@ -39128,7 +39128,7 @@ _0802A7CE: movs r1, 0 movs r2, 0 bl ChangeBgY - bl sub_81971D0 + bl InitStandardTextBoxWindows bl sub_8197200 movs r1, 0x82 lsls r1, 5 diff --git a/asm/trade.s b/asm/trade.s index e8ce288104..eb2d22b066 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -13851,7 +13851,7 @@ _0807EDCE: movs r0, 0x2 bl sub_801B990 _0807EDF6: - bl sub_8076D5C + bl SetContinueGameWarpStatusToDynamicWarp bl sub_8153380 ldr r1, =gMain movs r2, 0x87 @@ -13884,7 +13884,7 @@ _0807EE38: lsrs r1, r0, 24 cmp r1, 0 beq _0807EE5C - bl sav2_gender2_inplace_and_xFE + bl ClearContinueGameWarpStatus2 ldr r0, =gMain movs r1, 0x87 lsls r1, 3 diff --git a/asm/trainer_card.s b/asm/trainer_card.s index 10e4d6d8fe..d0f26e0e15 100644 --- a/asm/trainer_card.s +++ b/asm/trainer_card.s @@ -4971,7 +4971,7 @@ _080C5204: b _080C52C8 _080C5214: str r4, [r0] - bl sav1_map_get_name + bl GetCurrentRegionMapSectionId lsls r0, 24 lsrs r4, r0, 24 cmp r4, 0x3A @@ -7780,7 +7780,7 @@ sub_80C6974: @ 80C6974 adds r1, r6 ldrb r1, [r1, 0xC] bl StartSpriteAnim - bl sav1_map_get_name + bl GetCurrentRegionMapSectionId lsls r0, 24 lsrs r5, r0, 24 cmp r5, 0x3A diff --git a/include/constants/songs.h b/include/constants/songs.h index 58a8e725cd..a459edd241 100644 --- a/include/constants/songs.h +++ b/include/constants/songs.h @@ -536,6 +536,6 @@ #define PH_NURSE_HELD 608 #define PH_NURSE_SOLO 609 -#define MUS_ROUTE_118 0x7FFF // What is this for? +#define MUS_ROUTE_118 0x7FFF // map is split into 2 music sections. controlled by GetCurrLocationDefaultMusic(). #endif // GUARD_CONSTANTS_SONGS_H diff --git a/include/global.h b/include/global.h index 090ba7ce46..4656f3968f 100644 --- a/include/global.h +++ b/include/global.h @@ -521,7 +521,7 @@ struct SaveBlock2 { /*0x00*/ u8 playerName[PLAYER_NAME_LENGTH + 1]; /*0x08*/ u8 playerGender; // MALE, FEMALE - /*0x09*/ u8 specialSaveWarp; + /*0x09*/ u8 specialSaveWarpFlags; /*0x0A*/ u8 playerTrainerId[4]; /*0x0E*/ u16 playTimeHours; /*0x10*/ u8 playTimeMinutes; @@ -889,10 +889,10 @@ struct SaveBlock1 { /*0x00*/ struct Coords16 pos; /*0x04*/ struct WarpData location; - /*0x0C*/ struct WarpData warp1; - /*0x14*/ struct WarpData warp2; - /*0x1C*/ struct WarpData lastHealLocation; - /*0x24*/ struct WarpData warp4; + /*0x0C*/ struct WarpData continueGameWarp; + /*0x14*/ struct WarpData dynamicWarp; + /*0x1C*/ struct WarpData lastHealLocation; // used by white-out and teleport + /*0x24*/ struct WarpData escapeWarp; // used by Dig and Escape Rope /*0x2C*/ u16 savedMusic; /*0x2E*/ u8 weather; /*0x2F*/ u8 weatherCycleStage; diff --git a/include/load_save.h b/include/load_save.h index c64a1179ba..bf50bffd75 100644 --- a/include/load_save.h +++ b/include/load_save.h @@ -15,11 +15,11 @@ void ClearSav2(void); void ClearSav1(void); void SetSaveBlocksPointers(u16 offset); void MoveSaveBlocks_ResetHeap(void); -u32 GetSecretBase2Field_9(void); -void ClearSecretBase2Field_9(void); -void SetSecretBase2Field_9(void); -void sub_8076D5C(void); -void sav2_gender2_inplace_and_xFE(void); +u32 UseContinueGameWarp(void); +void ClearContinueGameWarpStatus(void); +void SetContinueGameWarpStatus(void); +void SetContinueGameWarpStatusToDynamicWarp(void); +void ClearContinueGameWarpStatus2(void); void SavePlayerParty(void); void LoadPlayerParty(void); void SaveEventObjects(void); diff --git a/include/menu.h b/include/menu.h index 9b2341e583..aca4624687 100644 --- a/include/menu.h +++ b/include/menu.h @@ -20,7 +20,8 @@ struct MenuAction extern const u16 gUnknown_0860F074[]; -void sub_81971D0(void); +void FreeAllOverworldWindowBuffers(void); +void InitStandardTextBoxWindows(void); void sub_8197200(void); u16 RunTextPrintersAndIsPrinter0Active(void); void sub_81973A4(void); diff --git a/include/overworld.h b/include/overworld.h index 1f53662b37..f62a5136da 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -46,28 +46,25 @@ void Overworld_SetEventObjTemplateCoords(u8 localId, s16 x, s16 y); void Overworld_SetEventObjTemplateMovementType(u8 localId, u8 movementType); const struct MapLayout *GetMapLayout(void); void ApplyCurrentWarp(void); -void set_warp2_warp3_to_neg_1(void); struct MapHeader const *const Overworld_GetMapHeaderByGroupAndId(u16 mapGroup, u16 mapNum); struct MapHeader const *const GetDestinationWarpMapHeader(void); void WarpIntoMap(void); -void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); -void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpId); -void saved_warp2_set(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId); -void saved_warp2_set_2(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); -void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused); -void sub_8084CCC(u8 a1); -void Overworld_SetWarpDestToLastHealLoc(void); -void Overworld_SetHealLocationWarp(u8 healLocationId); -void sub_8084D5C(s16 a1, s16 a2); -void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); -void sub_8084E14(void); +void SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); +void SetWarpDestinationToMapWarp(s8 mapGroup, s8 mapNum, s8 warpId); +void SetDynamicWarp(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId); +void SetDynamicWarpWithCoords(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); +void SetWarpDestinationToDynamicWarp(u8 unused); +void SetWarpDestinationToHealLocation(u8 a1); +void SetWarpDestinationToLastHealLocation(void); +void SetLastHealLocationWarp(u8 healLocationId); +void sub_8084D5C(s16 x, s16 y); +void SetEscapeWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); +void SetWarpDestinationToEscapeWarp(void); void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void SetFixedHoleWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); -void SetFixedHoleWarpAsDestination(s16 x, s16 y); -void warp1_set_to_sav1w(void); -void sub_8084F2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); -void sub_8084F6C(u8 a1); -void sub_8084FAC(int unused); +void SetWarpDestinationToFixedHoleWarp(s16 x, s16 y); +void SetContinueGameWarpToHealLocation(u8 a1); +void SetContinueGameWarpToDynamicWarp(int unused); const struct MapConnection *GetMapConnection(u8 dir); bool8 SetDiveWarpEmerge(u16 x, u16 y); bool8 SetDiveWarpDive(u16 x, u16 y); @@ -78,7 +75,7 @@ bool32 Overworld_IsBikingAllowed(void); void SetDefaultFlashLevel(void); void Overworld_SetFlashLevel(s32 flashLevel); u8 Overworld_GetFlashLevel(void); -void sub_8085524(u16 mapLayoutId); +void SetCurrentMapLayout(u16 mapLayoutId); void sub_8085540(u8 var); u8 sub_808554C(void); u16 GetLocationMusic(struct WarpData *warp); @@ -97,15 +94,15 @@ void Overworld_FadeOutMapMusic(void); void UpdateAmbientCry(s16 *state, u16 *delayCounter); u8 GetMapTypeByGroupAndId(s8 mapGroup, s8 mapNum); u8 GetMapTypeByWarpData(struct WarpData *warp); -u8 Overworld_GetMapTypeOfSaveblockLocation(void); +u8 GetCurrentMapType(void); u8 GetLastUsedWarpMapType(void); bool8 is_map_type_1_2_3_5_or_6(u8 mapType); bool8 Overworld_MapTypeAllowsTeleportAndFly(u8 mapType); bool8 Overworld_MapTypeIsIndoors(u8 mapType); -u8 sav1_saved_warp2_map_get_name(void); -u8 sav1_map_get_name(void); +u8 GetSavedWarpRegionMapSectionId(void); +u8 GetCurrentRegionMapSectionId(void); u8 GetCurrentMapBattleScene(void); -void overworld_free_bg_tilemaps(void); +void CleanupOverworldWindowsAndTilemaps(void); bool32 is_c1_link_related_active(void); void CB1_Overworld(void); void CB2_OverworldBasic(void); diff --git a/include/save_location.h b/include/save_location.h index 71dbd3fd85..c330124ad6 100644 --- a/include/save_location.h +++ b/include/save_location.h @@ -1,6 +1,12 @@ #ifndef GUARD_SAVE_LOCATION_H #define GUARD_SAVE_LOCATION_H +// specialSaveWarp flags +#define CONTINUE_GAME_WARP (1 << 0) +#define POKECENTER_SAVEWARP (1 << 1) +#define LOBBY_SAVEWARP (1 << 2) +#define UNK_SPECIAL_SAVE_WARP_FLAG_3 (1 << 3) + void TrySetMapSaveWarpStatus(void); void sub_81AFDA0(void); void sub_81AFDD0(void); diff --git a/src/battle_arena.c b/src/battle_arena.c index 14f86c8829..fb95e64d49 100644 --- a/src/battle_arena.c +++ b/src/battle_arena.c @@ -784,7 +784,7 @@ static void sub_81A58B4(void) if (!isCurrent) gSaveBlock2Ptr->frontier.arenaWinStreaks[lvlMode] = 0; - saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); + SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); gTrainerBattleOpponent_A = 0; } diff --git a/src/battle_dome.c b/src/battle_dome.c index 8645eb76b1..00ae84d096 100644 --- a/src/battle_dome.c +++ b/src/battle_dome.c @@ -2388,7 +2388,7 @@ static void sub_818E9CC(void) if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860D0EC[battleMode][lvlMode])) gSaveBlock2Ptr->frontier.domeWinStreaks[battleMode][lvlMode] = 0; - saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); + SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); gTrainerBattleOpponent_A = 0; } diff --git a/src/battle_factory.c b/src/battle_factory.c index 4194086955..0445d5deaf 100644 --- a/src/battle_factory.c +++ b/src/battle_factory.c @@ -202,7 +202,7 @@ static void sub_81A5E94(void) for (i = 0; i < 3; i++) gUnknown_03006298[i] |= 0xFFFF; - saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); + SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); gTrainerBattleOpponent_A = 0; } diff --git a/src/battle_palace.c b/src/battle_palace.c index 4033712b62..fb8cc0729a 100644 --- a/src/battle_palace.c +++ b/src/battle_palace.c @@ -69,7 +69,7 @@ static void sub_8195980(void) if (!(gSaveBlock2Ptr->frontier.field_CDC & gUnknown_0860DE98[battleMode][lvlMode])) gSaveBlock2Ptr->frontier.palaceWinStreaks[battleMode][lvlMode] = 0; - saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); + SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); gTrainerBattleOpponent_A = 0; } diff --git a/src/battle_pyramid_bag.c b/src/battle_pyramid_bag.c index 12f631155f..50baf48fd2 100644 --- a/src/battle_pyramid_bag.c +++ b/src/battle_pyramid_bag.c @@ -365,7 +365,7 @@ static void sub_81C4F44(u8 taskId) { if (!gPaletteFade.active) { - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); gFieldCallback2 = hm_add_c3_without_phase_2; sub_81C4F98(3, CB2_ReturnToField); DestroyTask(taskId); diff --git a/src/battle_script_commands.c b/src/battle_script_commands.c index 67e9a0b1a1..2490d6e136 100644 --- a/src/battle_script_commands.c +++ b/src/battle_script_commands.c @@ -10138,7 +10138,7 @@ static void atkEF_handleballthrow(void) ballMultiplier = 10; break; case ITEM_DIVE_BALL: - if (Overworld_GetMapTypeOfSaveblockLocation() == MAP_TYPE_UNDERWATER) + if (GetCurrentMapType() == MAP_TYPE_UNDERWATER) ballMultiplier = 35; else ballMultiplier = 10; diff --git a/src/battle_setup.c b/src/battle_setup.c index 55ee331cd8..21386016ff 100644 --- a/src/battle_setup.c +++ b/src/battle_setup.c @@ -349,7 +349,7 @@ static void Task_BattleStart(u8 taskId) case 1: if (IsBattleTransitionDone() == TRUE) { - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); SetMainCallback2(CB2_InitBattle); RestartWildEncounterImmunitySteps(); ClearPoisonStepCounter(); diff --git a/src/battle_tent.c b/src/battle_tent.c index c358deaa57..de4d9d374a 100644 --- a/src/battle_tent.c +++ b/src/battle_tent.c @@ -100,7 +100,7 @@ static void sub_81B99D4(void) gSaveBlock2Ptr->frontier.field_CA8 = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; gSaveBlock2Ptr->frontier.field_CA9_a = FALSE; - saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); + SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } static void sub_81B9A28(void) @@ -162,7 +162,7 @@ static void sub_81B9BA0(void) gSaveBlock2Ptr->frontier.field_CA8 = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; gSaveBlock2Ptr->frontier.field_CA9_a = FALSE; - saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); + SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } static void sub_81B9BF4(void) @@ -217,7 +217,7 @@ static void sub_81B9D28(void) gSaveBlock2Ptr->frontier.field_CA8 = 0; gSaveBlock2Ptr->frontier.curChallengeBattleNum = 0; gSaveBlock2Ptr->frontier.field_CA9_a = FALSE; - saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); + SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } static void sub_81B9D7C(void) diff --git a/src/battle_tower.c b/src/battle_tower.c index 12fde44f7f..2bb0352a8b 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -1163,7 +1163,7 @@ static void sub_8161F94(void) gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] = 0; ValidateBattleTowerRecordChecksums(); - saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); + SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); gTrainerBattleOpponent_A = 0; } diff --git a/src/cable_club.c b/src/cable_club.c index 56154d5bfe..372329c14b 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -845,7 +845,7 @@ static void sub_80B32B4(u8 taskId) PlayMapChosenOrBattleBGM(MUS_BATTLE20); sub_80B3260(gSpecialVar_0x8004); - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); gTrainerBattleOpponent_A = 0x800; SetMainCallback2(CB2_InitBattle); gMain.savedCallback = sub_80B360C; @@ -911,7 +911,7 @@ static void sub_80B33BC(u8 taskId) gLinkPlayers[0].linkType = 0x2211; sub_80B3260(gSpecialVar_0x8004); - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); gTrainerBattleOpponent_A = 0x800; SetMainCallback2(CB2_InitBattle); gMain.savedCallback = sub_80B360C; @@ -1008,7 +1008,7 @@ void sub_80B36EC(void) LoadPlayerParty(); SavePlayerBag(); } - copy_saved_warp2_bank_and_enter_x_to_warp1(0x7F); + SetWarpDestinationToDynamicWarp(0x7F); } void sub_80B371C(void) diff --git a/src/decoration.c b/src/decoration.c index addca69540..438f2cbd1a 100644 --- a/src/decoration.c +++ b/src/decoration.c @@ -1131,7 +1131,7 @@ void sub_8127ACC(u8 taskId) void sub_8127B04(u8 taskId) { DrawWholeMapView(); - Overworld_SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, gTasks[taskId].data[3], gTasks[taskId].data[4]); + SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, gTasks[taskId].data[3], gTasks[taskId].data[4]); WarpIntoMap(); } diff --git a/src/easy_chat.c b/src/easy_chat.c index c4bc02e422..c84895df51 100644 --- a/src/easy_chat.c +++ b/src/easy_chat.c @@ -364,7 +364,7 @@ void easy_chat_input_maybe(void) default: return; } - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); sub_811A20C(gSpecialVar_0x8004, words, CB2_ReturnToFieldContinueScript, sizeParam); } @@ -383,7 +383,7 @@ static void sub_811A7E4(void) { lilycoveLady = &gSaveBlock1Ptr->lilycoveLady; lilycoveLady->quiz.unk_016 = -1; - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); sub_811A8F0(); } return; diff --git a/src/egg_hatch.c b/src/egg_hatch.c index a7b3e30b04..c2e57f8b51 100644 --- a/src/egg_hatch.c +++ b/src/egg_hatch.c @@ -379,7 +379,7 @@ static void AddHatchedMonToParty(u8 id) caughtLvl = 0; SetMonData(mon, MON_DATA_MET_LEVEL, &caughtLvl); - mapNameID = sav1_map_get_name(); + mapNameID = GetCurrentRegionMapSectionId(); SetMonData(mon, MON_DATA_MET_LOCATION, &mapNameID); MonRestorePP(mon); @@ -471,7 +471,7 @@ static void Task_EggHatch(u8 taskID) { if (!gPaletteFade.active) { - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); SetMainCallback2(CB2_EggHatch_0); gFieldCallback = sub_80AF168; DestroyTask(taskID); diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 3774ef2b30..bac0417dca 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -28,6 +28,7 @@ #include "wild_encounter.h" #include "constants/bg_event_constants.h" #include "constants/map_types.h" +#include "constants/maps.h" #include "constants/songs.h" extern bool32 sub_8196034(void); @@ -818,19 +819,19 @@ static void sub_809CEB0(struct MapHeader *unused, s8 warpEventId, struct MapPosi warpEvent = &gMapHeader.events->warps[warpEventId]; } - if (warpEvent->mapNum == 0x7F) + if (warpEvent->mapNum == MAP_NUM(NONE)) { - copy_saved_warp2_bank_and_enter_x_to_warp1(warpEvent->warpId); + SetWarpDestinationToDynamicWarp(warpEvent->warpId); } else { const struct MapHeader *mapHeader; - warp1_set_2(warpEvent->mapGroup, warpEvent->mapNum, warpEvent->warpId); + SetWarpDestinationToMapWarp(warpEvent->mapGroup, warpEvent->mapNum, warpEvent->warpId); sub_8084D5C(position->x, position->y); mapHeader = Overworld_GetMapHeaderByGroupAndId(warpEvent->mapGroup, warpEvent->mapNum); - if (mapHeader->events->warps[warpEvent->warpId].mapNum == 0x7F) - saved_warp2_set(mapHeader->events->warps[warpEventId].warpId, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, warpEventId); + if (mapHeader->events->warps[warpEvent->warpId].mapNum == MAP_NUM(NONE)) + SetDynamicWarp(mapHeader->events->warps[warpEventId].warpId, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, warpEventId); } } diff --git a/src/field_effect.c b/src/field_effect.c index 9a65a444bd..75104d426e 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -2171,7 +2171,7 @@ static void EscapeRopeFieldEffect_Step1(struct Task *task) if (task->data[14] == 0 && !gPaletteFade.active && BGMusicStopped() == TRUE) { SetEventObjectDirection(eventObject, task->data[15]); - sub_8084E14(); + SetWarpDestinationToEscapeWarp(); WarpIntoMap(); gFieldCallback = mapldr_080859D4; SetMainCallback2(CB2_LoadMap); @@ -2332,7 +2332,7 @@ static void TeleportFieldEffectTask4(struct Task *task) if (BGMusicStopped() == TRUE) { - Overworld_SetWarpDestToLastHealLoc(); + SetWarpDestinationToLastHealLocation(); WarpIntoMap(); SetMainCallback2(CB2_LoadMap); gFieldCallback = mapldr_08085D88; @@ -2443,7 +2443,7 @@ static void sub_80B8410(struct Task *task) bool8 FldEff_FieldMoveShowMon(void) { u8 taskId; - if (is_map_type_1_2_3_5_or_6(Overworld_GetMapTypeOfSaveblockLocation()) == TRUE) + if (is_map_type_1_2_3_5_or_6(GetCurrentMapType()) == TRUE) { taskId = CreateTask(sub_80B8554, 0xff); } else diff --git a/src/field_message_box.c b/src/field_message_box.c index 46da9e9e51..5e23b5f6bd 100755 --- a/src/field_message_box.c +++ b/src/field_message_box.c @@ -8,21 +8,21 @@ extern bool32 sub_8196094(void); extern void sub_8196080(u8*); -EWRAM_DATA u8 gUnknown_020375BC = 0; +static EWRAM_DATA u8 sFieldMessageBoxMode = 0; -void textbox_fdecode_auto_and_task_add(u8*, int); -void textbox_auto_and_task_add(void); +static void textbox_fdecode_auto_and_task_add(u8*, bool32); +static void textbox_auto_and_task_add(void); -void sub_8098128(void) +void InitFieldMessageBox(void) { - gUnknown_020375BC = 0; + sFieldMessageBoxMode = 0; gTextFlags.canABSpeedUpPrint = 0; gTextFlags.useAlternateDownArrow = 0; gTextFlags.autoScroll = 0; gTextFlags.forceMidTextSpeed = 0; } -void sub_8098154(u8 taskId) +static void sub_8098154(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -39,18 +39,18 @@ void sub_8098154(u8 taskId) case 2: if (RunTextPrintersAndIsPrinter0Active() != 1) { - gUnknown_020375BC = 0; + sFieldMessageBoxMode = 0; DestroyTask(taskId); } } } -void task_add_textbox(void) +static void task_add_textbox(void) { CreateTask(sub_8098154, 0x50); } -void task_del_textbox(void) +static void task_del_textbox(void) { u8 taskId = FindTaskIdByFunc(sub_8098154); if (taskId != 0xFF) @@ -59,10 +59,10 @@ void task_del_textbox(void) bool8 ShowFieldMessage(u8 *str) { - if (gUnknown_020375BC != 0) + if (sFieldMessageBoxMode != 0) return FALSE; textbox_fdecode_auto_and_task_add(str, 1); - gUnknown_020375BC = 2; + sFieldMessageBoxMode = 2; return TRUE; } @@ -70,57 +70,57 @@ void sub_8098214(u8 taskId) { if (!sub_8196094()) { - gUnknown_020375BC = 0; + sFieldMessageBoxMode = 0; DestroyTask(taskId); } } bool8 sub_8098238(u8 *str) { - if (gUnknown_020375BC != 0) + if (sFieldMessageBoxMode != 0) return FALSE; StringExpandPlaceholders(gStringVar4, str); CreateTask(sub_8098214, 0); sub_8196080(str); - gUnknown_020375BC = 2; + sFieldMessageBoxMode = 2; return TRUE; } bool8 ShowFieldAutoScrollMessage(u8 *str) { - if (gUnknown_020375BC != 0) + if (sFieldMessageBoxMode != 0) return FALSE; - gUnknown_020375BC = 3; + sFieldMessageBoxMode = 3; textbox_fdecode_auto_and_task_add(str, 0); return TRUE; } bool8 sub_80982A0(u8 *str) { - gUnknown_020375BC = 3; + sFieldMessageBoxMode = 3; textbox_fdecode_auto_and_task_add(str, 1); return TRUE; } bool8 sub_80982B8(void) { - if (gUnknown_020375BC != 0) + if (sFieldMessageBoxMode != 0) return FALSE; - gUnknown_020375BC = 2; + sFieldMessageBoxMode = 2; textbox_auto_and_task_add(); return TRUE; } -void textbox_fdecode_auto_and_task_add(u8* str, int a) +static void textbox_fdecode_auto_and_task_add(u8* str, bool32 allowSkippingDelayWithButtonPress) { StringExpandPlaceholders(gStringVar4, str); - AddTextPrinterForMessage(a); + AddTextPrinterForMessage(allowSkippingDelayWithButtonPress); task_add_textbox(); } -void textbox_auto_and_task_add(void) +static void textbox_auto_and_task_add(void) { - AddTextPrinterForMessage(1); + AddTextPrinterForMessage(TRUE); task_add_textbox(); } @@ -128,17 +128,17 @@ void HideFieldMessageBox(void) { task_del_textbox(); sub_8197434(0, 1); - gUnknown_020375BC = 0; + sFieldMessageBoxMode = 0; } u8 GetFieldMessageBoxMode(void) { - return gUnknown_020375BC; + return sFieldMessageBoxMode; } bool8 IsFieldMessageBoxHidden(void) { - if (gUnknown_020375BC == 0) + if (sFieldMessageBoxMode == 0) return TRUE; return FALSE; } @@ -147,11 +147,11 @@ void sub_8098358(void) { task_del_textbox(); NewMenuHelpers_DrawStdWindowFrame(0, 1); - gUnknown_020375BC = 0; + sFieldMessageBoxMode = 0; } void sub_8098374(void) { task_del_textbox(); - gUnknown_020375BC = 0; + sFieldMessageBoxMode = 0; } diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index a6b7e7c248..62a3d0335a 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -89,7 +89,7 @@ static void palette_bg_faded_fill_black(void) void pal_fill_for_maplights(void) { u8 previousMapType = GetLastUsedWarpMapType(); - switch (GetMapPairFadeFromType(previousMapType, Overworld_GetMapTypeOfSaveblockLocation())) + switch (GetMapPairFadeFromType(previousMapType, GetCurrentMapType())) { case 0: palette_bg_faded_fill_black(); @@ -115,7 +115,7 @@ void pal_fill_black(void) void WarpFadeScreen(void) { - u8 currentMapType = Overworld_GetMapTypeOfSaveblockLocation(); + u8 currentMapType = GetCurrentMapType(); switch (GetMapPairFadeToType(currentMapType, GetDestinationWarpMapHeader()->mapType)) { case 0: diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 1cabf63d69..3675cf0d89 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -1,7 +1,12 @@ #include "global.h" #include "event_data.h" #include "event_object_movement.h" +#include "field_camera.h" +#include "field_screen_effect.h" +#include "field_specials.h" +#include "fieldmap.h" #include "main.h" +#include "overworld.h" #include "palette.h" #include "script.h" #include "script_movement.h" @@ -13,14 +18,6 @@ #define SECONDS(value) ((signed) (60.0 * value + 0.5)) -extern u8 GetSSTidalLocation(s8 *, s8 *, s16 *, s16 *); // should be in field_specials.h -extern void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); -extern bool32 CountSSTidalStep(u16); -extern void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused); -extern void sp13E_warp_to_last_warp(void); -extern void saved_warp2_set(int unused, s8 mapGroup, s8 mapNum, s8 warpId); -extern void sub_80AF8B8(void); - // porthole states enum { @@ -30,20 +27,13 @@ enum EXIT_PORTHOLE, }; -extern void SetCameraPanning(s16 x, s16 y); -extern void SetCameraPanningCallback(void ( *callback)()); -extern void InstallCameraPanAheadCallback(); -extern void pal_fill_black(void); -extern void MapGridSetMetatileIdAt(s32 x, s32 y, u16 metatileId); -extern void DrawWholeMapView(); - //. rodata static const s8 gTruckCamera_HorizontalTable[] = {0, 0, 0, 0, 0, 0, 0, 0, 1, 2, 2, 2, 2, 2, 2, -1, -1, -1, 0}; const u8 gUnknown_0858E8AB[] = {0x18, 0xFE}; const u8 gUnknown_0858E8AD[] = {0x17, 0xFE}; // .text -void Task_Truck3(u8); +static void Task_Truck3(u8); s16 GetTruckCameraBobbingY(int a1) { @@ -121,7 +111,7 @@ void Task_Truck2(u8 taskId) } } -void Task_Truck3(u8 taskId) +static void Task_Truck3(u8 taskId) { s16 *data = gTasks[taskId].data; s16 cameraXpan; @@ -256,7 +246,7 @@ bool8 sub_80FB59C(void) } else { - Overworld_SetWarpDestination(mapGroup, mapNum, -1, x, y); + SetWarpDestination(mapGroup, mapNum, -1, x, y); return TRUE; } } @@ -312,7 +302,7 @@ void Task_HandlePorthole(u8 taskId) case EXIT_PORTHOLE: // exit porthole. FlagClear(0x4001); FlagClear(0x4000); - copy_saved_warp2_bank_and_enter_x_to_warp1(0); + SetWarpDestinationToDynamicWarp(0); sp13E_warp_to_last_warp(); DestroyTask(taskId); break; @@ -349,7 +339,7 @@ void sub_80FB7A4(void) FlagSet(FLAG_SYS_CRUISE_MODE); FlagSet(0x4001); FlagSet(0x4000); - saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); + SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); sub_80FB59C(); sub_80AF8B8(); } diff --git a/src/field_specials.c b/src/field_specials.c index 5e1c86dfe2..4e9a5c0f75 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -945,11 +945,11 @@ void CableCarWarp(void) { if (gSpecialVar_0x8004 != 0) { - Overworld_SetWarpDestination(MAP_GROUP(ROUTE112_CABLE_CAR_STATION), MAP_NUM(ROUTE112_CABLE_CAR_STATION), -1, 6, 4); + SetWarpDestination(MAP_GROUP(ROUTE112_CABLE_CAR_STATION), MAP_NUM(ROUTE112_CABLE_CAR_STATION), -1, 6, 4); } else { - Overworld_SetWarpDestination(MAP_GROUP(MT_CHIMNEY_CABLE_CAR_STATION), MAP_NUM(MT_CHIMNEY_CABLE_CAR_STATION), -1, 6, 4); + SetWarpDestination(MAP_GROUP(MT_CHIMNEY_CABLE_CAR_STATION), MAP_NUM(MT_CHIMNEY_CABLE_CAR_STATION), -1, 6, 4); } } @@ -1725,7 +1725,7 @@ const u16 gUnknown_085B2C06[][3] = void SetDepartmentStoreFloorVar(void) { u8 deptStoreFloor; - switch (gSaveBlock1Ptr->warp2.mapNum) + switch (gSaveBlock1Ptr->dynamicWarp.mapNum) { case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_1F): deptStoreFloor = 4; @@ -1757,9 +1757,9 @@ u16 sub_81399F4(void) gUnknown_0203AB60 = 0; gUnknown_0203AB62 = 0; - if (gSaveBlock1Ptr->warp2.mapGroup == 13) + if (gSaveBlock1Ptr->dynamicWarp.mapGroup == MAP_GROUP(LILYCOVE_CITY_DEPARTMENT_STORE_1F)) { - switch (gSaveBlock1Ptr->warp2.mapNum) + switch (gSaveBlock1Ptr->dynamicWarp.mapNum) { case MAP_NUM(LILYCOVE_CITY_DEPARTMENT_STORE_5F): gUnknown_0203AB60 = 0; @@ -3813,7 +3813,7 @@ void sub_813B9A0(void) { if (gSaveBlock1Ptr->lastHealLocation.mapGroup == MAP_GROUP(DEWFORD_TOWN) && gSaveBlock1Ptr->lastHealLocation.mapNum == MAP_NUM(DEWFORD_TOWN)) { - Overworld_SetHealLocationWarp(3); + SetLastHealLocationWarp(3); } } diff --git a/src/fldeff_flash.c b/src/fldeff_flash.c index 69d198c842..f3bd76cbf6 100644 --- a/src/fldeff_flash.c +++ b/src/fldeff_flash.c @@ -156,7 +156,7 @@ static bool8 sub_8137304(void) { u8 i; u8 v0 = GetLastUsedWarpMapType(); - u8 v1 = Overworld_GetMapTypeOfSaveblockLocation(); + u8 v1 = GetCurrentMapType(); for (i = 0; gUnknown_085B27C8[i].unk0; i++) { diff --git a/src/frontier_util.c b/src/frontier_util.c index c722230cd6..40b1edbe33 100644 --- a/src/frontier_util.c +++ b/src/frontier_util.c @@ -2407,9 +2407,9 @@ void sub_81A4C30(void) i = gPlayerPartyCount; LoadPlayerParty(); - sub_8076D5C(); + SetContinueGameWarpStatusToDynamicWarp(); TrySavingData(SAVE_LINK); - sav2_gender2_inplace_and_xFE(); + ClearContinueGameWarpStatus2(); gPlayerPartyCount = i; for (i = 0; i < PARTY_SIZE; i++) diff --git a/src/hall_of_fame.c b/src/hall_of_fame.c index 34d62149a1..3f217b7828 100644 --- a/src/hall_of_fame.c +++ b/src/hall_of_fame.c @@ -1299,7 +1299,7 @@ static bool8 sub_8175024(void) CopyBgTilemapBufferToVram(3); break; case 3: - sub_81971D0(); + InitStandardTextBoxWindows(); sub_8197200(); break; case 4: diff --git a/src/item_use.c b/src/item_use.c index f82071a17e..7592673454 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -627,7 +627,7 @@ void sub_80FDC00(u8 taskId) { if (!gPaletteFade.active) { - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); OpenPokeblockCase(0, CB2_ReturnToField); DestroyTask(taskId); } diff --git a/src/load_save.c b/src/load_save.c index 9636264287..a7593d007e 100644 --- a/src/load_save.c +++ b/src/load_save.c @@ -1,13 +1,14 @@ #include "global.h" -#include "gba/flash_internal.h" +#include "alloc.h" +#include "item.h" #include "load_save.h" #include "main.h" +#include "overworld.h" #include "pokemon.h" #include "pokemon_storage_system.h" #include "random.h" -#include "alloc.h" -#include "item.h" -#include "overworld.h" +#include "save_location.h" +#include "gba/flash_internal.h" #include "decoration_inventory.h" static void ApplyNewEncryptionKeyToAllEncryptedData(u32 encryptionKey); @@ -136,30 +137,30 @@ void MoveSaveBlocks_ResetHeap(void) gSaveBlock2Ptr->encryptionKey = encryptionKey; } -u32 GetSecretBase2Field_9(void) +u32 UseContinueGameWarp(void) { - return gSaveBlock2Ptr->specialSaveWarp & 1; + return gSaveBlock2Ptr->specialSaveWarpFlags & CONTINUE_GAME_WARP; } -void ClearSecretBase2Field_9(void) +void ClearContinueGameWarpStatus(void) { - gSaveBlock2Ptr->specialSaveWarp &= ~1; + gSaveBlock2Ptr->specialSaveWarpFlags &= ~CONTINUE_GAME_WARP; } -void SetSecretBase2Field_9(void) +void SetContinueGameWarpStatus(void) { - gSaveBlock2Ptr->specialSaveWarp |= 1; + gSaveBlock2Ptr->specialSaveWarpFlags |= CONTINUE_GAME_WARP; } -void sub_8076D5C(void) +void SetContinueGameWarpStatusToDynamicWarp(void) { - sub_8084FAC(0); - gSaveBlock2Ptr->specialSaveWarp |= 1; + SetContinueGameWarpToDynamicWarp(0); + gSaveBlock2Ptr->specialSaveWarpFlags |= CONTINUE_GAME_WARP; } -void sav2_gender2_inplace_and_xFE(void) +void ClearContinueGameWarpStatus2(void) { - gSaveBlock2Ptr->specialSaveWarp &= ~1; + gSaveBlock2Ptr->specialSaveWarpFlags &= ~CONTINUE_GAME_WARP; } void SavePlayerParty(void) diff --git a/src/menu.c b/src/menu.c index 8c3c61ea76..f1b35b42e7 100644 --- a/src/menu.c +++ b/src/menu.c @@ -48,8 +48,8 @@ struct Menu bool8 APressMuted; }; -static EWRAM_DATA u8 gStartMenuWindowId = 0; -static EWRAM_DATA u8 gUnknown_0203CD8D = 0; +static EWRAM_DATA u8 sStartMenuWindowId = 0; +static EWRAM_DATA u8 sMapNamePopupWindowId = 0; static EWRAM_DATA struct Menu gUnknown_0203CD90 = {0}; static EWRAM_DATA u16 gUnknown_0203CD9C = 0; static EWRAM_DATA u8 gUnknown_0203CD9E = 0; @@ -63,7 +63,7 @@ static EWRAM_DATA void *gUnknown_0203CDAC[0x20] = {NULL}; const u16 gUnknown_0860F074[] = INCBIN_U16("graphics/interface/860F074.gbapal"); static const u8 gUnknown_0860F094[] = { 8, 4, 1 }; -static const struct WindowTemplate gUnknown_0860F098[] = +static const struct WindowTemplate sStandardTextBox_WindowTemplates[] = { { .bg = 0, @@ -77,7 +77,7 @@ static const struct WindowTemplate gUnknown_0860F098[] = DUMMY_WIN_TEMPLATE }; -static const struct WindowTemplate gUnknown_0860F0A8 = +static const struct WindowTemplate sYesNo_WindowTemplates = { .bg = 0, .tilemapLeft = 21, @@ -137,14 +137,14 @@ extern u8 sub_8199134(s8, s8); extern void sub_8198C78(void); extern void task_free_buf_after_copying_tile_data_to_vram(u8 taskId); -void sub_81971D0(void) +void InitStandardTextBoxWindows(void) { - InitWindows(gUnknown_0860F098); - gStartMenuWindowId = 0xFF; - gUnknown_0203CD8D = 0xFF; + InitWindows(sStandardTextBox_WindowTemplates); + sStartMenuWindowId = 0xFF; + sMapNamePopupWindowId = 0xFF; } -void sub_81971F4(void) +void FreeAllOverworldWindowBuffers(void) { FreeAllWindowBuffers(); } @@ -460,12 +460,12 @@ void DisplayItemMessageOnField(u8 taskId, const u8 *string, TaskFunc callback) void DisplayYesNoMenu(void) { - CreateYesNoMenu(&gUnknown_0860F0A8, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM, 0); + CreateYesNoMenu(&sYesNo_WindowTemplates, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM, 0); } void sub_8197948(u8 initialCursorPos) { - CreateYesNoMenu(&gUnknown_0860F0A8, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM, initialCursorPos); + CreateYesNoMenu(&sYesNo_WindowTemplates, STD_WINDOW_BASE_TILE_NUM, STD_WINDOW_PALETTE_NUM, initialCursorPos); } u32 GetPlayerTextSpeed(void) @@ -486,22 +486,22 @@ u8 GetPlayerTextSpeedDelay(void) u8 sub_81979C4(u8 a1) { - if (gStartMenuWindowId == 0xFF) - gStartMenuWindowId = sub_8198AA4(0, 0x16, 1, 7, (a1 * 2) + 2, 0xF, 0x139); - return gStartMenuWindowId; + if (sStartMenuWindowId == 0xFF) + sStartMenuWindowId = sub_8198AA4(0, 0x16, 1, 7, (a1 * 2) + 2, 0xF, 0x139); + return sStartMenuWindowId; } u8 GetStartMenuWindowId(void) { - return gStartMenuWindowId; + return sStartMenuWindowId; } void RemoveStartMenuWindow(void) { - if (gStartMenuWindowId != 0xFF) + if (sStartMenuWindowId != 0xFF) { - RemoveWindow(gStartMenuWindowId); - gStartMenuWindowId = 0xFF; + RemoveWindow(sStartMenuWindowId); + sStartMenuWindowId = 0xFF; } } @@ -517,22 +517,22 @@ u16 sub_8197A38(void) u8 AddMapNamePopUpWindow(void) { - if (gUnknown_0203CD8D == 0xFF) - gUnknown_0203CD8D = sub_8198AA4(0, 1, 1, 10, 3, 14, 0x107); - return gUnknown_0203CD8D; + if (sMapNamePopupWindowId == 0xFF) + sMapNamePopupWindowId = sub_8198AA4(0, 1, 1, 10, 3, 14, 0x107); + return sMapNamePopupWindowId; } u8 GetMapNamePopUpWindowId(void) { - return gUnknown_0203CD8D; + return sMapNamePopupWindowId; } void RemoveMapNamePopUpWindow(void) { - if (gUnknown_0203CD8D != 0xFF) + if (sMapNamePopupWindowId != 0xFF) { - RemoveWindow(gUnknown_0203CD8D); - gUnknown_0203CD8D = 0xFF; + RemoveWindow(sMapNamePopupWindowId); + sMapNamePopupWindowId = 0xFF; } } diff --git a/src/mirage_tower.c b/src/mirage_tower.c index bfaea4c5e7..a8dd5d9de8 100644 --- a/src/mirage_tower.c +++ b/src/mirage_tower.c @@ -625,7 +625,7 @@ static void DoMirageTowerDisintegration(u8 taskId) SetGpuRegBits(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2)); SetGpuRegBits(REG_OFFSET_BG0CNT, BGCNT_PRIORITY(0)); SetBgAttribute(0, BG_ATTR_PRIORITY, 0); - sub_81971D0(); + InitStandardTextBoxWindows(); break; case 7: ShowBg(0); diff --git a/src/naming_screen.c b/src/naming_screen.c index e6d146b853..c310ceb9fb 100644 --- a/src/naming_screen.c +++ b/src/naming_screen.c @@ -362,7 +362,7 @@ static void NamingScreen_InitBGs(void) ChangeBgX(3, 0, 0); ChangeBgY(3, 0, 0); - sub_81971D0(); + InitStandardTextBoxWindows(); sub_8197200(); for (i = 0; i < 5; i++) diff --git a/src/new_game.c b/src/new_game.c index 82e8c2c960..8ecd48bc7a 100644 --- a/src/new_game.c +++ b/src/new_game.c @@ -136,7 +136,7 @@ static void ClearFrontierRecord(void) static void WarpToTruck(void) { - Overworld_SetWarpDestination(MAP_GROUP(INSIDE_OF_TRUCK), MAP_NUM(INSIDE_OF_TRUCK), -1, -1, -1); + SetWarpDestination(MAP_GROUP(INSIDE_OF_TRUCK), MAP_NUM(INSIDE_OF_TRUCK), -1, -1, -1); WarpIntoMap(); } @@ -169,7 +169,7 @@ void NewGameInitData(void) ClearFrontierRecord(); ClearSav1(); ClearMailData(); - gSaveBlock2Ptr->specialSaveWarp = 0; + gSaveBlock2Ptr->specialSaveWarpFlags = 0; gSaveBlock2Ptr->field_A8 = 0; InitPlayerTrainerId(); PlayTimeCounter_Reset(); diff --git a/src/overworld.c b/src/overworld.c index 2aad688615..217b4c27e0 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -57,8 +57,10 @@ #include "constants/abilities.h" #include "constants/map_types.h" #include "constants/maps.h" +#include "constants/region_map_sections.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/weather.h" // event scripts extern const u8 EventScript_WhiteOut[]; @@ -114,7 +116,6 @@ extern void c2_change_map(void); extern void sub_81D5DF8(void); extern void sub_80EB218(void); extern void sub_80AF3C8(void); -extern void sub_81971F4(void); extern void sub_808B578(void); extern void sub_80AF314(void); extern void sub_80AF214(void); @@ -134,7 +135,7 @@ extern void sub_81AA2F8(void); extern void sub_8195E10(void); extern void sub_80EDB44(void); extern void sub_81D64C0(void); -extern void sub_8098128(void); +extern void InitFieldMessageBox(void); extern void copy_map_tileset1_to_vram(const struct MapLayout *); extern void copy_map_tileset2_to_vram(const struct MapLayout *); extern void FieldUpdateBgTilemapScroll(void); @@ -339,7 +340,7 @@ const struct UCoords32 gDirectionToVectors[] = }, }; -static const struct BgTemplate gUnknown_08339DAC[] = +static const struct BgTemplate sOverworldBgTemplates[] = { { .bg = 0, @@ -433,7 +434,7 @@ void DoWhiteOut(void) SetMoney(&gSaveBlock1Ptr->money, GetMoney(&gSaveBlock1Ptr->money) / 2); HealPlayerParty(); Overworld_ResetStateAfterWhiteOut(); - Overworld_SetWarpDestToLastHealLoc(); + SetWarpDestinationToLastHealLocation(); WarpIntoMap(); } @@ -615,7 +616,7 @@ void ApplyCurrentWarp(void) gFixedHoleWarp = sDummyWarpData; } -void set_warp2_warp3_to_neg_1(void) +static void ClearDiveAndHoleWarps(void) { gFixedDiveWarp = sDummyWarpData; gFixedHoleWarp = sDummyWarpData; @@ -696,68 +697,66 @@ void WarpIntoMap(void) SetPlayerCoordsFromWarp(); } -void Overworld_SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) +void SetWarpDestination(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { SetWarpData(&sWarpDestination, mapGroup, mapNum, warpId, x, y); } -void warp1_set_2(s8 mapGroup, s8 mapNum, s8 warpId) +void SetWarpDestinationToMapWarp(s8 mapGroup, s8 mapNum, s8 warpId) { - Overworld_SetWarpDestination(mapGroup, mapNum, warpId, -1, -1); + SetWarpDestination(mapGroup, mapNum, warpId, -1, -1); } -void saved_warp2_set(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId) +void SetDynamicWarp(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId) { - SetWarpData(&gSaveBlock1Ptr->warp2, mapGroup, mapNum, warpId, gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y); + SetWarpData(&gSaveBlock1Ptr->dynamicWarp, mapGroup, mapNum, warpId, gSaveBlock1Ptr->pos.x, gSaveBlock1Ptr->pos.y); } -void saved_warp2_set_2(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) +void SetDynamicWarpWithCoords(s32 unused, s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { - SetWarpData(&gSaveBlock1Ptr->warp2, mapGroup, mapNum, warpId, x, y); + SetWarpData(&gSaveBlock1Ptr->dynamicWarp, mapGroup, mapNum, warpId, x, y); } -void copy_saved_warp2_bank_and_enter_x_to_warp1(u8 unused) +void SetWarpDestinationToDynamicWarp(u8 unusedWarpId) { - sWarpDestination = gSaveBlock1Ptr->warp2; + sWarpDestination = gSaveBlock1Ptr->dynamicWarp; } -void sub_8084CCC(u8 a1) +void SetWarpDestinationToHealLocation(u8 healLocationId) { - const struct HealLocation *warp = GetHealLocation(a1); - + const struct HealLocation *warp = GetHealLocation(healLocationId); if (warp) - Overworld_SetWarpDestination(warp->group, warp->map, -1, warp->x, warp->y); + SetWarpDestination(warp->group, warp->map, -1, warp->x, warp->y); } -void Overworld_SetWarpDestToLastHealLoc(void) +void SetWarpDestinationToLastHealLocation(void) { sWarpDestination = gSaveBlock1Ptr->lastHealLocation; } -void Overworld_SetHealLocationWarp(u8 healLocationId) +void SetLastHealLocationWarp(u8 healLocationId) { const struct HealLocation *healLocation = GetHealLocation(healLocationId); - - if (healLocation != NULL) + if (healLocation) SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->group, healLocation->map, -1, healLocation->x, healLocation->y); } -void sub_8084D5C(s16 a1, s16 a2) +void sub_8084D5C(s16 x, s16 y) { - u8 currMapType = Overworld_GetMapTypeOfSaveblockLocation(); + u8 currMapType = GetCurrentMapType(); u8 destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); if (is_map_type_1_2_3_5_or_6(currMapType) && is_map_type_1_2_3_5_or_6(destMapType) != TRUE) - sub_8084DD4(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, a1 - 7, a2 - 6); + SetEscapeWarp(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x - 7, y - 6); } -void sub_8084DD4(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) +void SetEscapeWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { - SetWarpData(&gSaveBlock1Ptr->warp4, mapGroup, mapNum, warpId, x, y); + SetWarpData(&gSaveBlock1Ptr->escapeWarp, mapGroup, mapNum, warpId, x, y); } -void sub_8084E14(void) +void SetWarpDestinationToEscapeWarp(void) { - sWarpDestination = gSaveBlock1Ptr->warp4; + sWarpDestination = gSaveBlock1Ptr->escapeWarp; } void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) @@ -765,7 +764,7 @@ void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) SetWarpData(&gFixedDiveWarp, mapGroup, mapNum, warpId, x, y); } -static void SetFixedDiveWarpAsDestination(void) +static void SetWarpDestinationToDiveWarp(void) { sWarpDestination = gFixedDiveWarp; } @@ -775,34 +774,34 @@ void SetFixedHoleWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) SetWarpData(&gFixedHoleWarp, mapGroup, mapNum, warpId, x, y); } -void SetFixedHoleWarpAsDestination(s16 x, s16 y) +void SetWarpDestinationToFixedHoleWarp(s16 x, s16 y) { if (IsDummyWarp(&gFixedHoleWarp) == TRUE) sWarpDestination = gLastUsedWarp; else - Overworld_SetWarpDestination(gFixedHoleWarp.mapGroup, gFixedHoleWarp.mapNum, -1, x, y); + SetWarpDestination(gFixedHoleWarp.mapGroup, gFixedHoleWarp.mapNum, -1, x, y); } -void warp1_set_to_sav1w(void) +static void SetWarpDestinationToContinueGameWarp(void) { - sWarpDestination = gSaveBlock1Ptr->warp1; + sWarpDestination = gSaveBlock1Ptr->continueGameWarp; } -void sub_8084F2C(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) +void SetContinueGameWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y) { - SetWarpData(&gSaveBlock1Ptr->warp1, mapGroup, mapNum, warpId, x, y); + SetWarpData(&gSaveBlock1Ptr->continueGameWarp, mapGroup, mapNum, warpId, x, y); } -void sub_8084F6C(u8 a1) +void SetContinueGameWarpToHealLocation(u8 healLocationId) { - const struct HealLocation *warp = GetHealLocation(a1); + const struct HealLocation *warp = GetHealLocation(healLocationId); if (warp) - SetWarpData(&gSaveBlock1Ptr->warp1, warp->group, warp->map, -1, warp->x, warp->y); + SetWarpData(&gSaveBlock1Ptr->continueGameWarp, warp->group, warp->map, -1, warp->x, warp->y); } -void sub_8084FAC(int unused) +void SetContinueGameWarpToDynamicWarp(int unused) { - gSaveBlock1Ptr->warp1 = gSaveBlock1Ptr->warp2; + gSaveBlock1Ptr->continueGameWarp = gSaveBlock1Ptr->dynamicWarp; } const struct MapConnection *GetMapConnection(u8 dir) @@ -827,14 +826,14 @@ static bool8 SetDiveWarp(u8 dir, u16 x, u16 y) if (connection != NULL) { - Overworld_SetWarpDestination(connection->mapGroup, connection->mapNum, -1, x, y); + SetWarpDestination(connection->mapGroup, connection->mapNum, -1, x, y); } else { mapheader_run_script_with_tag_x6(); if (IsDummyWarp(&gFixedDiveWarp)) return FALSE; - SetFixedDiveWarpAsDestination(); + SetWarpDestinationToDiveWarp(); } return TRUE; } @@ -853,7 +852,7 @@ void mliX_load_map(u8 mapGroup, u8 mapNum) { s32 paletteIndex; - Overworld_SetWarpDestination(mapGroup, mapNum, -1, -1, -1); + SetWarpDestination(mapGroup, mapNum, -1, -1, -1); if (gMapHeader.regionMapSectionId != 0x3A) sub_8085810(); @@ -885,7 +884,7 @@ void mliX_load_map(u8 mapGroup, u8 mapNum) ResetFieldTasksArgs(); mapheader_run_script_with_tag_x5(); - if (gMapHeader.regionMapSectionId != 0x3A || gMapHeader.regionMapSectionId != sLastMapSectionId) + if (gMapHeader.regionMapSectionId != MAPSEC_BATTLE_FRONTIER || gMapHeader.regionMapSectionId != sLastMapSectionId) ShowMapNamePopup(); } @@ -964,7 +963,7 @@ void StoreInitialPlayerAvatarState(void) static struct InitialPlayerAvatarState *GetInitialPlayerAvatarState(void) { struct InitialPlayerAvatarState playerStruct; - u8 mapType = Overworld_GetMapTypeOfSaveblockLocation(); + u8 mapType = GetCurrentMapType(); u16 metatileBehavior = GetCenterScreenMetatileBehavior(); u8 transitionFlags = GetAdjustedInitialTransitionFlags(&gInitialPlayerAvatarState, metatileBehavior, mapType); playerStruct.transitionFlags = transitionFlags; @@ -1051,7 +1050,7 @@ u8 Overworld_GetFlashLevel(void) return gSaveBlock1Ptr->flashLevel; } -void sub_8085524(u16 mapLayoutId) +void SetCurrentMapLayout(u16 mapLayoutId) { gSaveBlock1Ptr->mapLayoutId = mapLayoutId; gMapHeader.mapLayout = GetMapLayout(); @@ -1160,11 +1159,11 @@ u16 GetCurrLocationDefaultMusic(void) // Play the desert music only when the sandstorm is active on Route 111. if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(ROUTE111) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(ROUTE111) - && GetSav1Weather() == 8) + && GetSav1Weather() == WEATHER_SANDSTORM) return MUS_ASHROAD; music = GetLocationMusic(&gSaveBlock1Ptr->location); - if (music != 0x7FFF) + if (music != MUS_ROUTE_118) { return music; } @@ -1180,7 +1179,7 @@ u16 GetCurrLocationDefaultMusic(void) u16 GetWarpDestinationMusic(void) { u16 music = GetLocationMusic(&sWarpDestination); - if (music != 0x7FFF) + if (music != MUS_ROUTE_118) { return music; } @@ -1207,7 +1206,7 @@ void Overworld_PlaySpecialMapMusic(void) { if (gSaveBlock1Ptr->savedMusic) music = gSaveBlock1Ptr->savedMusic; - else if (Overworld_GetMapTypeOfSaveblockLocation() == MAP_TYPE_UNDERWATER) + else if (GetCurrentMapType() == MAP_TYPE_UNDERWATER) music = MUS_DEEPDEEP; else if (TestPlayerAvatarFlags(PLAYER_AVATAR_FLAG_SURFING)) music = MUS_NAMINORI; @@ -1285,8 +1284,8 @@ void TryFadeOutOldMapMusic(void) && gSaveBlock1Ptr->location.mapNum == MAP_NUM(SOOTOPOLIS_CITY) && sWarpDestination.mapGroup == MAP_GROUP(SOOTOPOLIS_CITY) && sWarpDestination.mapNum == MAP_NUM(SOOTOPOLIS_CITY) - && sWarpDestination.x == 0x1D - && sWarpDestination.y == 0x35) + && sWarpDestination.x == 29 + && sWarpDestination.y == 53) return; FadeOutMapMusic(GetMapMusicFadeoutSpeed()); } @@ -1388,7 +1387,7 @@ u8 GetMapTypeByWarpData(struct WarpData *warp) return GetMapTypeByGroupAndId(warp->mapGroup, warp->mapNum); } -u8 Overworld_GetMapTypeOfSaveblockLocation(void) +u8 GetCurrentMapType(void) { return GetMapTypeByWarpData(&gSaveBlock1Ptr->location); } @@ -1430,12 +1429,12 @@ bool8 Overworld_MapTypeIsIndoors(u8 mapType) return FALSE; } -u8 sav1_saved_warp2_map_get_name(void) +u8 GetSavedWarpRegionMapSectionId(void) { - return Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->warp2.mapGroup, gSaveBlock1Ptr->warp2.mapNum)->regionMapSectionId; + return Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->dynamicWarp.mapGroup, gSaveBlock1Ptr->dynamicWarp.mapNum)->regionMapSectionId; } -u8 sav1_map_get_name(void) +u8 GetCurrentRegionMapSectionId(void) { return Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum)->regionMapSectionId; } @@ -1445,30 +1444,30 @@ u8 GetCurrentMapBattleScene(void) return Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum)->battleType; } -static void overworld_bg_setup(void) +static void InitOverworldBgs(void) { - InitBgsFromTemplates(0, gUnknown_08339DAC, ARRAY_COUNT(gUnknown_08339DAC)); + InitBgsFromTemplates(0, sOverworldBgTemplates, ARRAY_COUNT(sOverworldBgTemplates)); SetBgAttribute(1, BG_ATTR_MOSAIC, 1); SetBgAttribute(2, BG_ATTR_MOSAIC, 1); SetBgAttribute(3, BG_ATTR_MOSAIC, 1); - gBGTilemapBuffers2 = AllocZeroed(0x800); - gBGTilemapBuffers1 = AllocZeroed(0x800); - gBGTilemapBuffers3 = AllocZeroed(0x800); + gBGTilemapBuffers2 = AllocZeroed(BG_SCREEN_SIZE); + gBGTilemapBuffers1 = AllocZeroed(BG_SCREEN_SIZE); + gBGTilemapBuffers3 = AllocZeroed(BG_SCREEN_SIZE); SetBgTilemapBuffer(1, gBGTilemapBuffers2); SetBgTilemapBuffer(2, gBGTilemapBuffers1); SetBgTilemapBuffer(3, gBGTilemapBuffers3); - sub_81971D0(); + InitStandardTextBoxWindows(); } -void overworld_free_bg_tilemaps(void) +void CleanupOverworldWindowsAndTilemaps(void) { ClearMirageTowerPulseBlendEffect(); - sub_81971F4(); - if (gBGTilemapBuffers3 != NULL) + FreeAllOverworldWindowBuffers(); + if (gBGTilemapBuffers3) FREE_AND_SET_NULL(gBGTilemapBuffers3); - if (gBGTilemapBuffers1 != NULL) + if (gBGTilemapBuffers1) FREE_AND_SET_NULL(gBGTilemapBuffers1); - if (gBGTilemapBuffers2 != NULL) + if (gBGTilemapBuffers2) FREE_AND_SET_NULL(gBGTilemapBuffers2); } @@ -1762,7 +1761,7 @@ void CB2_ContinueSavedGame(void) sub_81A3908(); LoadSaveblockMapHeader(); - set_warp2_warp3_to_neg_1(); + ClearDiveAndHoleWarps(); trainerHillMapId = GetCurrentTrainerHillMapId(); if (gMapHeader.mapLayoutId == 0x169) sub_81AA2F8(); @@ -1785,10 +1784,10 @@ void CB2_ContinueSavedGame(void) ScriptContext1_Init(); ScriptContext2_Disable(); sub_8195E10(); - if (GetSecretBase2Field_9() == 1) + if (UseContinueGameWarp() == TRUE) { - ClearSecretBase2Field_9(); - warp1_set_to_sav1w(); + ClearContinueGameWarpStatus(); + SetWarpDestinationToContinueGameWarp(); WarpIntoMap(); sub_80EDB44(); SetMainCallback2(CB2_LoadMap); @@ -1861,7 +1860,7 @@ static bool32 map_loading_iteration_3(u8 *state) switch (*state) { case 0: - overworld_bg_setup(); + InitOverworldBgs(); ScriptContext1_Init(); ScriptContext2_Disable(); sub_80867C8(); @@ -2147,8 +2146,8 @@ static void InitOverworldGraphicsRegisters(void) clear_scheduled_bg_copies_to_vram(); reset_temp_tile_data_buffers(); SetGpuReg(REG_OFFSET_MOSAIC, 0); - SetGpuReg(REG_OFFSET_WININ, 0x1F1F); - SetGpuReg(REG_OFFSET_WINOUT, 0x101); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG_ALL | WININ_WIN0_OBJ | WININ_WIN1_BG_ALL | WININ_WIN1_OBJ); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG0 | WINOUT_WINOBJ_BG0); SetGpuReg(REG_OFFSET_WIN0H, 0xFF); SetGpuReg(REG_OFFSET_WIN0V, 0xFF); SetGpuReg(REG_OFFSET_WIN1H, 0xFFFF); @@ -2156,7 +2155,7 @@ static void InitOverworldGraphicsRegisters(void) SetGpuReg(REG_OFFSET_BLDCNT, gUnknown_82EC7C4[1] | gUnknown_82EC7C4[2] | gUnknown_82EC7C4[3] | BLDCNT_TGT2_OBJ | BLDCNT_EFFECT_BLEND); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(13, 7)); - overworld_bg_setup(); + InitOverworldBgs(); schedule_bg_copy_tilemap_to_vram(1); schedule_bg_copy_tilemap_to_vram(2); schedule_bg_copy_tilemap_to_vram(3); @@ -2174,7 +2173,7 @@ static void InitOverworldGraphicsRegisters(void) ShowBg(1); ShowBg(2); ShowBg(3); - sub_8098128(); + InitFieldMessageBox(); } static void sub_8086988(u32 a1) diff --git a/src/party_menu.c b/src/party_menu.c index ac26caa5d5..9b992fb990 100755 --- a/src/party_menu.c +++ b/src/party_menu.c @@ -4721,7 +4721,7 @@ static void CursorCb_FieldMove(u8 taskId) gUnknown_0203CEC4->data[0] = fieldMove; break; case FIELD_MOVE_DIG: - mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->warp4.mapGroup, gSaveBlock1Ptr->warp4.mapNum); + mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->escapeWarp.mapGroup, gSaveBlock1Ptr->escapeWarp.mapNum); sub_81245DC(gStringVar1, mapHeader->regionMapSectionId); StringExpandPlaceholders(gStringVar4, gText_EscapeFromHere); sub_81B5674(taskId); @@ -7249,7 +7249,7 @@ static void sub_81B9424(u8 taskId) { if (!gPaletteFade.active) { - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); InitPartyMenu(2, 0, 11, 0, 0, sub_81B1370, sub_81B9470); DestroyTask(taskId); } @@ -7276,7 +7276,7 @@ static void sub_81B94D0(u8 taskId) { if (!gPaletteFade.active) { - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); InitPartyMenu(3, 0, 11, 0, 0, sub_81B1370, sub_81B9390); DestroyTask(taskId); } @@ -7293,7 +7293,7 @@ static void sub_81B953C(u8 taskId) { if (!gPaletteFade.active) { - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); InitPartyMenu(7, 0, 11, 0, 0, sub_81B1370, sub_81B9588); DestroyTask(taskId); } @@ -7336,7 +7336,7 @@ static void sub_81B9640(u8 taskId) { if (!gPaletteFade.active) { - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); InitPartyMenu(12, 0, 0, 0, 0, sub_81B1370, sub_81B9390); DestroyTask(taskId); } diff --git a/src/player_pc.c b/src/player_pc.c index b7380cee3d..474cecaf53 100644 --- a/src/player_pc.c +++ b/src/player_pc.c @@ -491,7 +491,7 @@ static void Task_ItemStorage_Deposit(u8 taskId) { if (!gPaletteFade.active) { - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); sub_81AAC14(); DestroyTask(taskId); } @@ -723,7 +723,7 @@ static void Mailbox_FadeAndReadMail(u8 taskId) if (!gPaletteFade.active) { sub_81D1EC0(); - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); ReadMail(&(gSaveBlock1Ptr->mail[playerPCItemPageInfo.itemsAbove + 6 + playerPCItemPageInfo.cursorPos]), Mailbox_ReturnToFieldFromReadMail, TRUE); DestroyTask(taskId); } @@ -823,7 +823,7 @@ static void Mailbox_DoGiveMailPokeMenu(u8 taskId) if (!gPaletteFade.active) { sub_81D1EC0(); - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); sub_81B8448(); DestroyTask(taskId); } diff --git a/src/pokemon.c b/src/pokemon.c index 96f564a199..8da42cd855 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -2588,7 +2588,7 @@ void CreateBoxMon(struct BoxPokemon *boxMon, u16 species, u8 level, u8 fixedIV, SetBoxMonData(boxMon, MON_DATA_SPECIES, &species); SetBoxMonData(boxMon, MON_DATA_EXP, &gExperienceTables[gBaseStats[species].growthRate][level]); SetBoxMonData(boxMon, MON_DATA_FRIENDSHIP, &gBaseStats[species].friendship); - value = sav1_map_get_name(); + value = GetCurrentRegionMapSectionId(); SetBoxMonData(boxMon, MON_DATA_MET_LOCATION, &value); SetBoxMonData(boxMon, MON_DATA_MET_LEVEL, &level); SetBoxMonData(boxMon, MON_DATA_MET_GAME, &gGameVersion); @@ -5457,7 +5457,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov { if (GetMonData(mon, MON_DATA_POKEBALL, NULL) == 11) friendship++; - if (GetMonData(mon, MON_DATA_MET_LOCATION, NULL) == sav1_map_get_name()) + if (GetMonData(mon, MON_DATA_MET_LOCATION, NULL) == GetCurrentRegionMapSectionId()) friendship++; } if (friendship < 0) @@ -5483,7 +5483,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov { if (GetMonData(mon, MON_DATA_POKEBALL, NULL) == 11) friendship++; - if (GetMonData(mon, MON_DATA_MET_LOCATION, NULL) == sav1_map_get_name()) + if (GetMonData(mon, MON_DATA_MET_LOCATION, NULL) == GetCurrentRegionMapSectionId()) friendship++; } if (friendship < 0) @@ -5508,7 +5508,7 @@ bool8 PokemonUseItemEffects(struct Pokemon *mon, u16 item, u8 partyIndex, u8 mov { if (GetMonData(mon, MON_DATA_POKEBALL, NULL) == 11) friendship++; - if (GetMonData(mon, MON_DATA_MET_LOCATION, NULL) == sav1_map_get_name()) + if (GetMonData(mon, MON_DATA_MET_LOCATION, NULL) == GetCurrentRegionMapSectionId()) friendship++; } if (friendship < 0) @@ -6156,7 +6156,7 @@ void AdjustFriendship(struct Pokemon *mon, u8 event) { if (GetMonData(mon, MON_DATA_POKEBALL, 0) == ITEM_LUXURY_BALL) friendship++; - if (GetMonData(mon, MON_DATA_MET_LOCATION, 0) == sav1_map_get_name()) + if (GetMonData(mon, MON_DATA_MET_LOCATION, 0) == GetCurrentRegionMapSectionId()) friendship++; } if (friendship < 0) diff --git a/src/pokemon_storage_system.c b/src/pokemon_storage_system.c index 91a1a5fd03..36ed78a546 100644 --- a/src/pokemon_storage_system.c +++ b/src/pokemon_storage_system.c @@ -1759,7 +1759,7 @@ static void Task_PokemonStorageSystemPC(u8 taskId) case 4: if (!gPaletteFade.active) { - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); Cb2_EnterPSS(task->data[2]); RemoveWindow(task->data[15]); DestroyTask(taskId); diff --git a/src/post_battle_event_funcs.c b/src/post_battle_event_funcs.c index fe5e1089e5..3cbf6ecd29 100644 --- a/src/post_battle_event_funcs.c +++ b/src/post_battle_event_funcs.c @@ -34,12 +34,12 @@ int GameClear(void) if (GetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME) == 0) SetGameStat(GAME_STAT_FIRST_HOF_PLAY_TIME, (gSaveBlock2Ptr->playTimeHours << 16) | (gSaveBlock2Ptr->playTimeMinutes << 8) | gSaveBlock2Ptr->playTimeSeconds); - SetSecretBase2Field_9(); + SetContinueGameWarpStatus(); if (gSaveBlock2Ptr->playerGender == MALE) - sub_8084F6C(HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F); + SetContinueGameWarpToHealLocation(HEAL_LOCATION_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F); else - sub_8084F6C(HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F); + SetContinueGameWarpToHealLocation(HEAL_LOCATION_LITTLEROOT_TOWN_MAYS_HOUSE_2F); ribbonGet = FALSE; diff --git a/src/record_mixing.c b/src/record_mixing.c index 2b497c82b8..e3764c4906 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -1481,14 +1481,14 @@ static void sub_80E7FF8(u8 taskId) task->data[0] = 6; break; case 2: - sub_8076D5C(); + SetContinueGameWarpStatusToDynamicWarp(); sub_8153430(); task->data[0] ++; break; case 3: if (sub_8153474()) { - sav2_gender2_inplace_and_xFE(); + ClearContinueGameWarpStatus2(); task->data[0] = 4; task->data[1] = 0; } diff --git a/src/region_map.c b/src/region_map.c index 4752d96f05..ff0c191673 100644 --- a/src/region_map.c +++ b/src/region_map.c @@ -25,6 +25,7 @@ #include "constants/region_map_sections.h" #include "heal_location.h" #include "constants/heal_locations.h" +#include "constants/map_types.h" #define MAP_WIDTH 28 #define MAP_HEIGHT 15 @@ -864,7 +865,7 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) u16 y; u16 dimensionScale; u16 xOnMap; - struct WarpData *storedWarp; + struct WarpData *warp; if (gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(SS_TIDAL_CORRIDOR) && (gSaveBlock1Ptr->location.mapNum == MAP_NUM(SS_TIDAL_CORRIDOR) @@ -878,11 +879,11 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) switch (GetMapTypeByGroupAndId(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum)) { default: - case 1: - case 2: - case 3: - case 5: - case 6: + case MAP_TYPE_TOWN: + case MAP_TYPE_CITY: + case MAP_TYPE_ROUTE: + case MAP_TYPE_UNDERWATER: + case MAP_TYPE_6: gRegionMap->mapSecId = gMapHeader.regionMapSectionId; gRegionMap->playerIsInCave = FALSE; mapWidth = gMapHeader.mapLayout->width; @@ -894,17 +895,17 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) gRegionMap->playerIsInCave = TRUE; } break; - case 4: - case 7: + case MAP_TYPE_UNDERGROUND: + case MAP_TYPE_7: if (gMapHeader.flags & 0x02) { - mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->warp4.mapGroup, gSaveBlock1Ptr->warp4.mapNum); + mapHeader = Overworld_GetMapHeaderByGroupAndId(gSaveBlock1Ptr->escapeWarp.mapGroup, gSaveBlock1Ptr->escapeWarp.mapNum); gRegionMap->mapSecId = mapHeader->regionMapSectionId; gRegionMap->playerIsInCave = TRUE; mapWidth = mapHeader->mapLayout->width; mapHeight = mapHeader->mapLayout->height; - x = gSaveBlock1Ptr->warp4.x; - y = gSaveBlock1Ptr->warp4.y; + x = gSaveBlock1Ptr->escapeWarp.x; + y = gSaveBlock1Ptr->escapeWarp.y; } else { @@ -916,27 +917,26 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) y = 1; } break; - case 9: - mapHeader = Overworld_GetMapHeaderByGroupAndId((u16)gSaveBlock1Ptr->warp2.mapGroup, (u16)gSaveBlock1Ptr->warp2.mapNum); + case MAP_TYPE_SECRET_BASE: + mapHeader = Overworld_GetMapHeaderByGroupAndId((u16)gSaveBlock1Ptr->dynamicWarp.mapGroup, (u16)gSaveBlock1Ptr->dynamicWarp.mapNum); gRegionMap->mapSecId = mapHeader->regionMapSectionId; gRegionMap->playerIsInCave = TRUE; mapWidth = mapHeader->mapLayout->width; mapHeight = mapHeader->mapLayout->height; - x = gSaveBlock1Ptr->warp2.x; - y = gSaveBlock1Ptr->warp2.y; + x = gSaveBlock1Ptr->dynamicWarp.x; + y = gSaveBlock1Ptr->dynamicWarp.y; break; - case 8: - + case MAP_TYPE_INDOOR: gRegionMap->mapSecId = gMapHeader.regionMapSectionId; if (gRegionMap->mapSecId != MAPSEC_DYNAMIC) { - storedWarp = &gSaveBlock1Ptr->warp4; - mapHeader = Overworld_GetMapHeaderByGroupAndId(storedWarp->mapGroup, storedWarp->mapNum); + warp = &gSaveBlock1Ptr->escapeWarp; + mapHeader = Overworld_GetMapHeaderByGroupAndId(warp->mapGroup, warp->mapNum); } else { - storedWarp = &gSaveBlock1Ptr->warp2; - mapHeader = Overworld_GetMapHeaderByGroupAndId(storedWarp->mapGroup, storedWarp->mapNum); + warp = &gSaveBlock1Ptr->dynamicWarp; + mapHeader = Overworld_GetMapHeaderByGroupAndId(warp->mapGroup, warp->mapNum); gRegionMap->mapSecId = mapHeader->regionMapSectionId; } if (RegionMap_IsPlayerInCave(gRegionMap->mapSecId)) @@ -949,8 +949,8 @@ static void RegionMap_InitializeStateBasedOnPlayerLocation(void) } mapWidth = mapHeader->mapLayout->width; mapHeight = mapHeader->mapLayout->height; - x = storedWarp->x; - y = storedWarp->y; + x = warp->x; + y = warp->y; break; } @@ -1902,25 +1902,25 @@ static void sub_8124E0C(void) switch (sFlyMap->regionMap.mapSecId) { case MAPSEC_SOUTHERN_ISLAND: - sub_8084CCC(HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR); + SetWarpDestinationToHealLocation(HEAL_LOCATION_SOUTHERN_ISLAND_EXTERIOR); break; case MAPSEC_BATTLE_FRONTIER: - sub_8084CCC(HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST); + SetWarpDestinationToHealLocation(HEAL_LOCATION_BATTLE_FRONTIER_OUTSIDE_EAST); break; case MAPSEC_LITTLEROOT_TOWN: - sub_8084CCC(gSaveBlock2Ptr->playerGender == MALE ? HEAL_LOCATION_LITTLEROOT_TOWN_1 : HEAL_LOCATION_LITTLEROOT_TOWN_2); + SetWarpDestinationToHealLocation(gSaveBlock2Ptr->playerGender == MALE ? HEAL_LOCATION_LITTLEROOT_TOWN_1 : HEAL_LOCATION_LITTLEROOT_TOWN_2); break; case MAPSEC_EVER_GRANDE_CITY: - sub_8084CCC(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && sFlyMap->regionMap.posWithinMapSec == 0 ? HEAL_LOCATION_EVER_GRANDE_CITY_2 : HEAL_LOCATION_EVER_GRANDE_CITY_1); + SetWarpDestinationToHealLocation(FlagGet(FLAG_LANDMARK_POKEMON_LEAGUE) && sFlyMap->regionMap.posWithinMapSec == 0 ? HEAL_LOCATION_EVER_GRANDE_CITY_2 : HEAL_LOCATION_EVER_GRANDE_CITY_1); break; default: if (sMapHealLocations[sFlyMap->regionMap.mapSecId][2] != 0) { - sub_8084CCC(sMapHealLocations[sFlyMap->regionMap.mapSecId][2]); + SetWarpDestinationToHealLocation(sMapHealLocations[sFlyMap->regionMap.mapSecId][2]); } else { - warp1_set_2(sMapHealLocations[sFlyMap->regionMap.mapSecId][0], sMapHealLocations[sFlyMap->regionMap.mapSecId][1], -1); + SetWarpDestinationToMapWarp(sMapHealLocations[sFlyMap->regionMap.mapSecId][0], sMapHealLocations[sFlyMap->regionMap.mapSecId][1], -1); } break; } diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c index 066f7695c7..d3c6ec6d1d 100644 --- a/src/rom_8011DC0.c +++ b/src/rom_8011DC0.c @@ -1315,7 +1315,7 @@ u32 sub_8013B8C(struct UnkStruct_Group *arg0, s32 id) if (gUnknown_02022C2C == 4 && structPtr->unk.field_0.unk_00.unk_01_2 != 3) { - if (!(gSaveBlock2Ptr->specialSaveWarp & 0x80)) + if (!(gSaveBlock2Ptr->specialSaveWarpFlags & 0x80)) return 1; else if (structPtr->unk.field_0.unk_00.unk_00_7) return 0; @@ -1633,8 +1633,8 @@ void sub_8014210(u16 battleFlags) void sub_8014290(u16 arg0, u16 x, u16 y) { VarSet(VAR_0x4087, arg0); - Overworld_SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); - saved_warp2_set_2(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); + SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); + SetDynamicWarpWithCoords(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, x, y); WarpIntoMap(); } @@ -1645,7 +1645,7 @@ void sub_8014304(s8 mapGroup, s8 mapNum, s32 x, s32 y, u16 arg4) gFieldLinkPlayerCount = GetLinkPlayerCount(); gUnknown_03005DB4 = GetMultiplayerId(); SetCableClubWarp(); - Overworld_SetWarpDestination(mapGroup, mapNum, -1, x, y); + SetWarpDestination(mapGroup, mapNum, -1, x, y); WarpIntoMap(); } @@ -1697,12 +1697,12 @@ void sub_801440C(u8 taskId) { case 65: case 81: - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); gMain.savedCallback = sub_801AC54; sub_81B8518(3); break; case 1: - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); sub_80143E4(gBlockSendBuffer, TRUE); HealPlayerParty(); SavePlayerParty(); @@ -1711,7 +1711,7 @@ void sub_801440C(u8 taskId) SetMainCallback2(sub_8014384); break; case 2: - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); HealPlayerParty(); SavePlayerParty(); LoadPlayerBag(); @@ -1720,7 +1720,7 @@ void sub_801440C(u8 taskId) SetMainCallback2(sub_8014384); break; case 3: - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); HealPlayerParty(); SavePlayerParty(); LoadPlayerBag(); @@ -1730,18 +1730,18 @@ void sub_801440C(u8 taskId) break; case 4: sub_80143E4(gBlockSendBuffer, TRUE); - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); sub_8014304(MAP_GROUP(TRADE_CENTER), MAP_NUM(TRADE_CENTER), 5, 8, 3); SetMainCallback2(sub_8014384); break; case 15: sub_80143E4(gBlockSendBuffer, TRUE); - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); sub_8014304(MAP_GROUP(RECORD_CORNER), MAP_NUM(RECORD_CORNER), 8, 9, 4); SetMainCallback2(sub_8014384); break; case 68: - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); CreateTask(sub_8013F90, 0); break; case 5: diff --git a/src/save.c b/src/save.c index 905f075fb2..b234c230d3 100644 --- a/src/save.c +++ b/src/save.c @@ -923,7 +923,7 @@ void sub_8153688(u8 taskId) break; case 3: if (taskData[2] == 0) - sub_8076D5C(); + SetContinueGameWarpStatusToDynamicWarp(); sub_8153380(); taskData[0] = 4; break; @@ -946,7 +946,7 @@ void sub_8153688(u8 taskId) break; case 7: if (taskData[2] == 0) - sav2_gender2_inplace_and_xFE(); + ClearContinueGameWarpStatus2(); sub_800ADF8(); taskData[0] = 8; break; diff --git a/src/save_location.c b/src/save_location.c index d49afa7369..2443b3161b 100644 --- a/src/save_location.c +++ b/src/save_location.c @@ -2,11 +2,6 @@ #include "save_location.h" #include "constants/maps.h" -// specialSaveWarp flags -#define POKECENTER_SAVEWARP (1 << 1) -#define LOBBY_SAVEWARP (1 << 2) -#define UNK_SPECIAL_SAVE_WARP_FLAG_3 (1 << 3) - static bool32 IsCurMapInLocationList(const u16 *list) { s32 i; @@ -94,26 +89,26 @@ static bool32 sub_81AFCEC(void) static void TrySetPokeCenterWarpStatus(void) { if (IsCurMapPokeCenter() == FALSE) - gSaveBlock2Ptr->specialSaveWarp &= ~(POKECENTER_SAVEWARP); + gSaveBlock2Ptr->specialSaveWarpFlags &= ~(POKECENTER_SAVEWARP); else - gSaveBlock2Ptr->specialSaveWarp |= POKECENTER_SAVEWARP; + gSaveBlock2Ptr->specialSaveWarpFlags |= POKECENTER_SAVEWARP; } static void TrySetReloadWarpStatus(void) { if (!IsCurMapReloadLocation()) - gSaveBlock2Ptr->specialSaveWarp &= ~(LOBBY_SAVEWARP); + gSaveBlock2Ptr->specialSaveWarpFlags &= ~(LOBBY_SAVEWARP); else - gSaveBlock2Ptr->specialSaveWarp |= LOBBY_SAVEWARP; + gSaveBlock2Ptr->specialSaveWarpFlags |= LOBBY_SAVEWARP; } // this function definitely sets a warp status, but because the list is empty, it's unknown what this does yet. static void sub_81AFD5C(void) { if (!sub_81AFCEC()) - gSaveBlock2Ptr->specialSaveWarp &= ~(UNK_SPECIAL_SAVE_WARP_FLAG_3); + gSaveBlock2Ptr->specialSaveWarpFlags &= ~(UNK_SPECIAL_SAVE_WARP_FLAG_3); else - gSaveBlock2Ptr->specialSaveWarp |= UNK_SPECIAL_SAVE_WARP_FLAG_3; + gSaveBlock2Ptr->specialSaveWarpFlags |= UNK_SPECIAL_SAVE_WARP_FLAG_3; } void TrySetMapSaveWarpStatus(void) @@ -136,5 +131,5 @@ void sub_81AFDA0(void) void sub_81AFDD0(void) { - gSaveBlock2Ptr->specialSaveWarp |= 0x80; + gSaveBlock2Ptr->specialSaveWarpFlags |= 0x80; } diff --git a/src/scrcmd.c b/src/scrcmd.c index ab3af019d8..39df1117d8 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -735,7 +735,7 @@ bool8 ScrCmd_setmaplayoutindex(struct ScriptContext *ctx) { u16 value = VarGet(ScriptReadHalfword(ctx)); - sub_8085524(value); + SetCurrentMapLayout(value); return FALSE; } @@ -747,7 +747,7 @@ bool8 ScrCmd_warp(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); + SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_80AF734(); ResetInitialPlayerAvatarState(); return TRUE; @@ -761,7 +761,7 @@ bool8 ScrCmd_warpsilent(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); + SetWarpDestination(mapGroup, mapNum, warpId, x, y); sp13E_warp_to_last_warp(); ResetInitialPlayerAvatarState(); return TRUE; @@ -775,7 +775,7 @@ bool8 ScrCmd_warpdoor(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); + SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_80AF7D0(); ResetInitialPlayerAvatarState(); return TRUE; @@ -790,9 +790,9 @@ bool8 ScrCmd_warphole(struct ScriptContext *ctx) PlayerGetDestCoords(&x, &y); if (mapGroup == 0xFF && mapNum == 0xFF) - SetFixedHoleWarpAsDestination(x - 7, y - 7); + SetWarpDestinationToFixedHoleWarp(x - 7, y - 7); else - Overworld_SetWarpDestination(mapGroup, mapNum, -1, x - 7, y - 7); + SetWarpDestination(mapGroup, mapNum, -1, x - 7, y - 7); sp13F_fall_to_last_warp(); ResetInitialPlayerAvatarState(); return TRUE; @@ -806,7 +806,7 @@ bool8 ScrCmd_warpteleport(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); + SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_80AF848(); ResetInitialPlayerAvatarState(); return TRUE; @@ -820,7 +820,7 @@ bool8 ScrCmd_warpD7(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); + SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_80AF87C(); ResetInitialPlayerAvatarState(); return TRUE; @@ -834,7 +834,7 @@ bool8 ScrCmd_setwarp(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); + SetWarpDestination(mapGroup, mapNum, warpId, x, y); return FALSE; } @@ -846,7 +846,7 @@ bool8 ScrCmd_setdynamicwarp(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - saved_warp2_set_2(0, mapGroup, mapNum, warpId, x, y); + SetDynamicWarpWithCoords(0, mapGroup, mapNum, warpId, x, y); return FALSE; } @@ -882,7 +882,7 @@ bool8 ScrCmd_setescapewarp(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - sub_8084DD4(mapGroup, mapNum, warpId, x, y); + SetEscapeWarp(mapGroup, mapNum, warpId, x, y); return FALSE; } @@ -1998,7 +1998,7 @@ bool8 ScrCmd_setrespawn(struct ScriptContext *ctx) { u16 healLocationId = VarGet(ScriptReadHalfword(ctx)); - Overworld_SetHealLocationWarp(healLocationId); + SetLastHealLocationWarp(healLocationId); return FALSE; } @@ -2235,7 +2235,7 @@ bool8 ScrCmd_warpD1(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); + SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_808D074(GetPlayerFacingDirection()); sub_80B0244(); ResetInitialPlayerAvatarState(); @@ -2289,7 +2289,7 @@ bool8 ScrCmd_warpE0(struct ScriptContext *ctx) u16 x = VarGet(ScriptReadHalfword(ctx)); u16 y = VarGet(ScriptReadHalfword(ctx)); - Overworld_SetWarpDestination(mapGroup, mapNum, warpId, x, y); + SetWarpDestination(mapGroup, mapNum, warpId, x, y); sub_80AF79C(); ResetInitialPlayerAvatarState(); return TRUE; diff --git a/src/secret_base.c b/src/secret_base.c index 7e7b10a9a8..15d6d17803 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -366,7 +366,7 @@ void sub_80E8F9C(void) s8 idx; idx = sCurSecretBaseId / 10 * 4; - warp1_set_2(MAP_GROUP(SECRET_BASE_RED_CAVE1), gUnknown_0858CFE8[idx], gUnknown_0858CFE8[idx + 1]); + SetWarpDestinationToMapWarp(MAP_GROUP(SECRET_BASE_RED_CAVE1), gUnknown_0858CFE8[idx], gUnknown_0858CFE8[idx + 1]); } void sub_80E8FD0(u8 taskId) @@ -400,7 +400,7 @@ void sub_80E9068(void) { CreateTask(sub_80E8FD0, 0); FadeScreen(1, 0); - saved_warp2_set(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); + SetDynamicWarp(0, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1); } bool8 sub_80E909C(void) @@ -445,7 +445,7 @@ void sub_80E916C(u8 taskId) if (!gPaletteFade.active) { idx = sCurSecretBaseId / 10 * 4; - Overworld_SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, gUnknown_0858CFE8[idx + 2], gUnknown_0858CFE8[idx + 3]); + SetWarpDestination(gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, -1, gUnknown_0858CFE8[idx + 2], gUnknown_0858CFE8[idx + 3]); WarpIntoMap(); gFieldCallback = sub_80E9108; SetMainCallback2(CB2_LoadMap); @@ -643,7 +643,7 @@ void sub_80E96A4(u8 taskId) } break; case 2: - copy_saved_warp2_bank_and_enter_x_to_warp1(0x7e); + SetWarpDestinationToDynamicWarp(0x7e); WarpIntoMap(); gFieldCallback = mapldr_default; SetMainCallback2(CB2_LoadMap); diff --git a/src/start_menu.c b/src/start_menu.c index ad7b4b6ccc..0f608b1d20 100644 --- a/src/start_menu.c +++ b/src/start_menu.c @@ -623,7 +623,7 @@ static bool8 StartMenuPokedexCallback(void) IncrementGameStat(GAME_STAT_CHECKED_POKEDEX); PlayRainSoundEffect(); RemoveExtraStartMenuWindows(); - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); SetMainCallback2(CB2_Pokedex); return TRUE; @@ -638,7 +638,7 @@ static bool8 StartMenuPokemonCallback(void) { PlayRainSoundEffect(); RemoveExtraStartMenuWindows(); - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); SetMainCallback2(CB2_PartyMenuFromStartMenu); // Display party menu return TRUE; @@ -653,7 +653,7 @@ static bool8 StartMenuBagCallback(void) { PlayRainSoundEffect(); RemoveExtraStartMenuWindows(); - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); SetMainCallback2(CB2_BagMenuFromStartMenu); // Display bag menu return TRUE; @@ -668,7 +668,7 @@ static bool8 StartMenuPokeNavCallback(void) { PlayRainSoundEffect(); RemoveExtraStartMenuWindows(); - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); SetMainCallback2(CB2_PokeNav); // Display PokeNav return TRUE; @@ -683,7 +683,7 @@ static bool8 StartMenuPlayerNameCallback(void) { PlayRainSoundEffect(); RemoveExtraStartMenuWindows(); - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); if (is_c1_link_related_active() || InUnionRoom()) { @@ -722,7 +722,7 @@ static bool8 StartMenuOptionCallback(void) { PlayRainSoundEffect(); RemoveExtraStartMenuWindows(); - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); SetMainCallback2(CB2_InitOptionMenu); // Display option menu gMain.savedCallback = CB2_ReturnToFieldWithOpenMenu; @@ -754,7 +754,7 @@ static bool8 StartMenuLinkModePlayerNameCallback(void) if (!gPaletteFade.active) { PlayRainSoundEffect(); - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); TrainerCard_ShowLinkCard(gUnknown_03005DB4, CB2_ReturnToFieldWithOpenMenu); return TRUE; @@ -784,7 +784,7 @@ static bool8 StartMenuBattlePyramidBagCallback(void) { PlayRainSoundEffect(); RemoveExtraStartMenuWindows(); - overworld_free_bg_tilemaps(); + CleanupOverworldWindowsAndTilemaps(); SetMainCallback2(CB2_PyramidBagMenuFromStartMenu); return TRUE; @@ -1285,14 +1285,14 @@ static void sub_80A0550(u8 taskId) } break; case 1: - sub_8076D5C(); + SetContinueGameWarpStatusToDynamicWarp(); sub_8153430(); *step = 2; break; case 2: if (sub_8153474()) { - sav2_gender2_inplace_and_xFE(); + ClearContinueGameWarpStatus2(); *step = 3; gSoftResetDisabled = 0; } From 9cad5e8197c797c1aa6382c7143f48a73250d0f8 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Fri, 28 Dec 2018 02:11:41 -0600 Subject: [PATCH 19/53] Big switch mofo --- asm/trade.s | 2190 ------------------------------------------ include/gba/io_reg.h | 2 +- include/strings.h | 6 + src/trade.c | 911 +++++++++++++++--- 4 files changed, 760 insertions(+), 2349 deletions(-) diff --git a/asm/trade.s b/asm/trade.s index 2fad5efedd..7c37a93106 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6,2196 +6,6 @@ .text - thumb_func_start sub_807BA94 -sub_807BA94: @ 807BA94 - push {lr} - ldr r0, =gUnknown_08338D70 - bl LoadSpriteSheet - ldr r0, =gUnknown_08338DC0 - bl LoadSpriteSheet - ldr r0, =gUnknown_08338DF4 - bl LoadSpriteSheet - ldr r0, =gUnknown_08338E6C - bl LoadSpriteSheet - ldr r0, =gUnknown_08338D78 - bl LoadSpritePalette - ldr r0, =gUnknown_08338D80 - bl LoadSpritePalette - pop {r0} - bx r0 - .pool - thumb_func_end sub_807BA94 - - thumb_func_start sub_807BAD8 -sub_807BAD8: @ 807BAD8 - push {r4,r5,lr} - sub sp, 0x14 - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0xEE - ldrb r0, [r0] - cmp r0, 0 - beq _0807BB68 - bl GetMultiplayerId - lsls r0, 24 - ldr r3, =gStringVar1 - movs r2, 0x80 - lsls r2, 17 - eors r2, r0 - lsrs r2, 24 - lsls r1, r2, 3 - subs r1, r2 - lsls r1, 2 - ldr r0, =gLinkPlayers + 8 - adds r1, r0 - adds r0, r3, 0 - bl StringCopy - ldr r5, =gUnknown_02032298 - ldrb r0, [r5, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r4, 0x64 - muls r0, r4 - ldr r1, =gEnemyParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, =gStringVar3 - mov r1, sp - bl StringCopy10 - ldrb r0, [r5] - muls r0, r4 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, =gStringVar2 - mov r1, sp - bl StringCopy10 - b _0807BBA4 - .pool -_0807BB68: - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, =gIngameTrades - adds r4, r0 - ldr r0, =gStringVar1 - adds r1, r4, 0 - adds r1, 0x2B - bl StringCopy - ldr r0, =gStringVar3 - adds r1, r4, 0 - bl StringCopy10 - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, =gStringVar2 - mov r1, sp - bl StringCopy10 -_0807BBA4: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807BAD8 - - thumb_func_start sub_807BBC8 -sub_807BBC8: @ 807BBC8 - push {lr} - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0xFA - ldrb r0, [r0] - cmp r0, 0 - bne _0807BBE0 - bl sub_807CFC8 - b _0807BBE4 - .pool -_0807BBE0: - bl sub_807BBEC -_0807BBE4: - lsls r0, 24 - lsrs r0, 24 - pop {r1} - bx r1 - thumb_func_end sub_807BBC8 - - thumb_func_start sub_807BBEC -sub_807BBEC: @ 807BBEC - push {r4-r7,lr} - sub sp, 0x14 - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - adds r1, 0x94 - ldrh r5, [r1] - ldr r1, =0x0000010b - adds r7, r0, 0 - cmp r5, r1 - bls _0807BC04 - bl _0807CFB4 -_0807BC04: - lsls r0, r5, 2 - ldr r1, =_0807BC1C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807BC1C: - .4byte _0807C04C - .4byte _0807C0C4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807C120 - .4byte _0807C168 - .4byte _0807C1DC - .4byte _0807CFB4 - .4byte _0807C248 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807C26C - .4byte _0807C29C - .4byte _0807C2AE - .4byte _0807C2D0 - .4byte _0807C318 - .4byte _0807C348 - .4byte _0807C390 - .4byte _0807C3E0 - .4byte _0807C434 - .4byte _0807C4B8 - .4byte _0807C4DC - .4byte _0807C528 - .4byte _0807C574 - .4byte _0807C5D0 - .4byte _0807C630 - .4byte _0807C644 - .4byte _0807C658 - .4byte _0807C66C - .4byte _0807C794 - .4byte _0807C864 - .4byte _0807C8EC - .4byte _0807C964 - .4byte _0807C974 - .4byte _0807C994 - .4byte _0807C9E4 - .4byte _0807CA02 - .4byte _0807CA40 - .4byte _0807CA50 - .4byte _0807CAC8 - .4byte _0807CFB4 - .4byte _0807CAF0 - .4byte _0807CB30 - .4byte _0807CB70 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CB90 - .4byte _0807CBB8 - .4byte _0807CBD4 - .4byte _0807CBF4 - .4byte _0807CC9C - .4byte _0807CCD0 - .4byte _0807CD1C - .4byte _0807CDDC - .4byte _0807CE54 - .4byte _0807CEA0 - .4byte _0807CEB0 - .4byte _0807CEB6 - .4byte _0807CEDC - .4byte _0807CF38 - .4byte _0807CF5C - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CE18 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807C460 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CFB4 - .4byte _0807CE38 -_0807C04C: - ldr r3, =gSprites - ldr r0, [r7] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r4, [r7] - adds r2, r4, 0 - adds r2, 0x8E - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r1, =0x0000ff4c - strh r1, [r0, 0x24] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldr r2, =gMonFrontPicCoords - adds r0, r4, 0 - adds r0, 0xF0 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - strh r0, [r1, 0x26] - adds r1, r4, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bl GetCurrentMapMusic - ldr r1, [r7] - adds r1, 0xF4 - strh r0, [r1] - ldr r0, =0x00000179 - bl PlayNewMapMusic - bl _0807CFB4 - .pool -_0807C0C4: - ldr r5, [r7] - adds r6, r5, 0 - adds r6, 0xE6 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - ble _0807C0F8 - ldr r2, =gSprites - adds r0, r5, 0 - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - adds r1, 0x3 - strh r1, [r0, 0x24] - ldrh r0, [r6] - subs r0, 0x3 - strh r0, [r6] - bl _0807CFB4 - .pool -_0807C0F8: - ldr r2, =gSprites - adds r0, r5, 0 - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x24] - strh r1, [r6] - adds r1, r5, 0 - adds r1, 0x94 - movs r0, 0xA - strh r0, [r1] - bl _0807CFB4 - .pool -_0807C120: - ldr r4, =gStringVar4 - ldr r1, =gText_XWillBeSentToY - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0xF0 - ldrh r1, [r2] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _0807C14E - adds r0, r1, 0 - movs r1, 0 - bl PlayCry1 -_0807C14E: - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0x94 - movs r2, 0 - movs r0, 0xB - bl _0807CE06 - .pool -_0807C168: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x50 - beq _0807C178 - bl _0807CFB4 -_0807C178: - adds r0, r1, 0 - adds r0, 0x8E - ldrb r0, [r0] - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, =0x000fffff - str r2, [sp, 0xC] - movs r2, 0x78 - movs r3, 0x20 - bl sub_807671C - ldr r1, [r7] - adds r1, 0xD2 - strb r0, [r1] - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_ByeByeVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - bl _0807CFB4 - .pool -_0807C1DC: - ldr r5, =gSprites - ldr r0, [r7] - adds r0, 0xD2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r5, 0 - adds r4, 0x1C - adds r0, r4 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _0807C1FC - bl _0807CFB4 -_0807C1FC: - ldr r0, =gSpriteTemplate_8338D28 - movs r1, 0x78 - movs r2, 0x20 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0xD3 - strb r0, [r1] - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_807E5D8 - str r1, [r0] - adds r2, 0xD2 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - ldr r1, [r7] - bl _0807CF4C - .pool -_0807C248: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x14 - strh r1, [r0] - bl _0807CFB4 - .pool -_0807C26C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807C27C - bl _0807CFB4 -_0807C27C: - movs r0, 0x4 - bl sub_807B62C - movs r0, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - bl _0807CF48 - .pool -_0807C29C: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl _0807CF44 -_0807C2AE: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807C2BE - bl _0807CFB4 -_0807C2BE: - ldr r0, [r7] - adds r0, 0x94 - movs r1, 0x17 - strh r1, [r0] - bl _0807CFB4 - .pool -_0807C2D0: - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0xEA - ldrh r1, [r2] - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bls _0807C2F0 - adds r0, r1, 0 - subs r0, 0x34 - strh r0, [r2] - b _0807C30C - .pool -_0807C2F0: - movs r0, 0x1 - bl sub_807B62C - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0xEA - movs r2, 0 - movs r0, 0x80 - strh r0, [r1] - subs r1, 0x56 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - str r2, [r3, 0x64] -_0807C30C: - ldr r0, =gUnknown_020322A0 - ldr r4, [r0] - bl _0807CB5C - .pool -_0807C318: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x14 - bhi _0807C328 - bl _0807CFB4 -_0807C328: - bl sub_807AB28 - ldr r0, =gSpriteTemplate_8338E74 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x91 - strb r0, [r1] - ldr r1, [r7] - bl _0807CF4C - .pool -_0807C348: - ldr r2, =gSprites - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _0807C368 - bl _0807CFB4 -_0807C368: - adds r0, r1, 0 - bl DestroySprite - movs r1, 0xC8 - lsls r1, 3 - movs r0, 0x50 - bl SetGpuReg - ldr r1, =0x0000040c - movs r0, 0x52 - bl SetGpuReg - ldr r1, [r7] - bl _0807CF4C - .pool -_0807C390: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xE0 - ldrh r1, [r0] - subs r1, 0x1 - strh r1, [r0] - lsls r1, 16 - movs r0, 0x9E - lsls r0, 17 - cmp r1, r0 - bne _0807C3B0 - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0807C3B0: - ldr r0, [r7] - adds r0, 0xE0 - movs r2, 0 - ldrsh r1, [r0, r2] - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - beq _0807C3C4 - bl _0807CFB4 -_0807C3C4: - ldr r0, =gSpriteTemplate_8338DFC - movs r1, 0x80 - movs r2, 0x41 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x92 - strb r0, [r1] - bl _0807CFB4 - .pool -_0807C3E0: - ldr r0, =gUnknown_08338D88 - movs r1, 0x80 - movs r2, 0x50 - movs r3, 0x3 - bl CreateSprite - ldr r4, =gUnknown_020322A0 - ldr r1, [r4] - adds r1, 0x90 - strb r0, [r1] - ldr r0, =gSpriteTemplate_8338DC8 - movs r1, 0x80 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, [r4] - bl _0807CF4C - .pool -_0807C434: - ldr r2, [r7] - adds r1, r2, 0 - adds r1, 0xE0 - ldrh r0, [r1] - subs r0, 0x2 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA6 - bne _0807C44E - subs r1, 0x4C - movs r0, 0xC8 - strh r0, [r1] -_0807C44E: - ldr r1, =0x00001241 - movs r0, 0 - bl SetGpuReg - bl _0807CFB4 - .pool -_0807C460: - ldr r2, =gSprites - ldr r4, [r7] - adds r3, r4, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - adds r0, r4, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0x22 - ldrsh r1, [r0, r3] - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _0807C4A6 - bl _0807CFB4 -_0807C4A6: - adds r1, r4, 0 - adds r1, 0x94 - movs r0, 0x1D - strh r0, [r1] - bl _0807CFB4 - .pool -_0807C4B8: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x1E - strh r1, [r0] - bl _0807CFB4 - .pool -_0807C4DC: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807C4EC - bl _0807CFB4 -_0807C4EC: - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - movs r0, 0x2 - bl sub_807B62C - ldr r1, [r7] - bl _0807CF4C - .pool -_0807C528: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r5, =gSpriteTemplate_8338DC8 - adds r0, r5, 0 - movs r1, 0x6F - movs r2, 0xAA - movs r3, 0 - bl CreateSprite - ldr r4, =gUnknown_020322A0 - ldr r1, [r4] - adds r1, 0x90 - strb r0, [r1] - movs r2, 0xA - negs r2, r2 - adds r0, r5, 0 - movs r1, 0x81 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x91 - strb r0, [r1] - ldr r1, [r4] - bl _0807CF4C - .pool -_0807C574: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0807C592 - movs r0, 0x2E - bl PlaySE - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0807C592: - ldr r3, =gSprites - ldr r0, =gUnknown_020322A0 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0x91 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - bl _0807CFB4 - .pool -_0807C5D0: - ldr r5, =gSprites - ldr r4, [r7] - adds r2, r4, 0 - adds r2, 0x90 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r6, r4, 0 - adds r6, 0x91 - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r5 - movs r0, 0x26 - ldrsh r1, [r3, r0] - movs r0, 0x5A - negs r0, r0 - cmp r1, r0 - ble _0807C616 - bl _0807CFB4 -_0807C616: - movs r2, 0x1 - strh r2, [r3, 0x30] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x30] - adds r1, r4, 0 - bl _0807CF4C - .pool -_0807C630: - ldr r2, =0x0000ffff - movs r0, 0x1 - movs r1, 0x10 - bl BlendPalettes - bl _0807CF48 - .pool -_0807C644: - ldr r2, =0x0000ffff - movs r0, 0x1 - movs r1, 0 - bl BlendPalettes - bl _0807CF48 - .pool -_0807C658: - ldr r2, =0x0000ffff - movs r0, 0x1 - movs r1, 0x10 - bl BlendPalettes - bl _0807CF48 - .pool -_0807C66C: - ldr r5, =gUnknown_020322A0 - ldr r0, [r5] - adds r0, 0xF0 - ldrh r0, [r0] - bl IsMonSpriteNotFlipped - lsls r0, 24 - cmp r0, 0 - bne _0807C6E4 - ldr r4, =gSprites - ldr r2, [r5] - adds r2, 0x8E - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x10 - adds r0, r1 - ldr r1, =gSpriteAffineAnimTable_8338ECC - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - b _0807C6FA - .pool -_0807C6E4: - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAffineAnim -_0807C6FA: - ldr r5, =gUnknown_020322A0 - ldr r0, [r5] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r2, [r5] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x3C - strh r1, [r0, 0x20] - adds r2, 0x8F - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xB4 - strh r1, [r0, 0x20] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xC0 - strh r1, [r0, 0x22] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =0x0000ffe0 - strh r1, [r0, 0x22] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - ldr r1, [r5] - bl _0807CF4C - .pool -_0807C794: - ldr r4, =gSprites - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - movs r5, 0 - strh r1, [r0, 0x26] - adds r2, 0x8F - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x26] - adds r0, 0xA3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0807C7DC - movs r0, 0x2D - bl PlaySE -_0807C7DC: - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r6, 0x26 - ldrsh r1, [r0, r6] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - blt _0807C7FC - bl _0807CFB4 -_0807C7FC: - adds r0, r2, 0 - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r0, r2, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r7] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r2, =0x0000ffff - movs r0, 0x1 - movs r1, 0 - bl BlendPalettes - b _0807CFB4 - .pool -_0807C864: - ldr r4, =gSprites - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0x91 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r2, 0x26 - ldrsh r1, [r0, r2] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - ble _0807C8A6 - b _0807CFB4 -_0807C8A6: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0x94 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x90 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - b _0807CFB4 - .pool -_0807C8EC: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807C8FA - b _0807CFB4 -_0807C8FA: - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x1 - bl sub_807B62C - ldr r0, [r7] - adds r0, 0xE0 - movs r1, 0xA6 - strh r1, [r0] - ldr r0, =gUnknown_08338D88 - movs r4, 0x14 - negs r4, r4 - movs r1, 0x80 - adds r2, r4, 0 - movs r3, 0x3 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x90 - strb r0, [r1] - ldr r0, =gSpriteTemplate_8338DC8 - movs r1, 0x80 - adds r2, r4, 0 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0x1 - bl StartSpriteAnim - b _0807CFB4 - .pool -_0807C964: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - b _0807CF44 -_0807C974: - movs r1, 0x92 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807C98C - b _0807CFB4 -_0807C98C: - b _0807CF48 - .pool -_0807C994: - ldr r2, =gSprites - ldr r4, [r7] - adds r3, r4, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - adds r0, r4, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r3, 0x26 - ldrsh r1, [r0, r3] - movs r6, 0x22 - ldrsh r0, [r0, r6] - adds r1, r0 - cmp r1, 0x40 - beq _0807C9DA - b _0807CFB4 -_0807C9DA: - adds r1, r4, 0 - b _0807CF4C - .pool -_0807C9E4: - ldr r1, [r7] - adds r5, r1, 0 - adds r5, 0xE0 - ldrh r0, [r5] - adds r0, 0x2 - strh r0, [r5] - lsls r0, 16 - asrs r0, 16 - movs r6, 0x9E - lsls r6, 1 - cmp r0, r6 - bgt _0807C9FE - b _0807CFB4 -_0807C9FE: - strh r6, [r5] - b _0807CF4C -_0807CA02: - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r3, [r7] - adds r2, r3, 0 - adds r2, 0x94 - ldrh r0, [r2] - adds r0, 0x1 - movs r1, 0 - strh r0, [r2] - str r1, [r3, 0x64] - b _0807CFB4 - .pool -_0807CA40: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0xA - beq _0807CA4E - b _0807CFB4 -_0807CA4E: - b _0807CF4C -_0807CA50: - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0xE0 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - lsls r0, 16 - asrs r0, 16 - movs r3, 0xAE - lsls r3, 1 - cmp r0, r3 - ble _0807CA72 - strh r3, [r2] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0807CA72: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xE0 - movs r3, 0 - ldrsh r1, [r0, r3] - movs r0, 0xA4 - lsls r0, 1 - cmp r1, r0 - beq _0807CA86 - b _0807CFB4 -_0807CA86: - adds r0, r2, 0 - adds r0, 0xFA - ldrb r0, [r0] - cmp r0, 0 - bne _0807CA92 - b _0807CFB4 -_0807CA92: - ldr r0, =gSpriteTemplate_8338DFC - movs r1, 0x80 - movs r2, 0x41 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x92 - strb r0, [r1] - ldr r2, =gSprites - ldr r0, [r7] - adds r0, 0x92 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, =sub_807AAE0 - str r1, [r0] - b _0807CFB4 - .pool -_0807CAC8: - ldr r0, =gSpriteTemplate_8338E74 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r2, =gUnknown_020322A0 - ldr r1, [r2] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x94 - movs r1, 0x32 - strh r1, [r0] - b _0807CFB4 - .pool -_0807CAF0: - ldr r2, =gSprites - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _0807CB0E - b _0807CFB4 -_0807CB0E: - adds r0, r1, 0 - bl DestroySprite - movs r0, 0x6 - bl sub_807B62C - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x9F - bl PlaySE - b _0807CFB4 - .pool -_0807CB30: - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0xEA - ldrh r3, [r2] - ldr r0, =0x000003ff - cmp r3, r0 - bhi _0807CB4C - adds r0, r3, 0 - adds r0, 0x34 - strh r0, [r2] - b _0807CB5A - .pool -_0807CB4C: - movs r0, 0x80 - lsls r0, 3 - strh r0, [r2] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0807CB5A: - ldr r4, [r7] -_0807CB5C: - adds r0, r4, 0 - adds r0, 0xEA - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 8 - bl __divsi3 - adds r4, 0xE8 - strh r0, [r4] - b _0807CFB4 -_0807CB70: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x3C - strh r1, [r0] - b _0807CFB4 - .pool -_0807CB90: - ldr r4, =gPaletteFade - ldrb r1, [r4, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807CB9E - b _0807CFB4 -_0807CB9E: - movs r0, 0x5 - bl sub_807B62C - movs r0, 0x7 - bl sub_807B62C - ldrb r0, [r4, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4, 0x8] - b _0807CF48 - .pool -_0807CBB8: - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - b _0807CF44 - .pool -_0807CBD4: - movs r1, 0xA2 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807CBEC - b _0807CFB4 -_0807CBEC: - b _0807CF48 - .pool -_0807CBF4: - ldr r0, =gSpriteTemplate_8338D28 - movs r2, 0x8 - negs r2, r2 - movs r1, 0x78 - movs r3, 0 - bl CreateSprite - ldr r5, =gUnknown_020322A0 - ldr r1, [r5] - adds r1, 0xD3 - movs r6, 0 - strb r0, [r1] - ldr r4, =gSprites - ldr r2, [r5] - adds r2, 0xD3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x4A - strh r1, [r0, 0x34] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_807E6AC - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r5] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r0, [r5] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r2, =0x0000ffff - movs r1, 0x10 - bl BlendPalettes - ldr r2, [r5] - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - str r6, [r2, 0x64] - b _0807CFB4 - .pool -_0807CC9C: - ldr r2, =gSprites - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r7] - b _0807CF4C - .pool -_0807CCD0: - ldr r2, =gSprites - ldr r3, [r7] - adds r0, r3, 0 - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _0807CCEE - b _0807CFB4 -_0807CCEE: - adds r0, r3, 0 - adds r0, 0xF2 - ldrh r2, [r0] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x10] - ldr r3, [r3, 0x6C] - bl HandleLoadSpecialPokePic_2 - ldr r1, [r7] - b _0807CF4C - .pool -_0807CD1C: - ldr r4, =gSprites - ldr r2, [r7] - adds r6, r2, 0 - adds r6, 0x8F - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r5, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - ldrb r0, [r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldr r3, =gMonFrontPicCoords - adds r2, 0xF2 - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - adds r0, 0x3C - strh r0, [r1, 0x22] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x24] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x26] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAnim - ldr r3, [r7] - adds r0, r3, 0 - adds r0, 0x8F - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, =0x000fffff - str r2, [sp, 0xC] - adds r3, 0xF2 - ldrh r2, [r3] - str r2, [sp, 0x10] - movs r2, 0x78 - movs r3, 0x54 - bl CreatePokeballSpriteToReleaseMon - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r1, [r7] - b _0807CF4C - .pool -_0807CDDC: - movs r1, 0xAA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r4, =gStringVar4 - ldr r1, =gText_XSentOverY - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - ldr r0, =gUnknown_020322A0 - ldr r3, [r0] - adds r1, r3, 0 - adds r1, 0x94 - movs r2, 0 - movs r0, 0xA7 -_0807CE06: - strh r0, [r1] - str r2, [r3, 0x64] - b _0807CFB4 - .pool -_0807CE18: - ldr r3, [r7] - ldr r0, [r3, 0x64] - adds r0, 0x1 - str r0, [r3, 0x64] - cmp r0, 0x3C - bhi _0807CE26 - b _0807CFB4 -_0807CE26: - adds r0, r3, 0 - adds r0, 0x94 - movs r2, 0 - ldr r1, =0x0000010b - strh r1, [r0] - str r2, [r3, 0x64] - b _0807CFB4 - .pool -_0807CE38: - bl IsCryFinished - lsls r0, 24 - cmp r0, 0 - bne _0807CE44 - b _0807CFB4 -_0807CE44: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x44 - strh r1, [r0] - b _0807CFB4 - .pool -_0807CE54: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0xA - bne _0807CE66 - ldr r0, =0x00000173 - bl PlayFanfare -_0807CE66: - ldr r1, [r7] - ldr r0, [r1, 0x64] - cmp r0, 0xFA - beq _0807CE70 - b _0807CFB4 -_0807CE70: - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - movs r5, 0 - strh r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_TakeGoodCareOfX - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - ldr r0, [r7] - str r5, [r0, 0x64] - b _0807CFB4 - .pool -_0807CEA0: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - beq _0807CEAE - b _0807CFB4 -_0807CEAE: - b _0807CF4C -_0807CEB0: - bl sub_807F14C - b _0807CF48 -_0807CEB6: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xEE - ldrb r0, [r0] - cmp r0, 0 - beq _0807CEC6 - movs r0, 0x1 - b _0807CFB6 -_0807CEC6: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807CFB4 - adds r1, r2, 0 - b _0807CF4C - .pool -_0807CEDC: - ldr r0, =gSpecialVar_0x8005 - ldrb r0, [r0] - movs r1, 0 - bl sub_807B4D0 - ldr r1, =gCB2_AfterEvolution - ldr r0, =sub_807B60C - str r0, [r1] - ldr r7, =gUnknown_02032298 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0x1 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0807CF48 - ldrb r3, [r7] - adds r0, r3, 0 - muls r0, r6 - adds r0, r5 - ldr r1, =gUnknown_020322A0 - ldr r1, [r1] - adds r1, 0x8F - ldrb r2, [r1] - adds r1, r4, 0 - bl TradeEvolutionScene - b _0807CF48 - .pool -_0807CF38: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 -_0807CF44: - bl BeginNormalPaletteFade -_0807CF48: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] -_0807CF4C: - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0807CFB4 - .pool -_0807CF5C: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0807CFB4 - ldr r0, [r7] - adds r0, 0xF4 - ldrh r0, [r0] - bl PlayNewMapMusic - ldr r0, [r7] - cmp r0, 0 - beq _0807CFAA - bl FreeAllWindowBuffers - movs r0, 0x3 - bl GetBgTilemapBuffer - bl Free - movs r0, 0x1 - bl GetBgTilemapBuffer - bl Free - movs r0, 0 - bl GetBgTilemapBuffer - bl Free - bl FreeMonSpritesGfx - ldr r0, [r7] - bl Free - str r4, [r7] -_0807CFAA: - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - bl sub_807E784 -_0807CFB4: - movs r0, 0 -_0807CFB6: - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_807BBEC - thumb_func_start sub_807CFC8 sub_807CFC8: @ 807CFC8 push {r4-r7,lr} diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index c20b69886e..448fae06dc 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -600,7 +600,7 @@ #define BLDCNT_TGT2_ALL (BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD) // BLDALPHA -#define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1)) +#define BLDALPHA_BLEND(target1, target2) ((target1)) | ((target2) << 8) // SOUNDCNT_H #define SOUND_CGB_MIX_QUARTER 0x0000 diff --git a/include/strings.h b/include/strings.h index 64222cddb7..528990bfe3 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1984,4 +1984,10 @@ extern const u8 gText_EggCantBeTradedNow[]; extern const u8 gText_OtherTrainerCantAcceptPkmn[]; extern const u8 gText_CantTradeWithTrainer[]; +// trade +extern const u8 gText_XWillBeSentToY[]; +extern const u8 gText_ByeByeVar1[]; +extern const u8 gText_XSentOverY[]; +extern const u8 gText_TakeGoodCareOfX[]; + #endif //GUARD_STRINGS_H diff --git a/src/trade.c b/src/trade.c index 4d5edffd79..c996c33488 100644 --- a/src/trade.c +++ b/src/trade.c @@ -8,6 +8,7 @@ #include "daycare.h" #include "decompress.h" #include "event_data.h" +#include "evolution_scene.h" #include "gpu_regs.h" #include "graphics.h" #include "international_string_util.h" @@ -19,11 +20,13 @@ #include "overworld.h" #include "palette.h" #include "party_menu.h" +#include "pokeball.h" #include "pokedex.h" #include "pokemon_icon.h" #include "pokemon_summary_screen.h" #include "sound.h" #include "string_util.h" +#include "strings.h" #include "task.h" #include "text.h" #include "text_window.h" @@ -31,92 +34,113 @@ #include "trade.h" #include "util.h" #include "window.h" +#include "constants/items.h" #include "constants/moves.h" #include "constants/species.h" #include "constants/songs.h" #include "constants/rgb.h" +struct InGameTrade { + /*0x00*/ u8 name[11]; + /*0x0C*/ u16 species; + /*0x0E*/ u8 ivs[6]; + /*0x14*/ bool8 secondAbility; + /*0x18*/ u32 otId; + /*0x1C*/ u8 stats[5]; + /*0x24*/ u32 personality; + /*0x28*/ u16 heldItem; + /*0x2A*/ u8 mailNum; + /*0x2B*/ u8 otName[11]; + /*0x36*/ u8 otGender; + /*0x37*/ u8 sheen; + /*0x38*/ u16 playerSpecies; +}; + extern u8 gUnknown_02022C2C; extern struct { - u8 unk_0; - u8 unk_1; - u8 filler_2[0x28 - 2]; - u8 unk_28[2][PARTY_SIZE]; - u8 unk_34; - u8 unk_35; - u8 unk_36[2]; - u8 unk_38[12]; - u8 unk_44; - u8 unk_45[2][PARTY_SIZE]; - u8 unk_51[2][PARTY_SIZE]; - u8 unk_5D[PARTY_SIZE]; - u8 unk_63[PARTY_SIZE]; - u8 unk_69; - u8 filler_6A[0x6F - 0x6A]; - u8 unk_6F; - u8 unk_70; - u8 filler_71; - u16 unk_72; - u8 unk_74[2]; - u8 unk_76[2]; - u8 unk_78; - u8 unk_79; - u8 unk_7A; - u8 unk_7B; - u8 filler_7C[0x7E - 0x7C]; - u8 unk_7E; - u8 filler_7F; - u16 unk_80[2]; - u8 filler_84[0xA8 - 0x84]; - u8 unk_A8; - u8 unk_A9[11]; - u8 filler_B4[0x8D0-0xB4]; - struct { + /*0x0000*/ u8 unk_0; + /*0x0001*/ u8 unk_1; + /*0x0002*/ u8 filler_2[0x28 - 2]; + /*0x0028*/ u8 unk_28[2][PARTY_SIZE]; + /*0x0034*/ u8 unk_34; + /*0x0035*/ u8 unk_35; + /*0x0036*/ u8 partyCounts[2]; + /*0x0038*/ u8 unk_38[12]; + /*0x0044*/ u8 unk_44; + /*0x0045*/ u8 unk_45[2][PARTY_SIZE]; + /*0x0051*/ u8 unk_51[2][PARTY_SIZE]; + /*0x005D*/ u8 unk_5D[2][PARTY_SIZE]; + /*0x0069*/ u8 unk_69; + /*0x006A*/ u8 filler_6A[0x6F - 0x6A]; + /*0x006F*/ u8 unk_6F; + /*0x0070*/ u8 unk_70; + /*0x0071*/ u8 filler_71; + /*0x0072*/ u16 unk_72; + /*0x0074*/ u8 unk_74[2]; + /*0x0076*/ u8 unk_76[2]; + /*0x0078*/ u8 unk_78; + /*0x0079*/ u8 unk_79; + /*0x007A*/ u8 unk_7A; + /*0x007B*/ u8 unk_7B; + /*0x007C*/ u8 filler_7C[0x7E - 0x7C]; + /*0x007E*/ u8 unk_7E; + /*0x007F*/ u8 filler_7F; + /*0x0080*/ u16 unk_80[2]; + /*0x0084*/ u8 filler_84[0xA8 - 0x84]; + /*0x00A8*/ u8 unk_A8; + /*0x00A9*/ u8 unk_A9[11]; + /*0x00B4*/ u8 filler_B4[0x8D0-0xB4]; + /*0x08D0*/ struct { bool8 unk_0; u16 unk_2; u8 unk_4; } unk_8D0[4]; - u16 tilemapBuffer[0x400]; // 8F0 + /*0x08F0*/ u16 tilemapBuffer[0x400]; } *gUnknown_0203229C; extern u8 *gUnknown_02032184; extern u8 *gUnknown_02032188[14]; extern u8 gUnknown_02032298[2]; extern struct { - struct Pokemon mon; - u32 unk_64; - u32 unk_68[2]; - u8 filler_70[2]; - u8 unk_72; - u8 unk_73; - u8 unk_74[20]; - u8 unk_88; - u8 unk_89; - u16 unk_8A; - u16 unk_8C; - u8 unk_8E[2]; - u8 filler_90[3]; - u8 unk_93; - u16 unk_94; - u8 filler_96[0xD4 - 0x96]; - u16 unk_D4; - u16 unk_D6; - u16 unk_D8; - u16 unk_DA; - s16 unk_DC; - s16 unk_DE; - u16 unk_E0; - u16 unk_E2; - u16 unk_E4; - u16 unk_E6; - s16 unk_E8; - u16 unk_EA; - u16 unk_EC; - u8 unk_EE; - u8 filler_EF; - u16 unk_F0[2]; - u8 filler_F4[0xFA - 0xF4]; - u8 unk_FA; - u8 filler_FB[0x100 - 0xFB]; + /*0x00*/ struct Pokemon mon; + /*0x64*/ u32 unk_64; + /*0x68*/ u32 unk_68[2]; + /*0x70*/ u8 filler_70[2]; + /*0x72*/ u8 unk_72; + /*0x73*/ u8 unk_73; + /*0x74*/ u8 unk_74[20]; + /*0x88*/ u8 unk_88; + /*0x89*/ u8 unk_89; + /*0x8A*/ u16 unk_8A; + /*0x8C*/ u16 unk_8C; + /*0x8E*/ u8 pokePicSpriteIdxs[2]; + /*0x90*/ u8 unk_90; + /*0x91*/ u8 unk_91; + /*0x92*/ u8 unk_92; + /*0x93*/ u8 unk_93; + /*0x94*/ u16 unk_94; + /*0x96*/ u8 filler_96[0xD2 - 0x96]; + /*0xD2*/ u8 unk_D2; + /*0xD3*/ u8 unk_D3; + /*0xD4*/ u16 unk_D4; + /*0xD6*/ u16 unk_D6; + /*0xD8*/ u16 unk_D8; + /*0xDA*/ u16 unk_DA; + /*0xDC*/ s16 unk_DC; + /*0xDE*/ s16 unk_DE; + /*0xE0*/ s16 bg1vofs; + /*0xE2*/ s16 bg1hofs; + /*0xE4*/ s16 bg2vofs; + /*0xE6*/ s16 bg2hofs; + /*0xE8*/ s16 unk_E8; + /*0xEA*/ u16 unk_EA; + /*0xEC*/ u16 unk_EC; + /*0xEE*/ bool8 isLinkTrade; + /*0xEF*/ u8 filler_EF; + /*0xF0*/ u16 tradeSpecies[2]; + /*0xF4*/ u16 unk_F4; + /*0xF6*/ u8 filler_F6[0xFA - 0xF6]; + /*0xFA*/ u8 unk_FA; + /*0xFB*/ u8 filler_FB[0x100 - 0xFB]; } *gUnknown_020322A0; extern u8 gUnknown_0203CF20; @@ -162,8 +186,24 @@ extern const u32 gUnknown_08338550[]; extern const u8 gUnknown_08332F60[]; extern const u8 gUnknown_083357A0[]; extern const u8 gUnknown_083358A0[]; +extern const struct SpriteSheet gUnknown_08338D70; +extern const struct SpriteSheet gUnknown_08338DC0; +extern const struct SpriteSheet gUnknown_08338DF4; +extern const struct SpriteSheet gUnknown_08338E6C; +extern const struct SpritePalette gUnknown_08338D78; +extern const struct SpritePalette gUnknown_08338D80; +extern const struct InGameTrade gIngameTrades[]; +extern const struct SpriteTemplate gSpriteTemplate_8338D28; +extern const struct SpriteTemplate gSpriteTemplate_8338E74; +extern const struct SpriteTemplate gSpriteTemplate_8338DFC; +extern const struct SpriteTemplate gUnknown_08338D88; +extern const struct SpriteTemplate gSpriteTemplate_8338DC8; +extern const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[]; +extern const struct SpriteTemplate gSpriteTemplate_8338E74; +// external to this file extern const struct CompressedSpriteSheet gMonFrontPicTable[]; +extern const struct MonCoords gMonFrontPicCoords[]; bool32 sub_8077260(void); void sub_80773D0(void); @@ -202,7 +242,16 @@ void sub_807BAD8(void); void sub_807EA2C(void); void sub_807B62C(u8); void sub_807B60C(void); -void sub_807BBC8(void); +u8 sub_807BBC8(void); +u8 sub_807CFC8(void); +u8 sub_807BBEC(void); +void sub_807F1A8(u8, u8 *, u8); +void sub_807E5D8(struct Sprite *); +void sub_807AAE0(struct Sprite *); +void sub_807E6AC(struct Sprite *); +void sub_807F14C(void); +void sub_807E784(void); +void c3_0805465C(u8); bool8 sub_8077170(const void *a0, u32 a1) { @@ -462,10 +511,10 @@ void sub_80773D0(void) CalculateEnemyPartyCount(); SetGpuReg(REG_OFFSET_DISPCNT, 0); SetGpuReg(REG_OFFSET_BLDCNT, 0); - gUnknown_0203229C->unk_36[0] = gPlayerPartyCount; - gUnknown_0203229C->unk_36[1] = gEnemyPartyCount; + gUnknown_0203229C->partyCounts[0] = gPlayerPartyCount; + gUnknown_0203229C->partyCounts[1] = gEnemyPartyCount; - for (i = 0; i < gUnknown_0203229C->unk_36[0]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) { struct Pokemon *mon = &gPlayerParty[i]; gUnknown_0203229C->unk_28[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2), @@ -477,7 +526,7 @@ void sub_80773D0(void) TRUE); } - for (i = 0; i < gUnknown_0203229C->unk_36[1]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++) { struct Pokemon *mon = &gEnemyParty[i]; gUnknown_0203229C->unk_28[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), @@ -492,11 +541,11 @@ void sub_80773D0(void) break; case 8: LoadHeldItemIcons(); - sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28[0], 0); + sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->unk_28[0], 0); gMain.state++; break; case 9: - sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28[0], 1); + sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->unk_28[0], 1); gMain.state++; break; case 10: @@ -645,13 +694,13 @@ void sub_8077B74(void) break; case 7: CalculateEnemyPartyCount(); - gUnknown_0203229C->unk_36[0] = gPlayerPartyCount; - gUnknown_0203229C->unk_36[1] = gEnemyPartyCount; + gUnknown_0203229C->partyCounts[0] = gPlayerPartyCount; + gUnknown_0203229C->partyCounts[1] = gEnemyPartyCount; ClearWindowTilemap(0); sub_8079BE0(0); sub_8079BE0(1); - for (i = 0; i < gUnknown_0203229C->unk_36[0]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) { struct Pokemon *mon = &gPlayerParty[i]; gUnknown_0203229C->unk_28[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), @@ -663,7 +712,7 @@ void sub_8077B74(void) TRUE); } - for (i = 0; i < gUnknown_0203229C->unk_36[1]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++) { struct Pokemon *mon = &gEnemyParty[i]; gUnknown_0203229C->unk_28[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), @@ -678,11 +727,11 @@ void sub_8077B74(void) break; case 8: LoadHeldItemIcons(); - sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28[0], 0); + sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->unk_28[0], 0); gMain.state++; break; case 9: - sub_81B5D4C(&gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_28[0], 1); + sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->unk_28[0], 1); gMain.state++; break; case 10: @@ -906,7 +955,7 @@ void sub_8078388(void) for (i = 0; i < PARTY_SIZE; i++) { - if (i < gUnknown_0203229C->unk_36[0]) + if (i < gUnknown_0203229C->partyCounts[0]) { gSprites[gUnknown_0203229C->unk_28[0][i]].invisible = FALSE; gUnknown_0203229C->unk_38[i] = TRUE; @@ -916,7 +965,7 @@ void sub_8078388(void) gUnknown_0203229C->unk_38[i] = FALSE; } - if (i < gUnknown_0203229C->unk_36[1]) + if (i < gUnknown_0203229C->partyCounts[1]) { gSprites[gUnknown_0203229C->unk_28[1][i]].invisible = FALSE; gUnknown_0203229C->unk_38[i + PARTY_SIZE] = TRUE; @@ -1452,11 +1501,11 @@ void sub_807905C(void) { if (gUnknown_0203229C->unk_35 < PARTY_SIZE) { - ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203229C->unk_35, gUnknown_0203229C->unk_36[0] - 1, sub_8077B74); + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203229C->unk_35, gUnknown_0203229C->partyCounts[0] - 1, sub_8077B74); } else { - ShowPokemonSummaryScreen(PSS_MODE_UNK1, gEnemyParty, gUnknown_0203229C->unk_35 - PARTY_SIZE, gUnknown_0203229C->unk_36[1] - 1, sub_8077B74); + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gEnemyParty, gUnknown_0203229C->unk_35 - PARTY_SIZE, gUnknown_0203229C->partyCounts[1] - 1, sub_8077B74); } FreeAllWindowBuffers(); } @@ -1508,12 +1557,12 @@ bool32 sub_8079174(void) int i; u8 arr[12]; - for (i = 0; i < gUnknown_0203229C->unk_36[0]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) { arr[i] = gUnknown_0203229C->unk_45[0][i]; } - switch (sub_80790D4(arr, gUnknown_0203229C->unk_36[0], gUnknown_0203229C->unk_35, gUnknown_0203229C->unk_7E)) + switch (sub_80790D4(arr, gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->unk_35, gUnknown_0203229C->unk_7E)) { case 0: sub_807A048(3, 3); @@ -1563,7 +1612,7 @@ void sub_807929C(void) { int i; - for (i = 0; i < gUnknown_0203229C->unk_36[1] - 4; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[1] - 4; i++) { PutWindowTilemap(i + 12); CopyWindowToVram(i + 12, 1); @@ -1793,7 +1842,7 @@ void sub_80796B4(u8 a0) switch (gUnknown_0203229C->unk_74[a0]) { case 1: - for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[a0]; i++) { gSprites[gUnknown_0203229C->unk_28[0][i + (sp60 * 6)]].invisible = TRUE; } @@ -1921,7 +1970,7 @@ void sub_8079BE0(u8 a0) u8 sp14[32]; struct Pokemon *mons = a0 == 0 ? gPlayerParty : gEnemyParty; - for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[a0]; i++) { GetMonData(&mons[i], MON_DATA_NICKNAME, sp); StringCopy10(sp14, sp); @@ -1999,18 +2048,18 @@ extern const u8 gUnknown_0832DE3E[][6][2]; extern const u8 gUnknown_0832DE56[][6][2]; // Very close but loop preamble not working. #ifdef NONMATCHING -void sub_8079E44(u8 a0) +void sub_8079E44(u8 whichParty) { int i; - for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++) { - sub_8079C4C(a0, i, gUnknown_0832DE3E[a0][i][0], gUnknown_0832DE3E[a0][i][1], gUnknown_0832DE56[a0][i][0], gUnknown_0832DE56[a0][i][1]); + sub_8079C4C(whichParty, i, gUnknown_0832DE3E[whichParty][i][0], gUnknown_0832DE3E[whichParty][i][1], gUnknown_0832DE56[whichParty][i][0], gUnknown_0832DE56[whichParty][i][1]); } } #else NAKED -void sub_8079E44(u8 a0) +void sub_8079E44(u8 whichParty) { asm_unified("push {r4-r7,lr}\n\ sub sp, 0x8\n\ @@ -2065,7 +2114,7 @@ void sub_8079EA8(u8 a0) { int i; - for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[a0]; i++) { gSprites[gUnknown_0203229C->unk_28[a0][i]].invisible = FALSE; gSprites[gUnknown_0203229C->unk_28[a0][i]].pos1.x = gUnknown_0832DE24[(a0 * 6) + i][0] * 8 + 14; @@ -2238,75 +2287,75 @@ void sub_807A308(const u8 *a0, u8 *a1, u8 unused) sub_80C6D80(a0, a1, 0, 0, 6); } -void sub_807A320(u8 a0) +void sub_807A320(u8 who) { int i; - switch (a0) + switch (who) { case 0: - for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[who]; i++) { if (GetMonData(&gPlayerParty[i], MON_DATA_IS_EGG) == TRUE) { - gUnknown_0203229C->unk_45[a0][i] = 0; - gUnknown_0203229C->unk_51[a0][i] = 1; + gUnknown_0203229C->unk_45[who][i] = 0; + gUnknown_0203229C->unk_51[who][i] = 1; } else if (GetMonData(&gPlayerParty[i], MON_DATA_HP) == 0) { - gUnknown_0203229C->unk_45[a0][i] = 0; - gUnknown_0203229C->unk_51[a0][i] = 0; + gUnknown_0203229C->unk_45[who][i] = 0; + gUnknown_0203229C->unk_51[who][i] = 0; } else { - gUnknown_0203229C->unk_45[a0][i] = 1; - gUnknown_0203229C->unk_51[a0][i] = 0; + gUnknown_0203229C->unk_45[who][i] = 1; + gUnknown_0203229C->unk_51[who][i] = 0; } } break; case 1: - for (i = 0; i < gUnknown_0203229C->unk_36[a0]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[who]; i++) { if (GetMonData(&gEnemyParty[i], MON_DATA_IS_EGG) == TRUE) { - gUnknown_0203229C->unk_45[a0][i] = 0; - gUnknown_0203229C->unk_51[a0][i] = 1; + gUnknown_0203229C->unk_45[who][i] = 0; + gUnknown_0203229C->unk_51[who][i] = 1; } else if (GetMonData(&gEnemyParty[i], MON_DATA_HP) == 0) { - gUnknown_0203229C->unk_45[a0][i] = 0; - gUnknown_0203229C->unk_51[a0][i] = 0; + gUnknown_0203229C->unk_45[who][i] = 0; + gUnknown_0203229C->unk_51[who][i] = 0; } else { - gUnknown_0203229C->unk_45[a0][i] = 1; - gUnknown_0203229C->unk_51[a0][i] = 0; + gUnknown_0203229C->unk_45[who][i] = 1; + gUnknown_0203229C->unk_51[who][i] = 0; } } break; } } -void sub_807A468(u8 a0) +void sub_807A468(u8 who) { - u16 i, hp, maxHp; + u16 i, curHp, maxHp; - switch (a0) + switch (who) { case 0: - for (i = 0; i < gUnknown_0203229C->unk_36[0]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) { - hp = GetMonData(&gPlayerParty[i], MON_DATA_HP); + curHp = GetMonData(&gPlayerParty[i], MON_DATA_HP); maxHp = GetMonData(&gPlayerParty[i], MON_DATA_MAX_HP); - gUnknown_0203229C->unk_5D[i] = GetHPBarLevel(hp, maxHp); + gUnknown_0203229C->unk_5D[0][i] = GetHPBarLevel(curHp, maxHp); } break; case 1: - for (i = 0; i < gUnknown_0203229C->unk_36[1]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++) { - hp = GetMonData(&gEnemyParty[i], MON_DATA_HP); + curHp = GetMonData(&gEnemyParty[i], MON_DATA_HP); maxHp = GetMonData(&gEnemyParty[i], MON_DATA_MAX_HP); - gUnknown_0203229C->unk_63[i] = GetHPBarLevel(hp, maxHp); + gUnknown_0203229C->unk_5D[1][i] = GetHPBarLevel(curHp, maxHp); } break; } @@ -2318,9 +2367,9 @@ void sub_807A53C(void) for (i = 0; i < 2; i++) { - for (j = 0; j < gUnknown_0203229C->unk_36[i]; j++) + for (j = 0; j < gUnknown_0203229C->partyCounts[i]; j++) { - sub_80D32C8(&gSprites[gUnknown_0203229C->unk_28[i][j]], 4 - gUnknown_0203229C->unk_5D[i * 6 + j]); + sub_80D32C8(&gSprites[gUnknown_0203229C->unk_28[i][j]], 4 - gUnknown_0203229C->unk_5D[i][j]); } } } @@ -2959,14 +3008,14 @@ void sub_807ABCC(void) { u16 dispcnt; - SetGpuReg(REG_OFFSET_BG1VOFS, gUnknown_020322A0->unk_E0); - SetGpuReg(REG_OFFSET_BG1HOFS, gUnknown_020322A0->unk_E2); + SetGpuReg(REG_OFFSET_BG1VOFS, gUnknown_020322A0->bg1vofs); + SetGpuReg(REG_OFFSET_BG1HOFS, gUnknown_020322A0->bg1hofs); dispcnt = GetGpuReg(REG_OFFSET_DISPCNT); if (!(dispcnt & (DISPCNT_MODE_1 | DISPCNT_MODE_2 | DISPCNT_MODE_3 | DISPCNT_MODE_4 | DISPCNT_MODE_5))) { - SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_020322A0->unk_E4); - SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_020322A0->unk_E6); + SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_020322A0->bg2vofs); + SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_020322A0->bg2hofs); } else { @@ -3055,15 +3104,16 @@ void sub_807ACFC(u8 a0, u8 a1) { HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[a0 * 2 + 1], species, personality); } + LoadCompressedSpritePalette(GetMonSpritePalStruct(mon)); - gUnknown_020322A0->unk_F0[a0] = species; + gUnknown_020322A0->tradeSpecies[a0] = species; gUnknown_020322A0->unk_68[a0] = personality; break; case 1: SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, unk); - gUnknown_020322A0->unk_8E[a0] = CreateSprite(&gMultiuseSpriteTemplate, 120, 60, 6); - gSprites[gUnknown_020322A0->unk_8E[a0]].invisible = TRUE; - gSprites[gUnknown_020322A0->unk_8E[a0]].callback = SpriteCallbackDummy; + gUnknown_020322A0->pokePicSpriteIdxs[a0] = CreateSprite(&gMultiuseSpriteTemplate, 120, 60, 6); + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[a0]].invisible = TRUE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[a0]].callback = SpriteCallbackDummy; break; } } @@ -3089,7 +3139,7 @@ void sub_807AE50(void) gMain.state++; gUnknown_020322A0->unk_8C = 0; gUnknown_020322A0->unk_94 = 0; - gUnknown_020322A0->unk_EE = 1; + gUnknown_020322A0->isLinkTrade = TRUE; gUnknown_020322A0->unk_D4 = 64; gUnknown_020322A0->unk_D6 = 64; gUnknown_020322A0->unk_D8 = 0; @@ -3237,9 +3287,10 @@ void sub_807B170(void) LoadCompressedPalette(gBattleTextboxPalette, 0, 0x20); } +// In-game trade init void sub_807B270(void) { - u8 name[12]; + u8 name[11]; switch (gMain.state) { @@ -3258,7 +3309,7 @@ void sub_807B270(void) FreeAllSpritePalettes(); SetVBlankCallback(sub_807AC24); sub_807B170(); - gUnknown_020322A0->unk_EE = 0; + gUnknown_020322A0->isLinkTrade = FALSE; gUnknown_020322A0->unk_8C = 0; gUnknown_020322A0->unk_94 = 0; gUnknown_020322A0->unk_D4 = 64; @@ -3322,14 +3373,12 @@ void sub_807B270(void) void sub_807B464(u8 a0) { - u16 species; - u32 personality; struct Pokemon *mon = &gPlayerParty[a0]; - + if (!GetMonData(mon, MON_DATA_IS_EGG)) { - species = GetMonData(mon, MON_DATA_SPECIES, NULL); - personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL); + u16 species = GetMonData(mon, MON_DATA_SPECIES, NULL); + u32 personality = GetMonData(mon, MON_DATA_PERSONALITY, NULL); species = SpeciesToNationalPokedexNum(species); GetSetPokedexFlag(species, FLAG_SET_SEEN); HandleSetPokedexFlag(species, FLAG_SET_CAUGHT, personality); @@ -3338,7 +3387,10 @@ void sub_807B464(u8 a0) void sub_807B4C4(void) { - GetMultiplayerId(); + u8 mpId = GetMultiplayerId(); + // Originally in Ruby but commented out + /*if (gLinkPlayers[mpId ^ 1].lp_field_2 == 0x8000) + EnableNationalPokedex();*/ } void sub_807B4D0(u8 a0, u8 a1) @@ -3358,9 +3410,9 @@ void sub_807B4D0(u8 a0, u8 a1) ClearMailStruct(&gSaveBlock1Ptr->mail[mailId1]); } - memcpy(&gUnknown_020322A0->mon, mon1, sizeof(struct Pokemon)); - memcpy(mon1, mon2, sizeof(struct Pokemon)); - memcpy(mon2, &gUnknown_020322A0->mon, sizeof(struct Pokemon)); + gUnknown_020322A0->mon = *mon1; + *mon1 = *mon2; + *mon2 = gUnknown_020322A0->mon; friendship = 70; if (!GetMonData(mon1, MON_DATA_IS_EGG)) @@ -3407,14 +3459,13 @@ void sub_807B60C(void) UpdatePaletteFade(); } -// DmaCopy16Defvars in cases 4 and 6 tail merge, when they shouldn't void sub_807B62C(u8 a0) { switch (a0) { case 0: - gUnknown_020322A0->unk_E4 = 0; - gUnknown_020322A0->unk_E6 = 180; + gUnknown_020322A0->bg2vofs = 0; + gUnknown_020322A0->bg2hofs = 180; SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG0_ON | @@ -3427,11 +3478,11 @@ void sub_807B62C(u8 a0) BGCNT_TXT512x256); LoadPalette(gTradeGba2_Pal, 16, 0x60); DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); - DmaCopy16(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); + DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); break; case 1: - gUnknown_020322A0->unk_E2 = 0; - gUnknown_020322A0->unk_E0 = 348; + gUnknown_020322A0->bg1hofs = 0; + gUnknown_020322A0->bg1vofs = 348; SetGpuReg(REG_OFFSET_BG1VOFS, 348); SetGpuReg(REG_OFFSET_BG1CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(0) | @@ -3460,8 +3511,8 @@ void sub_807B62C(u8 a0) DISPCNT_OBJ_ON); break; case 2: - gUnknown_020322A0->unk_E0 = 0; - gUnknown_020322A0->unk_E2 = 0; + gUnknown_020322A0->bg1vofs = 0; + gUnknown_020322A0->bg1hofs = 0; if (!gUnknown_020322A0->unk_FA) { SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | @@ -3485,7 +3536,7 @@ void sub_807B62C(u8 a0) LoadPalette(gUnknown_08337EA0, 48, 0x20); LZ77UnCompVram(gUnknown_08337EC0, (void *) BG_CHAR_ADDR(1)); LZ77UnCompVram(gUnknown_08338550, (void *) BG_SCREEN_ADDR(18)); - gUnknown_020322A0->unk_E4 = 80; + gUnknown_020322A0->bg2vofs = 80; SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | DISPCNT_OBJ_1D_MAP | DISPCNT_BG1_ON | @@ -3520,8 +3571,8 @@ void sub_807B62C(u8 a0) } break; case 5: - gUnknown_020322A0->unk_E0 = 0; - gUnknown_020322A0->unk_E2 = 0; + gUnknown_020322A0->bg1vofs = 0; + gUnknown_020322A0->bg1hofs = 0; break; case 6: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | @@ -3553,8 +3604,8 @@ void sub_807B62C(u8 a0) } break; case 7: - gUnknown_020322A0->unk_E4 = 0; - gUnknown_020322A0->unk_E6 = 0; + gUnknown_020322A0->bg2vofs = 0; + gUnknown_020322A0->bg2hofs = 0; SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BG2CNT, BGCNT_PRIORITY(2) | BGCNT_CHARBASE(1) | @@ -3563,7 +3614,551 @@ void sub_807B62C(u8 a0) BGCNT_TXT512x256); LoadPalette(gTradeGba2_Pal, 16, 0x60); DmaCopyLarge16(3, gTradeGba_Gfx, (void *) BG_CHAR_ADDR(1), 0x1420, 0x1000); - DmaCopy16(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); + DmaCopy16Defvars(3, gUnknown_08331F60, (void *) BG_SCREEN_ADDR(18), 0x1000); break; } } + +void sub_807BA94(void) +{ + LoadSpriteSheet(&gUnknown_08338D70); + LoadSpriteSheet(&gUnknown_08338DC0); + LoadSpriteSheet(&gUnknown_08338DF4); + LoadSpriteSheet(&gUnknown_08338E6C); + LoadSpritePalette(&gUnknown_08338D78); + LoadSpritePalette(&gUnknown_08338D80); +} + +void sub_807BAD8(void) +{ + /*Sets the variable strings printed on the + *actual trading screen. For use in strings + *like "[Pokemon] will be sent to [Trainer]." + */ + u8 mpId; + u8 name[20]; + const struct InGameTrade *ingameTrade; + + if (gUnknown_020322A0->isLinkTrade) + { + mpId = GetMultiplayerId(); + StringCopy(gStringVar1, gLinkPlayers[mpId ^ 1].name); + GetMonData(&gEnemyParty[gUnknown_02032298[1] % PARTY_SIZE], MON_DATA_NICKNAME, name); + StringCopy10(gStringVar3, name); + GetMonData(&gPlayerParty[gUnknown_02032298[0]], MON_DATA_NICKNAME, name); + StringCopy10(gStringVar2, name); + } + else + { + ingameTrade = &gIngameTrades[gSpecialVar_0x8004]; + StringCopy(gStringVar1, ingameTrade->otName); + StringCopy10(gStringVar3, ingameTrade->name); + GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, name); + StringCopy10(gStringVar2, name); + } +} + +u8 sub_807BBC8(void) +{ + if (gUnknown_020322A0->unk_FA) + { + return sub_807BBEC(); + } + else + { + return sub_807CFC8(); + } +} + +bool8 sub_807BBEC(void) +{ + u16 evoTarget; + + switch (gUnknown_020322A0->unk_94) + { + case 0: + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = -180; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[0]].y_offset; + gUnknown_020322A0->unk_94++; + gUnknown_020322A0->unk_F4 = GetCurrentMapMusic(); + PlayNewMapMusic(MUS_SHINKA); + break; + case 1: + if (gUnknown_020322A0->bg2hofs > 0) + { + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x += 3; + gUnknown_020322A0->bg2hofs -= 3; + } + else + { + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = 0; + gUnknown_020322A0->bg2hofs = 0; + gUnknown_020322A0->unk_94 = 10; + } + break; + case 10: + StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY); + sub_807F1A8(0, gStringVar4, 0); + + if (gUnknown_020322A0->tradeSpecies[0] != SPECIES_EGG) + { + PlayCry1(gUnknown_020322A0->tradeSpecies[0], 0); + } + + gUnknown_020322A0->unk_94 = 11; + gUnknown_020322A0->unk_64 = 0; + break; + case 11: + if (++gUnknown_020322A0->unk_64 == 80) + { + gUnknown_020322A0->unk_D2 = sub_807671C(gUnknown_020322A0->pokePicSpriteIdxs[0], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff); + gUnknown_020322A0->unk_94++; + StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1); + sub_807F1A8(0, gStringVar4, 0); + } + break; + case 12: + if (gSprites[gUnknown_020322A0->unk_D2].callback == SpriteCallbackDummy) + { + gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0); + gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E5D8; + DestroySprite(&gSprites[gUnknown_020322A0->unk_D2]); + gUnknown_020322A0->unk_94++; + } + break; + /*case 13: + // The game waits here for the sprite to finish its animation sequence. + break;*/ + case 14: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_020322A0->unk_94 = 20; + break; + + case 20: + if (!gPaletteFade.active) + { + sub_807B62C(4); + FillWindowPixelBuffer(0, 0xFF); + CopyWindowToVram(0, 3); + gUnknown_020322A0->unk_94++; + } + break; + case 21: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + gUnknown_020322A0->unk_94++; + break; + case 22: + if (!gPaletteFade.active) + { + gUnknown_020322A0->unk_94 = 23; + } + break; + case 23: + if (gUnknown_020322A0->unk_EA > 0x100) + { + gUnknown_020322A0->unk_EA -= 0x34; + } + else + { + sub_807B62C(1); + gUnknown_020322A0->unk_EA = 0x80; + gUnknown_020322A0->unk_94++; + gUnknown_020322A0->unk_64 = 0; + } + gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; + break; + case 24: + if (++gUnknown_020322A0->unk_64 > 20) + { + sub_807AB28(); + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); + gUnknown_020322A0->unk_94++; + } + break; + case 25: + if (gSprites[gUnknown_020322A0->unk_91].animEnded) + { + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | + BLDCNT_TGT2_BG1 | + BLDCNT_TGT2_BG2); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 4)); + gUnknown_020322A0->unk_94++; + } + break; + case 26: + if (--gUnknown_020322A0->bg1vofs == 316) + { + gUnknown_020322A0->unk_94++; + } + if (gUnknown_020322A0->bg1vofs == 328) + { + gUnknown_020322A0->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0); + } + break; + case 27: + gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 128, 80, 3); + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 128, 80, 0); + StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); + gUnknown_020322A0->unk_94++; + break; + case 28: + if ((gUnknown_020322A0->bg1vofs -= 2) == 166) + { + gUnknown_020322A0->unk_94 = 200; + } + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + break; + case 200: + gSprites[gUnknown_020322A0->unk_90].pos1.y -= 2; + gSprites[gUnknown_020322A0->unk_91].pos1.y -= 2; + if (gSprites[gUnknown_020322A0->unk_90].pos1.y < -8) + { + gUnknown_020322A0->unk_94 = 29; + } + break; + case 29: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + gUnknown_020322A0->unk_94 = 30; + break; + case 30: + if (!gPaletteFade.active) + { + DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + sub_807B62C(2); + gUnknown_020322A0->unk_94++; + } + break; + case 31: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + gUnknown_020322A0->unk_90 = CreateSprite(&gSpriteTemplate_8338DC8, 111, 170, 0); + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 129, -10, 0); + gUnknown_020322A0->unk_94++; + break; + case 32: + if (!gPaletteFade.active) + { + PlaySE(SE_TK_WARPOUT); + gUnknown_020322A0->unk_94++; + } + gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; + break; + case 33: + gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; + if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -90) + { + gSprites[gUnknown_020322A0->unk_90].data[1] = 1; + gSprites[gUnknown_020322A0->unk_91].data[1] = 1; + gUnknown_020322A0->unk_94++; + } + break; + case 34: + BlendPalettes(0x1, 16, RGB_WHITEALPHA); + gUnknown_020322A0->unk_94++; + break; + case 35: + BlendPalettes(0x1, 0, RGB_WHITEALPHA); + gUnknown_020322A0->unk_94++; + break; + case 36: + BlendPalettes(0x1, 16, RGB_WHITEALPHA); + gUnknown_020322A0->unk_94++; + break; + case 37: + if (!IsMonSpriteNotFlipped(gUnknown_020322A0->tradeSpecies[0])) + { + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].affineAnims = gSpriteAffineAnimTable_8338ECC; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.affineMode = 3; + CalcCenterToCornerVec(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0, 3, 3); + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); + } + else + { + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); + } + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.x = 60; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 180; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.y = 192; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = -32; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = FALSE; + gUnknown_020322A0->unk_94++; + break; + case 38: + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y -= 3; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y += 3; + if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -160 && gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y >= -163) + { + PlaySE(SE_TK_WARPIN); + } + if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -222) + { + gSprites[gUnknown_020322A0->unk_90].data[1] = 0; + gSprites[gUnknown_020322A0->unk_91].data[1] = 0; + gUnknown_020322A0->unk_94++; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = TRUE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = TRUE; + BlendPalettes(0x1, 0, RGB_WHITEALPHA); + } + break; + case 39: + gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; + if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -222) + { + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + gUnknown_020322A0->unk_94++; + DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + } + break; + case 40: + if (!gPaletteFade.active) + { + gUnknown_020322A0->unk_94++; + sub_807B62C(1); + gUnknown_020322A0->bg1vofs = 166; + gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 128, -20, 3); + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 128, -20, 0); + StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); + } + break; + case 41: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + gUnknown_020322A0->unk_94++; + break; + case 42: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + gUnknown_020322A0->unk_94++; + } + break; + case 43: + gSprites[gUnknown_020322A0->unk_90].pos2.y += 3; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; + if (gSprites[gUnknown_020322A0->unk_90].pos2.y + gSprites[gUnknown_020322A0->unk_90].pos1.y == 64) + { + gUnknown_020322A0->unk_94++; + } + break; + case 44: + if ((gUnknown_020322A0->bg1vofs += 2) > 316) + { + gUnknown_020322A0->bg1vofs = 316; + gUnknown_020322A0->unk_94++; + } + break; + case 45: + DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + gUnknown_020322A0->unk_94++; + gUnknown_020322A0->unk_64 = 0; + break; + case 46: + if (++gUnknown_020322A0->unk_64 == 10) + { + gUnknown_020322A0->unk_94++; + } + break; + case 47: + if (++gUnknown_020322A0->bg1vofs > 348) + { + gUnknown_020322A0->bg1vofs = 348; + gUnknown_020322A0->unk_94++; + } + if (gUnknown_020322A0->bg1vofs == 328 && gUnknown_020322A0->unk_FA) + { + gUnknown_020322A0->unk_92 = CreateSprite(&gSpriteTemplate_8338DFC, 128, 65, 0); + gSprites[gUnknown_020322A0->unk_92].callback = sub_807AAE0; + } + break; + case 48: + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); + gUnknown_020322A0->unk_94 = 50; + break; + case 50: + if (gSprites[gUnknown_020322A0->unk_91].animEnded) + { + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + sub_807B62C(6); + gUnknown_020322A0->unk_94++; + PlaySE(SE_W028); + } + break; + case 51: + if (gUnknown_020322A0->unk_EA < 0x400) + { + gUnknown_020322A0->unk_EA += 0x34; + } + else + { + gUnknown_020322A0->unk_EA = 0x400; + gUnknown_020322A0->unk_94++; + } + gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; + break; + case 52: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_020322A0->unk_94 = 60; + break; + + case 60: + if (!gPaletteFade.active) + { + sub_807B62C(5); + sub_807B62C(7); + gPaletteFade.bufferTransferDisabled = TRUE; + gUnknown_020322A0->unk_94++; + } + break; + case 61: + gPaletteFade.bufferTransferDisabled = FALSE; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + gUnknown_020322A0->unk_94++; + break; + case 62: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + gUnknown_020322A0->unk_94++; + } + break; + case 63: + gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0); + gSprites[gUnknown_020322A0->unk_D3].data[3] = 74; + gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E6AC; + StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_D3], 1); + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->unk_D3], 2); + BlendPalettes(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA); + gUnknown_020322A0->unk_94++; + gUnknown_020322A0->unk_64 = 0; + break; + case 64: + BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA); + gUnknown_020322A0->unk_94++; + break; + case 65: + if (gSprites[gUnknown_020322A0->unk_D3].callback == SpriteCallbackDummy) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[gUnknown_020322A0->tradeSpecies[1]], gMonSpritesGfxPtr->sprites[3], gUnknown_020322A0->tradeSpecies[1], gUnknown_020322A0->unk_68[1]); + gUnknown_020322A0->unk_94++; + } + break; + case 66: + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 120; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[1]].y_offset + 60; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.x = 0; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y = 0; + StartSpriteAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); + CreatePokeballSpriteToReleaseMon(gUnknown_020322A0->pokePicSpriteIdxs[1], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, gUnknown_020322A0->tradeSpecies[1]); + FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->unk_D3]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_D3]); + gUnknown_020322A0->unk_94++; + break; + case 67: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG0_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + StringExpandPlaceholders(gStringVar4, gText_XSentOverY); + sub_807F1A8(0, gStringVar4, 0); + gUnknown_020322A0->unk_94 = 167; + gUnknown_020322A0->unk_64 = 0; + break; + // 167 and 267 are extra cases added in for animations + case 167: + if (++gUnknown_020322A0->unk_64 > 60) + { + gUnknown_020322A0->unk_94 = 267; + gUnknown_020322A0->unk_64 = 0; + } + break; + case 267: + if (IsCryFinished()) + { + gUnknown_020322A0->unk_94 = 68; + } + break; + case 68: + if (++gUnknown_020322A0->unk_64 == 10) + { + PlayFanfare(MUS_FANFA5); + } + if (gUnknown_020322A0->unk_64 == 250) + { + gUnknown_020322A0->unk_94++; + StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX); + sub_807F1A8(0, gStringVar4, 0); + gUnknown_020322A0->unk_64 = 0; + } + break; + case 69: + if (++gUnknown_020322A0->unk_64 == 60) + { + gUnknown_020322A0->unk_94++; + } + break; + case 70: + sub_807F14C(); + gUnknown_020322A0->unk_94++; + break; + case 71: + if (gUnknown_020322A0->isLinkTrade) + { + return TRUE; + } + else if (gMain.newKeys & A_BUTTON) + { + gUnknown_020322A0->unk_94++; + } + break; + case 72: // Only if in-game trade + sub_807B4D0(gSpecialVar_0x8005, 0); + gCB2_AfterEvolution = sub_807B60C; + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE); + if (evoTarget != SPECIES_NONE) + { + TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]); + } + gUnknown_020322A0->unk_94++; + break; + case 73: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_020322A0->unk_94++; + break; + case 74: + if (!gPaletteFade.active) + { + PlayNewMapMusic(gUnknown_020322A0->unk_F4); + if (gUnknown_020322A0) + { + FreeAllWindowBuffers(); + Free(GetBgTilemapBuffer(3)); + Free(GetBgTilemapBuffer(1)); + Free(GetBgTilemapBuffer(0)); + FreeMonSpritesGfx(); + FREE_AND_SET_NULL(gUnknown_020322A0); + } + SetMainCallback2(CB2_ReturnToField); + sub_807E784(); + } + break; + } + return FALSE; +} From 6d556f8cf77a21b20cdad75de69eaf61a59cf54e Mon Sep 17 00:00:00 2001 From: Melody Date: Mon, 24 Dec 2018 21:22:56 -0500 Subject: [PATCH 20/53] improve checkplayergender calls clean up constant definitions make tweaks from review --- asm/trade.s | 4 +- constants/constants.inc | 2 +- constants/{misc_constants.inc => global.inc} | 3 - data/event_scripts.s | 13 +-- .../scripts.inc | 4 +- .../scripts.inc | 4 +- .../scripts.inc | 4 +- .../scripts.inc | 4 +- .../EverGrandeCity_ChampionsRoom/scripts.inc | 12 +-- .../EverGrandeCity_HallOfFame/scripts.inc | 4 +- .../scripts.inc | 4 +- data/maps/InsideOfTruck/scripts.inc | 4 +- data/maps/LavaridgeTown/scripts.inc | 8 +- data/maps/LilycoveCity/scripts.inc | 4 +- data/maps/LittlerootTown/scripts.inc | 32 +++---- .../scripts.inc | 4 +- .../LittlerootTown_MaysHouse_2F/scripts.inc | 12 +-- .../scripts.inc | 24 ++--- .../MossdeepCity_SpaceCenter_2F/scripts.inc | 4 +- data/maps/OldaleTown/scripts.inc | 4 +- data/maps/Route101/scripts.inc | 4 +- data/maps/Route103/scripts.inc | 4 +- data/maps/Route104/scripts.inc | 8 +- data/maps/Route110/scripts.inc | 8 +- data/maps/Route111/scripts.inc | 4 +- data/maps/Route119/scripts.inc | 8 +- data/maps/RustboroCity/scripts.inc | 8 +- .../scripts.inc | 4 +- data/maps/SouthernIsland_Interior/scripts.inc | 4 +- data/maps/UnknownMap_25_34/scripts.inc | 4 +- .../scripts.inc | 4 +- data/scripts/players_house.inc | 8 +- include/constants/global.h | 77 +++++++++++++++ include/data2.h | 2 - include/global.h | 95 +------------------ 35 files changed, 188 insertions(+), 208 deletions(-) rename constants/{misc_constants.inc => global.inc} (93%) create mode 100644 include/constants/global.h diff --git a/asm/trade.s b/asm/trade.s index eb2d22b066..b833240dd7 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -1,6 +1,6 @@ .include "asm/macros.inc" .include "constants/gba_constants.inc" - .include "constants/misc_constants.inc" + .include "constants/global.inc" .syntax unified @@ -2399,7 +2399,7 @@ _08078726: bne _08078766 adds r0, r4, 0 movs r1, 0x2 - ldr r2, =gSpeciesNames + 303 * POKEMON_NAME_LENGTH @ SPECIES_SHEDINJA + ldr r2, =gSpeciesNames + 303 * 11 @ SPECIES_SHEDINJA * POKEMON_NAME_LENGTH + 1 bl SetMonData _08078766: adds r4, 0x64 diff --git a/constants/constants.inc b/constants/constants.inc index 38887dd28d..7c74c8e87c 100644 --- a/constants/constants.inc +++ b/constants/constants.inc @@ -1,5 +1,5 @@ .include "constants/gba_constants.inc" - .include "constants/misc_constants.inc" + .include "constants/global.inc" .include "constants/contest_constants.inc" .include "constants/pokemon_data_constants.inc" .include "constants/berry_constants.inc" diff --git a/constants/misc_constants.inc b/constants/global.inc similarity index 93% rename from constants/misc_constants.inc rename to constants/global.inc index 5fa58cfe84..621ba2af89 100644 --- a/constants/misc_constants.inc +++ b/constants/global.inc @@ -3,9 +3,6 @@ .set NULL, 0 - .set POKEMON_NAME_LENGTH, 11 - .set MOVE_NAME_LENGTH, 13 - .set SPRITE_SIZE_8x8, (OAM_SIZE_0 >> 28) | (OAM_SQUARE >> 14) .set SPRITE_SIZE_16x16, (OAM_SIZE_1 >> 28) | (OAM_SQUARE >> 14) .set SPRITE_SIZE_32x32, (OAM_SIZE_2 >> 28) | (OAM_SQUARE >> 14) diff --git a/data/event_scripts.s b/data/event_scripts.s index 92b0d504d4..6a3a2f2f62 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -1,3 +1,4 @@ +#include "constants/global.h" #include "constants/battle_frontier.h" #include "constants/battle_setup.h" #include "constants/event_objects.h" @@ -1792,9 +1793,9 @@ Route110_EventScript_271ED7:: @ 8271ED7 Route119_EventScript_271ED7:: @ 8271ED7 RustboroCity_EventScript_271ED7:: @ 8271ED7 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq RustboroCity_EventScript_271EEF - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq RustboroCity_EventScript_271EF5 end @@ -1810,9 +1811,9 @@ LavaridgeTown_EventScript_271EFB:: @ 8271EFB Route110_EventScript_271EFB:: @ 8271EFB Route119_EventScript_271EFB:: @ 8271EFB checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq LavaridgeTown_EventScript_271F13 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq LavaridgeTown_EventScript_271F19 end @@ -1826,9 +1827,9 @@ LavaridgeTown_EventScript_271F19:: @ 8271F19 EventScript_271F1F:: @ 8271F1F checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq EventScript_271F37 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq EventScript_271F3D end diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc index c6f06631c1..cec596b2da 100644 --- a/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/scripts.inc @@ -17,9 +17,9 @@ BattleFrontier_BattleArenaBattleRoom_MapScript1_2574A0: @ 82574A0 BattleFrontier_BattleArenaBattleRoom_EventScript_2574AE:: @ 82574AE checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574C6 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq BattleFrontier_BattleArenaBattleRoom_EventScript_2574CC return diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc index ab0736581e..d92c6cbf41 100644 --- a/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/scripts.inc @@ -20,9 +20,9 @@ BattleFrontier_BattleDomeBattleRoom_MapScript1_24BCB1: @ 824BCB1 BattleFrontier_BattleArenaBattleRoom_EventScript_24BCDC:: @ 824BCDC BattleFrontier_BattleDomeBattleRoom_EventScript_24BCDC:: @ 824BCDC checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCF4 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq BattleFrontier_BattleDomeBattleRoom_EventScript_24BCFA return diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc index 794dd9d1e3..8c22a9bc97 100644 --- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/scripts.inc @@ -8,9 +8,9 @@ BattleFrontier_BattleFactoryBattleRoom_MapScript1_25ADBB: @ 825ADBB setvar VAR_0x8004, 5 special CallFrontierUtilFunc checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE25 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq BattleFrontier_BattleFactoryBattleRoom_EventScript_25AE2B setvar VAR_0x8004, 9 special CallFrontierUtilFunc diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc index c09c9e61c7..529bcd0c33 100644 --- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/scripts.inc @@ -12,9 +12,9 @@ BattleFrontier_BattlePalaceBattleRoom_MapScript1_24F825: @ 824F825 BattleFrontier_BattlePalaceBattleRoom_EventScript_24F833:: @ 824F833 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F84B - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq BattleFrontier_BattlePalaceBattleRoom_EventScript_24F856 return diff --git a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc index 8da9ae7125..149c54cd8b 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc +++ b/data/maps/EverGrandeCity_ChampionsRoom/scripts.inc @@ -53,16 +53,16 @@ EverGrandeCity_ChampionsRoom_EventScript_228A61:: @ 8228A61 closemessage playse SE_DOOR checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228ABC - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AC1 addobject 2 call EverGrandeCity_ChampionsRoom_EventScript_228BFD checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AC6 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq EverGrandeCity_ChampionsRoom_EventScript_228AFB end @@ -128,9 +128,9 @@ EverGrandeCity_ChampionsRoom_EventScript_228B30:: @ 8228B30 waitmovement 0 msgbox EverGrandeCity_ChampionsRoom_Text_2293EB, MSGBOX_DEFAULT checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228BEB - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq EverGrandeCity_ChampionsRoom_EventScript_228BF4 closemessage applymovement 1, EverGrandeCity_ChampionsRoom_Movement_228C3F diff --git a/data/maps/EverGrandeCity_HallOfFame/scripts.inc b/data/maps/EverGrandeCity_HallOfFame/scripts.inc index 9b9bdb5d61..ddb9ade89d 100644 --- a/data/maps/EverGrandeCity_HallOfFame/scripts.inc +++ b/data/maps/EverGrandeCity_HallOfFame/scripts.inc @@ -44,9 +44,9 @@ EverGrandeCity_HallOfFame_EventScript_229850:: @ 8229850 setvar VAR_TEMP_1, 1 call EverGrandeCity_HallOfFame_EventScript_2717C1 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq EverGrandeCity_HallOfFame_EventScript_2298E9 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq EverGrandeCity_HallOfFame_EventScript_2298F5 end diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc index a7bf0ae62f..dff1d26e02 100644 --- a/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc +++ b/data/maps/FallarborTown_BattleTentBattleRoom/scripts.inc @@ -10,9 +10,9 @@ FallarborTown_BattleTentBattleRoom_MapScript1_2008A9: @ 82008A9 FallarborTown_BattleTentBattleRoom_EventScript_2008AF:: @ 82008AF checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2008C7 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq FallarborTown_BattleTentBattleRoom_EventScript_2008D2 return diff --git a/data/maps/InsideOfTruck/scripts.inc b/data/maps/InsideOfTruck/scripts.inc index 53bdc073ac..858975d7af 100644 --- a/data/maps/InsideOfTruck/scripts.inc +++ b/data/maps/InsideOfTruck/scripts.inc @@ -17,9 +17,9 @@ InsideOfTruck_EventScript_23BF04:: @ 823BF04 lockall setflag FLAG_SPECIAL_FLAG_0x4000 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq InsideOfTruck_EventScript_23BF20 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq InsideOfTruck_EventScript_23BF46 end diff --git a/data/maps/LavaridgeTown/scripts.inc b/data/maps/LavaridgeTown/scripts.inc index f210a9d114..8d7ab36db5 100644 --- a/data/maps/LavaridgeTown/scripts.inc +++ b/data/maps/LavaridgeTown/scripts.inc @@ -53,18 +53,18 @@ LavaridgeTown_EventScript_1EA551:: @ 81EA551 call_if_ne LavaridgeTown_EventScript_1EA65C delay 20 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LavaridgeTown_EventScript_1EA630 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LavaridgeTown_EventScript_1EA635 compare VAR_0x8008, 9 call_if_eq LavaridgeTown_EventScript_1EA6A1 compare VAR_0x8008, 9 call_if_ne LavaridgeTown_EventScript_1EA6AC checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq LavaridgeTown_EventScript_1EA5B5 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq LavaridgeTown_EventScript_1EA5DA end diff --git a/data/maps/LilycoveCity/scripts.inc b/data/maps/LilycoveCity/scripts.inc index 515754f8c7..20baacc898 100644 --- a/data/maps/LilycoveCity/scripts.inc +++ b/data/maps/LilycoveCity/scripts.inc @@ -231,9 +231,9 @@ LilycoveCity_EventScript_1E2DDE:: @ 81E2DDE lock faceplayer checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq LilycoveCity_EventScript_1E2DF8 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq LilycoveCity_EventScript_1E2E6B end diff --git a/data/maps/LittlerootTown/scripts.inc b/data/maps/LittlerootTown/scripts.inc index 9f589d2e4b..c0147fedd8 100644 --- a/data/maps/LittlerootTown/scripts.inc +++ b/data/maps/LittlerootTown/scripts.inc @@ -68,9 +68,9 @@ LittlerootTown_EventScript_1E7E92:: @ 81E7E92 clearflag FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE setobjectmovementtype 4, 8 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_EventScript_1E7EB1 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_EventScript_1E7EB9 return @@ -381,9 +381,9 @@ LittlerootTown_EventScript_1E815A:: @ 81E815A LittlerootTown_EventScript_1E8163:: @ 81E8163 lockall checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_EventScript_1E817D - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_EventScript_1E8186 releaseall end @@ -399,9 +399,9 @@ LittlerootTown_EventScript_1E8186:: @ 81E8186 LittlerootTown_EventScript_1E818F:: @ 81E818F lockall checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_EventScript_1E81A9 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_EventScript_1E81B2 releaseall end @@ -454,27 +454,27 @@ LittlerootTown_EventScript_1E8205:: @ 81E8205 LittlerootTown_EventScript_1E8211:: @ 81E8211 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_EventScript_1E8297 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_EventScript_1E82A2 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_EventScript_1E8281 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_EventScript_1E828C msgbox LittlerootTown_Text_1E87E1, MSGBOX_DEFAULT closemessage checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_EventScript_1E82AD - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_EventScript_1E82F0 call LittlerootTown_EventScript_1E8693 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_EventScript_1E8405 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_EventScript_1E8448 goto LittlerootTown_EventScript_1E8686 end @@ -889,9 +889,9 @@ LittlerootTown_EventScript_1E863D:: @ 81E863D lock faceplayer checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_EventScript_1E8281 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_EventScript_1E828C call LittlerootTown_EventScript_1E8693 applymovement 4, LittlerootTown_Movement_2725A6 diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc index 096f35c1e2..1093e5277a 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_BrendansHouse_2F/scripts.inc @@ -247,9 +247,9 @@ LittlerootTown_BrendansHouse_2F_Movement_1F8609: @ 81F8609 EventScript_PlayerPCMale:: @ 81F860D lockall checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F8626 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F864C end diff --git a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc index e0cb7dfe70..4d6661ad77 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc +++ b/data/maps/LittlerootTown_MaysHouse_2F/scripts.inc @@ -251,9 +251,9 @@ LittlerootTown_MaysHouse_2F_EventScript_1F94C1:: @ 81F94C1 lockall goto_if_set FLAG_0x124, LittlerootTown_BrendansHouse_2F_EventScript_1F94F7 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94E3 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F94ED end @@ -271,9 +271,9 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F94F7:: @ 81F94F7 applymovement VAR_LAST_TALKED, LittlerootTown_BrendansHouse_2F_Movement_27259E waitmovement 0 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F951D - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_1F952F setflag FLAG_0x125 releaseall @@ -300,9 +300,9 @@ LittlerootTown_BrendansHouse_2F_EventScript_1F954A:: @ 81F954A EventScript_PlayerPCFemale:: @ 81F9553 lockall checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F956C - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq LittlerootTown_MaysHouse_2F_EventScript_1F9576 end diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc index 3534047ae7..b5dc7d060a 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/scripts.inc @@ -171,9 +171,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1F9E80:: @ 81F9E80 applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_2725A4 waitmovement 0 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9F32 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1F9F3C playse SE_PC_ON waitse @@ -533,9 +533,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA2F8:: @ 81FA2F8 applymovement EVENT_OBJ_ID_PLAYER, LittlerootTown_ProfessorBirchsLab_Movement_2725A8 waitmovement 0 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA352 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA37F setvar VAR_0x4084, 5 setflag FLAG_0x074 @@ -605,9 +605,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC:: @ 81FA3EC compare VAR_0x40D3, 2 goto_if_ge LittlerootTown_ProfessorBirchsLab_EventScript_1FA490 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA428 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA431 release end @@ -622,9 +622,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA431:: @ 81FA431 LittlerootTown_ProfessorBirchsLab_EventScript_1FA43A:: @ 81FA43A checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA453 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C release end @@ -639,9 +639,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA45C:: @ 81FA45C LittlerootTown_ProfessorBirchsLab_EventScript_1FA465:: @ 81FA465 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA47E - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA487 release end @@ -656,9 +656,9 @@ LittlerootTown_ProfessorBirchsLab_EventScript_1FA487:: @ 81FA487 LittlerootTown_ProfessorBirchsLab_EventScript_1FA490:: @ 81FA490 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA4A9 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_ProfessorBirchsLab_EventScript_1FA4B2 release end diff --git a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc index c4b106589e..e55bc07f7f 100644 --- a/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc +++ b/data/maps/MossdeepCity_SpaceCenter_2F/scripts.inc @@ -349,9 +349,9 @@ MossdeepCity_SpaceCenter_2F_EventScript_224166:: @ 8224166 MossdeepCity_SpaceCenter_2F_EventScript_224175:: @ 8224175 lockall checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_224193 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq MossdeepCity_SpaceCenter_2F_EventScript_22419A closemessage clearflag FLAG_0x075 diff --git a/data/maps/OldaleTown/scripts.inc b/data/maps/OldaleTown/scripts.inc index 96863ceed3..a246adc4ff 100644 --- a/data/maps/OldaleTown/scripts.inc +++ b/data/maps/OldaleTown/scripts.inc @@ -255,9 +255,9 @@ OldaleTown_EventScript_1E90C6:: @ 81E90C6 OldaleTown_EventScript_1E90E6:: @ 81E90E6 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq OldaleTown_EventScript_1E90FE - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq OldaleTown_EventScript_1E910C end diff --git a/data/maps/Route101/scripts.inc b/data/maps/Route101/scripts.inc index deea27e74c..e7f5f0af6b 100644 --- a/data/maps/Route101/scripts.inc +++ b/data/maps/Route101/scripts.inc @@ -238,9 +238,9 @@ Route101_EventScript_1EBE16:: @ 81EBE16 setvar VAR_0x4060, 3 clearflag FLAG_SPECIAL_FLAG_0x4000 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq Route101_EventScript_1EBE85 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq Route101_EventScript_1EBE89 warp MAP_LITTLEROOT_TOWN_PROFESSOR_BIRCHS_LAB, 255, 6, 5 waitstate diff --git a/data/maps/Route103/scripts.inc b/data/maps/Route103/scripts.inc index 6b793286ed..463db7b495 100644 --- a/data/maps/Route103/scripts.inc +++ b/data/maps/Route103/scripts.inc @@ -20,9 +20,9 @@ Route103_EventScript_1EC3AE:: @ 81EC3AE Route103_EventScript_1EC3C1:: @ 81EC3C1 lockall checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq Route103_EventScript_1EC3DA - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq Route103_EventScript_1EC434 end diff --git a/data/maps/Route104/scripts.inc b/data/maps/Route104/scripts.inc index 2dfb42d749..1b3adf2a24 100644 --- a/data/maps/Route104/scripts.inc +++ b/data/maps/Route104/scripts.inc @@ -72,9 +72,9 @@ Route104_EventScript_1ECCB3:: @ 81ECCB3 Route104_EventScript_1ECD11:: @ 81ECD11 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq Route104_EventScript_1ECD29 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq Route104_EventScript_1ECD2E return @@ -88,9 +88,9 @@ Route104_EventScript_1ECD2E:: @ 81ECD2E Route104_EventScript_1ECD33:: @ 81ECD33 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq Route104_EventScript_1ECD4B - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq Route104_EventScript_1ECE6F end diff --git a/data/maps/Route110/scripts.inc b/data/maps/Route110/scripts.inc index ba7bced217..4e96a592c8 100644 --- a/data/maps/Route110/scripts.inc +++ b/data/maps/Route110/scripts.inc @@ -379,9 +379,9 @@ Route110_EventScript_1EF763:: @ 81EF763 Route110_EventScript_1EF76E:: @ 81EF76E lockall checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq Route110_EventScript_1EF7E1 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq Route110_EventScript_1EF7E6 applymovement 28, Route110_Movement_2725AA waitmovement 0 @@ -397,9 +397,9 @@ Route110_EventScript_1EF76E:: @ 81EF76E compare VAR_0x8008, 3 call_if_eq Route110_EventScript_1EF964 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq Route110_EventScript_1EF7EB - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq Route110_EventScript_1EF865 releaseall end diff --git a/data/maps/Route111/scripts.inc b/data/maps/Route111/scripts.inc index 6b8763fd70..ad6a165720 100644 --- a/data/maps/Route111/scripts.inc +++ b/data/maps/Route111/scripts.inc @@ -53,9 +53,9 @@ Route111_MapScript1_1F0D87: @ 81F0D87 Route111_EventScript_1F0DC2:: @ 81F0DC2 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq Route111_EventScript_1F0DDA - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq Route111_EventScript_1F0DE0 return diff --git a/data/maps/Route119/scripts.inc b/data/maps/Route119/scripts.inc index 229db6da53..978067ddf6 100644 --- a/data/maps/Route119/scripts.inc +++ b/data/maps/Route119/scripts.inc @@ -42,9 +42,9 @@ Route119_EventScript_1F4488:: @ 81F4488 lockall addobject 25 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq Route119_EventScript_1F4501 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq Route119_EventScript_1F4506 delay 65 compare VAR_TEMP_1, 1 @@ -62,9 +62,9 @@ Route119_EventScript_1F4488:: @ 81F4488 addobject 16 delay 30 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq Route119_EventScript_1F450B - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq Route119_EventScript_1F4585 releaseall end diff --git a/data/maps/RustboroCity/scripts.inc b/data/maps/RustboroCity/scripts.inc index 941f731614..345faa51ca 100644 --- a/data/maps/RustboroCity/scripts.inc +++ b/data/maps/RustboroCity/scripts.inc @@ -677,9 +677,9 @@ RustboroCity_EventScript_1E0DB8:: @ 81E0DB8 Route104_EventScript_1E0DD1:: @ 81E0DD1 RustboroCity_EventScript_1E0DD1:: @ 81E0DD1 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq RustboroCity_EventScript_1E0DE9 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq RustboroCity_EventScript_1E0DEE return @@ -821,9 +821,9 @@ RustboroCity_EventScript_1E0FB3:: @ 81E0FB3 RustboroCity_EventScript_1E0FF3:: @ 81E0FF3 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq RustboroCity_EventScript_1E100B - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq RustboroCity_EventScript_1E1114 end diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc index 74c64d0f2b..9df0e0a6a5 100644 --- a/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc +++ b/data/maps/SlateportCity_BattleTentBattleRoom/scripts.inc @@ -10,9 +10,9 @@ SlateportCity_BattleTentBattleRoom_MapScript1_209970: @ 8209970 SlateportCity_BattleTentBattleRoom_EventScript_209976:: @ 8209976 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_20998E - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq SlateportCity_BattleTentBattleRoom_EventScript_209994 return diff --git a/data/maps/SouthernIsland_Interior/scripts.inc b/data/maps/SouthernIsland_Interior/scripts.inc index 13b38c835e..31675c9054 100644 --- a/data/maps/SouthernIsland_Interior/scripts.inc +++ b/data/maps/SouthernIsland_Interior/scripts.inc @@ -34,9 +34,9 @@ SouthernIsland_Interior_EventScript_242A95:: @ 8242A95 SouthernIsland_Interior_EventScript_242AA0:: @ 8242AA0 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq SouthernIsland_Interior_EventScript_242AB8 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq SouthernIsland_Interior_EventScript_242ABE end diff --git a/data/maps/UnknownMap_25_34/scripts.inc b/data/maps/UnknownMap_25_34/scripts.inc index efb82a9075..fe88972dfe 100644 --- a/data/maps/UnknownMap_25_34/scripts.inc +++ b/data/maps/UnknownMap_25_34/scripts.inc @@ -442,9 +442,9 @@ LinkContestRoom1_EventScript_23BEAC:: @ 823BEAC LilycoveCity_ContestLobby_EventScript_23BEB6:: @ 823BEB6 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq LilycoveCity_ContestLobby_EventScript_23BECE - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq LilycoveCity_ContestLobby_EventScript_23BED4 return diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc index e6a61184ee..52aed76181 100644 --- a/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc +++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/scripts.inc @@ -10,9 +10,9 @@ VerdanturfTown_BattleTentBattleRoom_MapScript1_20230A: @ 820230A VerdanturfTown_BattleTentBattleRoom_EventScript_202310:: @ 8202310 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202328 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE goto_if_eq VerdanturfTown_BattleTentBattleRoom_EventScript_202333 return diff --git a/data/scripts/players_house.inc b/data/scripts/players_house.inc index f9c6cf24ea..166134abf9 100644 --- a/data/scripts/players_house.inc +++ b/data/scripts/players_house.inc @@ -68,9 +68,9 @@ LittlerootTown_MaysHouse_2F_EventScript_292799:: @ 8292799 setflag FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_1 setflag FLAG_HIDE_LITTLEROOT_TOWN_PLAYERS_HOUSE_VIGOROTH_2 checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_2927DF - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_BrendansHouse_2F_EventScript_29280F playse SE_KAIDAN removeobject VAR_0x8008 @@ -438,9 +438,9 @@ LittlerootTown_BrendansHouse_1F_EventScript_292AF2:: @ 8292AF2 LittlerootTown_MaysHouse_1F_EventScript_292AF2:: @ 8292AF2 lockall checkplayergender - compare VAR_RESULT, 0 + compare VAR_RESULT, MALE call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292C76 - compare VAR_RESULT, 1 + compare VAR_RESULT, FEMALE call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292C86 compare VAR_0x8008, 0 call_if_eq LittlerootTown_BrendansHouse_1F_EventScript_292D08 diff --git a/include/constants/global.h b/include/constants/global.h new file mode 100644 index 0000000000..ff28d6a4bf --- /dev/null +++ b/include/constants/global.h @@ -0,0 +1,77 @@ +#ifndef GUARD_CONSTANTS_GLOBAL_H +#define GUARD_CONSTANTS_GLOBAL_H +// Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. +// In Gens 6 and 7, invalid versions instead show "a distant land" in the summary screen. +// In Gen 4 only, migrated Pokemon with Diamond, Pearl, or Platinum's ID show as "----------". +// Gen 5 and up read Diamond, Pearl, or Platinum's ID as "Sinnoh". +// In Gen 4 and up, migrated Pokemon with HeartGold or SoulSilver's ID show the otherwise unused "Johto" string. +#define VERSION_SAPPHIRE 1 +#define VERSION_RUBY 2 +#define VERSION_EMERALD 3 +#define VERSION_FIRE_RED 4 +#define VERSION_LEAF_GREEN 5 +#define VERSION_HEART_GOLD 7 +#define VERSION_SOUL_SILVER 8 +#define VERSION_DIAMOND 10 +#define VERSION_PEARL 11 +#define VERSION_PLATINUM 12 +#define VERSION_GAMECUBE 15 + +#define LANGUAGE_JAPANESE 1 +#define LANGUAGE_ENGLISH 2 +#define LANGUAGE_FRENCH 3 +#define LANGUAGE_ITALIAN 4 +#define LANGUAGE_GERMAN 5 +#define LANGUAGE_KOREAN 6 // 6 goes unused but the theory is it was meant to be Korean +#define LANGUAGE_SPANISH 7 + +#define GAME_VERSION (VERSION_EMERALD) +#define GAME_LANGUAGE (LANGUAGE_ENGLISH) + +// capacities of various saveblock objects +#define DAYCARE_MON_COUNT 2 +#define POKEBLOCKS_COUNT 40 +#define EVENT_OBJECTS_COUNT 16 +#define BERRY_TREES_COUNT 128 +#define FLAGS_COUNT 300 +#define VARS_COUNT 256 +#define MAIL_COUNT 16 +#define SECRET_BASES_COUNT 20 +#define TV_SHOWS_COUNT 25 +#define POKE_NEWS_COUNT 16 +#define PC_ITEMS_COUNT 50 +#define BAG_ITEMS_COUNT 30 +#define BAG_KEYITEMS_COUNT 30 +#define BAG_POKEBALLS_COUNT 16 +#define BAG_TMHM_COUNT 64 +#define BAG_BERRIES_COUNT 46 +#define EVENT_OBJECT_TEMPLATES_COUNT 64 + +#define PYRAMID_BAG_ITEMS_COUNT 10 +#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode. + +// string lengths +#define ITEM_NAME_LENGTH 14 +#define POKEMON_NAME_LENGTH 10 +#define PLAYER_NAME_LENGTH 7 +#define MAIL_WORDS_COUNT 9 +#define MOVE_NAME_LENGTH 12 + +#define MALE 0 +#define FEMALE 1 + +#define OPTIONS_BUTTON_MODE_NORMAL 0 +#define OPTIONS_BUTTON_MODE_LR 1 +#define OPTIONS_BUTTON_MODE_L_EQUALS_A 2 + +#define OPTIONS_TEXT_SPEED_SLOW 0 +#define OPTIONS_TEXT_SPEED_MID 1 +#define OPTIONS_TEXT_SPEED_FAST 2 + +#define OPTIONS_SOUND_MONO 0 +#define OPTIONS_SOUND_STEREO 1 + +#define OPTIONS_BATTLE_STYLE_SHIFT 0 +#define OPTIONS_BATTLE_STYLE_SET 1 + +#endif // GUARD_CONSTANTS_GLOBAL_H diff --git a/include/data2.h b/include/data2.h index 268dc9ac84..37ce5bf20d 100644 --- a/include/data2.h +++ b/include/data2.h @@ -1,8 +1,6 @@ #ifndef GUARD_DATA2_H #define GUARD_DATA2_H -#define MOVE_NAME_LENGTH 12 - struct MonCoords { // This would use a bitfield, but some function diff --git a/include/global.h b/include/global.h index 4656f3968f..c11bddc2dc 100644 --- a/include/global.h +++ b/include/global.h @@ -4,6 +4,7 @@ #include #include "config.h" // we need to define config before gba headers as print stuff needs the functions nulled before defines. #include "gba/gba.h" +#include "constants/global.h" // Prevent cross-jump optimization. #define BLOCK_CROSS_JUMP asm(""); @@ -93,100 +94,6 @@ f; \ }) -// Invalid Versions show as "----------" in Gen 4 and Gen 5's summary screen. -// In Gens 6 and 7, invalid versions instead show "a distant land" in the summary screen. -// In Gen 4 only, migrated Pokemon with Diamond, Pearl, or Platinum's ID show as "----------". -// Gen 5 and up read Diamond, Pearl, or Platinum's ID as "Sinnoh". -// In Gen 4 and up, migrated Pokemon with HeartGold or SoulSilver's ID show the otherwise unused "Johto" string. -enum -{ - VERSION_SAPPHIRE = 1, - VERSION_RUBY = 2, - VERSION_EMERALD = 3, - VERSION_FIRE_RED = 4, - VERSION_LEAF_GREEN = 5, - VERSION_HEART_GOLD = 7, - VERSION_SOUL_SILVER = 8, - VERSION_DIAMOND = 10, - VERSION_PEARL = 11, - VERSION_PLATINUM = 12, - VERSION_GAMECUBE = 15, -}; - -enum LanguageId -{ - LANGUAGE_JAPANESE = 1, - LANGUAGE_ENGLISH = 2, - LANGUAGE_FRENCH = 3, - LANGUAGE_ITALIAN = 4, - LANGUAGE_GERMAN = 5, - // 6 goes unused but the theory is it was meant to be Korean - LANGUAGE_SPANISH = 7, -}; - -#define GAME_VERSION (VERSION_EMERALD) -#define GAME_LANGUAGE (LANGUAGE_ENGLISH) - -// capacities of various saveblock objects -#define DAYCARE_MON_COUNT 2 -#define POKEBLOCKS_COUNT 40 -#define EVENT_OBJECTS_COUNT 16 -#define BERRY_TREES_COUNT 128 -#define FLAGS_COUNT 300 -#define VARS_COUNT 256 -#define MAIL_COUNT 16 -#define SECRET_BASES_COUNT 20 -#define TV_SHOWS_COUNT 25 -#define POKE_NEWS_COUNT 16 -#define PC_ITEMS_COUNT 50 -#define BAG_ITEMS_COUNT 30 -#define BAG_KEYITEMS_COUNT 30 -#define BAG_POKEBALLS_COUNT 16 -#define BAG_TMHM_COUNT 64 -#define BAG_BERRIES_COUNT 46 -#define EVENT_OBJECT_TEMPLATES_COUNT 64 - -#define PYRAMID_BAG_ITEMS_COUNT 10 -#define HALL_FACILITIES_COUNT 9 // 7 facilities for single mode + tower double mode + tower multi mode. - -// string lengths -#define ITEM_NAME_LENGTH 14 -#define POKEMON_NAME_LENGTH 10 -#define PLAYER_NAME_LENGTH 7 -#define MAIL_WORDS_COUNT 9 - -enum -{ - MALE, - FEMALE -}; - -enum -{ - OPTIONS_BUTTON_MODE_NORMAL, - OPTIONS_BUTTON_MODE_LR, - OPTIONS_BUTTON_MODE_L_EQUALS_A -}; - -enum -{ - OPTIONS_TEXT_SPEED_SLOW, - OPTIONS_TEXT_SPEED_MID, - OPTIONS_TEXT_SPEED_FAST -}; - -enum -{ - OPTIONS_SOUND_MONO, - OPTIONS_SOUND_STEREO -}; - -enum -{ - OPTIONS_BATTLE_STYLE_SHIFT, - OPTIONS_BATTLE_STYLE_SET -}; - struct Coords8 { s8 x; From f30270dffe2d678b8c82bb03e23252a75dcdf61c Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Fri, 28 Dec 2018 12:56:06 -0600 Subject: [PATCH 21/53] Undo bad idea with BLDALPHA_BLEND macro --- include/gba/io_reg.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index 448fae06dc..c20b69886e 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -600,7 +600,7 @@ #define BLDCNT_TGT2_ALL (BLDCNT_TGT2_BG0 | BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2 | BLDCNT_TGT2_BG3 | BLDCNT_TGT2_OBJ | BLDCNT_TGT2_BD) // BLDALPHA -#define BLDALPHA_BLEND(target1, target2) ((target1)) | ((target2) << 8) +#define BLDALPHA_BLEND(target1, target2) (((target2) << 8) | (target1)) // SOUNDCNT_H #define SOUND_CGB_MIX_QUARTER 0x0000 From 146ad2bdd4e1c05d3a495e1da0dae719f4405630 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Fri, 28 Dec 2018 13:42:34 -0600 Subject: [PATCH 22/53] Next big honkin' function done --- asm/trade.s | 2105 --------------------------------------------------- src/trade.c | 523 ++++++++++++- 2 files changed, 520 insertions(+), 2108 deletions(-) diff --git a/asm/trade.s b/asm/trade.s index 7c37a93106..88ba38cdb4 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6,2111 +6,6 @@ .text - thumb_func_start sub_807CFC8 -sub_807CFC8: @ 807CFC8 - push {r4-r7,lr} - sub sp, 0x14 - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - adds r1, 0x94 - ldrh r5, [r1] - ldr r1, =0x0000010b - adds r7, r0, 0 - cmp r5, r1 - bls _0807CFE0 - bl _0807E400 -_0807CFE0: - lsls r0, r5, 2 - ldr r1, =_0807CFF8 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807CFF8: - .4byte _0807D428 - .4byte _0807D4A0 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807D4FC - .4byte _0807D544 - .4byte _0807D5B8 - .4byte _0807E400 - .4byte _0807D624 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807D648 - .4byte _0807D678 - .4byte _0807D68A - .4byte _0807D6AC - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807D7A4 - .4byte _0807D7C4 - .4byte _0807D830 - .4byte _0807D8B4 - .4byte _0807D8D8 - .4byte _0807D924 - .4byte _0807D970 - .4byte _0807D9CC - .4byte _0807DA38 - .4byte _0807DA4C - .4byte _0807DA60 - .4byte _0807DA74 - .4byte _0807DB9C - .4byte _0807DC6C - .4byte _0807DCF4 - .4byte _0807DD94 - .4byte _0807DDA4 - .4byte _0807DDC4 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807DEE8 - .4byte _0807DEF8 - .4byte _0807DF16 - .4byte _0807E400 - .4byte _0807DF3C - .4byte _0807DF7C - .4byte _0807DFBC - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807DFDC - .4byte _0807E004 - .4byte _0807E020 - .4byte _0807E040 - .4byte _0807E0E8 - .4byte _0807E11C - .4byte _0807E168 - .4byte _0807E228 - .4byte _0807E2A0 - .4byte _0807E2EC - .4byte _0807E2FC - .4byte _0807E302 - .4byte _0807E328 - .4byte _0807E384 - .4byte _0807E3A8 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807D6F4 - .4byte _0807D728 - .4byte _0807D77C - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807DE1C - .4byte _0807DE84 - .4byte _0807DEC0 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E264 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807D85C - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E400 - .4byte _0807E284 -_0807D428: - ldr r3, =gSprites - ldr r0, [r7] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - adds r0, 0x3E - ldrb r2, [r0] - movs r1, 0x5 - negs r1, r1 - ands r1, r2 - strb r1, [r0] - ldr r4, [r7] - adds r2, r4, 0 - adds r2, 0x8E - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldr r1, =0x0000ff4c - strh r1, [r0, 0x24] - ldrb r0, [r2] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldr r2, =gMonFrontPicCoords - adds r0, r4, 0 - adds r0, 0xF0 - ldrh r0, [r0] - lsls r0, 2 - adds r0, r2 - ldrb r0, [r0, 0x1] - strh r0, [r1, 0x26] - adds r1, r4, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - bl GetCurrentMapMusic - ldr r1, [r7] - adds r1, 0xF4 - strh r0, [r1] - ldr r0, =0x00000179 - bl PlayNewMapMusic - bl _0807E400 - .pool -_0807D4A0: - ldr r5, [r7] - adds r6, r5, 0 - adds r6, 0xE6 - movs r1, 0 - ldrsh r0, [r6, r1] - cmp r0, 0 - ble _0807D4D4 - ldr r2, =gSprites - adds r0, r5, 0 - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x24] - adds r1, 0x3 - strh r1, [r0, 0x24] - ldrh r0, [r6] - subs r0, 0x3 - strh r0, [r6] - bl _0807E400 - .pool -_0807D4D4: - ldr r2, =gSprites - adds r0, r5, 0 - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r1, 0 - strh r1, [r0, 0x24] - strh r1, [r6] - adds r1, r5, 0 - adds r1, 0x94 - movs r0, 0xA - strh r0, [r1] - bl _0807E400 - .pool -_0807D4FC: - ldr r4, =gStringVar4 - ldr r1, =gText_XWillBeSentToY - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0xF0 - ldrh r1, [r2] - movs r0, 0xCE - lsls r0, 1 - cmp r1, r0 - beq _0807D52A - adds r0, r1, 0 - movs r1, 0 - bl PlayCry1 -_0807D52A: - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0x94 - movs r2, 0 - movs r0, 0xB - bl _0807E252 - .pool -_0807D544: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x50 - beq _0807D554 - bl _0807E400 -_0807D554: - adds r0, r1, 0 - adds r0, 0x8E - ldrb r0, [r0] - ldr r2, =gSprites - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, =0x000fffff - str r2, [sp, 0xC] - movs r2, 0x78 - movs r3, 0x20 - bl sub_807671C - ldr r1, [r7] - adds r1, 0xD2 - strb r0, [r1] - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_ByeByeVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - bl _0807E400 - .pool -_0807D5B8: - ldr r5, =gSprites - ldr r0, [r7] - adds r0, 0xD2 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r4, r5, 0 - adds r4, 0x1C - adds r0, r4 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _0807D5D8 - bl _0807E400 -_0807D5D8: - ldr r0, =gSpriteTemplate_8338D28 - movs r1, 0x78 - movs r2, 0x20 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0xD3 - strb r0, [r1] - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =sub_807E5D8 - str r1, [r0] - adds r2, 0xD2 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - bl DestroySprite - ldr r1, [r7] - bl _0807E398 - .pool -_0807D624: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x14 - strh r1, [r0] - bl _0807E400 - .pool -_0807D648: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807D658 - bl _0807E400 -_0807D658: - movs r0, 0x4 - bl sub_807B62C - movs r0, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - movs r0, 0 - movs r1, 0x3 - bl CopyWindowToVram - bl _0807E394 - .pool -_0807D678: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl _0807E390 -_0807D68A: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807D69A - bl _0807E400 -_0807D69A: - ldr r0, [r7] - adds r0, 0x94 - movs r1, 0x17 - strh r1, [r0] - bl _0807E400 - .pool -_0807D6AC: - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r2, r0, 0 - adds r2, 0xEA - ldrh r1, [r2] - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bls _0807D6CC - adds r0, r1, 0 - subs r0, 0x34 - strh r0, [r2] - b _0807D6E6 - .pool -_0807D6CC: - movs r0, 0x1 - bl sub_807B62C - ldr r3, [r4] - adds r1, r3, 0 - adds r1, 0xEA - movs r2, 0 - movs r0, 0x80 - strh r0, [r1] - subs r1, 0x56 - movs r0, 0x7C - strh r0, [r1] - str r2, [r3, 0x64] -_0807D6E6: - ldr r0, =gUnknown_020322A0 - ldr r4, [r0] - bl _0807DFA8 - .pool -_0807D6F4: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x14 - bhi _0807D704 - bl _0807E400 -_0807D704: - movs r0, 0x3 - bl sub_807B62C - ldr r0, =gSpriteTemplate_8338E8C - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x91 - strb r0, [r1] - ldr r1, [r7] - bl _0807E398 - .pool -_0807D728: - ldr r2, =gSprites - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _0807D748 - bl _0807E400 -_0807D748: - adds r0, r1, 0 - bl DestroySprite - ldr r1, =0x00000452 - movs r0, 0x50 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 3 - movs r0, 0x52 - bl SetGpuReg - ldr r0, =c3_08054588 - movs r1, 0x5 - bl CreateTask - ldr r1, [r7] - bl _0807E398 - .pool -_0807D77C: - ldr r0, =c3_08054588 - bl FuncIsActiveTask - lsls r0, 24 - cmp r0, 0 - beq _0807D78C - bl _0807E400 -_0807D78C: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x1A - strh r1, [r0] - bl _0807E400 - .pool -_0807D7A4: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xE0 - ldrh r1, [r0] - subs r1, 0x1 - strh r1, [r0] - lsls r1, 16 - movs r0, 0x9E - lsls r0, 17 - cmp r1, r0 - beq _0807D7BE - bl _0807E400 -_0807D7BE: - adds r1, r2, 0 - bl _0807E398 -_0807D7C4: - ldr r0, =gUnknown_08338D88 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0x3 - bl CreateSprite - ldr r4, =gUnknown_020322A0 - ldr r1, [r4] - adds r1, 0x90 - strb r0, [r1] - ldr r5, =gSprites - ldr r0, [r4] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_807AA4C - str r1, [r0] - ldr r0, =gSpriteTemplate_8338DC8 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x1 - bl StartSpriteAnim - ldr r1, [r4] - bl _0807E398 - .pool -_0807D830: - ldr r2, [r7] - adds r1, r2, 0 - adds r1, 0xE0 - ldrh r0, [r1] - subs r0, 0x3 - strh r0, [r1] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA6 - bne _0807D84A - subs r1, 0x4C - movs r0, 0xC8 - strh r0, [r1] -_0807D84A: - ldr r1, =0x00001241 - movs r0, 0 - bl SetGpuReg - bl _0807E400 - .pool -_0807D85C: - ldr r2, =gSprites - ldr r4, [r7] - adds r3, r4, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - adds r0, r4, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x22] - subs r1, 0x2 - strh r1, [r0, 0x22] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r2, 0x22 - ldrsh r1, [r0, r2] - movs r0, 0x8 - negs r0, r0 - cmp r1, r0 - blt _0807D8A2 - bl _0807E400 -_0807D8A2: - adds r1, r4, 0 - adds r1, 0x94 - movs r0, 0x1D - strh r0, [r1] - bl _0807E400 - .pool -_0807D8B4: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x1E - strh r1, [r0] - bl _0807E400 - .pool -_0807D8D8: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807D8E8 - bl _0807E400 -_0807D8E8: - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - movs r0, 0x2 - bl sub_807B62C - ldr r1, [r7] - bl _0807E398 - .pool -_0807D924: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r5, =gSpriteTemplate_8338DC8 - adds r0, r5, 0 - movs r1, 0x6F - movs r2, 0xAA - movs r3, 0 - bl CreateSprite - ldr r4, =gUnknown_020322A0 - ldr r1, [r4] - adds r1, 0x90 - strb r0, [r1] - movs r2, 0xA - negs r2, r2 - adds r0, r5, 0 - movs r1, 0x81 - movs r3, 0 - bl CreateSprite - ldr r1, [r4] - adds r1, 0x91 - strb r0, [r1] - ldr r1, [r4] - bl _0807E398 - .pool -_0807D970: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0807D98E - movs r0, 0x2E - bl PlaySE - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0807D98E: - ldr r3, =gSprites - ldr r0, =gUnknown_020322A0 - ldr r2, [r0] - adds r0, r2, 0 - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0x91 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r3 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - bl _0807E400 - .pool -_0807D9CC: - ldr r5, =gSprites - ldr r4, [r7] - adds r2, r4, 0 - adds r2, 0x90 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r6, r4, 0 - adds r6, 0x91 - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r3, r0, r5 - movs r0, 0x26 - ldrsh r1, [r3, r0] - movs r0, 0x5A - negs r0, r0 - cmp r1, r0 - ble _0807DA12 - bl _0807E400 -_0807DA12: - movs r2, 0x1 - strh r2, [r3, 0x30] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - strh r2, [r0, 0x30] - adds r1, r4, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldr r0, =c3_0805465C - b _0807DC5A - .pool -_0807DA38: - ldr r2, =0x0000ffff - movs r0, 0x8 - movs r1, 0x10 - bl BlendPalettes - bl _0807E394 - .pool -_0807DA4C: - ldr r2, =0x0000ffff - movs r0, 0x8 - movs r1, 0x10 - bl BlendPalettes - bl _0807E394 - .pool -_0807DA60: - ldr r2, =0x0000ffff - movs r0, 0x8 - movs r1, 0x10 - bl BlendPalettes - bl _0807E394 - .pool -_0807DA74: - ldr r5, =gUnknown_020322A0 - ldr r0, [r5] - adds r0, 0xF0 - ldrh r0, [r0] - bl IsMonSpriteNotFlipped - lsls r0, 24 - cmp r0, 0 - bne _0807DAEC - ldr r4, =gSprites - ldr r2, [r5] - adds r2, 0x8E - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x10 - adds r0, r1 - ldr r1, =gSpriteAffineAnimTable_8338ECC - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x1] - movs r2, 0x3 - orrs r1, r2 - strb r1, [r0, 0x1] - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - movs r2, 0x3 - movs r3, 0x3 - bl CalcCenterToCornerVec - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - b _0807DB02 - .pool -_0807DAEC: - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r1, =gSprites - adds r0, r1 - movs r1, 0 - bl StartSpriteAffineAnim -_0807DB02: - ldr r5, =gUnknown_020322A0 - ldr r0, [r5] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - movs r1, 0 - bl StartSpriteAffineAnim - ldr r2, [r5] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x28 - strh r1, [r0, 0x20] - adds r2, 0x8F - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xC8 - strh r1, [r0, 0x20] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0xC0 - strh r1, [r0, 0x22] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldr r1, =0x0000ffe0 - strh r1, [r0, 0x22] - ldrb r0, [r3] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - adds r1, 0x3E - ldrb r3, [r1] - movs r2, 0x5 - negs r2, r2 - adds r0, r2, 0 - ands r0, r3 - strb r0, [r1] - ldr r0, [r5] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - ands r2, r1 - strb r2, [r0] - ldr r1, [r5] - bl _0807E398 - .pool -_0807DB9C: - ldr r4, =gSprites - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - movs r5, 0 - strh r1, [r0, 0x26] - adds r2, 0x8F - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r0, [r0, 0x26] - adds r0, 0xA3 - lsls r0, 16 - lsrs r0, 16 - cmp r0, 0x2 - bhi _0807DBE4 - movs r0, 0x2D - bl PlaySE -_0807DBE4: - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x8E - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r6, 0x26 - ldrsh r1, [r0, r6] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - blt _0807DC04 - bl _0807E400 -_0807DC04: - adds r0, r2, 0 - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r0, r2, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x30] - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - ldr r0, [r7] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - adds r0, 0x3E - ldrb r1, [r0] - orrs r1, r2 - strb r1, [r0] - ldr r0, =sub_807F39C -_0807DC5A: - movs r1, 0x5 - bl CreateTask - b _0807E400 - .pool -_0807DC6C: - ldr r4, =gSprites - ldr r2, [r7] - adds r3, r2, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - subs r1, 0x3 - strh r1, [r0, 0x26] - adds r2, 0x91 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrh r1, [r0, 0x26] - adds r1, 0x3 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r2, 0x26 - ldrsh r1, [r0, r2] - movs r0, 0xDE - negs r0, r0 - cmp r1, r0 - ble _0807DCAE - b _0807E400 -_0807DCAE: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0x94 - ldrh r0, [r2] - adds r0, 0x1 - strh r0, [r2] - adds r1, 0x90 - ldrb r1, [r1] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - b _0807E400 - .pool -_0807DCF4: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807DD02 - b _0807E400 -_0807DD02: - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x1 - bl sub_807B62C - ldr r0, [r7] - adds r0, 0xE0 - movs r1, 0xA6 - strh r1, [r0] - movs r0, 0x3 - bl sub_807B62C - ldr r0, [r7] - adds r0, 0xE4 - movs r1, 0xCE - lsls r1, 1 - strh r1, [r0] - ldr r0, =gUnknown_08338D88 - movs r4, 0x14 - negs r4, r4 - movs r1, 0x78 - adds r2, r4, 0 - movs r3, 0x3 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x90 - strb r0, [r1] - ldr r5, =gSprites - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r5, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_807AA4C - str r1, [r0] - ldr r0, =gSpriteTemplate_8338DC8 - movs r1, 0x78 - adds r2, r4, 0 - movs r3, 0 - bl CreateSprite - ldr r1, [r7] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - movs r1, 0x1 - bl StartSpriteAnim - b _0807E400 - .pool -_0807DD94: - movs r1, 0x1 - negs r1, r1 - movs r0, 0 - str r0, [sp] - adds r0, r1, 0 - movs r2, 0x10 - movs r3, 0 - b _0807E390 -_0807DDA4: - movs r1, 0x92 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807DDBC - b _0807E400 -_0807DDBC: - b _0807E394 - .pool -_0807DDC4: - ldr r2, =gSprites - ldr r4, [r7] - adds r3, r4, 0 - adds r3, 0x90 - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x4 - strh r1, [r0, 0x26] - adds r0, r4, 0 - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r1, [r0, 0x26] - adds r1, 0x4 - strh r1, [r0, 0x26] - ldrb r1, [r3] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - movs r6, 0x26 - ldrsh r1, [r0, r6] - movs r2, 0x22 - ldrsh r0, [r0, r2] - adds r1, r0 - cmp r1, 0x40 - beq _0807DE0A - b _0807E400 -_0807DE0A: - adds r0, r4, 0 - adds r0, 0x94 - movs r1, 0x90 - strh r1, [r0] - movs r0, 0 - str r0, [r4, 0x64] - b _0807E400 - .pool -_0807DE1C: - movs r1, 0xB2 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r4, =gUnknown_020322A0 - ldr r2, [r4] - adds r1, r2, 0 - adds r1, 0xE0 - ldrh r0, [r1] - adds r0, 0x3 - strh r0, [r1] - adds r1, 0x4 - ldrh r0, [r1] - adds r0, 0x3 - strh r0, [r1] - ldr r0, [r2, 0x64] - adds r0, 0x1 - str r0, [r2, 0x64] - cmp r0, 0xA - bne _0807DE60 - ldr r0, =c3_08054588 - movs r1, 0x5 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - movs r0, 0x1 - strh r0, [r1, 0xC] -_0807DE60: - ldr r1, [r4] - adds r3, r1, 0 - adds r3, 0xE0 - movs r6, 0 - ldrsh r0, [r3, r6] - movs r2, 0x9E - lsls r2, 1 - cmp r0, r2 - bgt _0807DE74 - b _0807E400 -_0807DE74: - strh r2, [r3] - b _0807E398 - .pool -_0807DE84: - ldr r0, [r7] - adds r0, 0x90 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r3, [r7] - adds r2, r3, 0 - adds r2, 0x94 - ldrh r0, [r2] - adds r0, 0x1 - movs r1, 0 - strh r0, [r2] - str r1, [r3, 0x64] - b _0807E400 - .pool -_0807DEC0: - ldr r0, =c3_08054588 - bl FuncIsActiveTask - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0 - beq _0807DED0 - b _0807E400 -_0807DED0: - ldr r0, =gUnknown_020322A0 - ldr r2, [r0] - adds r1, r2, 0 - adds r1, 0x94 - movs r0, 0x2E - strh r0, [r1] - str r3, [r2, 0x64] - b _0807E400 - .pool -_0807DEE8: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0xA - beq _0807DEF6 - b _0807E400 -_0807DEF6: - b _0807E398 -_0807DEF8: - ldr r1, [r7] - adds r5, r1, 0 - adds r5, 0xE0 - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - lsls r0, 16 - asrs r0, 16 - movs r6, 0xAE - lsls r6, 1 - cmp r0, r6 - bgt _0807DF12 - b _0807E400 -_0807DF12: - strh r6, [r5] - b _0807E398 -_0807DF16: - ldr r0, =gSpriteTemplate_8338E74 - movs r1, 0x78 - movs r2, 0x50 - movs r3, 0 - bl CreateSprite - ldr r2, =gUnknown_020322A0 - ldr r1, [r2] - adds r1, 0x91 - strb r0, [r1] - ldr r0, [r2] - adds r0, 0x94 - movs r1, 0x32 - strh r1, [r0] - b _0807E400 - .pool -_0807DF3C: - ldr r2, =gSprites - ldr r0, [r7] - adds r0, 0x91 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r0, r2 - adds r0, r1, 0 - adds r0, 0x3F - ldrb r0, [r0] - lsls r0, 27 - cmp r0, 0 - blt _0807DF5A - b _0807E400 -_0807DF5A: - adds r0, r1, 0 - bl DestroySprite - movs r0, 0x6 - bl sub_807B62C - ldr r1, [r7] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - movs r0, 0x9F - bl PlaySE - b _0807E400 - .pool -_0807DF7C: - ldr r1, [r7] - adds r2, r1, 0 - adds r2, 0xEA - ldrh r3, [r2] - ldr r0, =0x000003ff - cmp r3, r0 - bhi _0807DF98 - adds r0, r3, 0 - adds r0, 0x34 - strh r0, [r2] - b _0807DFA6 - .pool -_0807DF98: - movs r0, 0x80 - lsls r0, 3 - strh r0, [r2] - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] -_0807DFA6: - ldr r4, [r7] -_0807DFA8: - adds r0, r4, 0 - adds r0, 0xEA - ldrh r1, [r0] - movs r0, 0x80 - lsls r0, 8 - bl __divsi3 - adds r4, 0xE8 - strh r0, [r4] - b _0807E400 -_0807DFBC: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x3C - strh r1, [r0] - b _0807E400 - .pool -_0807DFDC: - ldr r4, =gPaletteFade - ldrb r1, [r4, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807DFEA - b _0807E400 -_0807DFEA: - movs r0, 0x5 - bl sub_807B62C - movs r0, 0x7 - bl sub_807B62C - ldrb r0, [r4, 0x8] - movs r1, 0x80 - orrs r0, r1 - strb r0, [r4, 0x8] - b _0807E394 - .pool -_0807E004: - ldr r2, =gPaletteFade - ldrb r1, [r2, 0x8] - movs r0, 0x7F - ands r0, r1 - strb r0, [r2, 0x8] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0x10 - movs r3, 0 - b _0807E390 - .pool -_0807E020: - movs r1, 0xA2 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _0807E038 - b _0807E400 -_0807E038: - b _0807E394 - .pool -_0807E040: - ldr r0, =gSpriteTemplate_8338D28 - movs r2, 0x8 - negs r2, r2 - movs r1, 0x78 - movs r3, 0 - bl CreateSprite - ldr r5, =gUnknown_020322A0 - ldr r1, [r5] - adds r1, 0xD3 - movs r6, 0 - strb r0, [r1] - ldr r4, =gSprites - ldr r2, [r5] - adds r2, 0xD3 - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x4A - strh r1, [r0, 0x34] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r1, r4, 0 - adds r1, 0x1C - adds r0, r1 - ldr r1, =sub_807E6AC - str r1, [r0] - ldrb r1, [r2] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x1 - bl StartSpriteAnim - ldr r0, [r5] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0x2 - bl StartSpriteAffineAnim - ldr r0, [r5] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r2, =0x0000ffff - movs r1, 0x10 - bl BlendPalettes - ldr r2, [r5] - adds r1, r2, 0 - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - str r6, [r2, 0x64] - b _0807E400 - .pool -_0807E0E8: - ldr r2, =gSprites - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrb r1, [r0, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - ldr r1, =0x0000ffff - str r1, [sp] - movs r1, 0x1 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r1, [r7] - b _0807E398 - .pool -_0807E11C: - ldr r2, =gSprites - ldr r3, [r7] - adds r0, r3, 0 - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r2, 0x1C - adds r0, r2 - ldr r1, [r0] - ldr r0, =SpriteCallbackDummy - cmp r1, r0 - beq _0807E13A - b _0807E400 -_0807E13A: - adds r0, r3, 0 - adds r0, 0xF2 - ldrh r2, [r0] - lsls r0, r2, 3 - ldr r1, =gMonFrontPicTable - adds r0, r1 - ldr r1, =gMonSpritesGfxPtr - ldr r1, [r1] - ldr r1, [r1, 0x10] - ldr r3, [r3, 0x6C] - bl HandleLoadSpecialPokePic_2 - ldr r1, [r7] - b _0807E398 - .pool -_0807E168: - ldr r4, =gSprites - ldr r2, [r7] - adds r6, r2, 0 - adds r6, 0x8F - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r5, 0 - movs r1, 0x78 - strh r1, [r0, 0x20] - ldrb r0, [r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldr r3, =gMonFrontPicCoords - adds r2, 0xF2 - ldrh r0, [r2] - lsls r0, 2 - adds r0, r3 - ldrb r0, [r0, 0x1] - adds r0, 0x3C - strh r0, [r1, 0x22] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x24] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - strh r5, [r0, 0x26] - ldrb r1, [r6] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - movs r1, 0 - bl StartSpriteAnim - ldr r3, [r7] - adds r0, r3, 0 - adds r0, 0x8F - ldrb r0, [r0] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r4 - ldrb r1, [r1, 0x5] - lsrs r1, 4 - movs r2, 0x2 - str r2, [sp] - movs r2, 0x1 - str r2, [sp, 0x4] - movs r2, 0x14 - str r2, [sp, 0x8] - ldr r2, =0x000fffff - str r2, [sp, 0xC] - adds r3, 0xF2 - ldrh r2, [r3] - str r2, [sp, 0x10] - movs r2, 0x78 - movs r3, 0x54 - bl CreatePokeballSpriteToReleaseMon - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldr r0, [r7] - adds r0, 0xD3 - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl DestroySprite - ldr r1, [r7] - b _0807E398 - .pool -_0807E228: - movs r1, 0xAA - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - ldr r4, =gStringVar4 - ldr r1, =gText_XSentOverY - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - ldr r0, =gUnknown_020322A0 - ldr r3, [r0] - adds r1, r3, 0 - adds r1, 0x94 - movs r2, 0 - movs r0, 0xA7 -_0807E252: - strh r0, [r1] - str r2, [r3, 0x64] - b _0807E400 - .pool -_0807E264: - ldr r3, [r7] - ldr r0, [r3, 0x64] - adds r0, 0x1 - str r0, [r3, 0x64] - cmp r0, 0x3C - bhi _0807E272 - b _0807E400 -_0807E272: - adds r0, r3, 0 - adds r0, 0x94 - movs r2, 0 - ldr r1, =0x0000010b - strh r1, [r0] - str r2, [r3, 0x64] - b _0807E400 - .pool -_0807E284: - bl IsCryFinished - lsls r0, 24 - cmp r0, 0 - bne _0807E290 - b _0807E400 -_0807E290: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0x44 - strh r1, [r0] - b _0807E400 - .pool -_0807E2A0: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0xA - bne _0807E2B2 - ldr r0, =0x00000173 - bl PlayFanfare -_0807E2B2: - ldr r1, [r7] - ldr r0, [r1, 0x64] - cmp r0, 0xFA - beq _0807E2BC - b _0807E400 -_0807E2BC: - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - movs r5, 0 - strh r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_TakeGoodCareOfX - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - ldr r0, [r7] - str r5, [r0, 0x64] - b _0807E400 - .pool -_0807E2EC: - ldr r1, [r7] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - beq _0807E2FA - b _0807E400 -_0807E2FA: - b _0807E398 -_0807E2FC: - bl sub_807F14C - b _0807E394 -_0807E302: - ldr r2, [r7] - adds r0, r2, 0 - adds r0, 0xEE - ldrb r0, [r0] - cmp r0, 0 - beq _0807E312 - movs r0, 0x1 - b _0807E402 -_0807E312: - ldr r0, =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0807E400 - adds r1, r2, 0 - b _0807E398 - .pool -_0807E328: - ldr r0, =gSpecialVar_0x8005 - ldrb r0, [r0] - movs r1, 0 - bl sub_807B4D0 - ldr r1, =gCB2_AfterEvolution - ldr r0, =sub_807B60C - str r0, [r1] - ldr r7, =gUnknown_02032298 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0x1 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0807E394 - ldrb r3, [r7] - adds r0, r3, 0 - muls r0, r6 - adds r0, r5 - ldr r1, =gUnknown_020322A0 - ldr r1, [r1] - adds r1, 0x8F - ldrb r2, [r1] - adds r1, r4, 0 - bl TradeEvolutionScene - b _0807E394 - .pool -_0807E384: - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 -_0807E390: - bl BeginNormalPaletteFade -_0807E394: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] -_0807E398: - adds r1, 0x94 - ldrh r0, [r1] - adds r0, 0x1 - strh r0, [r1] - b _0807E400 - .pool -_0807E3A8: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0 - bne _0807E400 - ldr r0, [r7] - adds r0, 0xF4 - ldrh r0, [r0] - bl PlayNewMapMusic - ldr r0, [r7] - cmp r0, 0 - beq _0807E3F6 - bl FreeAllWindowBuffers - movs r0, 0x3 - bl GetBgTilemapBuffer - bl Free - movs r0, 0x1 - bl GetBgTilemapBuffer - bl Free - movs r0, 0 - bl GetBgTilemapBuffer - bl Free - bl FreeMonSpritesGfx - ldr r0, [r7] - bl Free - str r4, [r7] -_0807E3F6: - ldr r0, =CB2_ReturnToField - bl SetMainCallback2 - bl sub_807E784 -_0807E400: - movs r0, 0 -_0807E402: - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - .pool - thumb_func_end sub_807CFC8 - thumb_func_start c2_08053788 c2_08053788: @ 807E414 push {r4-r7,lr} diff --git a/src/trade.c b/src/trade.c index c996c33488..ebcbf85348 100644 --- a/src/trade.c +++ b/src/trade.c @@ -200,6 +200,7 @@ extern const struct SpriteTemplate gUnknown_08338D88; extern const struct SpriteTemplate gSpriteTemplate_8338DC8; extern const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[]; extern const struct SpriteTemplate gSpriteTemplate_8338E74; +extern const struct SpriteTemplate gSpriteTemplate_8338E8C; // external to this file extern const struct CompressedSpriteSheet gMonFrontPicTable[]; @@ -251,7 +252,9 @@ void sub_807AAE0(struct Sprite *); void sub_807E6AC(struct Sprite *); void sub_807F14C(void); void sub_807E784(void); +void c3_08054588(u8); void c3_0805465C(u8); +void sub_807F39C(u8); bool8 sub_8077170(const void *a0, u32 a1) { @@ -3727,14 +3730,13 @@ bool8 sub_807BBEC(void) gUnknown_020322A0->unk_94++; } break; - /*case 13: + case 13: // The game waits here for the sprite to finish its animation sequence. - break;*/ + break; case 14: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gUnknown_020322A0->unk_94 = 20; break; - case 20: if (!gPaletteFade.active) { @@ -4162,3 +4164,518 @@ bool8 sub_807BBEC(void) } return FALSE; } + +bool8 sub_807CFC8(void) +{ + u16 evoTarget; + + switch (gUnknown_020322A0->unk_94) + { + case 0: + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = -180; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[0]].y_offset; + gUnknown_020322A0->unk_94++; + gUnknown_020322A0->unk_F4 = GetCurrentMapMusic(); + PlayNewMapMusic(MUS_SHINKA); + break; + case 1: + if (gUnknown_020322A0->bg2hofs > 0) + { + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x += 3; + gUnknown_020322A0->bg2hofs -= 3; + } + else + { + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = 0; + gUnknown_020322A0->bg2hofs = 0; + gUnknown_020322A0->unk_94 = 10; + } + break; + case 10: + StringExpandPlaceholders(gStringVar4, gText_XWillBeSentToY); + sub_807F1A8(0, gStringVar4, 0); + + if (gUnknown_020322A0->tradeSpecies[0] != SPECIES_EGG) + { + PlayCry1(gUnknown_020322A0->tradeSpecies[0], 0); + } + + gUnknown_020322A0->unk_94 = 11; + gUnknown_020322A0->unk_64 = 0; + break; + case 11: + if (++gUnknown_020322A0->unk_64 == 80) + { + gUnknown_020322A0->unk_D2 = sub_807671C(gUnknown_020322A0->pokePicSpriteIdxs[0], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff); + gUnknown_020322A0->unk_94++; + StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1); + sub_807F1A8(0, gStringVar4, 0); + } + break; + case 12: + if (gSprites[gUnknown_020322A0->unk_D2].callback == SpriteCallbackDummy) + { + gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0); + gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E5D8; + DestroySprite(&gSprites[gUnknown_020322A0->unk_D2]); + gUnknown_020322A0->unk_94++; + } + break; + case 13: + // The game waits here for the sprite to finish its animation sequence. + break; + case 14: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_020322A0->unk_94 = 20; + break; + case 20: + if (!gPaletteFade.active) + { + sub_807B62C(4); + FillWindowPixelBuffer(0, 0xFF); + CopyWindowToVram(0, 3); + gUnknown_020322A0->unk_94++; + } + break; + case 21: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + gUnknown_020322A0->unk_94++; + break; + case 22: + if (!gPaletteFade.active) + { + gUnknown_020322A0->unk_94 = 23; + } + break; + case 23: + if (gUnknown_020322A0->unk_EA > 0x100) + { + gUnknown_020322A0->unk_EA -= 0x34; + } + else + { + sub_807B62C(1); + gUnknown_020322A0->unk_EA = 0x80; + gUnknown_020322A0->unk_94 = 124; + gUnknown_020322A0->unk_64 = 0; + } + gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; + break; + case 124: + if (++gUnknown_020322A0->unk_64 > 20) + { + sub_807B62C(3); + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E8C, 120, 80, 0); + gUnknown_020322A0->unk_94++; + } + break; + case 125: + if (gSprites[gUnknown_020322A0->unk_91].animEnded) + { + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT1_BG1 | + BLDCNT_TGT1_OBJ | + BLDCNT_EFFECT_BLEND | + BLDCNT_TGT2_BG2); + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 4)); + CreateTask(c3_08054588, 5); + gUnknown_020322A0->unk_94++; + } + break; + case 126: + if (!FuncIsActiveTask(c3_08054588)) + { + gUnknown_020322A0->unk_94 = 26; + } + break; + case 26: + if (--gUnknown_020322A0->bg1vofs == 316) + { + gUnknown_020322A0->unk_94++; + } + break; + case 27: + gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 120, 80, 3); + gSprites[gUnknown_020322A0->unk_90].callback = sub_807AA4C; + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 120, 80, 0); + StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); + gUnknown_020322A0->unk_94++; + break; + case 28: + if ((gUnknown_020322A0->bg1vofs -= 3) == 166) + { + gUnknown_020322A0->unk_94 = 200; + } + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + break; + case 200: + gSprites[gUnknown_020322A0->unk_90].pos1.y -= 2; + gSprites[gUnknown_020322A0->unk_91].pos1.y -= 2; + if (gSprites[gUnknown_020322A0->unk_90].pos1.y < -8) + { + gUnknown_020322A0->unk_94 = 29; + } + break; + case 29: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + gUnknown_020322A0->unk_94 = 30; + break; + case 30: + if (!gPaletteFade.active) + { + DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + sub_807B62C(2); + gUnknown_020322A0->unk_94++; + } + break; + case 31: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + gUnknown_020322A0->unk_90 = CreateSprite(&gSpriteTemplate_8338DC8, 111, 170, 0); + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 129, -10, 0); + gUnknown_020322A0->unk_94++; + break; + case 32: + if (!gPaletteFade.active) + { + PlaySE(SE_TK_WARPOUT); + gUnknown_020322A0->unk_94++; + } + gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; + break; + case 33: + gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; + if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -90) + { + gSprites[gUnknown_020322A0->unk_90].data[1] = 1; + gSprites[gUnknown_020322A0->unk_91].data[1] = 1; + gUnknown_020322A0->unk_94++; + CreateTask(c3_0805465C, 5); + } + break; + case 34: + BlendPalettes(0x8, 16, RGB_WHITEALPHA); + gUnknown_020322A0->unk_94++; + break; + case 35: + BlendPalettes(0x8, 16, RGB_WHITEALPHA); + gUnknown_020322A0->unk_94++; + break; + case 36: + BlendPalettes(0x8, 16, RGB_WHITEALPHA); + gUnknown_020322A0->unk_94++; + break; + case 37: + if (!IsMonSpriteNotFlipped(gUnknown_020322A0->tradeSpecies[0])) + { + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].affineAnims = gSpriteAffineAnimTable_8338ECC; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.affineMode = 3; + CalcCenterToCornerVec(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0, 3, 3); + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); + } + else + { + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]], 0); + } + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.x = 40; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 200; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos1.y = 192; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = -32; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = FALSE; + gUnknown_020322A0->unk_94++; + break; + case 38: + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y -= 3; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y += 3; + if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -160 && gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y >= -163) + { + PlaySE(SE_TK_WARPIN); + } + if (gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y < -222) + { + gSprites[gUnknown_020322A0->unk_90].data[1] = 0; + gSprites[gUnknown_020322A0->unk_91].data[1] = 0; + gUnknown_020322A0->unk_94++; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = TRUE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = TRUE; + CreateTask(sub_807F39C, 5); + } + break; + case 39: + gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; + if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -222) + { + BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); + gUnknown_020322A0->unk_94++; + DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + } + break; + case 40: + if (!gPaletteFade.active) + { + gUnknown_020322A0->unk_94++; + sub_807B62C(1); + gUnknown_020322A0->bg1vofs = 166; + sub_807B62C(3); + gUnknown_020322A0->bg2vofs = 412; + gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 120, -20, 3); + gSprites[gUnknown_020322A0->unk_90].callback = sub_807AA4C; + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 120, -20, 0); + StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); + } + break; + case 41: + BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); + gUnknown_020322A0->unk_94++; + break; + case 42: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + gUnknown_020322A0->unk_94++; + } + break; + case 43: + gSprites[gUnknown_020322A0->unk_90].pos2.y += 4; + gSprites[gUnknown_020322A0->unk_91].pos2.y += 4; + if (gSprites[gUnknown_020322A0->unk_90].pos2.y + gSprites[gUnknown_020322A0->unk_90].pos1.y == 64) + { + gUnknown_020322A0->unk_94 = 144; + gUnknown_020322A0->unk_64 = 0; + } + break; + case 144: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG1_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + gUnknown_020322A0->bg1vofs += 3; + gUnknown_020322A0->bg2vofs += 3; + if (++gUnknown_020322A0->unk_64 == 10) + { + u8 taskId = CreateTask(c3_08054588, 5); + gTasks[taskId].data[2] = 1; + } + if (gUnknown_020322A0->bg1vofs > 316) + { + gUnknown_020322A0->bg1vofs = 316; + gUnknown_020322A0->unk_94++; + } + break; + case 145: + DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + gUnknown_020322A0->unk_94++; + gUnknown_020322A0->unk_64 = 0; + break; + case 146: + if (!FuncIsActiveTask(c3_08054588)) + { + gUnknown_020322A0->unk_94 = 46; + gUnknown_020322A0->unk_64 = 0; + } + break; + case 46: + if (++gUnknown_020322A0->unk_64 == 10) + { + gUnknown_020322A0->unk_94++; + } + break; + case 47: + if (++gUnknown_020322A0->bg1vofs > 348) + { + gUnknown_020322A0->bg1vofs = 348; + gUnknown_020322A0->unk_94++; + } + break; + case 48: + gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); + gUnknown_020322A0->unk_94 = 50; + break; + case 50: + if (gSprites[gUnknown_020322A0->unk_91].animEnded) + { + DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); + sub_807B62C(6); + gUnknown_020322A0->unk_94++; + PlaySE(SE_W028); + } + break; + case 51: + if (gUnknown_020322A0->unk_EA < 0x400) + { + gUnknown_020322A0->unk_EA += 0x34; + } + else + { + gUnknown_020322A0->unk_EA = 0x400; + gUnknown_020322A0->unk_94++; + } + gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; + break; + case 52: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_020322A0->unk_94 = 60; + break; + case 60: + if (!gPaletteFade.active) + { + sub_807B62C(5); + sub_807B62C(7); + gPaletteFade.bufferTransferDisabled = TRUE; + gUnknown_020322A0->unk_94++; + } + break; + case 61: + gPaletteFade.bufferTransferDisabled = FALSE; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); + gUnknown_020322A0->unk_94++; + break; + case 62: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + if (!gPaletteFade.active) + { + gUnknown_020322A0->unk_94++; + } + break; + case 63: + gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, -8, 0); + gSprites[gUnknown_020322A0->unk_D3].data[3] = 74; + gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E6AC; + StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_D3], 1); + StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->unk_D3], 2); + BlendPalettes(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA); + gUnknown_020322A0->unk_94++; + gUnknown_020322A0->unk_64 = 0; + break; + case 64: + BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA); + gUnknown_020322A0->unk_94++; + break; + case 65: + if (gSprites[gUnknown_020322A0->unk_D3].callback == SpriteCallbackDummy) + { + HandleLoadSpecialPokePic_2(&gMonFrontPicTable[gUnknown_020322A0->tradeSpecies[1]], gMonSpritesGfxPtr->sprites[3], gUnknown_020322A0->tradeSpecies[1], gUnknown_020322A0->unk_68[1]); + gUnknown_020322A0->unk_94++; + } + break; + case 66: + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.x = 120; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[1]].y_offset + 60; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.x = 0; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos2.y = 0; + StartSpriteAnim(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]], 0); + CreatePokeballSpriteToReleaseMon(gUnknown_020322A0->pokePicSpriteIdxs[1], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, gUnknown_020322A0->tradeSpecies[1]); + FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->unk_D3]); + DestroySprite(&gSprites[gUnknown_020322A0->unk_D3]); + gUnknown_020322A0->unk_94++; + break; + case 67: + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | + DISPCNT_OBJ_1D_MAP | + DISPCNT_BG0_ON | + DISPCNT_BG2_ON | + DISPCNT_OBJ_ON); + StringExpandPlaceholders(gStringVar4, gText_XSentOverY); + sub_807F1A8(0, gStringVar4, 0); + gUnknown_020322A0->unk_94 = 167; + gUnknown_020322A0->unk_64 = 0; + break; + // 167 and 267 are extra cases added in for animations + case 167: + if (++gUnknown_020322A0->unk_64 > 60) + { + gUnknown_020322A0->unk_94 = 267; + gUnknown_020322A0->unk_64 = 0; + } + break; + case 267: + if (IsCryFinished()) + { + gUnknown_020322A0->unk_94 = 68; + } + break; + case 68: + if (++gUnknown_020322A0->unk_64 == 10) + { + PlayFanfare(MUS_FANFA5); + } + if (gUnknown_020322A0->unk_64 == 250) + { + gUnknown_020322A0->unk_94++; + StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX); + sub_807F1A8(0, gStringVar4, 0); + gUnknown_020322A0->unk_64 = 0; + } + break; + case 69: + if (++gUnknown_020322A0->unk_64 == 60) + { + gUnknown_020322A0->unk_94++; + } + break; + case 70: + sub_807F14C(); + gUnknown_020322A0->unk_94++; + break; + case 71: + if (gUnknown_020322A0->isLinkTrade) + { + return TRUE; + } + else if (gMain.newKeys & A_BUTTON) + { + gUnknown_020322A0->unk_94++; + } + break; + case 72: // Only if in-game trade + sub_807B4D0(gSpecialVar_0x8005, 0); + gCB2_AfterEvolution = sub_807B60C; + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE); + if (evoTarget != SPECIES_NONE) + { + TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]); + } + gUnknown_020322A0->unk_94++; + break; + case 73: + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gUnknown_020322A0->unk_94++; + break; + case 74: + if (!gPaletteFade.active) + { + PlayNewMapMusic(gUnknown_020322A0->unk_F4); + if (gUnknown_020322A0) + { + FreeAllWindowBuffers(); + Free(GetBgTilemapBuffer(3)); + Free(GetBgTilemapBuffer(1)); + Free(GetBgTilemapBuffer(0)); + FreeMonSpritesGfx(); + FREE_AND_SET_NULL(gUnknown_020322A0); + } + SetMainCallback2(CB2_ReturnToField); + sub_807E784(); + } + break; + } + return FALSE; +} From 89866652fa7e072cb9a474e0900913a131931384 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 29 Dec 2018 12:46:03 +0100 Subject: [PATCH 23/53] Remove superfluous compiler flags --- Makefile | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Makefile b/Makefile index 002eb790d1..9027fad8a8 100644 --- a/Makefile +++ b/Makefile @@ -38,7 +38,7 @@ ASFLAGS := -mcpu=arm7tdmi CC1 := tools/agbcc/bin/agbcc$(EXE) override CFLAGS += -mthumb-interwork -Wimplicit -Wparentheses -Werror -O2 -fhex-asm -CPPFLAGS := -I tools/agbcc/include -I tools/agbcc -iquote include -nostdinc -undef +CPPFLAGS := -I tools/agbcc/include -I tools/agbcc -iquote include LDFLAGS = -Map ../../$(MAP) @@ -186,4 +186,3 @@ $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) $(ROM): $(ELF) $(OBJCOPY) -O binary $< $@ $(FIX) $@ -p -t"$(TITLE)" -c$(GAME_CODE) -m$(MAKER_CODE) -r$(REVISION) --silent - From cfad7d2f6c2a3155d9b142596198f55d6d76af4a Mon Sep 17 00:00:00 2001 From: Melody Date: Sat, 29 Dec 2018 10:06:44 -0500 Subject: [PATCH 24/53] count undocumented globals --- .travis/calcrom/calcrom.pl | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/.travis/calcrom/calcrom.pl b/.travis/calcrom/calcrom.pl index 8ee02036de..a0a74ca1bf 100755 --- a/.travis/calcrom/calcrom.pl +++ b/.travis/calcrom/calcrom.pl @@ -7,6 +7,7 @@ open(my $file, $ARGV[0]) my $src = 0; my $asm = 0; +my $undocumented = 0; while (my $line = <$file>) { if ($line =~ /^ \.(\w+)\s+0x[0-9a-f]+\s+(0x[0-9a-f]+) (\w+)\/.+\.o/) @@ -27,6 +28,13 @@ while (my $line = <$file>) } } } + if($line =~ /^\s+0x([0-9A-f]+)\s+[A-z_]+([0-9A-f]+)/) { + my $thing1 = sprintf("%08X", hex($1)); + my $thing2 = sprintf("%08X", hex($2)); + if($thing1 eq $thing2) { + $undocumented += 1; + } + } } my $total = $src + $asm; @@ -35,3 +43,4 @@ my $asmPct = sprintf("%.4f", 100 * $asm / $total); print "$total total bytes of code\n"; print "$src bytes of code in src ($srcPct%)\n"; print "$asm bytes of code in asm ($asmPct%)\n"; +print "$undocumented global names undocumented\n"; \ No newline at end of file From 8a69f68d50f6ea33d3f7139d804d376850b0d291 Mon Sep 17 00:00:00 2001 From: Melody Date: Sat, 29 Dec 2018 10:09:05 -0500 Subject: [PATCH 25/53] newline --- .travis/calcrom/calcrom.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis/calcrom/calcrom.pl b/.travis/calcrom/calcrom.pl index a0a74ca1bf..5bcd9deab1 100755 --- a/.travis/calcrom/calcrom.pl +++ b/.travis/calcrom/calcrom.pl @@ -43,4 +43,4 @@ my $asmPct = sprintf("%.4f", 100 * $asm / $total); print "$total total bytes of code\n"; print "$src bytes of code in src ($srcPct%)\n"; print "$asm bytes of code in asm ($asmPct%)\n"; -print "$undocumented global names undocumented\n"; \ No newline at end of file +print "$undocumented global names undocumented\n"; From daa2e36be68558569cb7ad33bf7e8fe6be137931 Mon Sep 17 00:00:00 2001 From: Melody Date: Sat, 29 Dec 2018 11:59:39 -0500 Subject: [PATCH 26/53] change names -> symbols --- .travis/calcrom/calcrom.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis/calcrom/calcrom.pl b/.travis/calcrom/calcrom.pl index 5bcd9deab1..9eff1c0648 100755 --- a/.travis/calcrom/calcrom.pl +++ b/.travis/calcrom/calcrom.pl @@ -43,4 +43,4 @@ my $asmPct = sprintf("%.4f", 100 * $asm / $total); print "$total total bytes of code\n"; print "$src bytes of code in src ($srcPct%)\n"; print "$asm bytes of code in asm ($asmPct%)\n"; -print "$undocumented global names undocumented\n"; +print "$undocumented global symbols undocumented\n"; From 95dcff581bdc8be8b02e007ad01f758abba274c0 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 28 Dec 2018 11:18:23 -0600 Subject: [PATCH 27/53] Document some fieldmap stuff --- asm/pokenav.s | 6 +- common_syms/fieldmap.txt | 2 +- include/fieldmap.h | 19 ++- include/fldeff.h | 4 +- src/battle_pyramid.c | 12 +- src/fieldmap.c | 269 ++++++++++++++++++++------------------- src/fldeff_cut.c | 4 +- src/fldeff_misc.c | 10 +- src/overworld.c | 28 ++-- src/tv.c | 4 +- 10 files changed, 178 insertions(+), 180 deletions(-) diff --git a/asm/pokenav.s b/asm/pokenav.s index c1cd01c275..1c0c18f7ec 100644 --- a/asm/pokenav.s +++ b/asm/pokenav.s @@ -29324,14 +29324,14 @@ sub_81D5FB4: @ 81D5FB4 mov r9, r0 cmp r0, 0x6 bne _081D5FD2 - bl sub_8087D74 + bl InitMapFromSavedGame b _081D605E _081D5FD2: bl sub_81D56B0 mov r0, r9 cmp r0, 0x5 bne _081D5FE6 - bl sub_8087D74 + bl InitMapFromSavedGame bl sub_81D5710 b _081D605E _081D5FE6: @@ -29342,7 +29342,7 @@ _081D5FE6: ldr r0, =gMapHeader ldr r0, [r0] ldr r2, [r0, 0xC] - ldr r1, =gUnknown_03005DC0 + ldr r1, =gBackupMapLayout str r4, [r1, 0x8] movs r0, 0x1F str r0, [r1] diff --git a/common_syms/fieldmap.txt b/common_syms/fieldmap.txt index 49e0fb9800..0ead758462 100644 --- a/common_syms/fieldmap.txt +++ b/common_syms/fieldmap.txt @@ -1 +1 @@ -gUnknown_03005DC0 +gBackupMapLayout diff --git a/include/fieldmap.h b/include/fieldmap.h index a50c79b432..3f5cc5ec8a 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -7,8 +7,9 @@ #define NUM_METATILES_TOTAL 1024 #define NUM_PALS_IN_PRIMARY 6 #define NUM_PALS_TOTAL 13 +#define MAX_MAP_DATA_SIZE 0x2800 -extern struct BackupMapLayout gUnknown_03005DC0; +extern struct BackupMapLayout gBackupMapLayout; u32 MapGridGetMetatileIdAt(int, int); u32 MapGridGetMetatileBehaviorAt(int, int); @@ -19,23 +20,19 @@ bool8 MapGridIsImpassableAt(int, int); int GetMapBorderIdAt(int x, int y); int CanCameraMoveInDirection(int direction); u16 GetBehaviorByMetatileId(u16 metatileId); -void sav1_camera_get_focus_coords(u16 *x, u16 *y); +void GetCameraFocusCoords(u16 *x, u16 *y); u8 MapGridGetMetatileLayerTypeAt(s32 x, s32 y); u8 MapGridGetZCoordAt(int x, int y); u8 CameraMove(s32 deltaX, s32 deltaY); -void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader); -void map_copy_with_padding(u16 *map, u16 width, u16 height); -void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *); -void fillSouthConnection(struct MapHeader const *, struct MapHeader const *, s32); -void fillNorthConnection(struct MapHeader const *, struct MapHeader const *, s32); -void fillWestConnection(struct MapHeader const *, struct MapHeader const *, s32); -void fillEastConnection(struct MapHeader const *, struct MapHeader const *, s32); -void mapdata_from_sav2(void); -bool8 sub_8088BF0(u16*, u16, u8); struct MapConnection *sub_8088950(u8 direction, int x, int y); bool8 sub_80889A8(u8 direction, int x, int y, struct MapConnection *connection); bool8 sub_8088A0C(int x, int src_width, int dest_width, int offset); void save_serialize_map(void); +void sub_8088B3C(u16 x, u16 y); +void InitMap(void); +void InitMapFromSavedGame(void); +void InitTrainerHillMap(void); +void InitBattlePyramidMap(u8 a0); void SpriteCB_PokeballGlow(struct Sprite *); void SpriteCB_PokecenterMonitor(struct Sprite *); diff --git a/include/fldeff.h b/include/fldeff.h index 99758fdb5b..e095396a40 100644 --- a/include/fldeff.h +++ b/include/fldeff.h @@ -6,8 +6,8 @@ bool8 SetUpFieldMove_Cut(void); bool8 FldEff_UseCutOnGrass(void); bool8 FldEff_UseCutOnTree(void); bool8 FldEff_CutGrass(void); -void sub_80D423C(s16 x, s16 y); -void sub_80D42B8(s16 x, s16 y); +void FixLongGrassMetatilesWindowTop(s16 x, s16 y); +void FixLongGrassMetatilesWindowBottom(s16 x, s16 y); extern const struct SpritePalette gFieldEffectObjectPaletteInfo6; diff --git a/src/battle_pyramid.c b/src/battle_pyramid.c index c9d9042872..2f0d35feb5 100644 --- a/src/battle_pyramid.c +++ b/src/battle_pyramid.c @@ -1202,8 +1202,8 @@ static u8 sub_81A9998(s32 *arg0, u8 arg1, u8 arg2) { s32 i, j; u8 ret = 0; - u16 *map = gUnknown_03005DC0.map; - map += gUnknown_03005DC0.width * 7 + 7; + u16 *map = gBackupMapLayout.map; + map += gBackupMapLayout.width * 7 + 7; for (i = 0; i < 32; map += 47, i++) { @@ -1493,11 +1493,11 @@ void sub_81AA078(u16 *mapArg, u8 arg1) const struct MapLayout *mapLayout = gMapLayouts[allocated[i] + 0x169]; const u16 *layoutMap = mapLayout->map; - gUnknown_03005DC0.map = mapArg; - gUnknown_03005DC0.width = mapLayout->width * 4 + 15; - gUnknown_03005DC0.height = mapLayout->height * 4 + 14; + gBackupMapLayout.map = mapArg; + gBackupMapLayout.width = mapLayout->width * 4 + 15; + gBackupMapLayout.height = mapLayout->height * 4 + 14; map = mapArg; - heightAdd = (((i / 4 * mapLayout->height) + 7) * (gUnknown_03005DC0.width)); + heightAdd = (((i / 4 * mapLayout->height) + 7) * (gBackupMapLayout.width)); widthAdd = ((i % 4 * mapLayout->width) + 7); map += heightAdd + widthAdd; for (j = 0; j < mapLayout->height; j++) diff --git a/src/fieldmap.c b/src/fieldmap.c index 4efbc12345..b1feed4bfb 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -24,84 +24,94 @@ struct ConnectionFlags u8 east:1; }; -EWRAM_DATA static u16 gUnknown_02032318[0x2800] = {0}; +EWRAM_DATA static u16 gBackupMapData[MAX_MAP_DATA_SIZE] = {0}; EWRAM_DATA struct MapHeader gMapHeader = {0}; EWRAM_DATA struct Camera gCamera = {0}; -EWRAM_DATA static struct ConnectionFlags gUnknown_02037340 = {0}; +EWRAM_DATA static struct ConnectionFlags gMapConnectionFlags = {0}; EWRAM_DATA static u32 sFiller_02037344 = 0; // without this, the next file won't align properly -struct BackupMapLayout gUnknown_03005DC0; +struct BackupMapLayout gBackupMapLayout; static const struct ConnectionFlags sDummyConnectionFlags = {0}; +static void InitMapLayoutData(struct MapHeader *mapHeader); +static void InitBackupMapLayoutData(u16 *map, u16 width, u16 height); +static void FillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); +static void FillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); +static void FillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); +static void FillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset); +static void InitBackupMapLayoutConnections(struct MapHeader *mapHeader); +static void LoadSavedMapView(void); +static bool8 SkipCopyingMetatileFromSavedMap(u16* mapMetatilePtr, u16 mapWidth, u8 yMode); + struct MapHeader const *const mapconnection_get_mapheader(struct MapConnection *connection) { return Overworld_GetMapHeaderByGroupAndId(connection->mapGroup, connection->mapNum); } -void not_trainer_hill_battle_pyramid(void) +void InitMap(void) { - mapheader_copy_mapdata_with_padding(&gMapHeader); + InitMapLayoutData(&gMapHeader); sub_80E8EE0(gMapHeader.events); mapheader_run_script_with_tag_x1(); } -void sub_8087D74(void) +void InitMapFromSavedGame(void) { - mapheader_copy_mapdata_with_padding(&gMapHeader); + InitMapLayoutData(&gMapHeader); sub_80E9238(0); sub_80E8EE0(gMapHeader.events); - mapdata_from_sav2(); + LoadSavedMapView(); mapheader_run_script_with_tag_x1(); - UpdateTVScreensOnMap(gUnknown_03005DC0.width, gUnknown_03005DC0.height); + UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height); } -void battle_pyramid_map_load_related(u8 a0) +void InitBattlePyramidMap(u8 a0) { - CpuFastFill(0x03ff03ff, gUnknown_02032318, sizeof(gUnknown_02032318)); - sub_81AA078(gUnknown_02032318, a0); + CpuFastFill(0x03ff03ff, gBackupMapData, sizeof(gBackupMapData)); + sub_81AA078(gBackupMapData, a0); } -void trainer_hill_map_load_related(void) +void InitTrainerHillMap(void) { - CpuFastFill(0x03ff03ff, gUnknown_02032318, sizeof(gUnknown_02032318)); - sub_81D5FB4(gUnknown_02032318); + CpuFastFill(0x03ff03ff, gBackupMapData, sizeof(gBackupMapData)); + sub_81D5FB4(gBackupMapData); } -void mapheader_copy_mapdata_with_padding(struct MapHeader *mapHeader) +static void InitMapLayoutData(struct MapHeader *mapHeader) { struct MapLayout const *mapLayout; int width; int height; mapLayout = mapHeader->mapLayout; - CpuFastFill16(0x03ff, gUnknown_02032318, sizeof(gUnknown_02032318)); - gUnknown_03005DC0.map = gUnknown_02032318; + CpuFastFill16(0x03ff, gBackupMapData, sizeof(gBackupMapData)); + gBackupMapLayout.map = gBackupMapData; width = mapLayout->width + 15; - gUnknown_03005DC0.width = width; + gBackupMapLayout.width = width; height = mapLayout->height + 14; - gUnknown_03005DC0.height = height; - if (width * height <= 0x2800) + gBackupMapLayout.height = height; + if (width * height <= MAX_MAP_DATA_SIZE) { - map_copy_with_padding(mapLayout->map, mapLayout->width, mapLayout->height); - mapheader_copy_mapdata_of_adjacent_maps(mapHeader); + InitBackupMapLayoutData(mapLayout->map, mapLayout->width, mapLayout->height); + InitBackupMapLayoutConnections(mapHeader); } } -void map_copy_with_padding(u16 *map, u16 width, u16 height) +static void InitBackupMapLayoutData(u16 *map, u16 width, u16 height) { u16 *dest; int y; - dest = gUnknown_03005DC0.map; - dest += gUnknown_03005DC0.width * 7 + 7; + dest = gBackupMapLayout.map; + dest += gBackupMapLayout.width * 7 + 7; for (y = 0; y < height; y++) { CpuCopy16(map, dest, width * 2); - dest += width + 0xf; + dest += width + 15; map += width; } } -void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader) +static void InitBackupMapLayoutConnections(struct MapHeader *mapHeader) { int count; struct MapConnection *connection; @@ -111,56 +121,54 @@ void mapheader_copy_mapdata_of_adjacent_maps(struct MapHeader *mapHeader) { count = mapHeader->connections->count; connection = mapHeader->connections->connections; - - gUnknown_02037340 = sDummyConnectionFlags; + gMapConnectionFlags = sDummyConnectionFlags; for (i = 0; i < count; i++, connection++) { struct MapHeader const *cMap = mapconnection_get_mapheader(connection); u32 offset = connection->offset; - switch (connection->direction) { case CONNECTION_SOUTH: - fillSouthConnection(mapHeader, cMap, offset); - gUnknown_02037340.south = 1; + FillSouthConnection(mapHeader, cMap, offset); + gMapConnectionFlags.south = 1; break; case CONNECTION_NORTH: - fillNorthConnection(mapHeader, cMap, offset); - gUnknown_02037340.north = 1; + FillNorthConnection(mapHeader, cMap, offset); + gMapConnectionFlags.north = 1; break; case CONNECTION_WEST: - fillWestConnection(mapHeader, cMap, offset); - gUnknown_02037340.west = 1; + FillWestConnection(mapHeader, cMap, offset); + gMapConnectionFlags.west = 1; break; case CONNECTION_EAST: - fillEastConnection(mapHeader, cMap, offset); - gUnknown_02037340.east = 1; + FillEastConnection(mapHeader, cMap, offset); + gMapConnectionFlags.east = 1; break; } } } } -void sub_8087F54(int x, int y, struct MapHeader const *mapHeader, int x2, int y2, int width, int height) +static void sub_8087F54(int x, int y, struct MapHeader const *connectedMapHeader, int x2, int y2, int width, int height) { int i; u16 *src; u16 *dest; int mapWidth; - mapWidth = mapHeader->mapLayout->width; - src = &mapHeader->mapLayout->map[mapWidth * y2 + x2]; - dest = &gUnknown_03005DC0.map[gUnknown_03005DC0.width * y + x]; + mapWidth = connectedMapHeader->mapLayout->width; + src = &connectedMapHeader->mapLayout->map[mapWidth * y2 + x2]; + dest = &gBackupMapLayout.map[gBackupMapLayout.width * y + x]; for (i = 0; i < height; i++) { CpuCopy16(src, dest, width * 2); - dest += gUnknown_03005DC0.width; + dest += gBackupMapLayout.width; src += mapWidth; } } -void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) +static void FillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) { int x, y; int x2; @@ -176,26 +184,26 @@ void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader con { x2 = -x; x += cWidth; - if (x < gUnknown_03005DC0.width) + if (x < gBackupMapLayout.width) { width = x; } else { - width = gUnknown_03005DC0.width; + width = gBackupMapLayout.width; } x = 0; } else { x2 = 0; - if (x + cWidth < gUnknown_03005DC0.width) + if (x + cWidth < gBackupMapLayout.width) { width = cWidth; } else { - width = gUnknown_03005DC0.width - x; + width = gBackupMapLayout.width - x; } } @@ -207,7 +215,7 @@ void fillSouthConnection(struct MapHeader const *mapHeader, struct MapHeader con } } -void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) +static void FillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) { int x; int x2, y2; @@ -224,26 +232,26 @@ void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader con { x2 = -x; x += cWidth; - if (x < gUnknown_03005DC0.width) + if (x < gBackupMapLayout.width) { width = x; } else { - width = gUnknown_03005DC0.width; + width = gBackupMapLayout.width; } x = 0; } else { x2 = 0; - if (x + cWidth < gUnknown_03005DC0.width) + if (x + cWidth < gBackupMapLayout.width) { width = cWidth; } else { - width = gUnknown_03005DC0.width - x; + width = gBackupMapLayout.width - x; } } @@ -256,7 +264,7 @@ void fillNorthConnection(struct MapHeader const *mapHeader, struct MapHeader con } } -void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) +static void FillWestConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) { int y; int x2, y2; @@ -271,26 +279,26 @@ void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader cons if (y < 0) { y2 = -y; - if (y + cHeight < gUnknown_03005DC0.height) + if (y + cHeight < gBackupMapLayout.height) { height = y + cHeight; } else { - height = gUnknown_03005DC0.height; + height = gBackupMapLayout.height; } y = 0; } else { y2 = 0; - if (y + cHeight < gUnknown_03005DC0.height) + if (y + cHeight < gBackupMapLayout.height) { height = cHeight; } else { - height = gUnknown_03005DC0.height - y; + height = gBackupMapLayout.height - y; } } @@ -302,7 +310,7 @@ void fillWestConnection(struct MapHeader const *mapHeader, struct MapHeader cons } } -void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) +static void FillEastConnection(struct MapHeader const *mapHeader, struct MapHeader const *connectedMapHeader, s32 offset) { int x, y; int y2; @@ -316,26 +324,26 @@ void fillEastConnection(struct MapHeader const *mapHeader, struct MapHeader cons if (y < 0) { y2 = -y; - if (y + cHeight < gUnknown_03005DC0.height) + if (y + cHeight < gBackupMapLayout.height) { height = y + cHeight; } else { - height = gUnknown_03005DC0.height; + height = gBackupMapLayout.height; } y = 0; } else { y2 = 0; - if (y + cHeight < gUnknown_03005DC0.height) + if (y + cHeight < gBackupMapLayout.height) { height = cHeight; } else { - height = gUnknown_03005DC0.height - y; + height = gBackupMapLayout.height - y; } } @@ -364,10 +372,10 @@ u8 MapGridGetZCoordAt(int x, int y) int i; u16 *border; - if (x >= 0 && x < gUnknown_03005DC0.width - && y >= 0 && y < gUnknown_03005DC0.height) + if (x >= 0 && x < gBackupMapLayout.width + && y >= 0 && y < gBackupMapLayout.height) { - block = gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y]; + block = gBackupMapLayout.map[x + gBackupMapLayout.width * y]; } else { @@ -392,10 +400,10 @@ u8 MapGridIsImpassableAt(int x, int y) int i; u16 *border; - if (x >= 0 && x < gUnknown_03005DC0.width - && y >= 0 && y < gUnknown_03005DC0.height) + if (x >= 0 && x < gBackupMapLayout.width + && y >= 0 && y < gBackupMapLayout.height) { - block = gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y]; + block = gBackupMapLayout.map[x + gBackupMapLayout.width * y]; } else { @@ -421,10 +429,10 @@ u32 MapGridGetMetatileIdAt(int x, int y) u16 *border; u16 block2; - if (x >= 0 && x < gUnknown_03005DC0.width - && y >= 0 && y < gUnknown_03005DC0.height) + if (x >= 0 && x < gBackupMapLayout.width + && y >= 0 && y < gBackupMapLayout.height) { - block = gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y]; + block = gBackupMapLayout.map[x + gBackupMapLayout.width * y]; } else { @@ -462,22 +470,22 @@ u8 MapGridGetMetatileLayerTypeAt(int x, int y) void MapGridSetMetatileIdAt(int x, int y, u16 metatile) { int i; - if (x >= 0 && x < gUnknown_03005DC0.width - && y >= 0 && y < gUnknown_03005DC0.height) + if (x >= 0 && x < gBackupMapLayout.width + && y >= 0 && y < gBackupMapLayout.height) { - i = x + y * gUnknown_03005DC0.width; - gUnknown_03005DC0.map[i] = (gUnknown_03005DC0.map[i] & 0xf000) | (metatile & 0xfff); + i = x + y * gBackupMapLayout.width; + gBackupMapLayout.map[i] = (gBackupMapLayout.map[i] & 0xf000) | (metatile & 0xfff); } } void MapGridSetMetatileEntryAt(int x, int y, u16 metatile) { int i; - if (x >= 0 && x < gUnknown_03005DC0.width - && y >= 0 && y < gUnknown_03005DC0.height) + if (x >= 0 && x < gBackupMapLayout.width + && y >= 0 && y < gBackupMapLayout.height) { - i = x + gUnknown_03005DC0.width * y; - gUnknown_03005DC0.map[i] = metatile; + i = x + gBackupMapLayout.width * y; + gBackupMapLayout.map[i] = metatile; } } @@ -507,76 +515,75 @@ void save_serialize_map(void) u16 *mapView; int width; mapView = gSaveBlock1Ptr->mapView; - width = gUnknown_03005DC0.width; + width = gBackupMapLayout.width; x = gSaveBlock1Ptr->pos.x; y = gSaveBlock1Ptr->pos.y; for (i = y; i < y + 14; i++) { for (j = x; j < x + 15; j++) { - *mapView++ = gUnknown_02032318[width * i + j]; + *mapView++ = gBackupMapData[width * i + j]; } } } -int sub_8088438(void) +static bool32 SavedMapViewIsEmpty(void) { u16 i; - u32 r2; - r2 = 0; + u32 marker = 0; + + // BUG: This loop extends past the bounds of the mapView array. Its size is only 0x100. for (i = 0; i < 0x200; i++) - { - r2 |= gSaveBlock1Ptr->mapView[i]; - } - if (r2 == 0) - { - return 1; - } - return 0; + marker |= gSaveBlock1Ptr->mapView[i]; + + if (marker == 0) + return TRUE; + else + return FALSE; } -void sav2_mapdata_clear(void) +static void ClearSavedMapView(void) { CpuFill16(0, gSaveBlock1Ptr->mapView, sizeof(gSaveBlock1Ptr->mapView)); } -void mapdata_from_sav2(void) +static void LoadSavedMapView(void) { - u8 a0; + u8 yMode; int i, j; int x, y; u16 *mapView; int width; mapView = gSaveBlock1Ptr->mapView; - if (!sub_8088438()) + if (!SavedMapViewIsEmpty()) { - width = gUnknown_03005DC0.width; + width = gBackupMapLayout.width; x = gSaveBlock1Ptr->pos.x; y = gSaveBlock1Ptr->pos.y; for (i = y; i < y + 14; i++) { if (i == y && i != 0) - a0 = 0; + yMode = 0; else if (i == y + 13 && i != gMapHeader.mapLayout->height - 1) - a0 = 1; + yMode = 1; else - a0 = -1; + yMode = 0xFF; for (j = x; j < x + 15; j++) { - if (!sub_8088BF0(&gUnknown_02032318[j + width * i], width, a0)) - gUnknown_02032318[j + width * i] = *mapView; + if (!SkipCopyingMetatileFromSavedMap(&gBackupMapData[j + width * i], width, yMode)) + gBackupMapData[j + width * i] = *mapView; mapView++; } } for (j = x; j < x + 15; j++) { if (y != 0) - sub_80D423C(j, y - 1); + FixLongGrassMetatilesWindowTop(j, y - 1); if (i < gMapHeader.mapLayout->height - 1) - sub_80D42B8(j, y + 13); + FixLongGrassMetatilesWindowBottom(j, y + 13); } - sav2_mapdata_clear(); + ClearSavedMapView(); } } @@ -592,7 +599,7 @@ void sub_80885C4(u8 a1) int x, y; int i, j; mapView = gSaveBlock1Ptr->mapView; - width = gUnknown_03005DC0.width; + width = gBackupMapLayout.width; r9 = 0; r8 = 0; x0 = gSaveBlock1Ptr->pos.x; @@ -627,13 +634,13 @@ void sub_80885C4(u8 a1) desti = width * (y + y0); srci = (y + r8) * 15 + r9; src = &mapView[srci + i]; - dest = &gUnknown_02032318[x0 + desti + j]; + dest = &gBackupMapData[x0 + desti + j]; *dest = *src; i++; j++; } } - sav2_mapdata_clear(); + ClearSavedMapView(); } int GetMapBorderIdAt(int x, int y) @@ -641,12 +648,12 @@ int GetMapBorderIdAt(int x, int y) struct MapLayout const *mapLayout; u16 block, block2; int i, j; - if (x >= 0 && x < gUnknown_03005DC0.width - && y >= 0 && y < gUnknown_03005DC0.height) + if (x >= 0 && x < gBackupMapLayout.width + && y >= 0 && y < gBackupMapLayout.height) { - i = gUnknown_03005DC0.width; + i = gBackupMapLayout.width; i *= y; - block = gUnknown_03005DC0.map[x + i]; + block = gBackupMapLayout.map[x + i]; if (block == 0x3ff) { goto fail; @@ -668,9 +675,9 @@ fail: return -1; success: - if (x >= (gUnknown_03005DC0.width - 8)) + if (x >= (gBackupMapLayout.width - 8)) { - if (!gUnknown_02037340.east) + if (!gMapConnectionFlags.east) { return -1; } @@ -678,15 +685,15 @@ success: } else if (x < 7) { - if (!gUnknown_02037340.west) + if (!gMapConnectionFlags.west) { return -1; } return CONNECTION_WEST; } - else if (y >= (gUnknown_03005DC0.height - 7)) + else if (y >= (gBackupMapLayout.height - 7)) { - if (!gUnknown_02037340.south) + if (!gMapConnectionFlags.south) { return -1; } @@ -694,7 +701,7 @@ success: } else if (y < 7) { - if (!gUnknown_02037340.north) + if (!gMapConnectionFlags.north) { return -1; } @@ -891,13 +898,13 @@ void sub_8088B3C(u16 x, u16 y) gSaveBlock1Ptr->pos.y = y - 7; } -void sav1_camera_get_focus_coords(u16 *x, u16 *y) +void GetCameraFocusCoords(u16 *x, u16 *y) { *x = gSaveBlock1Ptr->pos.x + 7; *y = gSaveBlock1Ptr->pos.y + 7; } -void SetCameraCoords(u16 x, u16 y) +void SetPlayerCoords(u16 x, u16 y) { gSaveBlock1Ptr->pos.x = x; gSaveBlock1Ptr->pos.y = y; @@ -911,26 +918,26 @@ void GetCameraCoords(u16 *x, u16 *y) void sub_8088B94(int x, int y, int a2) { - if (x >= 0 && x < gUnknown_03005DC0.width && y >= 0 && y < gUnknown_03005DC0.height) + if (x >= 0 && x < gBackupMapLayout.width && y >= 0 && y < gBackupMapLayout.height) { if (a2 != 0) - gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y] |= 0xC00; + gBackupMapLayout.map[x + gBackupMapLayout.width * y] |= 0xC00; else - gUnknown_03005DC0.map[x + gUnknown_03005DC0.width * y] &= 0xF3FF; + gBackupMapLayout.map[x + gBackupMapLayout.width * y] &= 0xF3FF; } } -bool8 sub_8088BF0(u16* a0, u16 a1, u8 a2) +static bool8 SkipCopyingMetatileFromSavedMap(u16* mapMetatilePtr, u16 mapWidth, u8 yMode) { - if (a2 == 0xFF) + if (yMode == 0xFF) return FALSE; - if (a2 == 0) - a0 -= a1; + if (yMode == 0) + mapMetatilePtr -= mapWidth; else - a0 += a1; + mapMetatilePtr += mapWidth; - if (sub_80FADE4(*a0 & 0x3FF, a2) == 1) + if (sub_80FADE4(*mapMetatilePtr & 0x3FF, yMode) == 1) return TRUE; return FALSE; } diff --git a/src/fldeff_cut.c b/src/fldeff_cut.c index 60887a5cce..348a1f46c9 100644 --- a/src/fldeff_cut.c +++ b/src/fldeff_cut.c @@ -624,7 +624,7 @@ static void CutGrassSpriteCallbackEnd(struct Sprite *sprite) ScriptContext1_SetupScript(FarawayIsland_Interior_EventScript_267EDB); } -void sub_80D423C(s16 x, s16 y) +void FixLongGrassMetatilesWindowTop(s16 x, s16 y) { u8 metatileBehavior = MapGridGetMetatileBehaviorAt(x, y); if (MetatileBehavior_IsLongGrass_Duplicate(metatileBehavior)) @@ -647,7 +647,7 @@ void sub_80D423C(s16 x, s16 y) } } -void sub_80D42B8(s16 x, s16 y) +void FixLongGrassMetatilesWindowBottom(s16 x, s16 y) { if (MapGridGetMetatileIdAt(x, y) == METATILE_ID_GRASS) { diff --git a/src/fldeff_misc.c b/src/fldeff_misc.c index 1f4c6f9fbd..df4576a7f8 100644 --- a/src/fldeff_misc.c +++ b/src/fldeff_misc.c @@ -1166,23 +1166,23 @@ void GetShieldToyTVDecorationInfo(void) } } -bool8 sub_80FADE4(u16 arg0, u8 arg1) +bool8 sub_80FADE4(u16 metatileId, u8 arg1) { if (!CurrentMapIsSecretBase()) return FALSE; if (!arg1) { - if (arg0 == 0x285 || arg0 == 0x286) + if (metatileId == 0x285 || metatileId == 0x286) return TRUE; - if (arg0 == 0x237) + if (metatileId == 0x237) return TRUE; } else { - if (arg0 == 0x28d) + if (metatileId == 0x28d) return TRUE; - if (arg0 == 0x23F) + if (metatileId == 0x23F) return TRUE; } diff --git a/src/overworld.c b/src/overworld.c index 217b4c27e0..aeb8860765 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -102,7 +102,6 @@ extern void ApplyNewEncryptionKeyToWord(u32 *word, u32 newKey); extern void mapheader_run_script_with_tag_x5(void); extern void ResetFieldTasksArgs(void); extern void sub_80A0A2C(void); -extern void not_trainer_hill_battle_pyramid(void); extern void apply_map_tileset2_palette(const struct MapLayout *); extern void copy_map_tileset2_to_vram_2(const struct MapLayout *); extern void RestartWildEncounterImmunitySteps(void); @@ -126,11 +125,7 @@ extern void sub_80AF168(void); extern void sub_80AF3C8(void); extern void ExecuteTruckSequence(void); extern void sub_80A0A38(void); -extern void trainer_hill_map_load_related(void); -extern void sub_8087D74(void); -extern void battle_pyramid_map_load_related(u8); extern void WriteFlashScanlineEffectBuffer(u8); -extern void sub_80E9238(u8); extern void sub_81AA2F8(void); extern void sub_8195E10(void); extern void sub_80EDB44(void); @@ -149,7 +144,6 @@ extern void SetUpFieldTasks(void); extern void ShowStartMenu(void); extern void sub_80AEE84(void); extern void mapldr_default(void); -extern void sub_8088B3C(u16, u16); extern bool32 sub_800F0B8(void); extern bool32 sub_8009F3C(void); extern void sub_8010198(void); @@ -870,7 +864,7 @@ void mliX_load_map(u8 mapGroup, u8 mapNum) SetDefaultFlashLevel(); Overworld_ClearSavedMusic(); mapheader_run_script_with_tag_x3(); - not_trainer_hill_battle_pyramid(); + InitMap(); copy_map_tileset2_to_vram_2(gMapHeader.mapLayout); apply_map_tileset2_palette(gMapHeader.mapLayout); @@ -925,15 +919,15 @@ static void mli0_load_map(u32 a1) UpdateLocationHistoryForRoamer(); RoamerMoveToOtherLocationSet(); if (gMapHeader.mapLayoutId == 0x169) - battle_pyramid_map_load_related(0); + InitBattlePyramidMap(0); else if (InTrainerHill()) - trainer_hill_map_load_related(); + InitTrainerHillMap(); else - not_trainer_hill_battle_pyramid(); + InitMap(); if (a1 != 1 && indoors) { - UpdateTVScreensOnMap(gUnknown_03005DC0.width, gUnknown_03005DC0.height); + UpdateTVScreensOnMap(gBackupMapLayout.width, gBackupMapLayout.height); sub_80E9238(1); } } @@ -1774,11 +1768,11 @@ void CB2_ContinueSavedGame(void) DoTimeBasedEvents(); sub_8084788(); if (gMapHeader.mapLayoutId == 0x169) - battle_pyramid_map_load_related(1); + InitBattlePyramidMap(1); else if (trainerHillMapId != 0) - trainer_hill_map_load_related(); + InitTrainerHillMap(); else - sub_8087D74(); + InitMapFromSavedGame(); PlayTimeCounter_Start(); ScriptContext1_Init(); @@ -2216,7 +2210,7 @@ static void mli4_mapscripts_and_other(void) gTotalCameraPixelOffsetX = 0; gTotalCameraPixelOffsetY = 0; ResetEventObjects(); - sav1_camera_get_focus_coords(&x, &y); + GetCameraFocusCoords(&x, &y); player = GetInitialPlayerAvatarState(); InitPlayerAvatar(x, y, player->direction, gSaveBlock2Ptr->playerGender); SetPlayerAvatarTransitionFlags(player->transitionFlags); @@ -2251,7 +2245,7 @@ static void sub_8086AC8(void) static void sub_8086AE4(void) { u16 x, y; - sav1_camera_get_focus_coords(&x, &y); + GetCameraFocusCoords(&x, &y); sub_8088B3C(x + gUnknown_03005DB4, y); } @@ -2260,7 +2254,7 @@ static void sub_8086B14(void) u16 i; u16 x, y; - sav1_camera_get_focus_coords(&x, &y); + GetCameraFocusCoords(&x, &y); x -= gUnknown_03005DB4; for (i = 0; i < gFieldLinkPlayerCount; i++) diff --git a/src/tv.c b/src/tv.c index 3d2a25bdc0..27e2922f46 100644 --- a/src/tv.c +++ b/src/tv.c @@ -862,13 +862,13 @@ void SetTVMetatilesOnMap(int width, int height, u16 tileId) void TurnOffTVScreen(void) { - SetTVMetatilesOnMap(gUnknown_03005DC0.width, gUnknown_03005DC0.height, 0x0002); + SetTVMetatilesOnMap(gBackupMapLayout.width, gBackupMapLayout.height, 0x0002); DrawWholeMapView(); } void TurnOnTVScreen(void) { - SetTVMetatilesOnMap(gUnknown_03005DC0.width, gUnknown_03005DC0.height, 0x0003); + SetTVMetatilesOnMap(gBackupMapLayout.width, gBackupMapLayout.height, 0x0003); DrawWholeMapView(); } From 46d41d2fb9c5d8ff842139410ebf0ff1642f9b82 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 28 Dec 2018 12:29:21 -0600 Subject: [PATCH 28/53] Use EVENT_OBJ_ID_PLAYER in C code --- src/event_obj_lock.c | 11 ++++++----- src/event_object_movement.c | 4 ++-- src/field_control_avatar.c | 13 +++++++------ src/field_player_avatar.c | 4 ++-- src/item_use.c | 11 ++++++----- src/mossdeep_gym.c | 3 ++- src/scrcmd.c | 13 +++++++------ 7 files changed, 32 insertions(+), 27 deletions(-) diff --git a/src/event_obj_lock.c b/src/event_obj_lock.c index 8c324ea82c..566b4931df 100644 --- a/src/event_obj_lock.c +++ b/src/event_obj_lock.c @@ -6,6 +6,7 @@ #include "script_movement.h" #include "task.h" #include "trainer_see.h" +#include "constants/event_objects.h" bool8 walkrun_is_standing_still(void) { @@ -89,20 +90,20 @@ void LockSelectedEventObject(void) void ScriptUnfreezeEventObjects(void) { - u8 objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); + u8 playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); sub_80D338C(); UnfreezeEventObjects(); } void sub_8098524(void) { - u8 objectId; + u8 playerObjectId; if (gEventObjects[gSelectedEventObject].active) EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); - objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); + playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); sub_80D338C(); UnfreezeEventObjects(); } diff --git a/src/event_object_movement.c b/src/event_object_movement.c index ffa8f53c92..7cee717bf4 100644 --- a/src/event_object_movement.c +++ b/src/event_object_movement.c @@ -6420,7 +6420,7 @@ bool8 MovementAction_FacePlayer_Step0(struct EventObject *eventObject, struct Sp { u8 playerObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0, &playerObjectId)) { FaceDirection(eventObject, sprite, GetDirectionToFace(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[playerObjectId].currentCoords.x, gEventObjects[playerObjectId].currentCoords.y)); } @@ -6432,7 +6432,7 @@ bool8 MovementAction_FaceAwayPlayer_Step0(struct EventObject *eventObject, struc { u8 playerObjectId; - if (!TryGetEventObjectIdByLocalIdAndMap(0xFF, 0, 0, &playerObjectId)) + if (!TryGetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0, &playerObjectId)) { FaceDirection(eventObject, sprite, GetOppositeDirection(GetDirectionToFace(eventObject->currentCoords.x, eventObject->currentCoords.y, gEventObjects[playerObjectId].currentCoords.x, gEventObjects[playerObjectId].currentCoords.y))); } diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index bac0417dca..0642120bb1 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -27,6 +27,7 @@ #include "trainer_see.h" #include "wild_encounter.h" #include "constants/bg_event_constants.h" +#include "constants/event_objects.h" #include "constants/map_types.h" #include "constants/maps.h" #include "constants/songs.h" @@ -51,7 +52,7 @@ static bool32 TrySetupDiveDownScript(void); static bool32 TrySetupDiveEmergeScript(void); static bool8 TryStartStepBasedScript(struct MapPosition *, u16, u16); static bool8 CheckStandardWildEncounter(u16); -static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *, u16, u8); +static bool8 TryArrowWarp(struct MapPosition *, u16, u8); static bool8 IsWarpMetatileBehavior(u16); static bool8 IsArrowWarpMetatileBehavior(u16, u8); static s8 GetWarpEventAtMapPosition(struct MapHeader *, struct MapPosition *); @@ -161,7 +162,7 @@ int ProcessPlayerFieldInput(struct FieldInput *input) return TRUE; if (input->input_field_0_4 && input->dpadDirection == playerDirection) { - if (mapheader_run_first_tag2_script_list_match_conditionally(&position, metatileBehavior, playerDirection) == TRUE) + if (TryArrowWarp(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; } @@ -266,7 +267,7 @@ const u8 *GetInteractedLinkPlayerScript(struct MapPosition *position, u8 metatil else eventObjectId = GetEventObjectIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height); - if (eventObjectId == 16 || gEventObjects[eventObjectId].localId == 0xFF) + if (eventObjectId == EVENT_OBJECTS_COUNT || gEventObjects[eventObjectId].localId == EVENT_OBJ_ID_PLAYER) return NULL; for (i = 0; i < 4; i++) @@ -287,14 +288,14 @@ static const u8 *GetInteractedEventObjectScript(struct MapPosition *position, u8 const u8 *script; eventObjectId = GetEventObjectIdByXYZ(position->x, position->y, position->height); - if (eventObjectId == 16 || gEventObjects[eventObjectId].localId == 0xFF) + if (eventObjectId == EVENT_OBJECTS_COUNT || gEventObjects[eventObjectId].localId == EVENT_OBJ_ID_PLAYER) { if (MetatileBehavior_IsCounter(metatileBehavior) != TRUE) return NULL; // Look for an event object on the other side of the counter. eventObjectId = GetEventObjectIdByXYZ(position->x + gDirectionToVectors[direction].x, position->y + gDirectionToVectors[direction].y, position->height); - if (eventObjectId == 16 || gEventObjects[eventObjectId].localId == 0xFF) + if (eventObjectId == EVENT_OBJECTS_COUNT || gEventObjects[eventObjectId].localId == EVENT_OBJ_ID_PLAYER) return NULL; } @@ -686,7 +687,7 @@ static bool8 CheckStandardWildEncounter(u16 metatileBehavior) return FALSE; } -static bool8 mapheader_run_first_tag2_script_list_match_conditionally(struct MapPosition *position, u16 metatileBehavior, u8 direction) +static bool8 TryArrowWarp(struct MapPosition *position, u16 metatileBehavior, u8 direction) { s8 warpEventId = GetWarpEventAtMapPosition(&gMapHeader, position); diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index f14ac83293..8cb3ce9124 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -791,7 +791,7 @@ bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction) playerY = object->currentCoords.y; MoveCoords(direction, &playerX, &playerY); - mewObjectId = GetEventObjectIdByLocalIdAndMap(1, 0x39, 0x1A); + mewObjectId = GetEventObjectIdByLocalIdAndMap(1, MAP_NUM(FARAWAY_ISLAND_INTERIOR), MAP_GROUP(FARAWAY_ISLAND_INTERIOR)); if (mewObjectId == 16) { @@ -1389,7 +1389,7 @@ void InitPlayerAvatar(s16 x, s16 y, u8 direction, u8 gender) u8 eventObjectId; struct EventObject *eventObject; - playerEventObjTemplate.localId = 0xFF; + playerEventObjTemplate.localId = EVENT_OBJ_ID_PLAYER; playerEventObjTemplate.graphicsId = GetPlayerAvatarGraphicsIdByStateIdAndGender(PLAYER_AVATAR_STATE_NORMAL, gender); playerEventObjTemplate.x = x - 7; playerEventObjTemplate.y = y - 7; diff --git a/src/item_use.c b/src/item_use.c index 7592673454..91fdc81c8a 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -32,6 +32,7 @@ #include "task.h" #include "text.h" #include "constants/bg_event_constants.h" +#include "constants/event_objects.h" #include "constants/flags.h" #include "constants/items.h" #include "constants/songs.h" @@ -570,15 +571,15 @@ u8 sub_80FD9B0(s16 itemX, s16 itemY) void sub_80FDA24(u8 direction) { - EventObjectClearHeldMovementIfFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]); - EventObjectClearHeldMovement(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]); - UnfreezeEventObject(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]); + EventObjectClearHeldMovementIfFinished(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]); + EventObjectClearHeldMovement(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]); + UnfreezeEventObject(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]); PlayerTurnInPlace(direction); } void sub_80FDA94(u8 taskId) { - if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE) + if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]) == TRUE) DisplayItemMessageOnField(taskId, gText_ItemFinderNearby, sub_80FD5CC); } @@ -586,7 +587,7 @@ void sub_80FDADC(u8 taskId) { s16 *data = gTasks[taskId].data; - if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0)]) == TRUE + if (EventObjectCheckHeldMovementStatus(&gEventObjects[GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0)]) == TRUE || data[2] == FALSE) { sub_80FDA24(gUnknown_085920E4[data[5]]); diff --git a/src/mossdeep_gym.c b/src/mossdeep_gym.c index 07920fe4cb..d8adbe0c61 100644 --- a/src/mossdeep_gym.c +++ b/src/mossdeep_gym.c @@ -5,6 +5,7 @@ #include "mossdeep_gym.h" #include "script_movement.h" #include "constants/event_object_movement_constants.h" +#include "constants/event_objects.h" // Movement scripts. extern const u8 gUnknown_08612698[]; @@ -52,7 +53,7 @@ void FinishMossdeepGymTiles(void) if (gUnknown_0203CE50 != NULL) FREE_AND_SET_NULL(gUnknown_0203CE50); - id = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); + id = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); EventObjectClearHeldMovementIfFinished(&gEventObjects[id]); sub_80D338C(); } diff --git a/src/scrcmd.c b/src/scrcmd.c index 39df1117d8..77852ad315 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -49,6 +49,7 @@ #include "trainer_see.h" #include "tv.h" #include "window.h" +#include "constants/event_objects.h" typedef u16 (*SpecialFunc)(void); typedef void (*NativeFunc)(void); @@ -1239,11 +1240,11 @@ bool8 ScrCmd_lock(struct ScriptContext *ctx) bool8 ScrCmd_releaseall(struct ScriptContext *ctx) { - u8 objectId; + u8 playerObjectId; HideFieldMessageBox(); - objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); + playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); sub_80D338C(); UnfreezeEventObjects(); return FALSE; @@ -1251,13 +1252,13 @@ bool8 ScrCmd_releaseall(struct ScriptContext *ctx) bool8 ScrCmd_release(struct ScriptContext *ctx) { - u8 objectId; + u8 playerObjectId; HideFieldMessageBox(); if (gEventObjects[gSelectedEventObject].active) EventObjectClearHeldMovementIfFinished(&gEventObjects[gSelectedEventObject]); - objectId = GetEventObjectIdByLocalIdAndMap(0xFF, 0, 0); - EventObjectClearHeldMovementIfFinished(&gEventObjects[objectId]); + playerObjectId = GetEventObjectIdByLocalIdAndMap(EVENT_OBJ_ID_PLAYER, 0, 0); + EventObjectClearHeldMovementIfFinished(&gEventObjects[playerObjectId]); sub_80D338C(); UnfreezeEventObjects(); return FALSE; From 67636b7c64ccbd6a638cf55ee153d70fde27ded8 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 28 Dec 2018 13:10:02 -0600 Subject: [PATCH 29/53] Document deoxys rock --- data/field_effect_scripts.s | 2 +- data/maps/BirthIsland_Exterior/scripts.inc | 8 +- data/specials.inc | 2 +- include/constants/field_effects.h | 2 +- include/constants/flags.h | 2 +- include/constants/vars.h | 4 +- include/field_specials.h | 2 +- src/field_control_avatar.c | 2 +- src/field_effect.c | 8 +- src/field_specials.c | 106 ++++++++++----------- 10 files changed, 65 insertions(+), 73 deletions(-) diff --git a/data/field_effect_scripts.s b/data/field_effect_scripts.s index 81de41aaab..93fe33f8a5 100644 --- a/data/field_effect_scripts.s +++ b/data/field_effect_scripts.s @@ -341,5 +341,5 @@ gFieldEffectScript_Unknown65:: @ 82DBCF9 field_eff_end gFieldEffectScript_Unknown66:: @ 82DBCFF - field_eff_callnative sub_80B9E28 + field_eff_callnative Fldeff_MoveDeoxysRock field_eff_end diff --git a/data/maps/BirthIsland_Exterior/scripts.inc b/data/maps/BirthIsland_Exterior/scripts.inc index cb84a51bdf..8e0a475a7a 100644 --- a/data/maps/BirthIsland_Exterior/scripts.inc +++ b/data/maps/BirthIsland_Exterior/scripts.inc @@ -11,8 +11,8 @@ BirthIsland_Exterior_MapScript1_267F25: @ 8267F25 BirthIsland_Exterior_MapScript1_267F29: @ 8267F29 setflag FLAG_0x8D3 setvar VAR_OBJ_GFX_ID_0, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL - setvar VAR_0x4034, 0 - setvar VAR_0x4035, 0 + setvar VAR_DEOXYS_ROCK_STEP_COUNT, 0 + setvar VAR_DEOXYS_ROCK_LEVEL, 0 call_if_set FLAG_0x1AD, BirthIsland_Exterior_EventScript_267F4E call_if_unset FLAG_0x1AD, BirthIsland_Exterior_EventScript_267F55 end @@ -25,7 +25,7 @@ BirthIsland_Exterior_EventScript_267F4E:: @ 8267F4E BirthIsland_Exterior_EventScript_267F55:: @ 8267F55 goto_if_set FLAG_0x1AC, BirthIsland_Exterior_EventScript_27374E clearflag FLAG_HIDE_BIRTH_ISLAND_DEOXYS_TRIANGLE - clearflag FLAG_0x8D4 + clearflag FLAG_DEOXYS_ROCK_COMPLETE return BirthIsland_Exterior_MapScript1_267F65: @ 8267F65 @@ -42,7 +42,7 @@ BirthIsland_Exterior_EventScript_267F6F:: @ 8267F6F BirthIsland_Exterior_EventScript_267F83:: @ 8267F83 lock faceplayer - special sub_813AFC8 + special DoDeoxysRockInteraction waitstate switch VAR_RESULT case 0, BirthIsland_Exterior_EventScript_267FBB diff --git a/data/specials.inc b/data/specials.inc index fed1b6641e..c1c76e520f 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -488,7 +488,7 @@ gSpecials:: @ 81DBA64 def_special sub_81B892C def_special sub_813AEB4 def_special sub_813AF48 - def_special sub_813AFC8 + def_special DoDeoxysRockInteraction def_special sub_813B1D0 def_special CreateObedientEnemyMon def_special StartMirageTowerDisintegration diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h index b93b982015..2c5f700e07 100644 --- a/include/constants/field_effects.h +++ b/include/constants/field_effects.h @@ -67,6 +67,6 @@ #define FLDEFF_USE_TELEPORT 63 #define FLDEFF_64 64 #define FLDEFF_65 65 -#define FLDEFF_66 66 +#define FLDEFF_MOVE_DEOXYS_ROCK 66 #endif diff --git a/include/constants/flags.h b/include/constants/flags.h index 3509b6a3b3..261ba6be0c 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -1356,7 +1356,7 @@ #define FLAG_SYS_FRONTIER_PASS (SYSTEM_FLAGS + 0x72) #define FLAG_0x8D3 (SYSTEM_FLAGS + 0x73) -#define FLAG_0x8D4 (SYSTEM_FLAGS + 0x74) +#define FLAG_DEOXYS_ROCK_COMPLETE (SYSTEM_FLAGS + 0x74) #define FLAG_0x8D5 (SYSTEM_FLAGS + 0x75) #define FLAG_0x8D6 (SYSTEM_FLAGS + 0x76) diff --git a/include/constants/vars.h b/include/constants/vars.h index faffe7c70a..ef155b1877 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -68,8 +68,8 @@ #define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032 #define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033 -#define VAR_0x4034 0x4034 -#define VAR_0x4035 0x4035 +#define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034 +#define VAR_DEOXYS_ROCK_LEVEL 0x4035 #define VAR_STORAGE_UNKNOWN 0x4036 #define VAR_0x4037 0x4037 #define VAR_0x4038 0x4038 diff --git a/include/field_specials.h b/include/field_specials.h index 7c29ecbadb..10433299ba 100644 --- a/include/field_specials.h +++ b/include/field_specials.h @@ -6,7 +6,7 @@ u8 sub_813B260(void); u16 get_unknown_box_id(void); bool8 InMultiBattleRoom(void); void sub_813BF10(void); -void increment_var_x4026_on_birth_island_modulo_100(void); +void IncrementBirthIslandRockStepCount(void); bool8 sub_813B3B0(void); bool8 ShouldDoBrailleRegicePuzzle(void); bool32 is_tile_that_overrides_player_control(void); diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 0642120bb1..004580fbfc 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -154,7 +154,7 @@ int ProcessPlayerFieldInput(struct FieldInput *input) if (input->tookStep) { IncrementGameStat(GAME_STAT_STEPS); - increment_var_x4026_on_birth_island_modulo_100(); + IncrementBirthIslandRockStepCount(); if (TryStartStepBasedScript(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; } diff --git a/src/field_effect.c b/src/field_effect.c index 75104d426e..badf57b160 100644 --- a/src/field_effect.c +++ b/src/field_effect.c @@ -230,7 +230,7 @@ static void sub_80B9A60(struct Task *); static void sub_80B9BE8(u8 taskId); static void sub_80B9DB8(struct Sprite* sprite); -static void sub_80B9EDC(u8 taskId); +static void Fldeff_MoveDeoxysRock_Step(u8 taskId); // Static RAM declarations @@ -3644,7 +3644,7 @@ static void sub_80B9DB8(struct Sprite* sprite) DestroySprite(sprite); } -bool8 sub_80B9E28(struct Sprite* sprite) +bool8 Fldeff_MoveDeoxysRock(struct Sprite* sprite) { u8 eventObjectIdBuffer; if (!TryGetEventObjectIdByLocalIdAndMap(gFieldEffectArguments[0], gFieldEffectArguments[1], gFieldEffectArguments[2], &eventObjectIdBuffer)) @@ -3658,7 +3658,7 @@ bool8 sub_80B9E28(struct Sprite* sprite) xPos = (gFieldEffectArguments[3] - xPos) * 16; yPos = (gFieldEffectArguments[4] - yPos) * 16; ShiftEventObjectCoords(object, gFieldEffectArguments[3] + 7, gFieldEffectArguments[4] + 7); - taskId = CreateTask(sub_80B9EDC, 0x50); + taskId = CreateTask(Fldeff_MoveDeoxysRock_Step, 0x50); gTasks[taskId].data[1] = object->spriteId; gTasks[taskId].data[2] = gSprites[object->spriteId].pos1.x + xPos; gTasks[taskId].data[3] = gSprites[object->spriteId].pos1.y + yPos; @@ -3668,7 +3668,7 @@ bool8 sub_80B9E28(struct Sprite* sprite) return FALSE; } -static void sub_80B9EDC(u8 taskId) +static void Fldeff_MoveDeoxysRock_Step(u8 taskId) { // BUG: Possible divide by zero s16 *data = gTasks[taskId].data; diff --git a/src/field_specials.c b/src/field_specials.c index 4e9a5c0f75..e04bd50a85 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -115,9 +115,9 @@ static void sub_813A738(u8 taskId); static void sub_813A600(u8 taskId); static void sub_813A664(u8 taskId); static void sub_813ABD4(u16 a0); -static void task_deoxys_sound(u8 taskId); -static void sub_813B0B4(u8 a0); -static void sub_813B160(u8 taskId); +static void Task_DeoxysRockInteraction(u8 taskId); +static void ChangeDeoxysRockLevel(u8 a0); +static void WaitForDeoxysRockMovement(u8 taskId); static void sub_813B57C(u8 taskId); static void sub_813B824(u8 taskId); static void _fwalk(u8 taskId); @@ -3233,12 +3233,12 @@ void sub_813AF48(void) } } -void sub_813AFC8(void) +void DoDeoxysRockInteraction(void) { - CreateTask(task_deoxys_sound, 8); + CreateTask(Task_DeoxysRockInteraction, 8); } -static const u16 gUnknown_085B3280[][16] = { +static const u16 sDeoxysRockPalettes[][16] = { INCBIN_U16("graphics/misc/deoxys1.gbapal"), INCBIN_U16("graphics/misc/deoxys2.gbapal"), INCBIN_U16("graphics/misc/deoxys3.gbapal"), @@ -3252,25 +3252,25 @@ static const u16 gUnknown_085B3280[][16] = { INCBIN_U16("graphics/misc/deoxys11.gbapal"), }; -static const u8 gUnknown_085B33E0[][2] = { - { 0x0f, 0x0c }, - { 0x0b, 0x0e }, - { 0x0f, 0x08 }, - { 0x13, 0x0e }, - { 0x0c, 0x0b }, - { 0x12, 0x0b }, - { 0x0f, 0x0e }, - { 0x0b, 0x0e }, - { 0x13, 0x0e }, - { 0x0f, 0x0f }, - { 0x0f, 0x0a }, +static const u8 sDeoxysRockCoords[][2] = { + { 15, 12 }, + { 11, 14 }, + { 15, 8 }, + { 19, 14 }, + { 12, 11 }, + { 18, 11 }, + { 15, 14 }, + { 11, 14 }, + { 19, 14 }, + { 15, 15 }, + { 15, 10 }, }; -static void task_deoxys_sound(u8 taskId) +static void Task_DeoxysRockInteraction(u8 taskId) { - static const u8 gUnknown_085B33F6[] = { 0x04, 0x08, 0x08, 0x08, 0x04, 0x04, 0x04, 0x06, 0x03, 0x03 }; + static const u8 sStoneMaxStepCounts[] = { 4, 8, 8, 8, 4, 4, 4, 6, 3, 3 }; - if (FlagGet(FLAG_0x8D4) == TRUE) + if (FlagGet(FLAG_DEOXYS_ROCK_COMPLETE) == TRUE) { gSpecialVar_Result = 3; EnableBothScriptContexts(); @@ -3278,100 +3278,92 @@ static void task_deoxys_sound(u8 taskId) } else { - u16 temp1 = VarGet(VAR_0x4035); - u16 temp2 = VarGet(VAR_0x4034); + u16 rockLevel = VarGet(VAR_DEOXYS_ROCK_LEVEL); + u16 stepCount = VarGet(VAR_DEOXYS_ROCK_STEP_COUNT); - VarSet(VAR_0x4034, 0); - if (temp1 != 0 && gUnknown_085B33F6[temp1 - 1] < temp2) + VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, 0); + if (rockLevel != 0 && sStoneMaxStepCounts[rockLevel - 1] < stepCount) { - sub_813B0B4(0); - VarSet(VAR_0x4035, 0); + // Player failed to take the shortest path to the stone, so it resets. + ChangeDeoxysRockLevel(0); + VarSet(VAR_DEOXYS_ROCK_LEVEL, 0); gSpecialVar_Result = 0; DestroyTask(taskId); } - else if (temp1 == 10) + else if (rockLevel == 10) { - FlagSet(FLAG_0x8D4); + FlagSet(FLAG_DEOXYS_ROCK_COMPLETE); gSpecialVar_Result = 2; EnableBothScriptContexts(); DestroyTask(taskId); } else { - temp1++; - sub_813B0B4(temp1); - VarSet(VAR_0x4035, temp1); + rockLevel++; + ChangeDeoxysRockLevel(rockLevel); + VarSet(VAR_DEOXYS_ROCK_LEVEL, rockLevel); gSpecialVar_Result = 1; DestroyTask(taskId); } } } -static void sub_813B0B4(u8 a0) +static void ChangeDeoxysRockLevel(u8 rockLevel) { u8 eventObjectId; - LoadPalette(&gUnknown_085B3280[a0], 0x1A0, 8); + LoadPalette(&sDeoxysRockPalettes[rockLevel], 0x1A0, 8); TryGetEventObjectIdByLocalIdAndMap(1, gSaveBlock1Ptr->location.mapNum, gSaveBlock1Ptr->location.mapGroup, &eventObjectId); - if (a0 == 0) - { + if (rockLevel == 0) PlaySE(SE_W109); - } else - { PlaySE(SE_RG_DEOMOV); - } - - CreateTask(sub_813B160, 8); + CreateTask(WaitForDeoxysRockMovement, 8); gFieldEffectArguments[0] = 1; gFieldEffectArguments[1] = 58; gFieldEffectArguments[2] = 26; - gFieldEffectArguments[3] = gUnknown_085B33E0[a0][0]; - gFieldEffectArguments[4] = gUnknown_085B33E0[a0][1]; + gFieldEffectArguments[3] = sDeoxysRockCoords[rockLevel][0]; + gFieldEffectArguments[4] = sDeoxysRockCoords[rockLevel][1]; - if (a0 == 0) - { + if (rockLevel == 0) gFieldEffectArguments[5] = 60; - } else - { gFieldEffectArguments[5] = 5; - } - FieldEffectStart(FLDEFF_66); - Overworld_SetEventObjTemplateCoords(1, gUnknown_085B33E0[a0][0], gUnknown_085B33E0[a0][1]); + FieldEffectStart(FLDEFF_MOVE_DEOXYS_ROCK); + Overworld_SetEventObjTemplateCoords(1, sDeoxysRockCoords[rockLevel][0], sDeoxysRockCoords[rockLevel][1]); } -static void sub_813B160(u8 taskId) +static void WaitForDeoxysRockMovement(u8 taskId) { - if (FieldEffectActiveListContains(FLDEFF_66) == FALSE) + if (FieldEffectActiveListContains(FLDEFF_MOVE_DEOXYS_ROCK) == FALSE) { EnableBothScriptContexts(); DestroyTask(taskId); } } -void increment_var_x4026_on_birth_island_modulo_100(void) +void IncrementBirthIslandRockStepCount(void) { - u16 var = VarGet(VAR_0x4034); + u16 var = VarGet(VAR_DEOXYS_ROCK_STEP_COUNT); if (gSaveBlock1Ptr->location.mapNum == MAP_NUM(BIRTH_ISLAND_EXTERIOR) && gSaveBlock1Ptr->location.mapGroup == MAP_GROUP(BIRTH_ISLAND_EXTERIOR)) { var++; if (var > 99) { - VarSet(VAR_0x4034, 0); + VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, 0); } else { - VarSet(VAR_0x4034, var); + VarSet(VAR_DEOXYS_ROCK_STEP_COUNT, var); } } } void sub_813B1D0(void) { - LoadPalette(&gUnknown_085B3280[(u8)VarGet(VAR_0x4035)], 0x1A0, 8); + LoadPalette(&sDeoxysRockPalettes[(u8)VarGet(VAR_DEOXYS_ROCK_LEVEL)], 0x1A0, 8); BlendPalettes(0x04000000, 16, 0); } From 6e7bdb3ca4d3753c1d382d9470c505d3922b9299 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Fri, 28 Dec 2018 15:11:15 -0600 Subject: [PATCH 30/53] Document misc field_specials things --- data/event_scripts.s | 2 +- data/scripts/safari_zone.inc | 2 +- data/specials.inc | 4 +-- include/event_scripts.h | 2 +- include/field_control_avatar.h | 5 ++-- include/field_screen_effect.h | 8 +++--- include/overworld.h | 2 +- include/secret_base.h | 2 +- src/clock.c | 8 ------ src/field_control_avatar.c | 52 ++++++++++++++++------------------ src/field_screen_effect.c | 10 +++---- src/field_special_scene.c | 2 +- src/field_specials.c | 11 +++---- src/overworld.c | 2 +- src/scrcmd.c | 8 +++--- src/secret_base.c | 2 +- 16 files changed, 56 insertions(+), 66 deletions(-) diff --git a/data/event_scripts.s b/data/event_scripts.s index 6a3a2f2f62..5d847719e1 100644 --- a/data/event_scripts.s +++ b/data/event_scripts.s @@ -4769,7 +4769,7 @@ gUnknown_082A8350:: @ 82A8350 waitmovement 0 playse SE_RU_HYUU delay 60 - special sp13F_fall_to_last_warp + special DoFallWarp waitstate end diff --git a/data/scripts/safari_zone.inc b/data/scripts/safari_zone.inc index 2932401e1e..1fcf5d1662 100644 --- a/data/scripts/safari_zone.inc +++ b/data/scripts/safari_zone.inc @@ -40,7 +40,7 @@ EventScript_2A4B9B:: @ 82A4B9B releaseall goto EventScript_2A4B5D -EventScript_2A4BAC:: @ 82A4BAC +EventScript_PokeBlockFeeder:: @ 82A4BAC lockall special GetPokeblockFeederInFront compare VAR_RESULT, 65535 diff --git a/data/specials.inc b/data/specials.inc index c1c76e520f..495c1c73f7 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -328,8 +328,8 @@ gSpecials:: @ 81DBA64 def_special DoSealedChamberShakingEffect2 def_special FoundBlackGlasses def_special sub_80AC81C - def_special sp13E_warp_to_last_warp - def_special sp13F_fall_to_last_warp + def_special DoDiveWarp + def_special DoFallWarp def_special ShowContestEntryMonPic def_special sub_80F8EB8 def_special SetEReaderTrainerGfxId diff --git a/include/event_scripts.h b/include/event_scripts.h index 3dcb7f9294..e611dc6e02 100644 --- a/include/event_scripts.h +++ b/include/event_scripts.h @@ -538,7 +538,7 @@ extern const u8 EventScript_TV[]; extern const u8 EventScript_ClosedSootopolisDoor[]; extern const u8 SkyPillar_Outside_EventScript_2393F9[]; extern const u8 EventScript_CableBoxResults[]; -extern const u8 EventScript_2A4BAC[]; +extern const u8 EventScript_PokeBlockFeeder[]; extern const u8 Route110_TrickHouseEntrance_EventScript_26A22A[]; extern const u8 EventScript_RegionMap[]; extern const u8 EventScript_RunningShoesManual[]; diff --git a/include/field_control_avatar.h b/include/field_control_avatar.h index 24adbe4b32..3cc4a8324b 100644 --- a/include/field_control_avatar.h +++ b/include/field_control_avatar.h @@ -7,8 +7,8 @@ struct FieldInput bool8 checkStandardWildEncounter:1; bool8 pressedStartButton:1; bool8 pressedSelectButton:1; - bool8 input_field_0_4:1; - bool8 input_field_0_5:1; + bool8 heldDirection:1; + bool8 heldDirection2:1; bool8 tookStep:1; bool8 pressedBButton:1; bool8 input_field_1_0:1; @@ -20,7 +20,6 @@ struct FieldInput bool8 input_field_1_6:1; bool8 input_field_1_7:1; u8 dpadDirection; - u8 input_field_3; }; void FieldClearPlayerInput(struct FieldInput *pStruct); diff --git a/include/field_screen_effect.h b/include/field_screen_effect.h index f3ac2e8661..3daf8d892d 100644 --- a/include/field_screen_effect.h +++ b/include/field_screen_effect.h @@ -19,11 +19,11 @@ void sub_80AF688(void); bool8 sub_80AF6A4(void); void sub_80AF6D4(void); void sub_80AF6F0(void); -void sub_80AF734(void); -void sp13E_warp_to_last_warp(void); +void DoWarp(void); +void DoDiveWarp(void); void sub_80AF79C(void); -void sub_80AF7D0(void); -void sp13F_fall_to_last_warp(void); +void DoDoorWarp(void); +void DoFallWarp(void); void sub_80AF80C(u8 metatileBehavior); void sub_80AF828(void); void sub_80AF838(void); diff --git a/include/overworld.h b/include/overworld.h index f62a5136da..79cbf1da32 100644 --- a/include/overworld.h +++ b/include/overworld.h @@ -57,7 +57,7 @@ void SetWarpDestinationToDynamicWarp(u8 unused); void SetWarpDestinationToHealLocation(u8 a1); void SetWarpDestinationToLastHealLocation(void); void SetLastHealLocationWarp(u8 healLocationId); -void sub_8084D5C(s16 x, s16 y); +void UpdateEscapeWarp(s16 x, s16 y); void SetEscapeWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); void SetWarpDestinationToEscapeWarp(void); void SetFixedDiveWarp(s8 mapGroup, s8 mapNum, s8 warpId, s8 x, s8 y); diff --git a/include/secret_base.h b/include/secret_base.h index ac15357e30..524dde4738 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -21,7 +21,7 @@ void sub_80EB498(void); void sub_80EB56C(void); void sub_80EB9E0(void); void sub_80EBB28(void); -void sub_80E9668(const struct MapPosition *position, const struct MapEvents *events); +void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events); // SetCurrentSecretBaseFromPosition void sub_80E9608(const struct MapPosition *position, const struct MapEvents *events); diff --git a/src/clock.c b/src/clock.c index 2d4da92ab5..d52fde22e6 100644 --- a/src/clock.c +++ b/src/clock.c @@ -12,17 +12,9 @@ #include "overworld.h" #include "wallclock.h" -// static types - -// static declarations - static void UpdatePerDay(struct Time *localTime); static void UpdatePerMinute(struct Time *localTime); -// rodata - -// text - static void InitTimeBasedEvents(void) { FlagSet(FLAG_SYS_CLOCK_SET); diff --git a/src/field_control_avatar.c b/src/field_control_avatar.c index 004580fbfc..e6a859c842 100644 --- a/src/field_control_avatar.c +++ b/src/field_control_avatar.c @@ -56,8 +56,8 @@ static bool8 TryArrowWarp(struct MapPosition *, u16, u8); static bool8 IsWarpMetatileBehavior(u16); static bool8 IsArrowWarpMetatileBehavior(u16, u8); static s8 GetWarpEventAtMapPosition(struct MapHeader *, struct MapPosition *); -static void sub_809CEB0(struct MapHeader *, s8, struct MapPosition *); -static bool8 map_warp_consider_2_to_inside(struct MapPosition *, u16, u8); +static void SetupWarp(struct MapHeader *, s8, struct MapPosition *); +static bool8 TryDoorWarp(struct MapPosition *, u16, u8); static s8 GetWarpEventAtPosition(struct MapHeader *, u16, u16, u8); static u8 *GetCoordEventScriptAtPosition(struct MapHeader *, u16, u16, u8); static struct BgEvent *GetBackgroundEventAtPosition(struct MapHeader *, u16, u16, u8); @@ -74,8 +74,8 @@ void FieldClearPlayerInput(struct FieldInput *input) input->checkStandardWildEncounter = FALSE; input->pressedStartButton = FALSE; input->pressedSelectButton = FALSE; - input->input_field_0_4 = FALSE; - input->input_field_0_5 = FALSE; + input->heldDirection = FALSE; + input->heldDirection2 = FALSE; input->tookStep = FALSE; input->pressedBButton = FALSE; input->input_field_1_0 = FALSE; @@ -107,8 +107,8 @@ void FieldGetPlayerInput(struct FieldInput *input, u16 newKeys, u16 heldKeys) if (heldKeys & (DPAD_UP | DPAD_DOWN | DPAD_LEFT | DPAD_RIGHT)) { - input->input_field_0_4 = TRUE; - input->input_field_0_5 = TRUE; + input->heldDirection = TRUE; + input->heldDirection2 = TRUE; } } @@ -160,7 +160,7 @@ int ProcessPlayerFieldInput(struct FieldInput *input) } if (input->checkStandardWildEncounter && CheckStandardWildEncounter(metatileBehavior) == TRUE) return TRUE; - if (input->input_field_0_4 && input->dpadDirection == playerDirection) + if (input->heldDirection && input->dpadDirection == playerDirection) { if (TryArrowWarp(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; @@ -171,9 +171,9 @@ int ProcessPlayerFieldInput(struct FieldInput *input) if (input->pressedAButton && TryStartInteractionScript(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; - if (input->input_field_0_5 && input->dpadDirection == playerDirection) + if (input->heldDirection2 && input->dpadDirection == playerDirection) { - if (map_warp_consider_2_to_inside(&position, metatileBehavior, playerDirection) == TRUE) + if (TryDoorWarp(&position, metatileBehavior, playerDirection) == TRUE) return TRUE; } if (input->pressedAButton && TrySetupDiveDownScript() == TRUE) @@ -304,13 +304,10 @@ static const u8 *GetInteractedEventObjectScript(struct MapPosition *position, u8 gSpecialVar_Facing = direction; if (InTrainerHill() == TRUE) - { script = sub_81D62AC(); - } else - { script = GetEventObjectScriptPointerByEventObjectId(eventObjectId); - } + script = GetRamScript(gSpecialVar_LastTalked, script); return script; } @@ -381,7 +378,7 @@ static const u8 *GetInteractedMetatileScript(struct MapPosition *position, u8 me if (MetatileBehavior_IsCableBoxResults1(metatileBehavior) == TRUE) return EventScript_CableBoxResults; if (MetatileBehavior_IsPokeblockFeeder(metatileBehavior) == TRUE) - return EventScript_2A4BAC; + return EventScript_PokeBlockFeeder; if (MetatileBehavior_IsTrickHousePuzzleDoor(metatileBehavior) == TRUE) return Route110_TrickHouseEntrance_EventScript_26A22A; if (MetatileBehavior_IsRegionMap(metatileBehavior) == TRUE) @@ -694,8 +691,8 @@ static bool8 TryArrowWarp(struct MapPosition *position, u16 metatileBehavior, u8 if (IsArrowWarpMetatileBehavior(metatileBehavior, direction) == TRUE && warpEventId != -1) { StoreInitialPlayerAvatarState(); - sub_809CEB0(&gMapHeader, warpEventId, position); - sub_80AF734(); + SetupWarp(&gMapHeader, warpEventId, position); + DoWarp(); return TRUE; } return FALSE; @@ -708,7 +705,7 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB if (warpEventId != -1 && IsWarpMetatileBehavior(metatileBehavior) == TRUE) { StoreInitialPlayerAvatarState(); - sub_809CEB0(&gMapHeader, warpEventId, position); + SetupWarp(&gMapHeader, warpEventId, position); if (MetatileBehavior_IsEscalator(metatileBehavior) == TRUE) { sub_80AF80C(metatileBehavior); @@ -744,7 +741,7 @@ static bool8 TryStartWarpEventScript(struct MapPosition *position, u16 metatileB sub_80AF87C(); return TRUE; } - sub_80AF734(); + DoWarp(); return TRUE; } return FALSE; @@ -787,7 +784,7 @@ static s8 GetWarpEventAtMapPosition(struct MapHeader *mapHeader, struct MapPosit return GetWarpEventAtPosition(mapHeader, position->x - 7, position->y - 7, position->height); } -static void sub_809CEB0(struct MapHeader *unused, s8 warpEventId, struct MapPosition *position) +static void SetupWarp(struct MapHeader *unused, s8 warpEventId, struct MapPosition *position) { const struct WarpEvent *warpEvent; @@ -829,14 +826,14 @@ static void sub_809CEB0(struct MapHeader *unused, s8 warpEventId, struct MapPosi const struct MapHeader *mapHeader; SetWarpDestinationToMapWarp(warpEvent->mapGroup, warpEvent->mapNum, warpEvent->warpId); - sub_8084D5C(position->x, position->y); + UpdateEscapeWarp(position->x, position->y); mapHeader = Overworld_GetMapHeaderByGroupAndId(warpEvent->mapGroup, warpEvent->mapNum); if (mapHeader->events->warps[warpEvent->warpId].mapNum == MAP_NUM(NONE)) SetDynamicWarp(mapHeader->events->warps[warpEventId].warpId, gSaveBlock1Ptr->location.mapGroup, gSaveBlock1Ptr->location.mapNum, warpEventId); } } -static bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 metatileBehavior, u8 direction) +static bool8 TryDoorWarp(struct MapPosition *position, u16 metatileBehavior, u8 direction) { s8 warpEventId; @@ -844,17 +841,18 @@ static bool8 map_warp_consider_2_to_inside(struct MapPosition *position, u16 met { if (MetatileBehavior_IsOpenSecretBaseDoor(metatileBehavior) == TRUE) { - sub_80E9668(position, gMapHeader.events); + WarpIntoSecretBase(position, gMapHeader.events); return TRUE; } + if (MetatileBehavior_IsWarpDoor(metatileBehavior) == TRUE) { warpEventId = GetWarpEventAtMapPosition(&gMapHeader, position); if (warpEventId != -1 && IsWarpMetatileBehavior(metatileBehavior) == TRUE) { StoreInitialPlayerAvatarState(); - sub_809CEB0(&gMapHeader, warpEventId, position); - sub_80AF7D0(); + SetupWarp(&gMapHeader, warpEventId, position); + DoDoorWarp(); return TRUE; } } @@ -949,7 +947,7 @@ bool8 dive_warp(struct MapPosition *position, u16 metatileBehavior) if (SetDiveWarpEmerge(position->x - 7, position->y - 7)) { StoreInitialPlayerAvatarState(); - sp13E_warp_to_last_warp(); + DoDiveWarp(); PlaySE(SE_W291); return TRUE; } @@ -959,7 +957,7 @@ bool8 dive_warp(struct MapPosition *position, u16 metatileBehavior) if (SetDiveWarpDive(position->x - 7, position->y - 7)) { StoreInitialPlayerAvatarState(); - sp13E_warp_to_last_warp(); + DoDiveWarp(); PlaySE(SE_W291); return TRUE; } @@ -1004,6 +1002,6 @@ int SetCableClubWarp(void) GetPlayerMovementDirection(); //unnecessary GetPlayerPosition(&position); MapGridGetMetatileBehaviorAt(position.x, position.y); //unnecessary - sub_809CEB0(&gMapHeader, GetWarpEventAtMapPosition(&gMapHeader, &position), &position); + SetupWarp(&gMapHeader, GetWarpEventAtMapPosition(&gMapHeader, &position), &position); return 0; } diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index 62a3d0335a..5ce000587b 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -498,7 +498,7 @@ static bool32 sub_80AF71C(void) return FALSE; } -void sub_80AF734(void) +void DoWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); @@ -509,7 +509,7 @@ void sub_80AF734(void) CreateTask(sub_80AFA0C, 10); } -void sp13E_warp_to_last_warp(void) +void DoDiveWarp(void) { ScriptContext2_Enable(); TryFadeOutOldMapMusic(); @@ -529,16 +529,16 @@ void sub_80AF79C(void) CreateTask(sub_80AFA0C, 10); } -void sub_80AF7D0(void) +void DoDoorWarp(void) { ScriptContext2_Enable(); gFieldCallback = mapldr_default; CreateTask(sub_80AFA88, 10); } -void sp13F_fall_to_last_warp(void) +void DoFallWarp(void) { - sp13E_warp_to_last_warp(); + DoDiveWarp(); gFieldCallback = sub_80B6B68; } diff --git a/src/field_special_scene.c b/src/field_special_scene.c index 3675cf0d89..579188f369 100644 --- a/src/field_special_scene.c +++ b/src/field_special_scene.c @@ -303,7 +303,7 @@ void Task_HandlePorthole(u8 taskId) FlagClear(0x4001); FlagClear(0x4000); SetWarpDestinationToDynamicWarp(0); - sp13E_warp_to_last_warp(); + DoDiveWarp(); DestroyTask(taskId); break; } diff --git a/src/field_specials.c b/src/field_specials.c index e04bd50a85..89b6fd564b 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -47,6 +47,7 @@ #include "constants/event_objects.h" #include "constants/field_effects.h" #include "constants/items.h" +#include "constants/map_types.h" #include "constants/maps.h" #include "constants/songs.h" #include "constants/species.h" @@ -391,11 +392,11 @@ bool32 sub_8138120(void) { switch (gMapHeader.mapType) { - case 1: - case 2: - case 3: - case 6: - if (++(*GetVarPointer(VAR_0x40F3)) < 0xA) + case MAP_TYPE_TOWN: + case MAP_TYPE_CITY: + case MAP_TYPE_ROUTE: + case MAP_TYPE_6: + if (++(*GetVarPointer(VAR_0x40F3)) < 10) { return FALSE; } diff --git a/src/overworld.c b/src/overworld.c index aeb8860765..ef424cff8e 100644 --- a/src/overworld.c +++ b/src/overworld.c @@ -735,7 +735,7 @@ void SetLastHealLocationWarp(u8 healLocationId) SetWarpData(&gSaveBlock1Ptr->lastHealLocation, healLocation->group, healLocation->map, -1, healLocation->x, healLocation->y); } -void sub_8084D5C(s16 x, s16 y) +void UpdateEscapeWarp(s16 x, s16 y) { u8 currMapType = GetCurrentMapType(); u8 destMapType = GetMapTypeByGroupAndId(sWarpDestination.mapGroup, sWarpDestination.mapNum); diff --git a/src/scrcmd.c b/src/scrcmd.c index 77852ad315..dd14c1eef0 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -749,7 +749,7 @@ bool8 ScrCmd_warp(struct ScriptContext *ctx) u16 y = VarGet(ScriptReadHalfword(ctx)); SetWarpDestination(mapGroup, mapNum, warpId, x, y); - sub_80AF734(); + DoWarp(); ResetInitialPlayerAvatarState(); return TRUE; } @@ -763,7 +763,7 @@ bool8 ScrCmd_warpsilent(struct ScriptContext *ctx) u16 y = VarGet(ScriptReadHalfword(ctx)); SetWarpDestination(mapGroup, mapNum, warpId, x, y); - sp13E_warp_to_last_warp(); + DoDiveWarp(); ResetInitialPlayerAvatarState(); return TRUE; } @@ -777,7 +777,7 @@ bool8 ScrCmd_warpdoor(struct ScriptContext *ctx) u16 y = VarGet(ScriptReadHalfword(ctx)); SetWarpDestination(mapGroup, mapNum, warpId, x, y); - sub_80AF7D0(); + DoDoorWarp(); ResetInitialPlayerAvatarState(); return TRUE; } @@ -794,7 +794,7 @@ bool8 ScrCmd_warphole(struct ScriptContext *ctx) SetWarpDestinationToFixedHoleWarp(x - 7, y - 7); else SetWarpDestination(mapGroup, mapNum, -1, x - 7, y - 7); - sp13F_fall_to_last_warp(); + DoFallWarp(); ResetInitialPlayerAvatarState(); return TRUE; } diff --git a/src/secret_base.c b/src/secret_base.c index 15d6d17803..1f3f9b46a7 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -610,7 +610,7 @@ void sub_80E9608(const struct MapPosition *position, const struct MapEvents *eve } } -void sub_80E9668(const struct MapPosition *position, const struct MapEvents *events) +void WarpIntoSecretBase(const struct MapPosition *position, const struct MapEvents *events) { sub_80E9608(position, events); sub_80E8B6C(); From d0d870e193a394f52695d4d17b5737f35eadbd89 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 29 Dec 2018 11:12:50 -0600 Subject: [PATCH 31/53] Cleanup formatting --- include/constants/field_effects.h | 2 +- include/constants/flags.h | 8 ++++---- include/constants/vars.h | 8 ++++---- src/field_player_avatar.c | 7 ++----- 4 files changed, 11 insertions(+), 14 deletions(-) diff --git a/include/constants/field_effects.h b/include/constants/field_effects.h index 2c5f700e07..add195df86 100644 --- a/include/constants/field_effects.h +++ b/include/constants/field_effects.h @@ -67,6 +67,6 @@ #define FLDEFF_USE_TELEPORT 63 #define FLDEFF_64 64 #define FLDEFF_65 65 -#define FLDEFF_MOVE_DEOXYS_ROCK 66 +#define FLDEFF_MOVE_DEOXYS_ROCK 66 #endif diff --git a/include/constants/flags.h b/include/constants/flags.h index 261ba6be0c..b1dce013e1 100644 --- a/include/constants/flags.h +++ b/include/constants/flags.h @@ -1355,10 +1355,10 @@ #define FLAG_SYS_PYRAMID_GOLD (SYSTEM_FLAGS + 0x71) #define FLAG_SYS_FRONTIER_PASS (SYSTEM_FLAGS + 0x72) -#define FLAG_0x8D3 (SYSTEM_FLAGS + 0x73) -#define FLAG_DEOXYS_ROCK_COMPLETE (SYSTEM_FLAGS + 0x74) -#define FLAG_0x8D5 (SYSTEM_FLAGS + 0x75) -#define FLAG_0x8D6 (SYSTEM_FLAGS + 0x76) +#define FLAG_0x8D3 (SYSTEM_FLAGS + 0x73) +#define FLAG_DEOXYS_ROCK_COMPLETE (SYSTEM_FLAGS + 0x74) +#define FLAG_0x8D5 (SYSTEM_FLAGS + 0x75) +#define FLAG_0x8D6 (SYSTEM_FLAGS + 0x76) #define FLAG_SYS_STORAGE_UNKNOWN_FLAG (SYSTEM_FLAGS + 0x77) diff --git a/include/constants/vars.h b/include/constants/vars.h index ef155b1877..30df01f553 100644 --- a/include/constants/vars.h +++ b/include/constants/vars.h @@ -68,8 +68,8 @@ #define VAR_FRONTIER_GAMBLER_AMOUNT_BET 0x4032 #define VAR_FRONTIER_GAMBLER_PLACED_BET_F 0x4033 -#define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034 -#define VAR_DEOXYS_ROCK_LEVEL 0x4035 +#define VAR_DEOXYS_ROCK_STEP_COUNT 0x4034 +#define VAR_DEOXYS_ROCK_LEVEL 0x4035 #define VAR_STORAGE_UNKNOWN 0x4036 #define VAR_0x4037 0x4037 #define VAR_0x4038 0x4038 @@ -81,8 +81,8 @@ #define VAR_ALTERING_CAVE_WILD_SET 0x403E #define VAR_0x403F 0x403F #define VAR_DAYS 0x4040 -#define VAR_FANCLUB_UNKNOWN_1 0x4041 -#define VAR_FANCLUB_UNKNOWN_2 0x4042 +#define VAR_FANCLUB_UNKNOWN_1 0x4041 +#define VAR_FANCLUB_UNKNOWN_2 0x4042 #define VAR_DEPT_STORE_FLOOR 0x4043 #define VAR_0x4044 0x4044 #define VAR_POKELOT_PRIZE 0x4045 diff --git a/src/field_player_avatar.c b/src/field_player_avatar.c index 8cb3ce9124..7423216a48 100644 --- a/src/field_player_avatar.c +++ b/src/field_player_avatar.c @@ -723,7 +723,7 @@ static bool8 sub_808B1BC(s16 x, s16 y, u8 direction) { if ((gPlayerAvatar.flags & PLAYER_AVATAR_FLAG_SURFING) && MapGridGetZCoordAt(x, y) == 3 - && GetEventObjectIdByXYZ(x, y, 3) == 16) + && GetEventObjectIdByXYZ(x, y, 3) == EVENT_OBJECTS_COUNT) { sub_808C750(direction); return TRUE; @@ -792,11 +792,8 @@ bool8 IsPlayerCollidingWithFarawayIslandMew(u8 direction) MoveCoords(direction, &playerX, &playerY); mewObjectId = GetEventObjectIdByLocalIdAndMap(1, MAP_NUM(FARAWAY_ISLAND_INTERIOR), MAP_GROUP(FARAWAY_ISLAND_INTERIOR)); - - if (mewObjectId == 16) - { + if (mewObjectId == EVENT_OBJECTS_COUNT) return FALSE; - } object = &gEventObjects[mewObjectId]; mewPrevX = object->previousCoords.x; From 8eea0925c5ca6aa8b3d4b0f86c84154446c17b85 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 29 Dec 2018 11:07:46 -0600 Subject: [PATCH 32/53] Finish battle_anim_effects_3.c --- asm/battle_anim_effects_3.s | 1588 ----------------------------------- ld_script.txt | 1 - src/battle_anim_effects_3.c | 544 ++++++++++++ 3 files changed, 544 insertions(+), 1589 deletions(-) delete mode 100644 asm/battle_anim_effects_3.s diff --git a/asm/battle_anim_effects_3.s b/asm/battle_anim_effects_3.s deleted file mode 100644 index cfcfb93f96..0000000000 --- a/asm/battle_anim_effects_3.s +++ /dev/null @@ -1,1588 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - - thumb_func_start sub_815F8F4 -sub_815F8F4: @ 815F8F4 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x1C - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldr r1, =gTasks - lsls r0, 2 - add r0, r8 - lsls r0, 3 - adds r0, r1 - movs r1, 0x8 - ldrsh r0, [r0, r1] - cmp r0, 0x4 - bls _0815F91A - b _0815FE68 -_0815F91A: - lsls r0, 2 - ldr r1, =_0815F92C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815F92C: - .4byte _0815F940 - .4byte _0815F9F4 - .4byte _0815FBE8 - .4byte _0815FD08 - .4byte _0815FD8C -_0815F940: - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - mov r2, r8 - lsls r4, r2, 2 - adds r0, r4, r2 - lsls r0, 3 - adds r6, r0, r1 - movs r3, 0x80 - lsls r3, 4 - adds r0, r3, 0 - ldrh r1, [r6, 0xA] - adds r0, r1 - strh r0, [r6, 0xA] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - cmp r0, 0 - bne _0815F998 - ldr r2, =gSprites - lsls r3, r7, 4 - adds r1, r3, r7 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r6, 0xA] - lsls r0, 16 - asrs r0, 24 - ldrh r4, [r1, 0x24] - adds r0, r4 - strh r0, [r1, 0x24] - b _0815F9B2 - .pool -_0815F998: - ldr r3, =gSprites - lsls r4, r7, 4 - adds r2, r4, r7 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r6, 0xA] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - adds r2, r3, 0 - adds r3, r4, 0 -_0815F9B2: - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r4, r0, r1 - ldrb r0, [r4, 0xA] - strh r0, [r4, 0xA] - adds r1, r3, r7 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x24] - ldrh r1, [r1, 0x20] - adds r0, r1 - lsls r0, 16 - movs r1, 0x80 - lsls r1, 14 - adds r0, r1 - movs r1, 0x98 - lsls r1, 17 - cmp r0, r1 - bhi _0815F9DE - b _0815FE68 -_0815F9DE: - movs r0, 0 - strh r0, [r4, 0xA] - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _0815FE68 - .pool -_0815F9F4: - bl IsContest - lsls r0, 24 - cmp r0, 0 - beq _0815FA28 - ldr r0, =gContestResources - ldr r0, [r0] - ldr r0, [r0, 0x18] - ldr r2, [r0, 0x8] - mov r10, r2 - ldr r3, [r0, 0xC] - mov r9, r3 - ldrh r6, [r0] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSpriteSubpriority - lsls r0, 24 - lsrs r4, r0, 24 - movs r7, 0 - b _0815FB4E - .pool -_0815FA28: - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815FAC8 - ldr r7, =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0 - bl GetMonData - mov r10, r0 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - mov r9, r0 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldrb r2, [r4] - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _0815FA9C - lsls r0, r2, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - b _0815FA9E - .pool -_0815FA9C: - ldrh r6, [r1, 0x2] -_0815FA9E: - movs r0, 0x1 - bl GetAnimBattlerSpriteId - ldr r2, =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x43 - ldrb r0, [r1] - adds r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r7, 0 - movs r5, 0x88 - lsls r5, 1 - b _0815FB50 - .pool -_0815FAC8: - ldr r7, =gBattlerPartyIndexes - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gEnemyParty - adds r0, r5 - movs r1, 0 - bl GetMonData - mov r10, r0 - ldrb r0, [r4] - lsls r0, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0x1 - bl GetMonData - mov r9, r0 - ldr r0, =gBattleSpritesDataPtr - ldr r0, [r0] - ldrb r2, [r4] - ldr r1, [r0] - lsls r0, r2, 2 - adds r1, r0, r1 - ldrh r0, [r1, 0x2] - cmp r0, 0 - bne _0815FB2C - lsls r0, r2, 1 - adds r0, r7 - ldrh r0, [r0] - muls r0, r6 - adds r0, r5 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r6, r0, 16 - b _0815FB2E - .pool -_0815FB2C: - ldrh r6, [r1, 0x2] -_0815FB2E: - movs r0, 0x1 - bl GetAnimBattlerSpriteId - ldr r2, =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - movs r7, 0x1 -_0815FB4E: - ldr r5, =0x0000ffe0 -_0815FB50: - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - lsls r3, r5, 16 - asrs r3, 16 - str r0, [sp] - str r4, [sp, 0x4] - mov r4, r10 - str r4, [sp, 0x8] - mov r0, r9 - str r0, [sp, 0xC] - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - str r0, [sp, 0x10] - movs r0, 0 - str r0, [sp, 0x14] - adds r0, r6, 0 - adds r1, r7, 0 - movs r2, 0 - bl sub_80A8394 - lsls r0, 24 - lsrs r5, r0, 24 - ldr r0, =gBattleSpritesDataPtr - ldr r1, [r0] - ldrb r0, [r4] - ldr r1, [r1] - lsls r0, 2 - adds r0, r1 - ldrh r0, [r0, 0x2] - cmp r0, 0 - beq _0815FBBA - ldr r1, =gSprites - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x5] - lsrs r0, 4 - lsls r0, 4 - movs r2, 0x80 - lsls r2, 1 - adds r1, r2, 0 - orrs r0, r1 - ldr r3, =0x00007fff - movs r1, 0x10 - movs r2, 0x6 - bl BlendPalette -_0815FBBA: - ldr r0, =gTasks - mov r3, r8 - lsls r1, r3, 2 - add r1, r8 - lsls r1, 3 - adds r1, r0 - strh r5, [r1, 0x26] - b _0815FD7E - .pool -_0815FBE8: - ldr r1, =gTasks - mov r0, r8 - lsls r4, r0, 2 - adds r0, r4, r0 - lsls r0, 3 - adds r6, r0, r1 - ldrh r0, [r6, 0x26] - lsls r0, 24 - lsrs r5, r0, 24 - movs r1, 0x80 - lsls r1, 4 - adds r0, r1, 0 - ldrh r2, [r6, 0xA] - adds r0, r2 - strh r0, [r6, 0xA] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - cmp r0, 0 - bne _0815FC40 - ldr r3, =gSprites - lsls r4, r5, 4 - adds r2, r4, r5 - lsls r2, 2 - adds r2, r3 - ldrh r1, [r6, 0xA] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r2, 0x24] - subs r0, r1 - strh r0, [r2, 0x24] - adds r2, r3, 0 - adds r3, r4, 0 - b _0815FC56 - .pool -_0815FC40: - ldr r2, =gSprites - lsls r3, r5, 4 - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r6, 0xA] - lsls r0, 16 - asrs r0, 24 - ldrh r4, [r1, 0x24] - adds r0, r4 - strh r0, [r1, 0x24] -_0815FC56: - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r6, r0, r1 - ldrb r0, [r6, 0xA] - strh r0, [r6, 0xA] - adds r1, r3, r5 - lsls r1, 2 - adds r1, r2 - ldrh r0, [r1, 0x24] - ldrh r1, [r1, 0x20] - adds r0, r1 - lsls r0, 16 - lsrs r5, r0, 16 - movs r1, 0x24 - ldrsh r0, [r6, r1] - cmp r0, 0 - bne _0815FCD6 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815FCB4 - lsls r4, r5, 16 - asrs r4, 16 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - bge _0815FCD6 - b _0815FCCA - .pool -_0815FCB4: - lsls r4, r5, 16 - asrs r4, 16 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - cmp r4, r0 - ble _0815FCD6 -_0815FCCA: - ldrh r0, [r6, 0x24] - adds r0, 0x1 - strh r0, [r6, 0x24] - ldr r1, =gBattleAnimArgs - ldr r0, =0x0000ffff - strh r0, [r1, 0xE] -_0815FCD6: - lsls r0, r5, 16 - movs r2, 0x80 - lsls r2, 14 - adds r0, r2 - movs r1, 0x98 - lsls r1, 17 - cmp r0, r1 - bhi _0815FCE8 - b _0815FE68 -_0815FCE8: - ldr r0, =gTasks - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 - movs r0, 0 - strh r0, [r1, 0xA] - b _0815FD7E - .pool -_0815FD08: - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - mov r3, r8 - lsls r4, r3, 2 - adds r0, r4, r3 - lsls r0, 3 - adds r0, r1 - ldrh r0, [r0, 0x26] - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 4 - adds r0, r5 - lsls r0, 2 - ldr r5, =gSprites - adds r0, r5 - bl sub_80A8610 - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - cmp r0, 0 - bne _0815FD60 - lsls r1, r7, 4 - adds r1, r7 - lsls r1, 2 - adds r1, r5 - ldrh r0, [r1, 0x20] - negs r0, r0 - subs r0, 0x20 - strh r0, [r1, 0x24] - b _0815FD74 - .pool -_0815FD60: - lsls r0, r7, 4 - adds r0, r7 - lsls r0, 2 - adds r0, r5 - ldrh r2, [r0, 0x20] - movs r4, 0x88 - lsls r4, 1 - adds r1, r4, 0 - subs r1, r2 - strh r1, [r0, 0x24] -_0815FD74: - ldr r0, =gTasks - mov r1, r9 - add r1, r8 - lsls r1, 3 - adds r1, r0 -_0815FD7E: - ldrh r0, [r1, 0x8] - adds r0, 0x1 - strh r0, [r1, 0x8] - b _0815FE68 - .pool -_0815FD8C: - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r7, r0, 24 - ldr r1, =gTasks - mov r0, r8 - lsls r4, r0, 2 - adds r0, r4, r0 - lsls r0, 3 - adds r2, r0, r1 - movs r1, 0x80 - lsls r1, 4 - adds r0, r1, 0 - ldrh r3, [r2, 0xA] - adds r0, r3 - strh r0, [r2, 0xA] - ldr r0, =gBattleAnimAttacker - mov r10, r0 - ldrb r0, [r0] - str r2, [sp, 0x18] - bl GetBattlerSide - lsls r0, 24 - mov r9, r4 - ldr r2, [sp, 0x18] - cmp r0, 0 - bne _0815FE0C - ldr r1, =gSprites - lsls r5, r7, 4 - adds r0, r5, r7 - lsls r0, 2 - adds r6, r0, r1 - ldrh r0, [r2, 0xA] - lsls r0, 16 - asrs r0, 24 - ldrh r1, [r6, 0x24] - adds r0, r1 - strh r0, [r6, 0x24] - movs r2, 0x24 - ldrsh r4, [r6, r2] - movs r3, 0x20 - ldrsh r0, [r6, r3] - adds r4, r0 - mov r1, r10 - ldrb r0, [r1] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r3, r5, 0 - cmp r4, r0 - blt _0815FE44 - movs r2, 0 - strh r2, [r6, 0x24] - b _0815FE44 - .pool -_0815FE0C: - ldr r1, =gSprites - lsls r5, r7, 4 - adds r0, r5, r7 - lsls r0, 2 - adds r6, r0, r1 - ldrh r1, [r2, 0xA] - lsls r1, 16 - asrs r1, 24 - ldrh r0, [r6, 0x24] - subs r0, r1 - strh r0, [r6, 0x24] - movs r3, 0x24 - ldrsh r4, [r6, r3] - movs r1, 0x20 - ldrsh r0, [r6, r1] - adds r4, r0 - mov r2, r10 - ldrb r0, [r2] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r3, r5, 0 - cmp r4, r0 - bgt _0815FE44 - movs r4, 0 - strh r4, [r6, 0x24] -_0815FE44: - ldr r1, =gTasks - mov r0, r9 - add r0, r8 - lsls r0, 3 - adds r0, r1 - ldrb r1, [r0, 0xA] - strh r1, [r0, 0xA] - ldr r1, =gSprites - adds r0, r3, r7 - lsls r0, 2 - adds r0, r1 - movs r1, 0x24 - ldrsh r0, [r0, r1] - cmp r0, 0 - bne _0815FE68 - mov r0, r8 - bl DestroyAnimVisualTask -_0815FE68: - add sp, 0x1C - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815F8F4 - - thumb_func_start sub_815FE80 -sub_815FE80: @ 815FE80 - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - beq _0815FE92 - cmp r0, 0x1 - beq _0815FF3A - b _0815FFBC -_0815FE92: - ldr r0, =gBattleAnimArgs - movs r2, 0xE - ldrsh r1, [r0, r2] - movs r0, 0x1 - negs r0, r0 - cmp r1, r0 - bne _0815FF2C - movs r0, 0x3F - bl BattleAnimAdjustPanning - adds r1, r0, 0 - lsls r1, 24 - asrs r1, 24 - movs r0, 0x7A - bl PlaySE12WithPanning - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0x1 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r0, 0x10 - strh r0, [r4, 0x22] - ldr r0, =0x0000ffe0 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x3C] - adds r0, 0x1 - strh r0, [r4, 0x3C] - adds r2, r4, 0 - adds r2, 0x3E - ldrb r1, [r2] - movs r0, 0x5 - negs r0, r0 - ands r0, r1 - strb r0, [r2] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0815FFBC - bl IsContest - lsls r0, 24 - cmp r0, 0 - bne _0815FFBC - movs r0, 0x1 - bl GetAnimBattlerSpriteId - ldr r2, =gSprites - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r2 - adds r1, 0x43 - ldrb r0, [r1] - subs r0, 0x1 - adds r1, r4, 0 - adds r1, 0x43 - strb r0, [r1] - b _0815FFBC - .pool -_0815FF2C: - adds r0, r4, 0 - adds r0, 0x3E - ldrb r1, [r0] - movs r2, 0x4 - orrs r1, r2 - strb r1, [r0] - b _0815FFBC -_0815FF3A: - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r2, 0x2E - ldrsh r1, [r4, r2] - bl Sin - strh r0, [r4, 0x26] - ldrh r2, [r4, 0x30] - adds r0, r2, 0x5 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x7F - ble _0815FF6E - movs r1, 0x2E - ldrsh r0, [r4, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - strh r0, [r4, 0x2E] - ldrh r0, [r4, 0x34] - adds r0, 0x1 - strh r0, [r4, 0x34] - adds r0, r2, 0 - subs r0, 0x7A - strh r0, [r4, 0x30] -_0815FF6E: - movs r2, 0x80 - lsls r2, 1 - adds r0, r2, 0 - ldrh r1, [r4, 0x32] - adds r0, r1 - strh r0, [r4, 0x32] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0815FF9C - ldrh r2, [r4, 0x32] - lsls r1, r2, 16 - asrs r1, 24 - ldrh r0, [r4, 0x24] - subs r0, r1 - strh r0, [r4, 0x24] - adds r1, r2, 0 - b _0815FFA8 - .pool -_0815FF9C: - ldrh r1, [r4, 0x32] - lsls r0, r1, 16 - asrs r0, 24 - ldrh r2, [r4, 0x24] - adds r0, r2 - strh r0, [r4, 0x24] -_0815FFA8: - movs r0, 0xFF - ands r0, r1 - strh r0, [r4, 0x32] - movs r1, 0x34 - ldrsh r0, [r4, r1] - cmp r0, 0x2 - bne _0815FFBC - adds r0, r4, 0 - bl DestroyAnimSprite -_0815FFBC: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_815FE80 - - thumb_func_start sub_815FFC4 -sub_815FFC4: @ 815FFC4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - movs r2, 0x26 - ldrsh r0, [r0, r2] - adds r3, r1, 0 - cmp r0, 0x4 - bls _0815FFE0 - b _08160132 -_0815FFE0: - lsls r0, 2 - ldr r1, =_0815FFF4 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0815FFF4: - .4byte _08160008 - .4byte _08160058 - .4byte _081600B4 - .4byte _081600CC - .4byte _08160132 -_08160008: - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r5, r0, 0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - movs r1, 0 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - adds r2, r0, 0 - ldr r1, =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r1, r0, r1 - movs r0, 0x6 - strh r0, [r1, 0x8] - cmp r5, r2 - ble _0816003E - negs r0, r0 - strh r0, [r1, 0x8] -_0816003E: - strh r5, [r1, 0xA] - strh r2, [r1, 0xC] - ldrh r0, [r1, 0x26] - adds r0, 0x1 - strh r0, [r1, 0x26] - b _08160150 - .pool -_08160058: - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r2, [r0] - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r1 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r3 - ldrh r0, [r2, 0x8] - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - movs r3, 0x8 - ldrsh r0, [r2, r3] - cmp r0, 0 - ble _081600A0 - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xC - ldrsh r1, [r2, r3] - b _08160126 - .pool -_081600A0: - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xC - ldrsh r1, [r2, r3] - cmp r0, r1 - bgt _08160150 - b _0816012A -_081600B4: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r3 - movs r2, 0x8 - ldrsh r1, [r0, r2] - negs r1, r1 - strh r1, [r0, 0x8] - ldrh r1, [r0, 0x26] - adds r1, 0x1 - strh r1, [r0, 0x26] - b _08160150 -_081600CC: - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r2, [r0] - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r1, r0, r1 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r2, r0, r3 - ldrh r0, [r2, 0x8] - ldrh r3, [r1, 0x24] - adds r0, r3 - strh r0, [r1, 0x24] - movs r3, 0x8 - ldrsh r0, [r2, r3] - cmp r0, 0 - bge _08160118 - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xA - ldrsh r1, [r2, r3] - cmp r0, r1 - bgt _08160150 - b _0816012A - .pool -_08160118: - movs r3, 0x20 - ldrsh r0, [r1, r3] - movs r3, 0x24 - ldrsh r1, [r1, r3] - adds r0, r1 - movs r3, 0xA - ldrsh r1, [r2, r3] -_08160126: - cmp r0, r1 - blt _08160150 -_0816012A: - ldrh r0, [r2, 0x26] - adds r0, 0x1 - strh r0, [r2, 0x26] - b _08160150 -_08160132: - ldr r1, =gBattlerSpriteIds - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - adds r0, r1 - ldrb r2, [r0] - ldr r1, =gSprites - lsls r0, r2, 4 - adds r0, r2 - lsls r0, 2 - adds r0, r1 - movs r1, 0 - strh r1, [r0, 0x24] - adds r0, r4, 0 - bl DestroyAnimVisualTask -_08160150: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_815FFC4 - - thumb_func_start sub_8160164 -sub_8160164: @ 8160164 - push {r4,r5,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - ldr r0, =gTasks - adds r4, r1, r0 - movs r0, 0 - bl GetAnimBattlerSpriteId - lsls r0, 24 - lsrs r0, 24 - movs r5, 0 - strh r0, [r4, 0xE] - ldr r0, =gBattleAnimAttacker - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - movs r2, 0x1 - negs r2, r2 - adds r1, r2, 0 - cmp r0, 0 - bne _08160198 - movs r1, 0x1 -_08160198: - strh r1, [r4, 0x10] - ldr r2, =gSprites - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x22] - strh r0, [r4, 0x14] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldrh r0, [r0, 0x20] - strh r0, [r4, 0x12] - strh r5, [r4, 0x1A] - strh r5, [r4, 0x1E] - movs r0, 0x1 - strh r0, [r4, 0x1C] - strh r5, [r4, 0x20] - ldr r0, =sub_81601DC - str r0, [r4] - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160164 - - thumb_func_start sub_81601DC -sub_81601DC: @ 81601DC - push {r4-r6,lr} - lsls r0, 24 - lsrs r2, r0, 24 - lsls r0, r2, 2 - adds r0, r2 - lsls r0, 3 - ldr r1, =gTasks - adds r4, r0, r1 - movs r1, 0x8 - ldrsh r0, [r4, r1] - cmp r0, 0x1 - beq _08160284 - cmp r0, 0x1 - bgt _08160204 - cmp r0, 0 - beq _0816020A - b _081602DA - .pool -_08160204: - cmp r0, 0x2 - beq _081602D4 - b _081602DA -_0816020A: - ldrh r0, [r4, 0x1E] - adds r0, 0x8 - movs r2, 0xFF - ands r0, r2 - strh r0, [r4, 0x1E] - ldr r5, =gSprites - movs r6, 0xE - ldrsh r0, [r4, r6] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r5 - ldr r3, =gSineTable - movs r6, 0x1E - ldrsh r0, [r4, r6] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x24] - ldrh r0, [r4, 0x1A] - adds r0, 0x2 - ands r0, r2 - strh r0, [r4, 0x1A] - movs r1, 0xE - ldrsh r0, [r4, r1] - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - adds r2, r5 - movs r6, 0x1A - ldrsh r0, [r4, r6] - lsls r0, 1 - adds r0, r3 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 19 - ldrh r1, [r4, 0x10] - muls r0, r1 - ldrh r1, [r4, 0x12] - adds r0, r1 - strh r0, [r2, 0x20] - movs r6, 0x1A - ldrsh r0, [r4, r6] - cmp r0, 0 - bne _081602DA - movs r0, 0xE - ldrsh r1, [r4, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r5 - ldrh r1, [r4, 0x12] - strh r1, [r0, 0x20] - b _081602C4 - .pool -_08160284: - ldrh r0, [r4, 0x1E] - adds r0, 0x8 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x1E] - ldr r3, =gSprites - movs r1, 0xE - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - ldr r2, =gSineTable - movs r5, 0x1E - ldrsh r0, [r4, r5] - lsls r0, 1 - adds r0, r2 - ldrh r0, [r0] - lsls r0, 16 - asrs r0, 21 - strh r0, [r1, 0x24] - movs r6, 0x1E - ldrsh r2, [r4, r6] - cmp r2, 0 - bne _081602DA - movs r1, 0xE - ldrsh r0, [r4, r1] - lsls r1, r0, 4 - adds r1, r0 - lsls r1, 2 - adds r1, r3 - strh r2, [r1, 0x24] -_081602C4: - ldrh r0, [r4, 0x8] - adds r0, 0x1 - strh r0, [r4, 0x8] - b _081602DA - .pool -_081602D4: - adds r0, r2, 0 - bl DestroyAnimVisualTask -_081602DA: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_81601DC - - thumb_func_start sub_81602E0 -sub_81602E0: @ 81602E0 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - ldrh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - adds r0, r1 - movs r1, 0xFF - ands r0, r1 - strh r0, [r4, 0x30] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Cos - strh r0, [r4, 0x24] - movs r1, 0x30 - ldrsh r0, [r4, r1] - movs r1, 0x14 - bl Sin - strh r0, [r4, 0x26] - adds r0, r4, 0 - adds r0, 0x3F - ldrb r1, [r0] - movs r0, 0x10 - ands r0, r1 - cmp r0, 0 - beq _08160326 - adds r0, r4, 0 - bl DestroyAnimSprite -_08160326: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81602E0 - - thumb_func_start sub_8160338 -sub_8160338: @ 8160338 - push {r4,lr} - adds r4, r0, 0 - ldr r0, =gBattleAnimTarget - ldrb r0, [r0] - bl GetBattlerSide - lsls r0, 24 - cmp r0, 0 - bne _0816037C - ldr r2, =gBattleAnimArgs - ldrh r0, [r4, 0x20] - ldrh r1, [r2] - subs r0, r1 - strh r0, [r4, 0x20] - ldrh r0, [r2, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] - ldr r0, =0x0000fff5 - strh r0, [r4, 0x2E] - movs r0, 0xC0 - strh r0, [r4, 0x30] - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim - b _08160396 - .pool -_0816037C: - movs r0, 0xB - strh r0, [r4, 0x2E] - movs r0, 0xC0 - strh r0, [r4, 0x30] - ldr r1, =gBattleAnimArgs - ldrh r0, [r1] - ldrh r2, [r4, 0x20] - adds r0, r2 - strh r0, [r4, 0x20] - ldrh r0, [r1, 0x2] - ldrh r1, [r4, 0x22] - adds r0, r1 - strh r0, [r4, 0x22] -_08160396: - ldr r0, =sub_81602E0 - str r0, [r4, 0x1C] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160338 - - thumb_func_start sub_81603A8 -sub_81603A8: @ 81603A8 - push {r4,r5,lr} - adds r5, r0, 0 - ldr r4, =gBattleAnimAttacker - ldrb r0, [r4] - movs r1, 0x2 - bl GetBattlerSpriteCoord - lsls r0, 24 - lsrs r0, 24 - strh r0, [r5, 0x20] - ldrb r0, [r4] - movs r1, 0x2 - bl sub_80A861C - strh r0, [r5, 0x22] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xF - bgt _081603D2 - movs r0, 0x10 - strh r0, [r5, 0x22] -_081603D2: - movs r0, 0 - strh r0, [r5, 0x3A] - movs r1, 0x10 - strh r1, [r5, 0x3C] - ldr r0, =sub_81603F4 - str r0, [r5, 0x1C] - lsls r1, 8 - movs r0, 0x52 - bl SetGpuReg - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81603A8 - - thumb_func_start sub_81603F4 -sub_81603F4: @ 81603F4 - push {r4,lr} - adds r4, r0, 0 - movs r0, 0x32 - ldrsh r1, [r4, r0] - cmp r1, 0x1 - beq _0816046C - cmp r1, 0x1 - bgt _0816040A - cmp r1, 0 - beq _08160414 - b _081604E8 -_0816040A: - cmp r1, 0x2 - beq _08160482 - cmp r1, 0x3 - beq _081604E2 - b _081604E8 -_08160414: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _081604E8 - strh r1, [r4, 0x2E] - ldrh r1, [r4, 0x30] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0816043E - ldrh r2, [r4, 0x3A] - movs r3, 0x3A - ldrsh r0, [r4, r3] - cmp r0, 0xF - bgt _0816044C - adds r0, r2, 0x1 - strh r0, [r4, 0x3A] - b _0816044C -_0816043E: - ldrh r2, [r4, 0x3C] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _0816044C - subs r0, r2, 0x1 - strh r0, [r4, 0x3C] -_0816044C: - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r0, [r4, 0x3A] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _081604E8 - b _081604DA -_0816046C: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - movs r1, 0 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xA - bne _081604E8 - strh r1, [r4, 0x2E] - strh r1, [r4, 0x30] - b _081604DA -_08160482: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x1 - ble _081604E8 - movs r0, 0 - strh r0, [r4, 0x2E] - ldrh r1, [r4, 0x30] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _081604AE - ldrh r2, [r4, 0x3A] - movs r3, 0x3A - ldrsh r0, [r4, r3] - cmp r0, 0 - beq _081604BC - subs r0, r2, 0x1 - strh r0, [r4, 0x3A] - b _081604BC -_081604AE: - ldrh r2, [r4, 0x3C] - movs r3, 0x3C - ldrsh r0, [r4, r3] - cmp r0, 0xF - bgt _081604BC - adds r0, r2, 0x1 - strh r0, [r4, 0x3C] -_081604BC: - adds r0, r1, 0x1 - strh r0, [r4, 0x30] - ldrh r1, [r4, 0x3C] - lsls r1, 8 - ldrh r0, [r4, 0x3A] - orrs r1, r0 - lsls r1, 16 - lsrs r1, 16 - movs r0, 0x52 - bl SetGpuReg - movs r1, 0x3C - ldrsh r0, [r4, r1] - cmp r0, 0x10 - bne _081604E8 -_081604DA: - ldrh r0, [r4, 0x32] - adds r0, 0x1 - strh r0, [r4, 0x32] - b _081604E8 -_081604E2: - adds r0, r4, 0 - bl DestroySpriteAndMatrix -_081604E8: - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_81603F4 - - thumb_func_start AnimTask_GetWeather -AnimTask_GetWeather: @ 81604F0 - push {lr} - lsls r0, 24 - lsrs r3, r0, 24 - ldr r2, =gBattleAnimArgs - movs r0, 0 - strh r0, [r2, 0xE] - ldr r0, =gWeatherMoveAnim - ldrh r1, [r0] - movs r0, 0x60 - ands r0, r1 - cmp r0, 0 - beq _08160514 - movs r0, 0x1 - b _08160536 - .pool -_08160514: - movs r0, 0x7 - ands r0, r1 - cmp r0, 0 - beq _08160520 - movs r0, 0x2 - b _08160536 -_08160520: - movs r0, 0x18 - ands r0, r1 - cmp r0, 0 - beq _0816052C - movs r0, 0x3 - b _08160536 -_0816052C: - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - beq _08160538 - movs r0, 0x4 -_08160536: - strh r0, [r2, 0xE] -_08160538: - adds r0, r3, 0 - bl DestroyAnimVisualTask - pop {r0} - bx r0 - thumb_func_end AnimTask_GetWeather - - thumb_func_start sub_8160544 -sub_8160544: @ 8160544 - push {r4,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, =gTasks - adds r4, r0 - movs r0, 0 - strh r0, [r4, 0x8] - ldr r0, =gBattleAnimArgs - ldrb r0, [r0] - bl GetAnimBattlerSpriteId - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - strh r1, [r4, 0x26] - ldr r2, =gUnknown_085CE9C8 - adds r0, r4, 0 - bl PrepareAffineAnimInTaskData - ldr r0, =sub_816058C - str r0, [r4] - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8160544 - - thumb_func_start sub_816058C -sub_816058C: @ 816058C - push {r4-r6,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r2, =gTasks - adds r3, r0, r2 - ldrh r0, [r3, 0x8] - adds r1, r0, 0x1 - movs r5, 0 - strh r1, [r3, 0x8] - subs r0, 0x10 - lsls r0, 16 - lsrs r0, 16 - adds r6, r2, 0 - cmp r0, 0x16 - bhi _081605F0 - ldrh r0, [r3, 0xA] - adds r0, 0x1 - strh r0, [r3, 0xA] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _08160600 - strh r5, [r3, 0xA] - ldrh r0, [r3, 0xC] - adds r0, 0x1 - strh r0, [r3, 0xC] - movs r5, 0x1 - ands r0, r5 - cmp r0, 0 - bne _081605F0 - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - ldr r1, =0x0000ffff - strh r1, [r0, 0x24] - b _08160600 - .pool -_081605F0: - ldr r2, =gSprites - movs r0, 0x26 - ldrsh r1, [r3, r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r2 - strh r5, [r0, 0x24] -_08160600: - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r6 - bl RunAffineAnimFromTaskData - lsls r0, 24 - cmp r0, 0 - bne _08160618 - adds r0, r4, 0 - bl DestroyAnimVisualTask -_08160618: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_816058C - - .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index 6780ef389b..0de40a3961 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -225,7 +225,6 @@ SECTIONS { src/battle_controller_safari.o(.text); src/fldeff_sweetscent.o(.text); src/battle_anim_effects_3.o(.text); - asm/battle_anim_effects_3.o(.text); src/learn_move.o(.text); src/fldeff_softboiled.o(.text); src/decoration_inventory.o(.text); diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 5f135691b9..e3592b2e27 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -22,6 +22,7 @@ #include "constants/rgb.h" #include "constants/songs.h" #include "constants/species.h" +#include "constants/weather.h" extern u8 sub_807521C(s16 x, s16 y, u8 a3); extern void sub_810E2C8(struct Sprite *); @@ -120,6 +121,9 @@ static void sub_815F330(u8); static void sub_815F4F0(struct Sprite *); static void sub_815F79C(u8); static void sub_815F7C4(struct Sprite *); +static void sub_81601DC(u8); +static void sub_81603F4(struct Sprite *); +static void sub_816058C(u8); const union AnimCmd gUnknown_085CE004[] = { @@ -4902,3 +4906,543 @@ void AnimTask_GetReturnPowerLevel(u8 taskId) DestroyAnimVisualTask(taskId); } + +void sub_815F8F4(u8 taskId) +{ + u8 spriteId, spriteId2; + int personality; + int otId; + u16 species; + u8 subpriority; + u8 isBackPic; + s16 x; + + switch (gTasks[taskId].data[0]) + { + case 0: + spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + gTasks[taskId].data[1] += 0x800; + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + gSprites[spriteId].pos2.x += (gTasks[taskId].data[1] >> 8); + else + gSprites[spriteId].pos2.x -= (gTasks[taskId].data[1] >> 8); + + gTasks[taskId].data[1] = (u8)gTasks[taskId].data[1]; + x = (u16)gSprites[spriteId].pos1.x + (u16)gSprites[spriteId].pos2.x; + if ((u16)(x + 32) > 304) + { + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[0]++; + } + break; + case 1: + if (IsContest()) + { + personality = gContestResources->field_18->unk8; + otId = gContestResources->field_18->unkC; + species = gContestResources->field_18->species; + subpriority = GetBattlerSpriteSubpriority(gBattleAnimAttacker); + isBackPic = 0; + x = -32; + } + else + { + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + personality = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY); + otId = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID); + if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies == SPECIES_NONE) + species = GetMonData(&gPlayerParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES); + else + species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies; + + subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority + 1; + isBackPic = 0; + x = 272; + } + else + { + personality = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_PERSONALITY); + otId = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_OT_ID); + if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies == SPECIES_NONE) + species = GetMonData(&gEnemyParty[gBattlerPartyIndexes[gBattleAnimAttacker]], MON_DATA_SPECIES); + else + species = gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies; + + subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority - 1; + isBackPic = 1; + x = -32; + } + } + + spriteId2 = sub_80A8394(species, isBackPic, 0, x, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, otId, gBattleAnimAttacker, 0); + if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies != SPECIES_NONE) + BlendPalette((gSprites[spriteId2].oam.paletteNum * 16) | 0x100, 16, 6, RGB_WHITE); + + gTasks[taskId].data[15] = spriteId2; + gTasks[taskId].data[0]++; + break; + case 2: + spriteId2 = gTasks[taskId].data[15]; + gTasks[taskId].data[1] += 0x800; + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + gSprites[spriteId2].pos2.x -= (gTasks[taskId].data[1] >> 8); + else + gSprites[spriteId2].pos2.x += (gTasks[taskId].data[1] >> 8); + + gTasks[taskId].data[1] = (u8)gTasks[taskId].data[1]; + x = gSprites[spriteId2].pos1.x + gSprites[spriteId2].pos2.x; + if (gTasks[taskId].data[14] == 0) + { + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + if (x < GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X)) + { + gTasks[taskId].data[14]++; + gBattleAnimArgs[7] = 0xFFFF; + } + } + else + { + if (x > GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X)) + { + gTasks[taskId].data[14]++; + gBattleAnimArgs[7] = 0xFFFF; + } + } + } + + if ((u16)(x + 32) > 304) + { + gTasks[taskId].data[1] = 0; + gTasks[taskId].data[0]++; + } + break; + case 3: + spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + spriteId2 = gTasks[taskId].data[15]; + sub_80A8610(&gSprites[spriteId2]); + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + gSprites[spriteId].pos2.x = -gSprites[spriteId].pos1.x - 32; + else + gSprites[spriteId].pos2.x = 272 - gSprites[spriteId].pos1.x; + + gTasks[taskId].data[0]++; + break; + case 4: + spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); + gTasks[taskId].data[1] += 0x800; + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + { + gSprites[spriteId].pos2.x += (gTasks[taskId].data[1] >> 8); + if (gSprites[spriteId].pos2.x + gSprites[spriteId].pos1.x >= GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X)) + gSprites[spriteId].pos2.x = 0; + } + else + { + gSprites[spriteId].pos2.x -= (gTasks[taskId].data[1] >> 8); + if (gSprites[spriteId].pos2.x + gSprites[spriteId].pos1.x <= GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X)) + gSprites[spriteId].pos2.x = 0; + } + + gTasks[taskId].data[1] = (u8)gTasks[taskId].data[1]; + if (gSprites[spriteId].pos2.x == 0) + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_815FE80(struct Sprite *sprite) +{ + switch (sprite->data[7]) + { + case 0: + if (gBattleAnimArgs[7] == -1) + { + PlaySE12WithPanning(SE_W233, BattleAnimAdjustPanning(63)); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + 16; + sprite->data[0] = -32; + sprite->data[7]++; + sprite->invisible = 0; + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT && !IsContest()) + sprite->subpriority = gSprites[GetAnimBattlerSpriteId(ANIM_TARGET)].subpriority - 1; + } + else + { + sprite->invisible = 1; + } + break; + case 1: + sprite->pos2.y = Sin(sprite->data[1], sprite->data[0]); + sprite->data[1] += 5; + if (sprite->data[1] > 0x7F) + { + sprite->data[0] = sprite->data[0] / 2; + sprite->data[3]++; + sprite->data[1] -= 0x7F; + } + + sprite->data[2] += 0x100; + if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) + sprite->pos2.x -= (sprite->data[2] >> 8); + else + sprite->pos2.x += (sprite->data[2] >> 8); + + sprite->data[2] &= 0xFF; + if (sprite->data[3] == 2) + DestroyAnimSprite(sprite); + break; + } +} + +void sub_815FFC4(u8 taskId) +{ + s16 attackerX, targetX; + u8 spriteId; + + switch (gTasks[taskId].data[15]) + { + case 0: + attackerX = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X); + targetX = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X); + gTasks[taskId].data[0] = 6; + if (attackerX > targetX) + gTasks[taskId].data[0] *= -1; + + gTasks[taskId].data[1] = attackerX; + gTasks[taskId].data[2] = targetX; + gTasks[taskId].data[15]++; + break; + case 1: + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; + gSprites[spriteId].pos2.x += gTasks[taskId].data[0]; + if (gTasks[taskId].data[0] > 0) + { + if (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x >= gTasks[taskId].data[2]) + gTasks[taskId].data[15]++; + } + else + { + if (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x <= gTasks[taskId].data[2]) + gTasks[taskId].data[15]++; + } + break; + case 2: + gTasks[taskId].data[0] *= -1; + gTasks[taskId].data[15]++; + break; + case 3: + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; + gSprites[spriteId].pos2.x += gTasks[taskId].data[0]; + if (gTasks[taskId].data[0] < 0) + { + if (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x <= gTasks[taskId].data[1]) + gTasks[taskId].data[15]++; + } + else + { + if (gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x >= gTasks[taskId].data[1]) + gTasks[taskId].data[15]++; + } + break; + case 4: + default: + spriteId = gBattlerSpriteIds[gBattleAnimAttacker]; + gSprites[spriteId].pos2.x = 0; + DestroyAnimVisualTask(taskId); + break; + } +} + +void sub_8160164(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + task->data[3] = GetAnimBattlerSpriteId(ANIM_ATTACKER); + task->data[4] = GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER ? 1 : -1; + task->data[6] = gSprites[task->data[3]].pos1.y; + task->data[5] = gSprites[task->data[3]].pos1.x; + task->data[9] = 0; + task->data[11] = 0; + task->data[10] = 1; + task->data[12] = 0; + task->func = sub_81601DC; +} + +static void sub_81601DC(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + switch (task->data[0]) + { + case 0: + task->data[11] += 8; + task->data[11] &= 0xFF; + gSprites[task->data[3]].pos2.x = gSineTable[task->data[11]] >> 5; + task->data[9] += 2; + task->data[9] &= 0xFF; + gSprites[task->data[3]].pos1.x = (gSineTable[task->data[9]] >> 3) * task->data[4] + task->data[5]; + if (task->data[9] == 0) + { + gSprites[task->data[3]].pos1.x = task->data[5]; + task->data[0]++; + } + break; + case 1: + task->data[11] += 8; + task->data[11] &= 0xFF; + gSprites[task->data[3]].pos2.x = gSineTable[task->data[11]] >> 5; + if (task->data[11] == 0) + { + gSprites[task->data[3]].pos2.x = 0; + task->data[0]++; + } + break; + case 2: + DestroyAnimVisualTask(taskId); + break; + } +} + +static void sub_81602E0(struct Sprite *sprite) +{ + // These two cases are identical. + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) + { + sprite->data[1] += sprite->data[0]; + sprite->data[1] &= 0xFF; + } + else + { + sprite->data[1] += sprite->data[0]; + sprite->data[1] &= 0xFF; + } + + sprite->pos2.x = Cos(sprite->data[1], 20); + sprite->pos2.y = Sin(sprite->data[1], 20); + if (sprite->animEnded) + DestroyAnimSprite(sprite); + + sprite->data[2]++; +} + +void sub_8160338(struct Sprite *sprite) +{ + if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) + { + sprite->pos1.x -= gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + sprite->data[0] = -11; + sprite->data[1] = 192; + StartSpriteAffineAnim(sprite, 1); + } + else + { + sprite->data[0] = 11; + sprite->data[1] = 192; + sprite->pos1.x += gBattleAnimArgs[0]; + sprite->pos1.y += gBattleAnimArgs[1]; + } + + sprite->callback = sub_81602E0; +} + +void sub_81603A8(struct Sprite *sprite) +{ + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = sub_80A861C(gBattleAnimAttacker, 2); + if (sprite->pos1.y < 16) + sprite->pos1.y = 16; + + sprite->data[6] = 0; + sprite->data[7] = 16; + sprite->callback = sub_81603F4; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7])); +} + +static void sub_81603F4(struct Sprite *sprite) +{ + switch (sprite->data[2]) + { + case 0: + if (++sprite->data[0] > 1) + { + sprite->data[0] = 0; + if (!(sprite->data[1] & 1)) + { + if (sprite->data[6] < 16) + sprite->data[6]++; + } + else + { + if (sprite->data[7] != 0) + sprite->data[7]--; + } + + sprite->data[1]++; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7])); + if (sprite->data[7] == 0) + sprite->data[2]++; + } + break; + case 1: + if (++sprite->data[0] == 10) + { + sprite->data[0] = 0; + sprite->data[1] = 0; + sprite->data[2]++; + } + break; + case 2: + if (++sprite->data[0] > 1) + { + sprite->data[0] = 0; + if (!(sprite->data[1] & 1)) + { + if (sprite->data[6] != 0) + sprite->data[6]--; + } + else + { + if (sprite->data[7] < 16) + sprite->data[7]++; + } + + sprite->data[1]++; + SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7])); + if (sprite->data[7] == 16) + sprite->data[2]++; + } + break; + case 3: + DestroySpriteAndMatrix(sprite); + break; + } +} + +void AnimTask_GetWeather(u8 taskId) +{ + gBattleAnimArgs[7] = 0; + if (gWeatherMoveAnim & WEATHER_SUN_ANY) + gBattleAnimArgs[7] = 1; + else if (gWeatherMoveAnim & WEATHER_RAIN_ANY) + gBattleAnimArgs[7] = 2; + else if (gWeatherMoveAnim & WEATHER_SANDSTORM_ANY) + gBattleAnimArgs[7] = 3; + else if (gWeatherMoveAnim & WEATHER_HAIL_ANY) + gBattleAnimArgs[7] = 4; + + DestroyAnimVisualTask(taskId); +} + +void sub_8160544(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + task->data[0] = 0; + task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); + PrepareAffineAnimInTaskData(task, task->data[15], gUnknown_085CE9C8); + task->func = sub_816058C; +} + +#ifdef NONMATCHING +static void sub_816058C(u8 taskId) +{ + struct Task *task = &gTasks[taskId]; + u16 var0 = gTasks[taskId].data[0]++ - 16; + if (var0 < 23) + { + if (++task->data[1] > 2) + { + task->data[1] = 0; + if (!(++task->data[2] & 1)) + { + gSprites[task->data[15]].pos2.x = -1; + } + else + { + gSprites[task->data[15]].pos2.x = 1; + } + } + } + else + { + gSprites[task->data[15]].pos2.x = 0; + } + + if (!RunAffineAnimFromTaskData(&gTasks[taskId])) + DestroyAnimVisualTask(taskId); +} +#else +NAKED +static void sub_816058C(u8 taskId) +{ + asm_unified("\n\ + push {r4-r6,lr}\n\ + lsls r0, 24\n\ + lsrs r4, r0, 24\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + ldr r2, =gTasks\n\ + adds r3, r0, r2\n\ + ldrh r0, [r3, 0x8]\n\ + adds r1, r0, 0x1\n\ + movs r5, 0\n\ + strh r1, [r3, 0x8]\n\ + subs r0, 0x10\n\ + lsls r0, 16\n\ + lsrs r0, 16\n\ + adds r6, r2, 0\n\ + cmp r0, 0x16\n\ + bhi _081605F0\n\ + ldrh r0, [r3, 0xA]\n\ + adds r0, 0x1\n\ + strh r0, [r3, 0xA]\n\ + lsls r0, 16\n\ + asrs r0, 16\n\ + cmp r0, 0x2\n\ + ble _08160600\n\ + strh r5, [r3, 0xA]\n\ + ldrh r0, [r3, 0xC]\n\ + adds r0, 0x1\n\ + strh r0, [r3, 0xC]\n\ + movs r5, 0x1\n\ + ands r0, r5\n\ + cmp r0, 0\n\ + bne _081605F0\n\ + ldr r2, =gSprites\n\ + movs r0, 0x26\n\ + ldrsh r1, [r3, r0]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r0, r2\n\ + ldr r1, =0x0000ffff\n\ + strh r1, [r0, 0x24]\n\ + b _08160600\n\ + .pool\n\ +_081605F0:\n\ + ldr r2, =gSprites\n\ + movs r0, 0x26\n\ + ldrsh r1, [r3, r0]\n\ + lsls r0, r1, 4\n\ + adds r0, r1\n\ + lsls r0, 2\n\ + adds r0, r2\n\ + strh r5, [r0, 0x24]\n\ +_08160600:\n\ + lsls r0, r4, 2\n\ + adds r0, r4\n\ + lsls r0, 3\n\ + adds r0, r6\n\ + bl RunAffineAnimFromTaskData\n\ + lsls r0, 24\n\ + cmp r0, 0\n\ + bne _08160618\n\ + adds r0, r4, 0\n\ + bl DestroyAnimVisualTask\n\ +_08160618:\n\ + pop {r4-r6}\n\ + pop {r0}\n\ + bx r0\n\ + .pool"); +} +#endif From 229177f7c65282e973367e09f03716c10b03c102 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sat, 29 Dec 2018 11:35:27 -0600 Subject: [PATCH 33/53] Use anim weather constants --- src/battle_anim_effects_3.c | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index e3592b2e27..a901f7a794 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -5320,15 +5320,15 @@ static void sub_81603F4(struct Sprite *sprite) void AnimTask_GetWeather(u8 taskId) { - gBattleAnimArgs[7] = 0; + gBattleAnimArgs[7] = ANIM_WEATHER_NONE; if (gWeatherMoveAnim & WEATHER_SUN_ANY) - gBattleAnimArgs[7] = 1; + gBattleAnimArgs[7] = ANIM_WEATHER_SUN; else if (gWeatherMoveAnim & WEATHER_RAIN_ANY) - gBattleAnimArgs[7] = 2; + gBattleAnimArgs[7] = ANIM_WEATHER_RAIN; else if (gWeatherMoveAnim & WEATHER_SANDSTORM_ANY) - gBattleAnimArgs[7] = 3; + gBattleAnimArgs[7] = ANIM_WEATHER_SANDSTORM; else if (gWeatherMoveAnim & WEATHER_HAIL_ANY) - gBattleAnimArgs[7] = 4; + gBattleAnimArgs[7] = ANIM_WEATHER_HAIL; DestroyAnimVisualTask(taskId); } From 061b879561d0badcac3ccb3df1f072cf969f4f32 Mon Sep 17 00:00:00 2001 From: PALPATlNE Date: Sat, 29 Dec 2018 17:57:35 +0100 Subject: [PATCH 34/53] Documentation for pokemon_summary_screens.c --- src/pokemon_summary_screen.c | 64 ++++++++++++++++++------------------ 1 file changed, 32 insertions(+), 32 deletions(-) diff --git a/src/pokemon_summary_screen.c b/src/pokemon_summary_screen.c index 7feeb79e76..c4546fffc5 100644 --- a/src/pokemon_summary_screen.c +++ b/src/pokemon_summary_screen.c @@ -311,7 +311,7 @@ static const struct UnkStruct_61CC04 gUnknown_0861CC10 = static const s8 gUnknown_0861CC1C[] = {0, 2, 3, 1, 4, 5}; static const struct WindowTemplate gUnknown_0861CC24[] = { - { + {//Text for Pokemon Info .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, @@ -320,7 +320,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 1, }, - { + {//Text for Pokemon Skills .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, @@ -329,7 +329,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 23, }, - { + {//Text for Battle Moves .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, @@ -338,7 +338,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 45, }, - { + {//Text for Contest Moves .bg = 0, .tilemapLeft = 0, .tilemapTop = 0, @@ -347,7 +347,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 67, }, - { + { //Text on Pokemon Info: Button prompt: Cancel .bg = 0, .tilemapLeft = 22, .tilemapTop = 0, @@ -356,7 +356,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 7, .baseBlock = 89, }, - { + {//Info button found under moves .bg = 0, .tilemapLeft = 22, .tilemapTop = 0, @@ -365,7 +365,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 7, .baseBlock = 105, }, - { + {//Switch button under moves when viewing moves .bg = 0, .tilemapLeft = 22, .tilemapTop = 0, @@ -374,7 +374,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 7, .baseBlock = 121, }, - { + {//Unknown .bg = 0, .tilemapLeft = 11, .tilemapTop = 4, @@ -383,7 +383,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 137, }, - { + {//Unknown .bg = 0, .tilemapLeft = 11, .tilemapTop = 4, @@ -392,7 +392,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 137, }, - { + {//Type on pokemon info page .bg = 0, .tilemapLeft = 11, .tilemapTop = 6, @@ -401,7 +401,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 173, }, - { + {//HP, Attack and Defense text .bg = 0, .tilemapLeft = 10, .tilemapTop = 7, @@ -410,7 +410,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 209, }, - { + {//Sp. atk, Sp. Def and Speed texxt .bg = 0, .tilemapLeft = 22, .tilemapTop = 7, @@ -419,7 +419,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 245, }, - { + {//EXP and next lvl. .bg = 0, .tilemapLeft = 10, .tilemapTop = 14, @@ -428,7 +428,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 275, }, - { + {//Unknown .bg = 0, .tilemapLeft = 0, .tilemapTop = 18, @@ -437,7 +437,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 319, }, - { + {//move text: Power, Accuracy and their numeric values. .bg = 0, .tilemapLeft = 1, .tilemapTop = 15, @@ -446,7 +446,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 331, }, - { + {//contest text: appeal and jam .bg = 0, .tilemapLeft = 1, .tilemapTop = 15, @@ -455,7 +455,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 367, }, - { + {//Unknown .bg = 0, .tilemapLeft = 22, .tilemapTop = 4, @@ -464,7 +464,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 387, }, - { + {//No. .bg = 0, .tilemapLeft = 1, .tilemapTop = 2, @@ -473,7 +473,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 7, .baseBlock = 387, }, - { + {//Upper name .bg = 0, .tilemapLeft = 1, .tilemapTop = 12, @@ -482,7 +482,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = .paletteNum = 6, .baseBlock = 395, }, - { + {//Lower name .bg = 0, .tilemapLeft = 1, .tilemapTop = 14, @@ -495,7 +495,7 @@ static const struct WindowTemplate gUnknown_0861CC24[] = }; static const struct WindowTemplate gUnknown_0861CCCC[] = { - { + {//Original Trainer .bg = 0, .tilemapLeft = 11, .tilemapTop = 4, @@ -504,7 +504,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] = .paletteNum = 6, .baseBlock = 449, }, - { + {//ID numbers .bg = 0, .tilemapLeft = 22, .tilemapTop = 4, @@ -513,7 +513,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] = .paletteNum = 6, .baseBlock = 471, }, - { + {//Ability .bg = 0, .tilemapLeft = 11, .tilemapTop = 9, @@ -522,7 +522,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] = .paletteNum = 6, .baseBlock = 485, }, - { + {//Trainer Memo .bg = 0, .tilemapLeft = 11, .tilemapTop = 14, @@ -534,7 +534,7 @@ static const struct WindowTemplate gUnknown_0861CCCC[] = }; static const struct WindowTemplate gUnknown_0861CCEC[] = { - { + {//Held Item string .bg = 0, .tilemapLeft = 10, .tilemapTop = 4, @@ -543,7 +543,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] = .paletteNum = 6, .baseBlock = 449, }, - { + {//Ribbon string .bg = 0, .tilemapLeft = 20, .tilemapTop = 4, @@ -552,7 +552,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] = .paletteNum = 6, .baseBlock = 469, }, - { + {//Stat numbers left (HP, ATK & DEF) .bg = 0, .tilemapLeft = 16, .tilemapTop = 7, @@ -561,7 +561,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] = .paletteNum = 6, .baseBlock = 489, }, - { + {//Stat numbers right (SP.ATK, SP.DEF & SPEED) .bg = 0, .tilemapLeft = 27, .tilemapTop = 7, @@ -570,7 +570,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] = .paletteNum = 6, .baseBlock = 525, }, - { + {//Exp numbers .bg = 0, .tilemapLeft = 24, .tilemapTop = 14, @@ -582,7 +582,7 @@ static const struct WindowTemplate gUnknown_0861CCEC[] = }; static const struct WindowTemplate gUnknown_0861CD14[] = { - { + {//Move names? .bg = 0, .tilemapLeft = 15, .tilemapTop = 4, @@ -591,7 +591,7 @@ static const struct WindowTemplate gUnknown_0861CD14[] = .paletteNum = 6, .baseBlock = 449, }, - { + {//PP Numbers .bg = 0, .tilemapLeft = 24, .tilemapTop = 4, @@ -600,7 +600,7 @@ static const struct WindowTemplate gUnknown_0861CD14[] = .paletteNum = 8, .baseBlock = 539, }, - { + {//Move description text .bg = 0, .tilemapLeft = 10, .tilemapTop = 15, From 34243bbe1d89e11c905e0950ddfba4720ffed04d Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 29 Dec 2018 11:50:00 +0100 Subject: [PATCH 35/53] Start contest painting effect --- asm/contest_painting_effects.s | 1724 +------------------------------- src/contest_painting_effects.c | 602 +++++++++++ 2 files changed, 603 insertions(+), 1723 deletions(-) create mode 100644 src/contest_painting_effects.c diff --git a/asm/contest_painting_effects.s b/asm/contest_painting_effects.s index 36ef184b9c..f9f2b96fc2 100644 --- a/asm/contest_painting_effects.s +++ b/asm/contest_painting_effects.s @@ -5,1728 +5,6 @@ .text - thumb_func_start sub_8124F2C -sub_8124F2C: @ 8124F2C - push {lr} - ldr r2, =gUnknown_03006168 - ldr r1, [r0, 0x4] - str r1, [r2] - ldr r2, =gUnknown_0300617C - ldrb r1, [r0, 0x1F] - strb r1, [r2] - ldr r2, =gUnknown_03006164 - ldrb r1, [r0, 0x19] - strb r1, [r2] - ldr r2, =gUnknown_03006178 - ldrb r1, [r0, 0x1A] - strb r1, [r2] - ldr r2, =gUnknown_03006174 - ldrb r1, [r0, 0x1B] - strb r1, [r2] - ldr r2, =gUnknown_0300616C - ldrb r1, [r0, 0x1C] - strb r1, [r2] - ldr r2, =gUnknown_03006180 - ldrb r1, [r0, 0x1D] - strb r1, [r2] - ldr r2, =gUnknown_03006170 - ldrb r1, [r0, 0x1E] - strb r1, [r2] - ldrb r0, [r0] - subs r0, 0x2 - cmp r0, 0x22 - bls _08124F68 - b _081250B4 -_08124F68: - lsls r0, 2 - ldr r1, =_08124F98 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08124F98: - .4byte _08125024 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _08125084 - .4byte _081250B4 - .4byte _0812502A - .4byte _08125030 - .4byte _08125044 - .4byte _08125056 - .4byte _081250B4 - .4byte _0812506C - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _081250B4 - .4byte _08125072 - .4byte _08125050 - .4byte _08125078 - .4byte _0812507E - .4byte _081250B4 - .4byte _081250B4 - .4byte _08125090 -_08125024: - bl sub_8125230 - b _081250B4 -_0812502A: - bl sub_81252E8 - b _081250B4 -_08125030: - bl sub_81254E0 - ldr r0, =gUnknown_0300617C - ldrb r0, [r0] - bl sub_81253A4 - b _081250B4 - .pool -_08125044: - bl sub_81254E0 - bl sub_8125630 - bl sub_8125448 -_08125050: - bl sub_8125630 - b _081250B4 -_08125056: - bl sub_81254E0 - bl sub_81257F8 - bl sub_81257F8 - bl sub_81258A0 - bl sub_8125448 - b _081250B4 -_0812506C: - bl sub_81256C8 - b _081250B4 -_08125072: - bl sub_81254E0 - b _081250B4 -_08125078: - bl sub_81257F8 - b _081250B4 -_0812507E: - bl sub_81258A0 - b _081250B4 -_08125084: - bl sub_8125250 - movs r0, 0x3 - bl sub_81250B8 - b _081250B4 -_08125090: - bl sub_81254E0 - bl sub_81257F8 - bl sub_81258A0 - bl sub_8125448 - bl sub_81252E8 - bl sub_81252E8 - movs r0, 0x2 - bl sub_81250B8 - movs r0, 0x4 - bl sub_8125170 -_081250B4: - pop {r0} - bx r0 - thumb_func_end sub_8124F2C - - thumb_func_start sub_81250B8 -sub_81250B8: @ 81250B8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r7, r0, 24 - movs r2, 0 - ldr r0, =gUnknown_0300616C - mov r8, r0 - ldrb r0, [r0] - cmp r2, r0 - bcs _0812514A - ldr r1, =gUnknown_03006174 - mov r12, r1 - ldr r3, =gUnknown_03006180 - mov r10, r3 - ldr r0, =gUnknown_03006164 - mov r9, r0 -_081250DE: - ldr r1, =gUnknown_03006178 - ldrb r0, [r1] - adds r0, r2 - mov r3, r10 - ldrb r1, [r3] - muls r0, r1 - lsls r0, 1 - ldr r3, =gUnknown_03006168 - ldr r1, [r3] - adds r1, r0 - mov r3, r9 - ldrb r0, [r3] - lsls r0, 1 - adds r3, r1, r0 - movs r4, 0 - adds r5, r2, 0x1 - mov r0, r12 - ldrb r0, [r0] - cmp r4, r0 - bcs _0812513E - movs r6, 0x80 - lsls r6, 8 -_0812510A: - ldrh r1, [r3] - adds r0, r6, 0 - ands r0, r1 - cmp r0, 0 - bne _0812512E - movs r0, 0x1F - ands r0, r1 - adds r0, r7 - lsls r0, 24 - lsrs r2, r0, 24 - cmp r2, 0x1F - bls _08125124 - movs r2, 0x1F -_08125124: - lsls r0, r2, 10 - lsls r1, r2, 5 - orrs r0, r1 - orrs r0, r2 - strh r0, [r3] -_0812512E: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - adds r3, 0x2 - mov r1, r12 - ldrb r1, [r1] - cmp r4, r1 - bcc _0812510A -_0812513E: - lsls r0, r5, 24 - lsrs r2, r0, 24 - mov r3, r8 - ldrb r3, [r3] - cmp r2, r3 - bcc _081250DE -_0812514A: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81250B8 - - thumb_func_start sub_8125170 -sub_8125170: @ 8125170 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _08125208 - ldr r1, =gUnknown_03006174 - mov r10, r1 -_0812518E: - ldr r3, =gUnknown_03006178 - ldrb r0, [r3] - adds r0, r2 - ldr r3, =gUnknown_03006180 - ldrb r1, [r3] - muls r0, r1 - lsls r0, 1 - ldr r3, =gUnknown_03006168 - ldr r1, [r3] - adds r1, r0 - ldr r3, =gUnknown_03006164 - ldrb r0, [r3] - lsls r0, 1 - adds r3, r1, r0 - movs r5, 0 - adds r7, r2, 0x1 - mov r0, r10 - ldrb r0, [r0] - cmp r5, r0 - bcs _081251FC - movs r1, 0x80 - lsls r1, 8 - mov r9, r1 - movs r0, 0x1F - mov r12, r0 - mov r1, r8 - subs r6, r0, r1 -_081251C4: - ldrh r1, [r3] - mov r0, r9 - ands r0, r1 - cmp r0, 0 - bne _081251EC - movs r4, 0x1F - mov r2, r12 - ands r2, r1 - cmp r2, r6 - ble _081251E2 - mov r1, r8 - lsrs r0, r1, 1 - subs r0, r4, r0 - lsls r0, 24 - lsrs r2, r0, 24 -_081251E2: - lsls r0, r2, 10 - lsls r1, r2, 5 - orrs r0, r1 - orrs r0, r2 - strh r0, [r3] -_081251EC: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r3, 0x2 - mov r0, r10 - ldrb r0, [r0] - cmp r5, r0 - bcc _081251C4 -_081251FC: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r1, =gUnknown_0300616C - ldrb r1, [r1] - cmp r2, r1 - bcc _0812518E -_08125208: - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8125170 - - thumb_func_start sub_8125230 -sub_8125230: @ 8125230 - push {r4,r5,lr} - movs r4, 0 - ldr r5, =0x00000c7f -_08125236: - lsls r0, r4, 16 - lsrs r0, 16 - bl sub_8125954 - adds r4, 0x1 - cmp r4, r5 - bls _08125236 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8125230 - - thumb_func_start sub_8125250 -sub_8125250: @ 8125250 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _081252C2 - ldr r0, =gUnknown_03006168 - mov r8, r0 - ldr r3, =gUnknown_03006174 -_08125268: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r2 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _081252B6 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_08125294: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _081252A8 - adds r0, r4, 0 - str r3, [sp] - bl sub_8125B28 - strh r0, [r4] - ldr r3, [sp] -_081252A8: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _08125294 -_081252B6: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcc _08125268 -_081252C2: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8125250 - - thumb_func_start sub_81252E8 -sub_81252E8: @ 81252E8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r2, 0 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r2, r0 - bcs _0812537E - ldr r0, =gUnknown_03006168 - mov r8, r0 - ldr r3, =gUnknown_03006180 -_08125300: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - ldrb r0, [r3] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - adds r0, r2 - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - ldrb r0, [r3] - lsls r0, 1 - adds r4, r0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - subs r0, 0x1 - adds r7, r2, 0x1 - cmp r5, r0 - bge _08125372 - ldr r6, =gUnknown_03006180 -_08125336: - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 8 - adds r1, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _0812535C - ldrb r2, [r6] - lsls r2, 1 - adds r2, r4, r2 - mov r0, sp - adds r1, r4, 0 - str r3, [sp, 0x4] - bl sub_8125E18 - strh r0, [r4] - mov r1, sp - strh r0, [r1] - ldr r3, [sp, 0x4] -_0812535C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r6] - lsls r0, 1 - adds r4, r0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _08125336 -_08125372: - lsls r0, r7, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r2, r0 - bcc _08125300 -_0812537E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81252E8 - - thumb_func_start sub_81253A4 -sub_81253A4: @ 81253A4 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _08125420 - ldr r0, =gUnknown_03006168 - mov r9, r0 - ldr r3, =gUnknown_03006174 -_081253C4: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r2 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r9 - ldr r1, [r4] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _08125414 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_081253F0: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _08125406 - adds r0, r4, 0 - mov r1, r8 - str r3, [sp] - bl sub_8125B5C - strh r0, [r4] - ldr r3, [sp] -_08125406: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _081253F0 -_08125414: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcc _081253C4 -_08125420: - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81253A4 - - thumb_func_start sub_8125448 -sub_8125448: @ 8125448 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _081254BA - ldr r0, =gUnknown_03006168 - mov r8, r0 - ldr r3, =gUnknown_03006174 -_08125460: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r2 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _081254AE - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_0812548C: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _081254A0 - adds r0, r4, 0 - str r3, [sp] - bl sub_8125C68 - strh r0, [r4] - ldr r3, [sp] -_081254A0: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _0812548C -_081254AE: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcc _08125460 -_081254BA: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8125448 - - thumb_func_start sub_81254E0 -sub_81254E0: @ 81254E0 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - movs r7, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r7, r0 - bcs _0812556C - ldr r0, =gUnknown_03006168 - mov r8, r0 -_081254F6: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r7 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r2, r8 - ldr r1, [r2] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r5, r1, r0 - adds r4, r5, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8125C98 - strh r0, [r5] - movs r6, 0x1 - adds r5, r4, 0 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - subs r0, 0x1 - adds r7, 0x1 - cmp r6, r0 - bge _08125556 -_0812552E: - adds r4, r5, 0x2 - adds r0, r5, 0 - adds r1, r4, 0 - bl sub_8125C98 - strh r0, [r5] - subs r1, r5, 0x2 - adds r0, r5, 0 - bl sub_8125C98 - strh r0, [r5] - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r5, r4, 0 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - subs r0, 0x1 - cmp r6, r0 - blt _0812552E -_08125556: - subs r1, r5, 0x2 - adds r0, r5, 0 - bl sub_8125C98 - strh r0, [r5] - lsls r0, r7, 24 - lsrs r7, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r7, r0 - bcc _081254F6 -_0812556C: - movs r6, 0 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r6, r0 - bcs _0812560C - ldr r3, =gUnknown_03006168 - mov r9, r3 - ldr r0, =gUnknown_03006180 - mov r8, r0 -_0812557E: - ldr r0, =gUnknown_03006178 - ldrb r0, [r0] - mov r2, r8 - ldrb r1, [r2] - muls r0, r1 - lsls r0, 1 - mov r3, r9 - ldr r2, [r3] - adds r2, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - adds r0, r6 - lsls r0, 1 - adds r5, r2, r0 - lsls r1, 1 - adds r1, r5, r1 - adds r0, r5, 0 - bl sub_8125C98 - strh r0, [r5] - movs r7, 0x1 - mov r1, r8 - ldrb r0, [r1] - lsls r0, 1 - adds r5, r0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - subs r0, 0x1 - adds r6, 0x1 - cmp r7, r0 - bge _081255F0 - ldr r4, =gUnknown_03006180 -_081255BE: - ldrb r1, [r4] - lsls r1, 1 - adds r1, r5, r1 - adds r0, r5, 0 - bl sub_8125C98 - strh r0, [r5] - ldrb r1, [r4] - lsls r1, 1 - subs r1, r5, r1 - adds r0, r5, 0 - bl sub_8125C98 - strh r0, [r5] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - ldrb r0, [r4] - lsls r0, 1 - adds r5, r0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - subs r0, 0x1 - cmp r7, r0 - blt _081255BE -_081255F0: - mov r2, r8 - ldrb r1, [r2] - lsls r1, 1 - subs r1, r5, r1 - adds r0, r5, 0 - bl sub_8125C98 - strh r0, [r5] - lsls r0, r6, 24 - lsrs r6, r0, 24 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r6, r0 - bcc _0812557E -_0812560C: - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81254E0 - - thumb_func_start sub_8125630 -sub_8125630: @ 8125630 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _081256A2 - ldr r0, =gUnknown_03006168 - mov r8, r0 - ldr r3, =gUnknown_03006174 -_08125648: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r2 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r4, r8 - ldr r1, [r4] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - movs r5, 0 - adds r6, r2, 0x1 - ldrb r0, [r3] - cmp r5, r0 - bcs _08125696 - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_08125674: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _08125688 - adds r0, r4, 0 - str r3, [sp] - bl sub_8125CC8 - strh r0, [r4] - ldr r3, [sp] -_08125688: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldrb r0, [r3] - cmp r5, r0 - bcc _08125674 -_08125696: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcc _08125648 -_081256A2: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_8125630 - - thumb_func_start sub_81256C8 -sub_81256C8: @ 81256C8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - ldr r0, =gUnknown_03006168 - ldr r4, [r0] - movs r6, 0 - movs r0, 0x80 - lsls r0, 8 - adds r5, r0, 0 -_081256E0: - movs r7, 0 -_081256E2: - ldrh r0, [r4] - ands r0, r5 - cmp r0, 0 - bne _081256F2 - adds r0, r4, 0 - bl sub_8125CC8 - strh r0, [r4] -_081256F2: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r4, 0x2 - cmp r7, 0x3F - bls _081256E2 - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x3F - bls _081256E0 - movs r7, 0 - ldr r1, =gUnknown_03006168 - mov r10, r1 - mov r3, sp - movs r2, 0x80 - lsls r2, 8 - mov r9, r2 -_08125716: - lsls r0, r7, 1 - mov r2, r10 - ldr r1, [r2] - adds r4, r1, r0 - ldrh r1, [r4] - strh r1, [r3] - mov r1, r9 - strh r1, [r4] - movs r6, 0x1 - adds r4, 0x80 - adds r5, r0, 0 -_0812572C: - ldrh r0, [r4] - movs r2, 0x80 - lsls r2, 8 - ands r0, r2 - cmp r0, 0 - bne _0812574C - adds r2, r4, 0 - adds r2, 0x80 - mov r0, sp - adds r1, r4, 0 - str r3, [sp, 0x4] - bl sub_8125F38 - strh r0, [r4] - ldr r3, [sp, 0x4] - strh r0, [r3] -_0812574C: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, 0x80 - cmp r6, 0x3E - bls _0812572C - mov r0, r9 - strh r0, [r4] - mov r1, r10 - ldr r0, [r1] - adds r4, r0, r5 - ldrh r0, [r4] - strh r0, [r3] - mov r2, r9 - strh r2, [r4] - movs r6, 0x1 - adds r4, 0x80 - movs r0, 0x80 - lsls r0, 8 - mov r8, r0 -_08125774: - ldrh r0, [r4] - mov r1, r8 - ands r0, r1 - adds r5, r4, 0 - adds r5, 0x80 - cmp r0, 0 - bne _08125794 - mov r0, sp - adds r1, r4, 0 - adds r2, r5, 0 - str r3, [sp, 0x4] - bl sub_8125F38 - strh r0, [r4] - ldr r3, [sp, 0x4] - strh r0, [r3] -_08125794: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - adds r4, r5, 0 - cmp r6, 0x3E - bls _08125774 - mov r2, r9 - strh r2, [r4] - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - cmp r7, 0x3F - bls _08125716 - ldr r0, =gUnknown_03006168 - ldr r4, [r0] - movs r6, 0 - movs r0, 0x80 - lsls r0, 8 - mov r8, r0 -_081257BA: - movs r7, 0 - adds r5, r6, 0x1 -_081257BE: - ldrh r0, [r4] - mov r1, r8 - ands r0, r1 - cmp r0, 0 - bne _081257D0 - adds r0, r4, 0 - bl sub_8125CC8 - strh r0, [r4] -_081257D0: - adds r0, r7, 0x1 - lsls r0, 24 - lsrs r7, r0, 24 - adds r4, 0x2 - cmp r7, 0x3F - bls _081257BE - lsls r0, r5, 24 - lsrs r6, r0, 24 - cmp r6, 0x3F - bls _081257BA - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81256C8 - - thumb_func_start sub_81257F8 -sub_81257F8: @ 81257F8 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x4 - movs r2, 0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcs _0812587A - ldr r0, =gUnknown_03006168 - mov r8, r0 -_0812580E: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - adds r1, r2 - ldr r0, =gUnknown_03006180 - ldrb r0, [r0] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - adds r4, 0x2 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - subs r0, 0x1 - adds r6, r2, 0x1 - cmp r5, r0 - bge _0812586E - movs r0, 0x80 - lsls r0, 8 - adds r7, r0, 0 -_08125846: - ldrh r0, [r4] - ands r0, r7 - cmp r0, 0 - bne _0812585C - mov r0, sp - adds r1, r4, 0 - bl sub_8125CF4 - strh r0, [r4] - mov r1, sp - strh r0, [r1] -_0812585C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - adds r4, 0x2 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _08125846 -_0812586E: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - cmp r2, r0 - bcc _0812580E -_0812587A: - add sp, 0x4 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81257F8 - - thumb_func_start sub_81258A0 -sub_81258A0: @ 81258A0 - push {r4-r7,lr} - mov r7, r8 - push {r7} - sub sp, 0x8 - movs r2, 0 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r2, r0 - bcs _0812592E - ldr r0, =gUnknown_03006168 - mov r8, r0 - ldr r7, =gUnknown_03006180 -_081258B8: - ldr r0, =gUnknown_03006178 - ldrb r1, [r0] - ldrb r0, [r7] - muls r0, r1 - lsls r0, 1 - mov r3, r8 - ldr r1, [r3] - adds r1, r0 - ldr r0, =gUnknown_03006164 - ldrb r0, [r0] - adds r0, r2 - lsls r0, 1 - adds r4, r1, r0 - ldrh r1, [r4] - mov r0, sp - strh r1, [r0] - movs r5, 0x1 - ldrb r0, [r7] - lsls r0, 1 - adds r4, r0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - subs r0, 0x1 - adds r6, r2, 0x1 - cmp r5, r0 - bge _08125922 - movs r0, 0x80 - lsls r0, 8 - adds r2, r0, 0 -_081258F2: - ldrh r0, [r4] - ands r0, r2 - cmp r0, 0 - bne _0812590C - mov r0, sp - adds r1, r4, 0 - str r2, [sp, 0x4] - bl sub_8125CF4 - strh r0, [r4] - mov r1, sp - strh r0, [r1] - ldr r2, [sp, 0x4] -_0812590C: - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - ldrb r0, [r7] - lsls r0, 1 - adds r4, r0 - ldr r0, =gUnknown_0300616C - ldrb r0, [r0] - subs r0, 0x1 - cmp r5, r0 - blt _081258F2 -_08125922: - lsls r0, r6, 24 - lsrs r2, r0, 24 - ldr r0, =gUnknown_03006174 - ldrb r0, [r0] - cmp r2, r0 - bcc _081258B8 -_0812592E: - add sp, 0x8 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_81258A0 - - thumb_func_start sub_8125954 -sub_8125954: @ 8125954 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x20 - lsls r0, 16 - lsrs r0, 16 - mov r10, r0 - mov r2, sp - ldr r3, =gUnknown_085A1F94 - lsls r1, r0, 1 - add r1, r10 - adds r0, r1, r3 - ldrb r0, [r0] - strb r0, [r2] - adds r0, r3, 0x1 - adds r0, r1, r0 - ldrb r0, [r0] - strb r0, [r2, 0x1] - mov r5, sp - adds r0, r3, 0x2 - adds r1, r0 - ldrb r4, [r1] - lsls r2, r4, 24 - lsrs r1, r2, 27 - movs r0, 0x7 - ands r1, r0 - strh r1, [r5, 0x2] - lsrs r2, 25 - mov r9, r2 - movs r0, 0x3 - ands r2, r0 - mov r9, r2 - movs r5, 0x1 - ands r5, r4 - movs r4, 0x1 - mov r8, r4 - cmp r8, r1 - bcs _08125A06 - mov r3, sp -_081259A6: - cmp r5, 0 - bne _081259C4 - mov r0, r8 - lsls r2, r0, 2 - mov r4, sp - adds r1, r4, r2 - ldrb r0, [r3] - mov r4, r8 - subs r0, r4 - strb r0, [r1] - ldrb r0, [r3, 0x1] - add r0, r8 - b _081259D6 - .pool -_081259C4: - mov r0, r8 - lsls r2, r0, 2 - mov r4, sp - adds r1, r4, r2 - ldrb r0, [r3] - adds r0, 0x1 - strb r0, [r1] - ldrb r0, [r3, 0x1] - subs r0, 0x1 -_081259D6: - strb r0, [r1, 0x1] - add r2, sp - ldrb r0, [r2] - cmp r0, 0x3F - bhi _081259E6 - ldrb r0, [r2, 0x1] - cmp r0, 0x3F - bls _081259EE -_081259E6: - mov r0, r8 - subs r0, 0x1 - strh r0, [r3, 0x2] - b _08125A06 -_081259EE: - ldrh r0, [r3, 0x2] - mov r1, r8 - subs r0, r1 - strh r0, [r2, 0x2] - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - ldrh r0, [r3, 0x2] - cmp r8, r0 - bcc _081259A6 -_08125A06: - movs r2, 0 - mov r8, r2 - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r8, r0 - bcc _08125A14 - b _08125B16 -_08125A14: - movs r3, 0x1F -_08125A16: - ldr r1, =gUnknown_03006168 - mov r4, r8 - lsls r0, r4, 2 - mov r2, sp - adds r6, r2, r0 - ldrb r0, [r6, 0x1] - lsls r0, 7 - ldr r1, [r1] - adds r1, r0 - ldrb r0, [r6] - lsls r0, 1 - adds r2, r1, r0 - ldrh r1, [r2] - movs r4, 0x80 - lsls r4, 8 - adds r0, r4, 0 - ands r0, r1 - cmp r0, 0 - bne _08125B02 - movs r7, 0x1F - ands r7, r1 - lsls r0, r1, 16 - lsrs r5, r0, 21 - ands r5, r3 - lsrs r4, r0, 26 - ands r4, r3 - mov r0, r9 - cmp r0, 0 - blt _08125AF8 - cmp r0, 0x1 - ble _08125A78 - cmp r0, 0x3 - bgt _08125AF8 - ldrh r0, [r6, 0x2] - adds r1, r7, r0 - lsls r1, 16 - lsrs r7, r1, 16 - adds r1, r5, r0 - lsls r1, 16 - lsrs r5, r1, 16 - adds r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - cmp r7, 0x1F - bls _08125AEC - movs r7, 0x1F - b _08125AEC - .pool -_08125A78: - mov r1, r10 - lsls r0, r1, 1 - add r0, r10 - ldr r1, =gUnknown_085A1F94 - adds r1, 0x2 - adds r0, r1 - ldrb r0, [r0] - lsrs r0, 3 - movs r1, 0x7 - ands r0, r1 - movs r1, 0x3 - str r2, [sp, 0x18] - str r3, [sp, 0x1C] - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - ldr r2, [sp, 0x18] - ldr r3, [sp, 0x1C] - cmp r0, 0x1 - beq _08125AC8 - cmp r0, 0x1 - bgt _08125AB0 - cmp r0, 0 - beq _08125AB6 - b _08125AF8 - .pool -_08125AB0: - cmp r0, 0x2 - beq _08125ADA - b _08125AF8 -_08125AB6: - ldrh r0, [r6, 0x2] - cmp r7, r0 - bcc _08125AC4 - subs r0, r7, r0 - lsls r0, 16 - lsrs r7, r0, 16 - b _08125AF8 -_08125AC4: - movs r7, 0 - b _08125AF8 -_08125AC8: - ldrh r0, [r6, 0x2] - cmp r5, r0 - bcc _08125AD6 - subs r0, r5, r0 - lsls r0, 16 - lsrs r5, r0, 16 - b _08125AF8 -_08125AD6: - movs r5, 0 - b _08125AF8 -_08125ADA: - ldrh r0, [r6, 0x2] - cmp r4, r0 - bcc _08125AE8 - subs r0, r4, r0 - lsls r0, 16 - lsrs r4, r0, 16 - b _08125AF8 -_08125AE8: - movs r4, 0 - b _08125AF8 -_08125AEC: - cmp r5, 0x1F - bls _08125AF2 - movs r5, 0x1F -_08125AF2: - cmp r4, 0x1F - bls _08125AF8 - movs r4, 0x1F -_08125AF8: - lsls r0, r4, 10 - lsls r1, r5, 5 - orrs r0, r1 - orrs r7, r0 - strh r7, [r2] -_08125B02: - mov r0, r8 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r8, r0 - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r8, r0 - bcs _08125B16 - b _08125A16 -_08125B16: - add sp, 0x20 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_8125954 - - thumb_func_start sub_8125B28 -sub_8125B28: @ 8125B28 - ldrh r2, [r0] - movs r0, 0x1F - adds r1, r2, 0 - ands r1, r0 - asrs r3, r2, 5 - ands r3, r0 - asrs r2, 10 - ands r2, r0 - movs r0, 0x4C - muls r1, r0 - movs r0, 0x97 - muls r0, r3 - adds r1, r0 - lsls r0, r2, 3 - subs r0, r2 - lsls r0, 2 - adds r0, r2 - adds r1, r0 - asrs r1, 8 - lsls r0, r1, 10 - lsls r2, r1, 5 - orrs r0, r2 - orrs r0, r1 - lsls r0, 16 - lsrs r0, 16 - bx lr - thumb_func_end sub_8125B28 - - thumb_func_start sub_8125B5C -sub_8125B5C: @ 8125B5C - push {r4,lr} - lsls r1, 24 - lsrs r4, r1, 24 - ldrh r0, [r0] - movs r2, 0x1F - movs r1, 0x1F - ands r1, r0 - lsls r0, 16 - lsrs r3, r0, 21 - ands r3, r2 - lsrs r0, 26 - ands r0, r2 - cmp r1, 0x10 - bhi _08125B8C - cmp r3, 0x10 - bhi _08125B8C - cmp r0, 0x10 - bhi _08125B8C - adds r0, r4, 0 - bl sub_8125B98 - lsls r0, 16 - lsrs r0, 16 - b _08125B8E -_08125B8C: - ldr r0, =0x00007fff -_08125B8E: - pop {r4} - pop {r1} - bx r1 - .pool - thumb_func_end sub_8125B5C - - thumb_func_start sub_8125B98 -sub_8125B98: @ 8125B98 - push {r4-r7,lr} - mov r7, r8 - push {r7} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0 - mov r8, r0 - movs r6, 0 - movs r7, 0 - adds r0, r4, 0 - movs r1, 0x6 - bl __udivsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x3 - bl __umodsi3 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0 - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x5 - bhi _08125C50 - lsls r0, 2 - ldr r1, =_08125BE0 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_08125BE0: - .4byte _08125BF8 - .4byte _08125C08 - .4byte _08125C18 - .4byte _08125C26 - .4byte _08125C34 - .4byte _08125C42 -_08125BF8: - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r6, r0, 16 - adds r7, r6, 0 - movs r1, 0 - mov r8, r1 - b _08125C50 -_08125C08: - movs r7, 0 - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - mov r6, r8 - b _08125C50 -_08125C18: - movs r0, 0x15 - subs r0, r5 - lsls r0, 16 - lsrs r7, r0, 16 - movs r6, 0 - mov r8, r7 - b _08125C50 -_08125C26: - movs r7, 0 - movs r6, 0 - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r0, 16 - b _08125C4E -_08125C34: - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r7, r0, 16 - movs r6, 0 - mov r8, r6 - b _08125C50 -_08125C42: - movs r7, 0 - movs r0, 0x17 - subs r0, r5 - lsls r0, 16 - lsrs r6, r0, 16 - movs r0, 0 -_08125C4E: - mov r8, r0 -_08125C50: - lsls r0, r7, 10 - lsls r1, r6, 5 - orrs r0, r1 - mov r1, r8 - orrs r1, r0 - lsls r0, r1, 16 - lsrs r0, 16 - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8125B98 - - thumb_func_start sub_8125C68 -sub_8125C68: @ 8125C68 - push {lr} - ldrh r0, [r0] - movs r2, 0x1F - movs r1, 0x1F - ands r1, r0 - lsls r0, 16 - lsrs r3, r0, 21 - ands r3, r2 - lsrs r0, 26 - ands r0, r2 - cmp r1, 0x10 - bhi _08125C8C - cmp r3, 0x10 - bhi _08125C8C - cmp r0, 0x10 - bhi _08125C8C - movs r0, 0 - b _08125C8E -_08125C8C: - ldr r0, =0x00007fff -_08125C8E: - pop {r1} - bx r1 - .pool - thumb_func_end sub_8125C68 - - thumb_func_start sub_8125C98 -sub_8125C98: @ 8125C98 - push {r4,lr} - adds r4, r0, 0 - ldrh r3, [r4] - cmp r3, 0 - beq _08125CC0 - movs r2, 0x80 - lsls r2, 8 - adds r0, r2, 0 - ands r0, r3 - cmp r0, 0 - beq _08125CB2 - adds r0, r2, 0 - b _08125CC2 -_08125CB2: - ldrh r1, [r1] - adds r0, r2, 0 - ands r0, r1 - cmp r0, 0 - bne _08125CC0 - ldrh r0, [r4] - b _08125CC2 -_08125CC0: - movs r0, 0 -_08125CC2: - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8125C98 - - thumb_func_start sub_8125CC8 -sub_8125CC8: @ 8125CC8 - push {r4,lr} - ldrh r1, [r0] - movs r0, 0x1F - movs r3, 0x1F - ands r3, r1 - lsls r1, 16 - lsrs r2, r1, 21 - lsrs r1, 26 - subs r3, r0, r3 - adds r4, r0, 0 - bics r4, r2 - adds r2, r4, 0 - bics r0, r1 - lsls r0, 10 - lsls r2, 5 - orrs r0, r2 - orrs r0, r3 - lsls r0, 16 - lsrs r0, 16 - pop {r4} - pop {r1} - bx r1 - thumb_func_end sub_8125CC8 thumb_func_start sub_8125CF4 sub_8125CF4: @ 8125CF4 @@ -2793,7 +1071,7 @@ _0812653C: .pool _0812656C: adds r0, r4, 0 - bl sub_8125C68 + bl ConvertToBlackOrWhite lsls r0, 16 cmp r0, 0 bne _0812657E diff --git a/src/contest_painting_effects.c b/src/contest_painting_effects.c new file mode 100644 index 0000000000..46bc375db0 --- /dev/null +++ b/src/contest_painting_effects.c @@ -0,0 +1,602 @@ +#include "global.h" +#include "contest_painting_effects.h" +#include "contest_painting.h" +#include "constants/rgb.h" + +extern u8 gUnknown_03006164; +extern u16 (*gUnknown_03006168)[][32]; +extern u8 gUnknown_0300616C; +extern u8 gUnknown_03006170; +extern u8 gUnknown_03006174; +extern u8 gUnknown_03006178; +extern u8 gUnknown_0300617C; +extern u8 gUnknown_03006180; + +// this file's functions +void sub_8125230(void); +void sub_81252E8(void); +void sub_81254E0(void); +void sub_8125630(void); +void sub_8125448(void); +void sub_81257F8(void); +void sub_81258A0(void); +void sub_81256C8(void); +void sub_8125250(void); +void sub_81253A4(u8); +void sub_81250B8(u8); +void sub_8125170(u8); +void sub_8125954(u16); +u16 ConvertColorToGrayscale(u16*); +u16 sub_8125E18(u16*, u16*, u16*); +u16 ConvertCoolColor(u16*, u8); +u16 ConvertToBlackOrWhite(u16*); +u16 sub_8125C98(u16*, u16*); +u16 InvertColor(u16*); +u16 sub_8125F38(u16*, u16*, u16*); +u16 sub_8125CF4(u16*, u16*); +u16 GetCoolColorFromPersonality(u8); + +void sub_8124F2C(struct Unk03005E20 *info) +{ + gUnknown_03006168 = info->var_4; + gUnknown_0300617C = info->var_1F; + gUnknown_03006164 = info->var_19; + gUnknown_03006178 = info->var_1A; + gUnknown_03006174 = info->var_1B; + gUnknown_0300616C = info->var_1C; + gUnknown_03006180 = info->var_1D; + gUnknown_03006170 = info->var_1E; + switch (info->var_0) + { + case 2: + sub_8125230(); + break; + case 8: + sub_81252E8(); + break; + case 9: + sub_81254E0(); + sub_81253A4(gUnknown_0300617C); + break; + case 10: + sub_81254E0(); + sub_8125630(); + sub_8125448(); + case 31: + sub_8125630(); + break; + case 11: + sub_81254E0(); + sub_81257F8(); + sub_81257F8(); + sub_81258A0(); + sub_8125448(); + break; + case 13: + sub_81256C8(); + break; + case 30: + sub_81254E0(); + break; + case 32: + sub_81257F8(); + break; + case 33: + sub_81258A0(); + break; + case 6: + sub_8125250(); + sub_81250B8(3); + break; + case 36: + sub_81254E0(); + sub_81257F8(); + sub_81258A0(); + sub_8125448(); + sub_81252E8(); + sub_81252E8(); + sub_81250B8(2); + sub_8125170(4); + break; + } +} + +void sub_81250B8(u8 a0) // it changes palette someway somehow... .__. +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* pal = &var2[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, pal++) + { + if (!(0x8000 & *pal)) + { + u8 val = (31 & *pal); + val += a0; + if (val > 31) + val = 31; + + *pal = RGB2(val, val, val); + } + } + } +} + +void sub_8125170(u8 a0) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* pal = &var2[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, pal++) + { + if (!(0x8000 & *pal)) + { + u8 val = (31 & *pal); + if (val > 31 - a0) + val = 31 - (a0 >> 1); + + *pal = RGB2(val, val, val); + } + } + } +} + +void sub_8125230(void) +{ + u32 i; + for (i = 0; i < 3200; i++) + sub_8125954(i); +} + +void sub_8125250(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var2 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* color = &var2[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, color++) + { + if (!(0x8000 & *color)) + { + *color = ConvertColorToGrayscale(color); + } + } + } +} + +void sub_81252E8(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_03006174; i++) + { + u16* var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180]; + u16* palette = &var0[gUnknown_03006164 + i]; + u16 color = *palette; + + j = 1; + palette += gUnknown_03006180; + while (j < gUnknown_0300616C - 1) + { + if (!(0x8000 & *palette)) + { + *palette = sub_8125E18(&color, palette, palette + gUnknown_03006180); + color = *palette; + } + + j++; + palette += gUnknown_03006180; + } + } +} + +void sub_81253A4(u8 arg0) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* color = &var0[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, color++) + { + if (!(0x8000 & *color)) + { + *color = ConvertCoolColor(color, arg0); + } + } + } +} + +void sub_8125448(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16* var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16* color = &var0[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, color++) + { + if (!(0x8000 & *color)) + { + *color = ConvertToBlackOrWhite(color); + } + } + } +} + +void sub_81254E0(void) +{ + u8 i, j; + u16 *palette; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + palette = &var0[gUnknown_03006164]; + *palette = sub_8125C98(palette, palette + 1); + for (j = 1, palette = palette + 1; j < gUnknown_03006174 - 1; j++, palette++) + { + *palette = sub_8125C98(palette, palette + 1); + *palette = sub_8125C98(palette, palette - 1); + } + + *palette = sub_8125C98(palette, palette - 1); + } + + for (j = 0; j < gUnknown_03006174; j++) + { + u16 *var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180]; + palette = &var0[gUnknown_03006164 + j]; + *palette = sub_8125C98(palette, palette + gUnknown_03006180); + for (i = 1, palette = palette + gUnknown_03006180; i < gUnknown_0300616C - 1; i++, palette += gUnknown_03006180) + { + *palette = sub_8125C98(palette, palette + gUnknown_03006180); + *palette = sub_8125C98(palette, palette - gUnknown_03006180); + } + + *palette = sub_8125C98(palette, palette - gUnknown_03006180); + } +} + +void sub_8125630(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16 *color = &var0[gUnknown_03006164]; + for (j = 0; j < gUnknown_03006174; j++, color++) + { + if (!(0x8000 & *color)) + { + *color = InvertColor(color); + } + } + } +} + +void sub_81256C8(void) +{ + u8 i, j; + u16 *palette; + u16 color; + + palette = (*gUnknown_03006168)[0]; + for (i = 0; i < 64; i++) + { + for (j = 0; j < 64; j++, palette++) + { + if (!(0x8000 & *palette)) + { + *palette = InvertColor(palette); + } + } + } + + for (j = 0; j < 64; j++) + { + palette = &(*gUnknown_03006168)[0][j]; + color = *palette; + *palette = 0x8000; + for (i = 1, palette += 64; i < 63; i++, palette += 64) + { + if (!(0x8000 & *palette)) + { + *palette = sub_8125F38(&color, palette, palette + 64); + color = *palette; + } + } + + *palette = 0x8000; + palette = &(*gUnknown_03006168)[0][j]; + color = *palette; + *palette = 0x8000; + for (i = 1, palette += 64; i < 63; i++, palette += 64) + { + if (!(0x8000 & *palette)) + { + *palette = sub_8125F38(&color, palette, palette + 64); + color = *palette; + } + } + + *palette = 0x8000; + } + + palette = (*gUnknown_03006168)[0]; + for (i = 0; i < 64; i++) + { + for (j = 0; j < 64; j++, palette++) + { + if (!(0x8000 & *palette)) + { + *palette = InvertColor(palette); + } + } + } +} + +void sub_81257F8(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_0300616C; i++) + { + u16 *var0 = &(*gUnknown_03006168)[0][(gUnknown_03006178 + i) * gUnknown_03006180]; + u16 *palette = &var0[gUnknown_03006164]; + u16 color = *palette; + for (j = 1, palette++; j < gUnknown_03006174 - 1; j++, palette++) + { + if (!(0x8000 & *palette)) + { + *palette = sub_8125CF4(&color, palette); + color = *palette; + } + } + } +} + +void sub_81258A0(void) +{ + u8 i, j; + + for (i = 0; i < gUnknown_03006174; i++) + { + u16* var0 = &(*gUnknown_03006168)[0][gUnknown_03006178 * gUnknown_03006180]; + u16* palette = &var0[gUnknown_03006164 + i]; + u16 color = *palette; + for (j = 1, palette += gUnknown_03006180; j < gUnknown_0300616C - 1; j++, palette += gUnknown_03006180) + { + if (!(0x8000 & *palette)) + { + *palette = sub_8125CF4(&color, palette); + color = *palette; + } + } + } +} + +struct Unk8125954 +{ + u8 unk0; + u8 unk1; + u16 unk2; +}; + +extern const u8 gUnknown_085A1F94[][3]; + +void sub_8125954(u16 arg0) +{ + u8 i; + u8 r5, r9; + struct Unk8125954 unkStruct[6]; + + unkStruct[0].unk0 = gUnknown_085A1F94[arg0][0]; + unkStruct[0].unk1 = gUnknown_085A1F94[arg0][1]; + unkStruct[0].unk2 = (gUnknown_085A1F94[arg0][2] >> 3) & 7; + + r9 = (gUnknown_085A1F94[arg0][2] >> 1) & 3; + r5 = gUnknown_085A1F94[arg0][2] & 1; + for (i = 1; i < unkStruct[0].unk2; i++) + { + if (!r5) + { + unkStruct[i].unk0 = unkStruct[0].unk0 - i; + unkStruct[i].unk1 = unkStruct[0].unk1 + i; + } + else + { + unkStruct[i].unk0 = unkStruct[0].unk0 + 1; + unkStruct[i].unk1 = unkStruct[0].unk1 - 1; + } + + if (unkStruct[i].unk0 > 63 || unkStruct[i].unk1 > 63) + { + unkStruct[0].unk2 = i - 1; + break; + } + + unkStruct[i].unk2 = unkStruct[0].unk2 - i; + } + + for (i = 0; i < unkStruct[0].unk2; i++) + { + u16 *pal = &(*gUnknown_03006168)[unkStruct[i].unk1 * 2][unkStruct[i].unk0]; + + if (!(0x8000 & *pal)) + { + u16 r = (*pal) & 0x1F; + u16 g = (*pal >> 5) & 0x1F; + u16 b = (*pal >> 10) & 0x1F; + + switch (r9) + { + case 0: + case 1: + switch (((gUnknown_085A1F94[arg0][2] >> 3) & 7) % 3) + { + case 0: + if (r >= unkStruct[i].unk2) + r -= unkStruct[i].unk2; + else + r = 0; + break; + case 1: + if (g >= unkStruct[i].unk2) + g -= unkStruct[i].unk2; + else + g = 0; + break; + case 2: + if (b >= unkStruct[i].unk2) + b -= unkStruct[i].unk2; + else + b = 0; + break; + } + break; + case 2: + case 3: + r += unkStruct[i].unk2; + g += unkStruct[i].unk2; + b += unkStruct[i].unk2; + if (r > 31) + r = 31; + if (g > 31) + g = 31; + if (b > 31) + b = 31; + break; + } + + *pal = RGB2(r, g, b); + } + } +} + +u16 ConvertColorToGrayscale(u16 *color) +{ + s32 clr = *color; + s32 r = clr & 0x1F; + s32 g = (clr >> 5) & 0x1F; + s32 b = (clr >> 10) & 0x1F; + s32 gray = (r * Q_8_8(0.3) + g * Q_8_8(0.59) + b * Q_8_8(0.1133)) >> 8; + return RGB2(gray, gray, gray); +} + +// The dark colors are the colored edges of the Cool painting effect. +// Everything else is white. +u16 ConvertCoolColor(u16 *color, u8 personality) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + + if (red < 17 && green < 17 && blue < 17) + return GetCoolColorFromPersonality(personality); + else + return RGB_WHITE; +} + +// Based on the given value, which comes from the first 8 bits of +// the mon's personality value, return a color. +u16 GetCoolColorFromPersonality(u8 personality) +{ + u16 red = 0; + u16 green = 0; + u16 blue = 0; + u8 strength = (personality / 6) % 3; + u8 colorType = personality % 6; + + switch (colorType) + { + case 0: + // Teal color + green = 21 - strength; + blue = green; + red = 0; + break; + case 1: + // Yellow color + blue = 0; + red = 21 - strength; + green = red; + break; + case 2: + // Purple color + blue = 21 - strength; + green = 0; + red = blue; + break; + case 3: + // Red color + blue = 0; + green = 0; + red = 23 - strength; + break; + case 4: + // Blue color + blue = 23 - strength; + green = 0; + red = 0; + break; + case 5: + // Green color + blue = 0; + green = 23 - strength; + red = 0; + break; + } + + return RGB2(red, green, blue); +} + +u16 ConvertToBlackOrWhite(u16 *color) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + + if (red < 17 && green < 17 && blue < 17) + return RGB_BLACK; + else + return RGB_WHITE; +} + +u16 sub_8125C98(u16 *colorA, u16 *colorB) +{ + if (*colorA) + { + if (*colorA & 0x8000) + return 0x8000; + if (*colorB & 0x8000) + return RGB_BLACK; + + return *colorA; + } + + return RGB_BLACK; +} + +u16 InvertColor(u16 *color) +{ + u16 red = *color & 0x1F; + u16 green = (*color >> 5) & 0x1F; + u16 blue = (*color >> 10) & 0x1F; + + red = 31 - red; + green = 31 - green; + blue = 31 - blue; + + return RGB2(red, green, blue); +} From 55e44b0951395c4d351738f825c6dd67281e6cb3 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 29 Dec 2018 12:10:06 +0100 Subject: [PATCH 36/53] a bit more of contest painting effect --- asm/contest_painting_effects.s | 457 ----------------------------- include/constants/rgb.h | 3 +- include/contest_painting_effects.h | 8 +- ld_script.txt | 1 + src/contest_painting_effects.c | 169 +++++++++++ 5 files changed, 176 insertions(+), 462 deletions(-) diff --git a/asm/contest_painting_effects.s b/asm/contest_painting_effects.s index f9f2b96fc2..801e840b9a 100644 --- a/asm/contest_painting_effects.s +++ b/asm/contest_painting_effects.s @@ -6,465 +6,8 @@ .text - thumb_func_start sub_8125CF4 -sub_8125CF4: @ 8125CF4 - push {r4-r7,lr} - sub sp, 0x14 - adds r7, r1, 0 - ldrh r4, [r0] - ldrh r5, [r7] - lsls r6, r4, 16 - lsls r0, r5, 16 - mov r12, r0 - cmp r4, r5 - beq _08125D66 - mov r2, sp - movs r3, 0x1F - movs r1, 0x1F - adds r0, r1, 0 - ands r0, r4 - strh r0, [r2] - lsrs r0, r6, 21 - ands r0, r3 - strh r0, [r2, 0x2] - lsrs r0, r6, 26 - ands r0, r3 - strh r0, [r2, 0x4] - mov r0, sp - ands r1, r5 - strh r1, [r0, 0x6] - mov r1, sp - mov r2, r12 - lsrs r0, r2, 21 - ands r0, r3 - strh r0, [r1, 0x8] - lsrs r0, r2, 26 - ands r0, r3 - strh r0, [r1, 0xA] - mov r0, sp - ldrh r0, [r0] - cmp r0, 0x19 - bls _08125D4E - mov r0, sp - ldrh r0, [r0, 0x2] - cmp r0, 0x19 - bls _08125D4E - mov r0, sp - ldrh r0, [r0, 0x4] - cmp r0, 0x19 - bhi _08125D66 -_08125D4E: - mov r0, sp - ldrh r0, [r0, 0x6] - cmp r0, 0x19 - bls _08125D6A - mov r0, sp - ldrh r0, [r0, 0x8] - cmp r0, 0x19 - bls _08125D6A - mov r0, sp - ldrh r0, [r0, 0xA] - cmp r0, 0x19 - bls _08125D6A -_08125D66: - ldrh r0, [r7] - b _08125E10 -_08125D6A: - movs r4, 0 - add r6, sp, 0xC - mov r7, sp - adds r7, 0x6 - adds r5, r6, 0 -_08125D74: - lsls r2, r4, 1 - mov r1, sp - adds r0, r1, r2 - adds r1, r7, r2 - ldrh r3, [r0] - ldrh r0, [r1] - cmp r3, r0 - bls _08125D8A - adds r1, r5, r2 - subs r0, r3, r0 - b _08125D8E -_08125D8A: - adds r1, r5, r2 - subs r0, r3 -_08125D8E: - strh r0, [r1] - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x2 - bls _08125D74 - adds r1, r6, 0 - ldrh r0, [r1, 0x2] - ldrh r3, [r1] - cmp r3, r0 - bcc _08125DB4 - ldrh r2, [r1, 0x4] - cmp r3, r2 - bcc _08125DAE - adds r2, r3, 0 - b _08125DC8 -_08125DAE: - cmp r0, r2 - bcs _08125DBA - b _08125DC2 -_08125DB4: - ldrh r2, [r1, 0x4] - cmp r0, r2 - bcc _08125DBE -_08125DBA: - ldrh r2, [r1, 0x2] - b _08125DC8 -_08125DBE: - cmp r2, r3 - bcc _08125DC6 -_08125DC2: - ldrh r2, [r1, 0x4] - b _08125DC8 -_08125DC6: - ldrh r2, [r6] -_08125DC8: - mov r0, sp - ldrh r1, [r0, 0x6] - lsrs r0, r2, 1 - movs r6, 0x1F - subs r6, r0 - adds r0, r1, 0 - muls r0, r6 - movs r1, 0x1F - bl __divsi3 - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - mov r0, sp - ldrh r0, [r0, 0x8] - muls r0, r6 - movs r1, 0x1F - bl __divsi3 - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - mov r0, sp - ldrh r0, [r0, 0xA] - muls r0, r6 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 6 - lsls r4, 5 - orrs r0, r4 - orrs r5, r0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r5, 0 -_08125E10: - add sp, 0x14 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8125CF4 - thumb_func_start sub_8125E18 -sub_8125E18: @ 8125E18 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r3, r0, 0 - mov r10, r1 - str r2, [sp] - ldrh r1, [r3] - mov r0, r10 - ldrh r0, [r0] - cmp r1, r0 - bne _08125E40 - ldrh r0, [r2] - cmp r0, r1 - bne _08125E40 - mov r1, r10 - ldrh r0, [r1] - b _08125F28 -_08125E40: - mov r2, r10 - ldrh r0, [r2] - movs r1, 0x1F - mov r9, r1 - movs r4, 0x1F - adds r5, r4, 0 - ands r5, r0 - lsls r0, 16 - lsrs r2, r0, 21 - mov r1, r9 - ands r1, r2 - mov r8, r1 - lsrs r0, 26 - mov r2, r9 - ands r2, r0 - str r2, [sp, 0x4] - ldrh r2, [r3] - adds r0, r4, 0 - ands r0, r2 - lsls r2, 16 - lsrs r1, r2, 21 - mov r3, r9 - ands r1, r3 - adds r0, r1 - lsrs r2, 26 - ands r2, r3 - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - mov r1, r8 - adds r0, r5, r1 - ldr r2, [sp, 0x4] - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, [sp] - ldrh r1, [r3] - ands r4, r1 - lsls r1, 16 - lsrs r0, r1, 21 - mov r2, r9 - ands r0, r2 - adds r4, r0 - lsrs r1, 26 - ands r1, r2 - adds r4, r1 - adds r0, r4, 0 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r7, r6 - bne _08125EC2 - cmp r1, r6 - bne _08125EC2 - mov r3, r10 - ldrh r0, [r3] - b _08125F28 -_08125EC2: - cmp r7, r6 - bls _08125ECA - subs r0, r7, r6 - b _08125ECC -_08125ECA: - subs r0, r6, r7 -_08125ECC: - lsls r0, 16 - lsrs r2, r0, 16 - cmp r1, r6 - bls _08125ED8 - subs r0, r1, r6 - b _08125EDA -_08125ED8: - subs r0, r6, r1 -_08125EDA: - lsls r0, 16 - lsrs r0, 16 - cmp r2, r0 - bcc _08125EE4 - adds r0, r2, 0 -_08125EE4: - lsrs r0, 1 - movs r4, 0x1F - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, r8 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, [sp, 0x4] - adds r0, r1, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 6 - mov r2, r8 - lsls r1, r2, 5 - orrs r0, r1 - orrs r5, r0 - lsls r0, r5, 16 - lsrs r0, 16 -_08125F28: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8125E18 - thumb_func_start sub_8125F38 -sub_8125F38: @ 8125F38 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - adds r3, r0, 0 - mov r10, r1 - str r2, [sp] - ldrh r1, [r3] - mov r0, r10 - ldrh r0, [r0] - cmp r1, r0 - bne _08125F60 - ldrh r0, [r2] - cmp r0, r1 - bne _08125F60 - mov r1, r10 - ldrh r0, [r1] - b _08126046 -_08125F60: - mov r2, r10 - ldrh r0, [r2] - movs r1, 0x1F - mov r9, r1 - movs r4, 0x1F - adds r5, r4, 0 - ands r5, r0 - lsls r0, 16 - lsrs r2, r0, 21 - mov r1, r9 - ands r1, r2 - mov r8, r1 - lsrs r0, 26 - mov r2, r9 - ands r2, r0 - str r2, [sp, 0x4] - ldrh r2, [r3] - adds r0, r4, 0 - ands r0, r2 - lsls r2, 16 - lsrs r1, r2, 21 - mov r3, r9 - ands r1, r3 - adds r0, r1 - lsrs r2, 26 - ands r2, r3 - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r7, r0, 16 - mov r1, r8 - adds r0, r5, r1 - ldr r2, [sp, 0x4] - adds r0, r2 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r6, r0, 16 - ldr r3, [sp] - ldrh r1, [r3] - ands r4, r1 - lsls r1, 16 - lsrs r0, r1, 21 - mov r2, r9 - ands r0, r2 - adds r4, r0 - lsrs r1, 26 - ands r1, r2 - adds r4, r1 - adds r0, r4, 0 - movs r1, 0x3 - bl __divsi3 - lsls r0, 16 - lsrs r1, r0, 16 - cmp r7, r6 - bne _08125FE2 - cmp r1, r6 - bne _08125FE2 - mov r3, r10 - ldrh r0, [r3] - b _08126046 -_08125FE2: - cmp r7, r6 - bls _08125FEA - subs r0, r7, r6 - b _08125FEC -_08125FEA: - subs r0, r6, r7 -_08125FEC: - lsls r0, 16 - lsrs r2, r0, 16 - cmp r1, r6 - bls _08125FF8 - subs r0, r1, r6 - b _08125FFA -_08125FF8: - subs r0, r6, r1 -_08125FFA: - lsls r0, 16 - lsrs r0, 16 - cmp r2, r0 - bcc _08126004 - adds r0, r2, 0 -_08126004: - movs r4, 0x1F - subs r4, r0 - lsls r4, 16 - lsrs r4, 16 - adds r0, r5, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, r8 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 16 - mov r8, r0 - ldr r1, [sp, 0x4] - adds r0, r1, 0 - muls r0, r4 - movs r1, 0x1F - bl __divsi3 - lsls r0, 16 - lsrs r0, 6 - mov r2, r8 - lsls r1, r2, 5 - orrs r0, r1 - orrs r5, r0 - lsls r0, r5, 16 - lsrs r0, 16 -_08126046: - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r1} - bx r1 - thumb_func_end sub_8125F38 thumb_func_start sub_8126058 sub_8126058: @ 8126058 diff --git a/include/constants/rgb.h b/include/constants/rgb.h index fd9c5c5a73..80d951f4bd 100644 --- a/include/constants/rgb.h +++ b/include/constants/rgb.h @@ -2,6 +2,7 @@ #define GUARD_RGB_H #define RGB(r, g, b) ((r) | ((g) << 5) | ((b) << 10)) +#define RGB2(r, g, b) (((b) << 10) | ((g) << 5) | (r)) #define _RGB(r, g, b) ((((b) & 0x1F) << 10) + (((g) & 0x1F) << 5) + ((r) & 0x1F)) #define RGB_BLACK RGB(0, 0, 0) @@ -12,6 +13,6 @@ #define RGB_YELLOW RGB(31, 31, 0) #define RGB_MAGENTA RGB(31, 0, 31) #define RGB_CYAN RGB(0, 31, 31) -#define RGB_WHITEALPHA RGB_WHITE | 0x8000 +#define RGB_WHITEALPHA (RGB_WHITE | 0x8000) #endif // GUARD_RGB_H diff --git a/include/contest_painting_effects.h b/include/contest_painting_effects.h index 3b69646666..86c87842c3 100755 --- a/include/contest_painting_effects.h +++ b/include/contest_painting_effects.h @@ -1,7 +1,7 @@ #ifndef GUARD_CONTEST_PAINTING_EFFECTS_H #define GUARD_CONTEST_PAINTING_EFFECTS_H -struct Unk030061A0 +struct Unk03005E20 { u8 var_0; u8 pad1[3]; @@ -21,8 +21,8 @@ struct Unk030061A0 u8 var_1F; }; -void sub_8124F2C(struct Unk030061A0 *); -void sub_81261A4(struct Unk030061A0 *); -void sub_8126058(struct Unk030061A0 *); +void sub_8124F2C(struct Unk03005E20 *); +void sub_81261A4(struct Unk03005E20 *); +void sub_8126058(struct Unk03005E20 *); #endif diff --git a/ld_script.txt b/ld_script.txt index 0de40a3961..1ed5d75aac 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -185,6 +185,7 @@ SECTIONS { src/dewford_trend.o(.text); src/heal_location.o(.text); src/region_map.o(.text); + src/contest_painting_effects.o(.text); asm/contest_painting_effects.o(.text); src/decoration.o(.text); src/slot_machine.o(.text); diff --git a/src/contest_painting_effects.c b/src/contest_painting_effects.c index 46bc375db0..994fee57c3 100644 --- a/src/contest_painting_effects.c +++ b/src/contest_painting_effects.c @@ -600,3 +600,172 @@ u16 InvertColor(u16 *color) return RGB2(red, green, blue); } + +u16 sub_8125CF4(u16 *a0, u16 *a1) +{ + u16 sp0[2][3]; + u16 spC[3]; + u8 r4; + u16 r2; + u16 r, g, b; + + if (*a0 == *a1) + return *a1; + + sp0[0][0] = (*a0 >> 0) & 0x1F; + sp0[0][1] = (*a0 >> 5) & 0x1F; + sp0[0][2] = (*a0 >> 10) & 0x1F; + sp0[1][0] = (*a1 >> 0) & 0x1F; + sp0[1][1] = (*a1 >> 5) & 0x1F; + sp0[1][2] = (*a1 >> 10) & 0x1F; + + if (sp0[0][0] > 25 && sp0[0][1] > 25 && sp0[0][2] > 25) + return *a1; + if (sp0[1][0] > 25 && sp0[1][1] > 25 && sp0[1][2] > 25) + return *a1; + + for (r4 = 0; r4 < 3; r4++) + { + if (sp0[0][r4] > sp0[1][r4]) + spC[r4] = sp0[0][r4] - sp0[1][r4]; + else + spC[r4] = sp0[1][r4] - sp0[0][r4]; + } + + if (spC[0] >= spC[1]) + { + if (spC[0] >= spC[2]) + r2 = spC[0]; + else if (spC[1] >= spC[2]) + r2 = spC[1]; + else + r2 = spC[2]; + } + else + { + if (spC[1] >= spC[2]) + r2 = spC[1]; + else if (spC[2] >= spC[0]) + r2 = spC[2]; + else + r2 = spC[0]; + } + + r = (sp0[1][0] * (31 - r2 / 2)) / 31; + g = (sp0[1][1] * (31 - r2 / 2)) / 31; + b = (sp0[1][2] * (31 - r2 / 2)) / 31; + return RGB2(r, g, b); +} + +u16 sub_8125E18(u16 * a0, u16 * a1, u16 * a2) +{ + u16 red, green, blue; + u16 avg0, avg1, avg2; + u16 diff1, diff2; + u32 minimum; + u16 factor; + + if (*a0 == *a1 && *a2 == *a1) + return *a1; + + red = (*a1 >> 0) & 0x1F; + green = (*a1 >> 5) & 0x1F; + blue = (*a1 >> 10) & 0x1F; + + avg0 = (((*a0 >> 0) & 0x1F) + ((*a0 >> 5) & 0x1F) + ((*a0 >> 10) & 0x1F)) / 3; + avg1 = (((*a1 >> 0) & 0x1F) + ((*a1 >> 5) & 0x1F) + ((*a1 >> 10) & 0x1F)) / 3; + avg2 = (((*a2 >> 0) & 0x1F) + ((*a2 >> 5) & 0x1F) + ((*a2 >> 10) & 0x1F)) / 3; + + if (avg0 == avg1 && avg2 == avg1) + return *a1; + + if (avg0 > avg1) + diff1 = avg0 - avg1; + else + diff1 = avg1 - avg0; + + if (avg2 > avg1) + diff2 = avg2 - avg1; + else + diff2 = avg1 - avg2; + + if (diff1 >= diff2) + minimum = diff1; + else + minimum = diff2; + + factor = 31 - minimum / 2; + red = red * factor / 31; + green = green * factor / 31; + blue = blue * factor / 31; + return RGB2(red, green, blue); +} + +u16 sub_8125F38(u16 *a0, u16 *a1, u16 *a2) +{ + u16 red, green, blue; + u16 avg0, avg1, avg2; + u16 diff1, diff2; + u32 minimum; + u16 factor; + + if (*a0 == *a1 && *a2 == *a1) + return *a1; + + red = (*a1 >> 0) & 0x1F; + green = (*a1 >> 5) & 0x1F; + blue = (*a1 >> 10) & 0x1F; + + avg0 = (((*a0 >> 0) & 0x1F) + ((*a0 >> 5) & 0x1F) + ((*a0 >> 10) & 0x1F)) / 3; + avg1 = (((*a1 >> 0) & 0x1F) + ((*a1 >> 5) & 0x1F) + ((*a1 >> 10) & 0x1F)) / 3; + avg2 = (((*a2 >> 0) & 0x1F) + ((*a2 >> 5) & 0x1F) + ((*a2 >> 10) & 0x1F)) / 3; + + if (avg0 == avg1 && avg2 == avg1) + return *a1; + + if (avg0 > avg1) + diff1 = avg0 - avg1; + else + diff1 = avg1 - avg0; + + if (avg2 > avg1) + diff2 = avg2 - avg1; + else + diff2 = avg1 - avg2; + + if (diff1 >= diff2) + minimum = diff1; + else + minimum = diff2; + + factor = 31 - minimum; + red = red * factor / 31; + green = green * factor / 31; + blue = blue * factor / 31; + return RGB2(red, green, blue); +} + +/* +void sub_8126058(struct Unk03005E20 *arg0) +{ + u16 i, j, k; + u8 r5 = arg0->var_1D >> 3; + u8 var_24 = arg0->var_1E >> 3; + u16 (*var_2C)[][32] = arg0->var_4; + u32 var_28 = arg0->var_10; + + if (arg0->var_16 == 2) + { + for (i = 0; i < var_24; i++) + { + for (j = 0; j < r5; j++) + { + for (k = 0; k < 8; k++) + { + (*var_2C)[][]; + } + } + } + } +} +*/ From 75b4e9ac704e5ecafcd434a2e49213434188c08b Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 29 Dec 2018 12:27:24 +0100 Subject: [PATCH 37/53] compile contest --- include/contest_painting_effects.h | 8 ++++---- src/contest_painting_effects.c | 4 ++-- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/include/contest_painting_effects.h b/include/contest_painting_effects.h index 86c87842c3..3b69646666 100755 --- a/include/contest_painting_effects.h +++ b/include/contest_painting_effects.h @@ -1,7 +1,7 @@ #ifndef GUARD_CONTEST_PAINTING_EFFECTS_H #define GUARD_CONTEST_PAINTING_EFFECTS_H -struct Unk03005E20 +struct Unk030061A0 { u8 var_0; u8 pad1[3]; @@ -21,8 +21,8 @@ struct Unk03005E20 u8 var_1F; }; -void sub_8124F2C(struct Unk03005E20 *); -void sub_81261A4(struct Unk03005E20 *); -void sub_8126058(struct Unk03005E20 *); +void sub_8124F2C(struct Unk030061A0 *); +void sub_81261A4(struct Unk030061A0 *); +void sub_8126058(struct Unk030061A0 *); #endif diff --git a/src/contest_painting_effects.c b/src/contest_painting_effects.c index 994fee57c3..187a0f1968 100644 --- a/src/contest_painting_effects.c +++ b/src/contest_painting_effects.c @@ -36,7 +36,7 @@ u16 sub_8125F38(u16*, u16*, u16*); u16 sub_8125CF4(u16*, u16*); u16 GetCoolColorFromPersonality(u8); -void sub_8124F2C(struct Unk03005E20 *info) +void sub_8124F2C(struct Unk030061A0 *info) { gUnknown_03006168 = info->var_4; gUnknown_0300617C = info->var_1F; @@ -746,7 +746,7 @@ u16 sub_8125F38(u16 *a0, u16 *a1, u16 *a2) } /* -void sub_8126058(struct Unk03005E20 *arg0) +void sub_8126058(struct Unk030061A0 *arg0) { u16 i, j, k; u8 r5 = arg0->var_1D >> 3; From 0d5a0b58fae1af1a7df4bfd86f1a2316296fef98 Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Fri, 28 Dec 2018 23:40:25 +0100 Subject: [PATCH 38/53] Fakematch a function --- src/record_mixing.c | 765 +++++++------------------------------------- 1 file changed, 119 insertions(+), 646 deletions(-) diff --git a/src/record_mixing.c b/src/record_mixing.c index e3764c4906..c3637b1a3d 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -741,711 +741,184 @@ static u8 sub_80E7B54(void) return gUnknown_03001160; } -#ifdef NONMATCHING static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *src, size_t recordSize, u8 which, TVShow *shows) { - // r9 = which - u16 i; - u16 j; + u16 i, j; u8 linkPlayerCount; - u16 language; - u16 otNameLanguage; - u16 nicknameLanguage; - u32 version; - u8 dcMail1; - u8 dcMail2; - u8 r1_80e7b54; - struct DayCareMail *recordMixingMail; + u8 tableId; struct RecordMixingDayCareMail *_src; + u8 which0, which1; + void *ptr; u8 sp04[4]; u8 sp08[4]; - struct RecordMixingDayCareMail *sp0c[4]; // -> sp+48 - u8 sp1c[4][2]; // [][0] -> sp+4c, [][1] -> sp+50 + struct RecordMixingDayCareMail *sp0c[4]; + u8 sp1c[4][2]; u8 sp24[4][2]; - // sp+2c = src - // sp+30 = recordSize u8 sp34; u16 oldSeed; - bool32 anyRS; // sp+3c + bool32 anyRS; oldSeed = Random2(); SeedRng2(gLinkPlayers[0].trainerId); linkPlayerCount = GetLinkPlayerCount(); - for (i = 0; i < 4; i ++) + for (i = 0; i < 4; i++) { sp04[i] = 0xFF; sp08[i] = 0; sp1c[i][0] = 0; sp1c[i][1] = 0; } + anyRS = Link_AnyPartnersPlayingRubyOrSapphire(); - for (i = 0; i < GetLinkPlayerCount(); i ++) // r8 = i + for (i = 0; i < GetLinkPlayerCount(); i++) { - // sp+54 = linkPlayerCount << 16 - // sp+44 = which * recordSize - _src = (void *)src + i * recordSize; // r7 - language = gLinkPlayers[i].language; // r9 - version = (u8)gLinkPlayers[i].version; // sp+40 - for (j = 0; j < _src->unk_70; j ++) + u32 language, version; + + _src = (void *)src + i * recordSize; + language = gLinkPlayers[i].language; + version = gLinkPlayers[i].version & 0xFF; + for (j = 0; j < _src->numDaycareMons; j ++) { - // r10 = ~0x10 - recordMixingMail = &_src->unk_00[j]; - if (recordMixingMail->mail.itemId != ITEM_NONE) + u16 otNameLanguage, nicknameLanguage; + struct DayCareMail *recordMixingMail = &_src->mail[j]; + + if (!recordMixingMail->message.itemId) + continue; + + if (anyRS) { - if (anyRS) + if (StringLength(recordMixingMail->OT_name) <= 5) { - if (StringLength(recordMixingMail->OT_name) <= 5) - { - otNameLanguage = LANGUAGE_JAPANESE; - } - else - { - StripExtCtrlCodes(recordMixingMail->OT_name); - otNameLanguage = language; - } - if (recordMixingMail->monName[0] == EXT_CTRL_CODE_BEGIN && recordMixingMail->monName[1] == EXT_CTRL_CODE_JPN) - { - StripExtCtrlCodes(recordMixingMail->monName); - nicknameLanguage = LANGUAGE_JAPANESE; - } - else - { - nicknameLanguage = language; - } - if (version == VERSION_RUBY || version == VERSION_SAPPHIRE) - { - recordMixingMail->language_maybe = otNameLanguage; - recordMixingMail->unknown = nicknameLanguage; - } + otNameLanguage = LANGUAGE_JAPANESE; } - else if (language == LANGUAGE_JAPANESE) + else { - if (IsStringJapanese(recordMixingMail->OT_name)) - { - recordMixingMail->language_maybe = LANGUAGE_JAPANESE; - } - else - { - recordMixingMail->language_maybe = GAME_LANGUAGE; - } - if (IsStringJapanese(recordMixingMail->monName)) - { - recordMixingMail->unknown = LANGUAGE_JAPANESE; - } - else - { - recordMixingMail->unknown = GAME_LANGUAGE; - } + StripExtCtrlCodes(recordMixingMail->OT_name); + otNameLanguage = language; } + + if (recordMixingMail->monName[0] == EXT_CTRL_CODE_BEGIN && recordMixingMail->monName[1] == EXT_CTRL_CODE_JPN) + { + StripExtCtrlCodes(recordMixingMail->monName); + nicknameLanguage = LANGUAGE_JAPANESE; + } + else + { + nicknameLanguage = language; + } + + if (version == VERSION_RUBY || version == VERSION_SAPPHIRE) + { + recordMixingMail->gameLanguage = otNameLanguage; + recordMixingMail->monLanguage = nicknameLanguage; + } + } + else if (language == LANGUAGE_JAPANESE) + { + if (IsStringJapanese(recordMixingMail->OT_name)) + recordMixingMail->gameLanguage = LANGUAGE_JAPANESE; + else + recordMixingMail->gameLanguage = GAME_LANGUAGE; + + if (IsStringJapanese(recordMixingMail->monName)) + recordMixingMail->monLanguage = LANGUAGE_JAPANESE; + else + recordMixingMail->monLanguage = GAME_LANGUAGE; } } } + sp34 = 0; - for (i = 0; i < linkPlayerCount; i ++) + for (i = 0; i < linkPlayerCount; i++) { - _src = (void *)src + i * recordSize; // r7 - if (_src->unk_70 != 0) + _src = (void *)src + i * recordSize; + if (_src->numDaycareMons == 0) + continue; + + for (j = 0; j < _src->numDaycareMons; j ++) { - for (j = 0; j < _src->unk_70; j ++) - { - if (_src->unk_74[j] == 0) - { - sp1c[i][j] = 1; - } - } + if (!_src->holdsItem[j]) + sp1c[i][j] = 1; } } - i = 0; - for (j = 0; j < linkPlayerCount; j ++) + + j = 0; + for (i = 0; i < linkPlayerCount; i++) { - _src = (void *)src + j * recordSize; - if (sp1c[j][0] == TRUE || sp1c[j][1] == TRUE) + _src = (void *)src + i * recordSize; + if (sp1c[i][0] == TRUE || sp1c[i][1] == TRUE) + sp34++; + + if (sp1c[i][0] == TRUE && sp1c[i][1] == FALSE) { - sp34 ++; + sp24[j][0] = i; + sp24[j][1] = 0; + j++; } - if (sp1c[j][0] == TRUE && sp1c[j][1] == FALSE) + else if (sp1c[i][0] == FALSE && sp1c[i][1] == TRUE) { - sp24[i][0] = j; - sp24[i][1] = 0; - i ++; + sp24[j][0] = i; + sp24[j][1] = 1; + j++; } - else if (sp1c[j][0] == FALSE && sp1c[j][1] == TRUE) + else if (sp1c[i][0] == TRUE && sp1c[i][1] == TRUE) { - sp24[i][0] = j; - sp24[i][1] = 0; - i ++; - } - else if (sp1c[j][0] == TRUE && sp1c[j][1] == TRUE) - { - sp24[i][0] = j; - dcMail1 = sub_80E7A9C(&_src->unk_00[0]); - dcMail2 = sub_80E7A9C(&_src->unk_00[1]); - if (!dcMail1 && dcMail2) + u32 var1, var2; + + sp24[j][0] = i; + var1 = sub_80E7A9C(&_src->mail[0]); + var2 = sub_80E7A9C(&_src->mail[1]); + if (!var1 && var2) { - sp24[i][1] = 1; + register u8 one asm("r0") = 1; // boo, a fakematch + sp24[j][1] = one; } - else if ((dcMail1 && dcMail2) || (!dcMail1 && !dcMail2)) + else if ((var1 && var2) || (!var1 && !var2)) { - sp24[i][1] = Random2() % 2; + sp24[j][1] = Random2() % 2; } - else + else if (var1 && !var2) { - sp24[i][1] = 0; + sp24[j][1] = 0; } - i ++; + j++; } } - for (i = 0; i < 4; i ++) + + for (i = 0; i < 4; i++) { _src = &src[which * recordSize]; sp0c[i] = _src; } - r1_80e7b54 = sub_80E7B54() % 3; + + tableId = sub_80E7B54() % 3; switch (sp34) { - case 2: - sub_80E7AA4(src, recordSize, sp24, 0, 1); - break; - case 3: - sub_80E7AA4(src, recordSize, sp24, gUnknown_0858CFB8[r1_80e7b54][0], gUnknown_0858CFB8[r1_80e7b54][1]); - break; - case 4: - sub_80E7AA4(src, recordSize, sp24, gUnknown_0858CFBE[r1_80e7b54][0], gUnknown_0858CFBE[r1_80e7b54][1]); - sub_80E7AA4(src, recordSize, sp24, gUnknown_0858CFBE[r1_80e7b54][2], gUnknown_0858CFBE[r1_80e7b54][3]); - break; + case 2: + sub_80E7AA4(src, recordSize, sp24, 0, 1); + break; + case 3: + which0 = gUnknown_0858CFB8[tableId][0]; + which1 = gUnknown_0858CFB8[tableId][1]; + sub_80E7AA4(src, recordSize, sp24, which0, which1); + break; + case 4: + ptr = sp24; + which0 = gUnknown_0858CFBE[tableId][0]; + which1 = gUnknown_0858CFBE[tableId][1]; + sub_80E7AA4(src, recordSize, ptr, which0, which1); + which0 = gUnknown_0858CFBE[tableId][2]; + which1 = gUnknown_0858CFBE[tableId][3]; + sub_80E7AA4(src, recordSize, ptr, which0, which1); + break; } + _src = (void *)src + which * recordSize; - memcpy(&gSaveBlock1Ptr->daycare.mons[0].misc.mail, &_src->unk_00[0], sizeof(struct DayCareMail)); - memcpy(&gSaveBlock1Ptr->daycare.mons[1].misc.mail, &_src->unk_00[1], sizeof(struct DayCareMail)); + memcpy(&gSaveBlock1Ptr->daycare.mons[0].mail, &_src->mail[0], sizeof(struct DayCareMail)); + memcpy(&gSaveBlock1Ptr->daycare.mons[1].mail, &_src->mail[1], sizeof(struct DayCareMail)); SeedRng(oldSeed); } -#else -NAKED -static void ReceiveDaycareMailData(struct RecordMixingDayCareMail *src, size_t recordSize, u8 which, TVShow *shows) -{ - asm_unified("\tpush {r4-r7,lr}\n" - "\tmov r7, r10\n" - "\tmov r6, r9\n" - "\tmov r5, r8\n" - "\tpush {r5-r7}\n" - "\tsub sp, 0x58\n" - "\tstr r0, [sp, 0x2C]\n" - "\tstr r1, [sp, 0x30]\n" - "\tlsls r2, 24\n" - "\tlsrs r2, 24\n" - "\tmov r9, r2\n" - "\tbl Random2\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tstr r0, [sp, 0x38]\n" - "\tldr r0, =gLinkPlayers\n" - "\tldrh r0, [r0, 0x4]\n" - "\tbl SeedRng2\n" - "\tbl GetLinkPlayerCount\n" - "\tlsls r0, 24\n" - "\tlsrs r4, r0, 24\n" - "\tmovs r0, 0\n" - "\tmov r8, r0\n" - "\tmov r1, sp\n" - "\tadds r1, 0x1C\n" - "\tstr r1, [sp, 0x4C]\n" - "\tmov r2, sp\n" - "\tadds r2, 0x1D\n" - "\tstr r2, [sp, 0x50]\n" - "\tmov r3, sp\n" - "\tadds r3, 0xC\n" - "\tstr r3, [sp, 0x48]\n" - "\tmovs r7, 0xFF\n" - "\tadd r3, sp, 0x8\n" - "\tmovs r2, 0\n" - "\tadds r6, r1, 0\n" - "\tldr r5, [sp, 0x50]\n" - "_080E7BB0:\n" - "\tmov r1, sp\n" - "\tadd r1, r8\n" - "\tadds r1, 0x4\n" - "\tldrb r0, [r1]\n" - "\torrs r0, r7\n" - "\tstrb r0, [r1]\n" - "\tmov r1, r8\n" - "\tadds r0, r3, r1\n" - "\tstrb r2, [r0]\n" - "\tlsls r1, 1\n" - "\tadds r0, r6, r1\n" - "\tstrb r2, [r0]\n" - "\tadds r1, r5, r1\n" - "\tstrb r2, [r1]\n" - "\tmov r0, r8\n" - "\tadds r0, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tmov r8, r0\n" - "\tcmp r0, 0x3\n" - "\tbls _080E7BB0\n" - "\tbl Link_AnyPartnersPlayingRubyOrSapphire\n" - "\tstr r0, [sp, 0x3C]\n" - "\tmovs r2, 0\n" - "\tmov r8, r2\n" - "\tlsls r4, 16\n" - "\tstr r4, [sp, 0x54]\n" - "\tldr r0, [sp, 0x30]\n" - "\tmov r3, r9\n" - "\tmuls r3, r0\n" - "\tstr r3, [sp, 0x44]\n" - "\tb _080E7D04\n" - "\t.pool\n" - "_080E7BF8:\n" - "\tldr r1, [sp, 0x30]\n" - "\tmov r0, r8\n" - "\tmuls r0, r1\n" - "\tldr r2, [sp, 0x2C]\n" - "\tadds r7, r2, r0\n" - "\tldr r1, =gLinkPlayers\n" - "\tmov r3, r8\n" - "\tlsls r0, r3, 3\n" - "\tsubs r0, r3\n" - "\tlsls r0, 2\n" - "\tadds r0, r1\n" - "\tldrh r1, [r0, 0x1A]\n" - "\tmov r9, r1\n" - "\tldrb r0, [r0]\n" - "\tstr r0, [sp, 0x40]\n" - "\tmovs r6, 0\n" - "\tldr r0, [r7, 0x70]\n" - "\tcmp r6, r0\n" - "\tbcs _080E7CFA\n" - "\tmovs r2, 0x10\n" - "\tnegs r2, r2\n" - "\tmov r10, r2\n" - "_080E7C24:\n" - "\tlsls r0, r6, 3\n" - "\tsubs r0, r6\n" - "\tlsls r0, 3\n" - "\tadds r5, r7, r0\n" - "\tldrh r0, [r5, 0x20]\n" - "\tcmp r0, 0\n" - "\tbeq _080E7CEE\n" - "\tldr r3, [sp, 0x3C]\n" - "\tcmp r3, 0\n" - "\tbeq _080E7C9A\n" - "\tadds r4, r5, 0\n" - "\tadds r4, 0x24\n" - "\tadds r0, r4, 0\n" - "\tbl StringLength\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tcmp r0, 0x5\n" - "\tbhi _080E7C54\n" - "\tmovs r4, 0x1\n" - "\tb _080E7C5C\n" - "\t.pool\n" - "_080E7C54:\n" - "\tadds r0, r4, 0\n" - "\tbl StripExtCtrlCodes\n" - "\tmov r4, r9\n" - "_080E7C5C:\n" - "\tldrh r1, [r5, 0x2C]\n" - "\tldr r0, =0x000015fc\n" - "\tcmp r1, r0\n" - "\tbne _080E7C74\n" - "\tadds r0, r5, 0\n" - "\tadds r0, 0x2C\n" - "\tbl StripExtCtrlCodes\n" - "\tmovs r1, 0x1\n" - "\tb _080E7C76\n" - "\t.pool\n" - "_080E7C74:\n" - "\tmov r1, r9\n" - "_080E7C76:\n" - "\tldr r0, [sp, 0x40]\n" - "\tsubs r0, 0x1\n" - "\tcmp r0, 0x1\n" - "\tbhi _080E7CEE\n" - "\tadds r2, r5, 0\n" - "\tadds r2, 0x37\n" - "\tmovs r0, 0xF\n" - "\tands r4, r0\n" - "\tldrb r0, [r2]\n" - "\tmov r3, r10\n" - "\tands r0, r3\n" - "\torrs r0, r4\n" - "\tlsls r1, 4\n" - "\tmovs r3, 0xF\n" - "\tands r0, r3\n" - "\torrs r0, r1\n" - "\tstrb r0, [r2]\n" - "\tb _080E7CEE\n" - "_080E7C9A:\n" - "\tmov r0, r9\n" - "\tcmp r0, 0x1\n" - "\tbne _080E7CEE\n" - "\tadds r0, r5, 0\n" - "\tadds r0, 0x24\n" - "\tbl IsStringJapanese\n" - "\tcmp r0, 0\n" - "\tbeq _080E7CBA\n" - "\tadds r0, r5, 0\n" - "\tadds r0, 0x37\n" - "\tldrb r1, [r0]\n" - "\tmov r2, r10\n" - "\tands r1, r2\n" - "\tmovs r2, 0x1\n" - "\tb _080E7CC6\n" - "_080E7CBA:\n" - "\tadds r0, r5, 0\n" - "\tadds r0, 0x37\n" - "\tldrb r1, [r0]\n" - "\tmov r3, r10\n" - "\tands r1, r3\n" - "\tmovs r2, 0x2\n" - "_080E7CC6:\n" - "\torrs r1, r2\n" - "\tstrb r1, [r0]\n" - "\tadds r4, r0, 0\n" - "\tadds r0, r5, 0\n" - "\tadds r0, 0x2C\n" - "\tbl IsStringJapanese\n" - "\tcmp r0, 0\n" - "\tbeq _080E7CE2\n" - "\tldrb r0, [r4]\n" - "\tmovs r1, 0xF\n" - "\tands r1, r0\n" - "\tmovs r0, 0x10\n" - "\tb _080E7CEA\n" - "_080E7CE2:\n" - "\tldrb r0, [r4]\n" - "\tmovs r1, 0xF\n" - "\tands r1, r0\n" - "\tmovs r0, 0x20\n" - "_080E7CEA:\n" - "\torrs r1, r0\n" - "\tstrb r1, [r4]\n" - "_080E7CEE:\n" - "\tadds r0, r6, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r6, r0, 16\n" - "\tldr r0, [r7, 0x70]\n" - "\tcmp r6, r0\n" - "\tbcc _080E7C24\n" - "_080E7CFA:\n" - "\tmov r0, r8\n" - "\tadds r0, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tmov r8, r0\n" - "_080E7D04:\n" - "\tbl GetLinkPlayerCount\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tcmp r8, r0\n" - "\tbcs _080E7D12\n" - "\tb _080E7BF8\n" - "_080E7D12:\n" - "\tmovs r0, 0\n" - "\tstr r0, [sp, 0x34]\n" - "\tmov r8, r0\n" - "\tldr r1, [sp, 0x54]\n" - "\tlsrs r0, r1, 16\n" - "\tldr r2, [sp, 0x34]\n" - "\tcmp r2, r0\n" - "\tbcs _080E7D70\n" - "\tadds r5, r0, 0\n" - "_080E7D24:\n" - "\tldr r3, [sp, 0x30]\n" - "\tmov r0, r8\n" - "\tmuls r0, r3\n" - "\tldr r1, [sp, 0x2C]\n" - "\tadds r7, r1, r0\n" - "\tldr r0, [r7, 0x70]\n" - "\tcmp r0, 0\n" - "\tbeq _080E7D62\n" - "\tmovs r6, 0\n" - "\tcmp r6, r0\n" - "\tbcs _080E7D62\n" - "\tadds r3, r7, 0\n" - "\tadds r3, 0x74\n" - "\tldr r2, [sp, 0x4C]\n" - "\tmov r0, r8\n" - "\tlsls r1, r0, 1\n" - "\tmovs r4, 0x1\n" - "_080E7D46:\n" - "\tlsls r0, r6, 1\n" - "\tadds r0, r3, r0\n" - "\tldrh r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbne _080E7D56\n" - "\tadds r0, r6, r1\n" - "\tadds r0, r2, r0\n" - "\tstrb r4, [r0]\n" - "_080E7D56:\n" - "\tadds r0, r6, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r6, r0, 16\n" - "\tldr r0, [r7, 0x70]\n" - "\tcmp r6, r0\n" - "\tbcc _080E7D46\n" - "_080E7D62:\n" - "\tmov r0, r8\n" - "\tadds r0, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tmov r8, r0\n" - "\tcmp r8, r5\n" - "\tbcc _080E7D24\n" - "_080E7D70:\n" - "\tmovs r6, 0\n" - "\tmov r8, r6\n" - "\tldr r1, [sp, 0x54]\n" - "\tcmp r1, 0\n" - "\tbeq _080E7E64\n" - "\tadd r2, sp, 0x24\n" - "\tmov r10, r2\n" - "\tmovs r3, 0x25\n" - "\tadd r3, sp\n" - "\tmov r9, r3\n" - "_080E7D84:\n" - "\tldr r1, [sp, 0x30]\n" - "\tmov r0, r8\n" - "\tmuls r0, r1\n" - "\tldr r2, [sp, 0x2C]\n" - "\tadds r7, r2, r0\n" - "\tmov r3, r8\n" - "\tlsls r1, r3, 1\n" - "\tldr r2, [sp, 0x4C]\n" - "\tadds r0, r2, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0x1\n" - "\tbeq _080E7DA6\n" - "\tldr r3, [sp, 0x50]\n" - "\tadds r0, r3, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0x1\n" - "\tbne _080E7DB0\n" - "_080E7DA6:\n" - "\tldr r0, [sp, 0x34]\n" - "\tadds r0, 0x1\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tstr r0, [sp, 0x34]\n" - "_080E7DB0:\n" - "\tldr r2, [sp, 0x4C]\n" - "\tadds r0, r2, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0x1\n" - "\tbne _080E7DD4\n" - "\tldr r3, [sp, 0x50]\n" - "\tadds r0, r3, r1\n" - "\tldrb r2, [r0]\n" - "\tcmp r2, 0\n" - "\tbne _080E7DD4\n" - "_080E7DC4:\n" - "\tlsls r1, r6, 1\n" - "\tmov r3, r10\n" - "\tadds r0, r3, r1\n" - "\tmov r3, r8\n" - "\tstrb r3, [r0]\n" - "\tadd r1, r9\n" - "\tstrb r2, [r1]\n" - "\tb _080E7E4E\n" - "_080E7DD4:\n" - "\tldr r2, [sp, 0x4C]\n" - "\tadds r0, r2, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0\n" - "\tbne _080E7DE8\n" - "\tldr r3, [sp, 0x50]\n" - "\tadds r0, r3, r1\n" - "\tldrb r2, [r0]\n" - "\tcmp r2, 0x1\n" - "\tbeq _080E7DC4\n" - "_080E7DE8:\n" - "\tldr r2, [sp, 0x4C]\n" - "\tadds r0, r2, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0x1\n" - "\tbne _080E7E54\n" - "\tldr r3, [sp, 0x50]\n" - "\tadds r0, r3, r1\n" - "\tldrb r0, [r0]\n" - "\tcmp r0, 0x1\n" - "\tbne _080E7E54\n" - "\tlsls r5, r6, 1\n" - "\tmov r1, r10\n" - "\tadds r0, r1, r5\n" - "\tmov r2, r8\n" - "\tstrb r2, [r0]\n" - "\tadds r0, r7, 0\n" - "\tbl sub_80E7A9C\n" - "\tadds r4, r0, 0\n" - "\tlsls r4, 24\n" - "\tlsrs r4, 24\n" - "\tadds r0, r7, 0\n" - "\tadds r0, 0x38\n" - "\tbl sub_80E7A9C\n" - "\tlsls r0, 24\n" - "\tlsrs r1, r0, 24\n" - "\tcmp r4, 0\n" - "\tbne _080E7E30\n" - "\tcmp r1, 0\n" - "\tbeq _080E7E34\n" - "\tmov r3, r9\n" - "\tadds r1, r3, r5\n" - "\tmovs r0, 0x1\n" - "\tstrb r0, [r1]\n" - "\tb _080E7E4E\n" - "_080E7E30:\n" - "\tcmp r1, 0\n" - "\tbeq _080E7E48\n" - "_080E7E34:\n" - "\tbl Random2\n" - "\tmov r1, r9\n" - "\tadds r2, r1, r5\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tmovs r1, 0x1\n" - "\tands r0, r1\n" - "\tstrb r0, [r2]\n" - "\tb _080E7E4E\n" - "_080E7E48:\n" - "\tmov r2, r9\n" - "\tadds r0, r2, r5\n" - "\tstrb r1, [r0]\n" - "_080E7E4E:\n" - "\tadds r0, r6, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r6, r0, 16\n" - "_080E7E54:\n" - "\tmov r0, r8\n" - "\tadds r0, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r3, r0, 16\n" - "\tmov r8, r3\n" - "\tldr r1, [sp, 0x54]\n" - "\tcmp r0, r1\n" - "\tbcc _080E7D84\n" - "_080E7E64:\n" - "\tmovs r2, 0\n" - "\tmov r8, r2\n" - "\tldr r3, [sp, 0x44]\n" - "\tlsls r0, r3, 4\n" - "\tsubs r0, r3\n" - "\tlsls r0, 3\n" - "\tldr r1, [sp, 0x2C]\n" - "\tadds r7, r1, r0\n" - "\tldr r1, [sp, 0x48]\n" - "_080E7E76:\n" - "\tmov r2, r8\n" - "\tlsls r0, r2, 2\n" - "\tadds r0, r1, r0\n" - "\tstr r7, [r0]\n" - "\tmov r0, r8\n" - "\tadds r0, 0x1\n" - "\tlsls r0, 16\n" - "\tlsrs r0, 16\n" - "\tmov r8, r0\n" - "\tcmp r0, 0x3\n" - "\tbls _080E7E76\n" - "\tbl sub_80E7B54\n" - "\tlsls r0, 24\n" - "\tlsrs r0, 24\n" - "\tmovs r1, 0x3\n" - "\tbl __umodsi3\n" - "\tlsls r0, 24\n" - "\tlsrs r1, r0, 24\n" - "\tldr r3, [sp, 0x34]\n" - "\tcmp r3, 0x3\n" - "\tbeq _080E7EC8\n" - "\tcmp r3, 0x3\n" - "\tbgt _080E7EAE\n" - "\tcmp r3, 0x2\n" - "\tbeq _080E7EB6\n" - "\tb _080E7F1C\n" - "_080E7EAE:\n" - "\tldr r0, [sp, 0x34]\n" - "\tcmp r0, 0x4\n" - "\tbeq _080E7EE8\n" - "\tb _080E7F1C\n" - "_080E7EB6:\n" - "\tadd r2, sp, 0x24\n" - "\tmovs r0, 0x1\n" - "\tstr r0, [sp]\n" - "\tldr r0, [sp, 0x2C]\n" - "\tldr r1, [sp, 0x30]\n" - "\tmovs r3, 0\n" - "\tbl sub_80E7AA4\n" - "\tb _080E7F1C\n" - "_080E7EC8:\n" - "\tldr r0, =gUnknown_0858CFB8\n" - "\tlsls r1, 1\n" - "\tadds r2, r1, r0\n" - "\tldrb r3, [r2]\n" - "\tadds r0, 0x1\n" - "\tadds r1, r0\n" - "\tldrb r0, [r1]\n" - "\tadd r2, sp, 0x24\n" - "\tstr r0, [sp]\n" - "\tldr r0, [sp, 0x2C]\n" - "\tldr r1, [sp, 0x30]\n" - "\tbl sub_80E7AA4\n" - "\tb _080E7F1C\n" - "\t.pool\n" - "_080E7EE8:\n" - "\tadd r6, sp, 0x24\n" - "\tldr r4, =gUnknown_0858CFBE\n" - "\tlsls r5, r1, 2\n" - "\tadds r0, r5, r4\n" - "\tldrb r3, [r0]\n" - "\tadds r0, r4, 0x1\n" - "\tadds r0, r5, r0\n" - "\tldrb r0, [r0]\n" - "\tstr r0, [sp]\n" - "\tldr r0, [sp, 0x2C]\n" - "\tldr r1, [sp, 0x30]\n" - "\tadds r2, r6, 0\n" - "\tbl sub_80E7AA4\n" - "\tadds r0, r4, 0x2\n" - "\tadds r0, r5, r0\n" - "\tldrb r3, [r0]\n" - "\tadds r4, 0x3\n" - "\tadds r5, r4\n" - "\tldrb r0, [r5]\n" - "\tstr r0, [sp]\n" - "\tldr r0, [sp, 0x2C]\n" - "\tldr r1, [sp, 0x30]\n" - "\tadds r2, r6, 0\n" - "\tbl sub_80E7AA4\n" - "_080E7F1C:\n" - "\tldr r1, [sp, 0x2C]\n" - "\tldr r2, [sp, 0x44]\n" - "\tadds r7, r1, r2\n" - "\tldr r4, =gSaveBlock1Ptr\n" - "\tldr r0, [r4]\n" - "\tmovs r3, 0xC2\n" - "\tlsls r3, 6\n" - "\tadds r0, r3\n" - "\tadds r1, r7, 0\n" - "\tmovs r2, 0x38\n" - "\tbl memcpy\n" - "\tldr r0, [r4]\n" - "\tldr r1, =0x0000310c\n" - "\tadds r0, r1\n" - "\tadds r1, r7, 0\n" - "\tadds r1, 0x38\n" - "\tmovs r2, 0x38\n" - "\tbl memcpy\n" - "\tldr r0, [sp, 0x38]\n" - "\tbl SeedRng\n" - "\tadd sp, 0x58\n" - "\tpop {r3-r5}\n" - "\tmov r8, r3\n" - "\tmov r9, r4\n" - "\tmov r10, r5\n" - "\tpop {r4-r7}\n" - "\tpop {r0}\n" - "\tbx r0\n" - "\t.pool"); -} -#endif // NONMATCHING + static void ReceiveGiftItem(u16 *item, u8 which) { From dc6c0ed17e38bf164473eb47148909319de1fe2c Mon Sep 17 00:00:00 2001 From: Melody Date: Fri, 28 Dec 2018 12:51:21 -0500 Subject: [PATCH 39/53] add event object var references --- .../events.inc | 4 +-- .../events.inc | 4 +-- .../events.inc | 4 +-- .../events.inc | 4 +-- .../events.inc | 4 +-- .../events.inc | 2 +- .../events.inc | 8 ++--- .../events.inc | 4 +-- .../events.inc | 2 +- .../events.inc | 16 +++++----- .../EverGrandeCity_ChampionsRoom/events.inc | 2 +- .../events.inc | 4 +-- data/maps/LavaridgeTown/events.inc | 4 +-- data/maps/LilycoveCity/events.inc | 2 +- .../LilycoveCity_PokemonCenter_1F/events.inc | 4 +-- data/maps/LinkContestRoom1/events.inc | 22 +++++++------- data/maps/LittlerootTown/events.inc | 2 +- .../events.inc | 24 +++++++-------- .../LittlerootTown_MaysHouse_2F/events.inc | 24 +++++++-------- .../events.inc | 2 +- .../MauvilleCity_PokemonCenter_1F/events.inc | 2 +- .../MossdeepCity_GameCorner_B1F/events.inc | 2 +- data/maps/OldaleTown/events.inc | 2 +- data/maps/Route103/events.inc | 2 +- data/maps/Route104/events.inc | 2 +- data/maps/Route110/events.inc | 4 +-- data/maps/Route111/events.inc | 2 +- data/maps/Route119/events.inc | 4 +-- data/maps/RustboroCity/events.inc | 2 +- data/maps/SecretBase_BlueCave1/events.inc | 30 +++++++++---------- data/maps/SecretBase_BlueCave2/events.inc | 30 +++++++++---------- data/maps/SecretBase_BlueCave3/events.inc | 30 +++++++++---------- data/maps/SecretBase_BlueCave4/events.inc | 30 +++++++++---------- data/maps/SecretBase_BrownCave1/events.inc | 30 +++++++++---------- data/maps/SecretBase_BrownCave2/events.inc | 30 +++++++++---------- data/maps/SecretBase_BrownCave3/events.inc | 30 +++++++++---------- data/maps/SecretBase_BrownCave4/events.inc | 30 +++++++++---------- data/maps/SecretBase_RedCave1/events.inc | 30 +++++++++---------- data/maps/SecretBase_RedCave2/events.inc | 30 +++++++++---------- data/maps/SecretBase_RedCave3/events.inc | 30 +++++++++---------- data/maps/SecretBase_RedCave4/events.inc | 30 +++++++++---------- data/maps/SecretBase_Shrub1/events.inc | 30 +++++++++---------- data/maps/SecretBase_Shrub2/events.inc | 30 +++++++++---------- data/maps/SecretBase_Shrub3/events.inc | 30 +++++++++---------- data/maps/SecretBase_Shrub4/events.inc | 30 +++++++++---------- data/maps/SecretBase_Tree1/events.inc | 30 +++++++++---------- data/maps/SecretBase_Tree2/events.inc | 30 +++++++++---------- data/maps/SecretBase_Tree3/events.inc | 30 +++++++++---------- data/maps/SecretBase_Tree4/events.inc | 30 +++++++++---------- data/maps/SecretBase_YellowCave1/events.inc | 30 +++++++++---------- data/maps/SecretBase_YellowCave2/events.inc | 30 +++++++++---------- data/maps/SecretBase_YellowCave3/events.inc | 30 +++++++++---------- data/maps/SecretBase_YellowCave4/events.inc | 30 +++++++++---------- .../events.inc | 4 +-- .../events.inc | 2 +- data/maps/SouthernIsland_Interior/events.inc | 4 +-- data/maps/UnionRoom/events.inc | 16 +++++----- .../events.inc | 4 +-- include/constants/event_objects.h | 26 ++++++++++++---- 59 files changed, 477 insertions(+), 463 deletions(-) diff --git a/data/maps/BattleFrontier_BattleArenaBattleRoom/events.inc b/data/maps/BattleFrontier_BattleArenaBattleRoom/events.inc index 1a8216287c..4731db9755 100644 --- a/data/maps/BattleFrontier_BattleArenaBattleRoom/events.inc +++ b/data/maps/BattleFrontier_BattleArenaBattleRoom/events.inc @@ -5,8 +5,8 @@ BattleFrontier_BattleArenaBattleRoom_EventObjects: @ 853C8EC object_event 4, EVENT_OBJ_GFX_BLACK_BELT, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 object_event 5, EVENT_OBJ_GFX_BLACK_BELT, 0, 4, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0 object_event 6, EVENT_OBJ_GFX_BLACK_BELT, 0, 11, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0 - object_event 7, EVENT_OBJ_GFX_HIPSTER, 0, 15, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0 - object_event 8, EVENT_OBJ_GFX_TRADER, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0 + object_event 7, EVENT_OBJ_GFX_VAR_0, 0, 15, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0 + object_event 8, EVENT_OBJ_GFX_VAR_1, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0 object_event 9, EVENT_OBJ_GFX_BLACK_BELT, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 BattleFrontier_BattleArenaBattleRoom_MapEvents:: @ 853C9C4 diff --git a/data/maps/BattleFrontier_BattleDomeBattleRoom/events.inc b/data/maps/BattleFrontier_BattleDomeBattleRoom/events.inc index 63ceb74846..9101606456 100644 --- a/data/maps/BattleFrontier_BattleDomeBattleRoom/events.inc +++ b/data/maps/BattleFrontier_BattleDomeBattleRoom/events.inc @@ -11,9 +11,9 @@ BattleFrontier_BattleDomeBattleRoom_EventObjects: @ 853C1C4 object_event 10, EVENT_OBJ_GFX_FAT_MAN, 0, 12, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 11, EVENT_OBJ_GFX_GIRL_2, 0, 13, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 12, EVENT_OBJ_GFX_GIRL_1, 0, 10, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 - object_event 13, EVENT_OBJ_GFX_TRADER, 0, 4, 9, 4, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 + object_event 13, EVENT_OBJ_GFX_VAR_1, 0, 4, 9, 4, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 object_event 14, EVENT_OBJ_GFX_WOMAN_3, 0, 14, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 - object_event 15, EVENT_OBJ_GFX_HIPSTER, 0, 11, 6, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0 + object_event 15, EVENT_OBJ_GFX_VAR_0, 0, 11, 6, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0 BattleFrontier_BattleDomeBattleRoom_MapEvents:: @ 853C32C map_events BattleFrontier_BattleDomeBattleRoom_EventObjects, 0x0, 0x0, 0x0 diff --git a/data/maps/BattleFrontier_BattleFactoryBattleRoom/events.inc b/data/maps/BattleFrontier_BattleFactoryBattleRoom/events.inc index 264c7d731a..bdaf4c51bb 100644 --- a/data/maps/BattleFrontier_BattleFactoryBattleRoom/events.inc +++ b/data/maps/BattleFrontier_BattleFactoryBattleRoom/events.inc @@ -1,12 +1,12 @@ BattleFrontier_BattleFactoryBattleRoom_EventObjects: @ 853CADC object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 0, 6, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 7, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 7, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 3, EVENT_OBJ_GFX_SCIENTIST_1, 0, 0, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 4, EVENT_OBJ_GFX_SCIENTIST_1, 0, 0, 8, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 5, EVENT_OBJ_GFX_SCIENTIST_1, 0, 12, 4, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 6, EVENT_OBJ_GFX_SCIENTIST_1, 0, 12, 6, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 7, EVENT_OBJ_GFX_SCIENTIST_1, 0, 12, 8, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 - object_event 8, 255, 0, 5, 11, 0, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 + object_event 8, EVENT_OBJ_GFX_VAR_F, 0, 5, 11, 0, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 BattleFrontier_BattleFactoryBattleRoom_MapEvents:: @ 853CB9C map_events BattleFrontier_BattleFactoryBattleRoom_EventObjects, 0x0, 0x0, 0x0 diff --git a/data/maps/BattleFrontier_BattlePalaceBattleRoom/events.inc b/data/maps/BattleFrontier_BattlePalaceBattleRoom/events.inc index 29818b1d60..8363f2bb57 100644 --- a/data/maps/BattleFrontier_BattlePalaceBattleRoom/events.inc +++ b/data/maps/BattleFrontier_BattlePalaceBattleRoom/events.inc @@ -1,6 +1,6 @@ BattleFrontier_BattlePalaceBattleRoom_EventObjects: @ 853C4FC - object_event 1, EVENT_OBJ_GFX_TRADER, 0, 1, 9, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 13, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 + object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 1, 9, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 13, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 3, EVENT_OBJ_GFX_EXPERT_M, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0 object_event 4, EVENT_OBJ_GFX_DUSCLOPS, 0, 13, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 5, EVENT_OBJ_GFX_AZURILL, 0, 13, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 diff --git a/data/maps/BattleFrontier_BattlePikeRandomRoom1/events.inc b/data/maps/BattleFrontier_BattlePikeRandomRoom1/events.inc index 580873720a..81dee29d15 100644 --- a/data/maps/BattleFrontier_BattlePikeRandomRoom1/events.inc +++ b/data/maps/BattleFrontier_BattlePikeRandomRoom1/events.inc @@ -1,6 +1,6 @@ BattleFrontier_BattlePikeRandomRoom1_EventObjects: @ 853CD54 - object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED, 0 - object_event 2, EVENT_OBJ_GFX_TRADER, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D, 0 + object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D7ED, 0 + object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 3, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_25D88D, 0 BattleFrontier_BattlePikeRandomRoom1_MapCoordEvents: @ 853CD84 coord_event 4, 3, 3, VAR_TEMP_1, 0, BattleFrontier_BattlePikeRandomRoom1_EventScript_2C40A2 diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc index 0fd75debb3..148e590af6 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom/events.inc @@ -1,5 +1,5 @@ BattleFrontier_BattleTowerBattleRoom_EventObjects: @ 853B7D0 - object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT + object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT object_event 2, EVENT_OBJ_GFX_TEALA, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0 object_event 3, EVENT_OBJ_GFX_TEALA, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 diff --git a/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc b/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc index 90232cf5be..f83bee69de 100644 --- a/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc +++ b/data/maps/BattleFrontier_BattleTowerBattleRoom2/events.inc @@ -1,10 +1,10 @@ BattleFrontier_BattleTowerBattleRoom2_EventObjects: @ 853BFC4 - object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT + object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT object_event 2, EVENT_OBJ_GFX_TEALA, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0 object_event 3, EVENT_OBJ_GFX_TEALA, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0 - object_event 4, EVENT_OBJ_GFX_TRADER, 0, 4, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT - object_event 5, 255, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 - object_event 6, 254, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 + object_event 4, EVENT_OBJ_GFX_VAR_1, 0, 4, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_BATTLE_TOWER_OPPONENT + object_event 5, EVENT_OBJ_GFX_VAR_F, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 + object_event 6, EVENT_OBJ_GFX_VAR_E, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 BattleFrontier_BattleTowerBattleRoom2_MapEvents:: @ 853C054 map_events BattleFrontier_BattleTowerBattleRoom2_EventObjects, 0x0, 0x0, 0x0 diff --git a/data/maps/BattleFrontier_BattleTowerCorridor2/events.inc b/data/maps/BattleFrontier_BattleTowerCorridor2/events.inc index 8f6a1e2f02..f96f149162 100644 --- a/data/maps/BattleFrontier_BattleTowerCorridor2/events.inc +++ b/data/maps/BattleFrontier_BattleTowerCorridor2/events.inc @@ -1,8 +1,8 @@ BattleFrontier_BattleTowerCorridor2_EventObjects: @ 853BF50 - object_event 1, 255, 0, 1, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 2, EVENT_OBJ_GFX_TEALA, 0, 14, 3, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 object_event 3, EVENT_OBJ_GFX_TEALA, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 - object_event 4, 254, 0, 14, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 + object_event 4, EVENT_OBJ_GFX_VAR_E, 0, 14, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 BattleFrontier_BattleTowerCorridor2_MapEvents:: @ 853BFB0 map_events BattleFrontier_BattleTowerCorridor2_EventObjects, 0x0, 0x0, 0x0 diff --git a/data/maps/BattleFrontier_BattleTowerLobby/events.inc b/data/maps/BattleFrontier_BattleTowerLobby/events.inc index d100dec0bb..6a78eaee69 100644 --- a/data/maps/BattleFrontier_BattleTowerLobby/events.inc +++ b/data/maps/BattleFrontier_BattleTowerLobby/events.inc @@ -4,7 +4,7 @@ BattleFrontier_BattleTowerLobby_EventObjects: @ 853B638 object_event 3, EVENT_OBJ_GFX_WOMAN_5, 0, 17, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFB5, 0 object_event 4, EVENT_OBJ_GFX_BOY_1, 0, 15, 9, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EFBE, 0 object_event 5, EVENT_OBJ_GFX_REPORTER_F, 0, 11, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_28CB96, FLAG_HIDE_BATTLE_TOWER_REPORTER - object_event 6, EVENT_OBJ_GFX_HIPSTER, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EventScript_Apprentice, FLAG_HIDE_APPRENTICE + object_event 6, EVENT_OBJ_GFX_VAR_0, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, EventScript_Apprentice, FLAG_HIDE_APPRENTICE object_event 7, EVENT_OBJ_GFX_TEALA, 0, 10, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EA9F, 0 object_event 8, EVENT_OBJ_GFX_TEALA, 0, 14, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23EC08, 0 object_event 9, EVENT_OBJ_GFX_TEALA, 0, 18, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, BattleFrontier_BattleTowerLobby_EventScript_23ED74, 0 diff --git a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc index 9212f2fd2b..9f3977075e 100644 --- a/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc +++ b/data/maps/BattleFrontier_BattleTowerMultiBattleRoom/events.inc @@ -1,13 +1,13 @@ BattleFrontier_BattleTowerMultiBattleRoom_EventObjects: @ 853BE64 object_event 1, EVENT_OBJ_GFX_TEALA, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243E7A, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 2, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 17, 11, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 6, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 8, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 10, 11, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6 - object_event 8, 246, 0, 15, 13, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1 - object_event 9, 247, 0, 4, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 2, 10, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243F29, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 17, 11, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_243FFB, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 6, 9, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244008, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 8, 13, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244015, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 10, 11, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244022, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24402F, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 15, 13, 3, MOVEMENT_TYPE_FACE_UP_AND_LEFT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_24403C, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_1 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 4, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, BattleFrontier_BattleTowerMultiBattleRoom_EventScript_244049, FLAG_HIDE_BATTLE_TOWER_MULTI_BATTLE_PARTNER_ALT_2 BattleFrontier_BattleTowerMultiBattleRoom_MapEvents:: @ 853BF3C map_events BattleFrontier_BattleTowerMultiBattleRoom_EventObjects, 0x0, 0x0, 0x0 diff --git a/data/maps/EverGrandeCity_ChampionsRoom/events.inc b/data/maps/EverGrandeCity_ChampionsRoom/events.inc index bd4cc71e32..9ce5831ba9 100644 --- a/data/maps/EverGrandeCity_ChampionsRoom/events.inc +++ b/data/maps/EverGrandeCity_ChampionsRoom/events.inc @@ -1,6 +1,6 @@ EverGrandeCity_ChampionsRoom_EventObjects: @ 8533700 object_event 1, EVENT_OBJ_GFX_WALLACE, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_CHAMPIONS_ROOM_RIVAL + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_CHAMPIONS_ROOM_RIVAL object_event 3, EVENT_OBJ_GFX_PROF_BIRCH, 0, 6, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_CHAMPIONS_ROOM_BIRCH EverGrandeCity_ChampionsRoom_MapWarps: @ 8533748 diff --git a/data/maps/FallarborTown_BattleTentBattleRoom/events.inc b/data/maps/FallarborTown_BattleTentBattleRoom/events.inc index f3c8838e6a..681f5b0285 100644 --- a/data/maps/FallarborTown_BattleTentBattleRoom/events.inc +++ b/data/maps/FallarborTown_BattleTentBattleRoom/events.inc @@ -1,7 +1,7 @@ FallarborTown_BattleTentBattleRoom_EventObjects: @ 852E444 - object_event 1, EVENT_OBJ_GFX_TRADER, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 + object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 object_event 2, EVENT_OBJ_GFX_BLACK_BELT, 0, 3, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 - object_event 3, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 + object_event 3, EVENT_OBJ_GFX_VAR_0, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 FallarborTown_BattleTentBattleRoom_MapEvents:: @ 852E48C map_events FallarborTown_BattleTentBattleRoom_EventObjects, 0x0, 0x0, 0x0 diff --git a/data/maps/LavaridgeTown/events.inc b/data/maps/LavaridgeTown/events.inc index 4822762ea2..6d34ee5c80 100644 --- a/data/maps/LavaridgeTown/events.inc +++ b/data/maps/LavaridgeTown/events.inc @@ -5,8 +5,8 @@ LavaridgeTown_EventObjects: @ 8527A54 object_event 4, EVENT_OBJ_GFX_TWIN, 0, 10, 13, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 2, 0, 0, LavaridgeTown_EventScript_1EA720, 0 object_event 5, EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 0, 4, 4, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA729, 0 object_event 6, EVENT_OBJ_GFX_HOT_SPRINGS_OLD_WOMAN, 0, 5, 4, 3, MOVEMENT_TYPE_FACE_DOWN_AND_LEFT, 0, 0, 0, 0, LavaridgeTown_EventScript_1EA732, 0 - object_event 7, EVENT_OBJ_GFX_GIDDY, 0, 6, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2 - object_event 8, EVENT_OBJ_GFX_HIPSTER, 0, 12, 15, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1 + object_event 7, EVENT_OBJ_GFX_VAR_3, 0, 6, 16, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_2 + object_event 8, EVENT_OBJ_GFX_VAR_0, 0, 12, 15, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_LAVARIDGE_TOWN_RIVAL_1 object_event 9, EVENT_OBJ_GFX_EXPERT_F, 0, 4, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LavaridgeTown_EventScript_1EA744, 0 LavaridgeTown_MapWarps: @ 8527B2C diff --git a/data/maps/LilycoveCity/events.inc b/data/maps/LilycoveCity/events.inc index 2c7f71d5c8..68a7822120 100644 --- a/data/maps/LilycoveCity/events.inc +++ b/data/maps/LilycoveCity/events.inc @@ -15,7 +15,7 @@ LilycoveCity_EventObjects: @ 8526CE8 object_event 14, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 45, 12, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DC3, FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS object_event 15, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 38, 9, 5, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, LilycoveCity_EventScript_1E2DCC, FLAG_HIDE_LILYCOVE_CITY_AQUA_GRUNTS object_event 16, EVENT_OBJ_GFX_GENTLEMAN, 0, 50, 7, 5, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LilycoveCity_EventScript_1E2BD8, 0 - object_event 17, EVENT_OBJ_GFX_HIPSTER, 0, 27, 7, 5, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_EventScript_1E2DDE, FLAG_HIDE_LILYCOVE_CITY_RIVAL + object_event 17, EVENT_OBJ_GFX_VAR_0, 0, 27, 7, 5, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LilycoveCity_EventScript_1E2DDE, FLAG_HIDE_LILYCOVE_CITY_RIVAL object_event 18, EVENT_OBJ_GFX_SCHOOL_KID_M, 0, 16, 23, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, LilycoveCity_EventScript_1E302D, 0 object_event 19, EVENT_OBJ_GFX_WOMAN_3, 0, 41, 25, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, LilycoveCity_EventScript_1E2CEE, 0 object_event 20, EVENT_OBJ_GFX_MAN_2, 0, 40, 25, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, LilycoveCity_EventScript_1E2CDD, 0 diff --git a/data/maps/LilycoveCity_PokemonCenter_1F/events.inc b/data/maps/LilycoveCity_PokemonCenter_1F/events.inc index 3ab130771d..26b6955c0a 100644 --- a/data/maps/LilycoveCity_PokemonCenter_1F/events.inc +++ b/data/maps/LilycoveCity_PokemonCenter_1F/events.inc @@ -2,8 +2,8 @@ LilycoveCity_PokemonCenter_1F_EventObjects: @ 8531BCC object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5E8, 0 object_event 2, EVENT_OBJ_GFX_BOY_1, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5F6, 0 object_event 3, EVENT_OBJ_GFX_MANIAC, 0, 11, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_21C5FF, 0 - object_event 4, EVENT_OBJ_GFX_HIPSTER, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A836B, 0 - object_event 5, EVENT_OBJ_GFX_TRADER, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A89C7, FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY + object_event 4, EVENT_OBJ_GFX_VAR_0, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A836B, 0 + object_event 5, EVENT_OBJ_GFX_VAR_1, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LilycoveCity_PokemonCenter_1F_EventScript_2A89C7, FLAG_HIDE_LILYCOVE_POKEMON_CENTER_LADY LilycoveCity_PokemonCenter_1F_MapWarps: @ 8531C44 warp_def 7, 8, 3, 2, MAP_LILYCOVE_CITY diff --git a/data/maps/LinkContestRoom1/events.inc b/data/maps/LinkContestRoom1/events.inc index 99eeef56fb..5c1a3b9f41 100644 --- a/data/maps/LinkContestRoom1/events.inc +++ b/data/maps/LinkContestRoom1/events.inc @@ -1,18 +1,18 @@ LinkContestRoom1_EventObjects: @ 8539EFC object_event 1, EVENT_OBJ_GFX_WOMAN_3, 0, 6, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 object_event 2, EVENT_OBJ_GFX_CONTEST_JUDGE, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 - object_event 3, EVENT_OBJ_GFX_HIPSTER, 0, 4, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 - object_event 4, EVENT_OBJ_GFX_TRADER, 0, 6, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 - object_event 5, EVENT_OBJ_GFX_STORYTELLER, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 2, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0 - object_event 7, 246, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 - object_event 8, 247, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 - object_event 9, 248, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 - object_event 10, 249, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 - object_event 11, 250, 0, 12, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0 - object_event 12, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 2, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0 + object_event 3, EVENT_OBJ_GFX_VAR_0, 0, 4, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 + object_event 4, EVENT_OBJ_GFX_VAR_1, 0, 6, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 + object_event 5, EVENT_OBJ_GFX_VAR_2, 0, 8, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 2, 6, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0 + object_event 7, EVENT_OBJ_GFX_VAR_6, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 + object_event 8, EVENT_OBJ_GFX_VAR_7, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 + object_event 9, EVENT_OBJ_GFX_VAR_8, 0, 9, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 + object_event 10, EVENT_OBJ_GFX_VAR_9, 0, 10, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, 0 + object_event 11, EVENT_OBJ_GFX_VAR_A, 0, 12, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0 + object_event 12, EVENT_OBJ_GFX_VAR_5, 0, 2, 5, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, 0 object_event 13, EVENT_OBJ_GFX_ITEM_BALL, 0, 7, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_LINK_CONTEST_POKE_BALL - object_event 14, EVENT_OBJ_GFX_GIDDY, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 + object_event 14, EVENT_OBJ_GFX_VAR_3, 0, 10, 7, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, 0 object_event 15, EVENT_OBJ_GFX_ARTIST, 0, 12, 6, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0 LinkContestRoom1_MapEvents:: @ 853A064 diff --git a/data/maps/LittlerootTown/events.inc b/data/maps/LittlerootTown/events.inc index 71bf9a6436..fc151a2205 100644 --- a/data/maps/LittlerootTown/events.inc +++ b/data/maps/LittlerootTown/events.inc @@ -5,7 +5,7 @@ LittlerootTown_EventObjects: @ 85276A8 object_event 4, EVENT_OBJ_GFX_MOM, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, LittlerootTown_EventScript_1E863D, FLAG_HIDE_LITTLEROOT_TOWN_MOM_OUTSIDE object_event 5, EVENT_OBJ_GFX_TRUCK, 0, 2, 10, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_TRUCK object_event 6, EVENT_OBJ_GFX_TRUCK, 0, 11, 10, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_TRUCK - object_event 7, EVENT_OBJ_GFX_HIPSTER, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_RIVAL + object_event 7, EVENT_OBJ_GFX_VAR_0, 0, 13, 10, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_RIVAL object_event 8, EVENT_OBJ_GFX_PROF_BIRCH, 0, 14, 10, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_BIRCH LittlerootTown_MapWarps: @ 8527768 diff --git a/data/maps/LittlerootTown_BrendansHouse_2F/events.inc b/data/maps/LittlerootTown_BrendansHouse_2F/events.inc index 07ce48998b..46a4fcfc22 100644 --- a/data/maps/LittlerootTown_BrendansHouse_2F/events.inc +++ b/data/maps/LittlerootTown_BrendansHouse_2F/events.inc @@ -1,17 +1,17 @@ LittlerootTown_BrendansHouse_2F_EventObjects: @ 852D1A0 object_event 1, EVENT_OBJ_GFX_RIVAL_BRENDAN_NORMAL, 0, 7, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F94C1, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_RIVAL_BEDROOM - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 1, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 5, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 4, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 1, 0, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 1, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 2, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 3, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 4, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 5, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 object_event 14, EVENT_OBJ_GFX_MOM, 0, 7, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM object_event 15, EVENT_OBJ_GFX_ITEM_BALL, 0, 3, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, LittlerootTown_BrendansHouse_2F_EventScript_1F8481, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_POKE_BALL object_event 16, EVENT_OBJ_GFX_SWABLU_DOLL, 0, 5, 5, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_BRENDANS_HOUSE_2F_SWABLU_DOLL diff --git a/data/maps/LittlerootTown_MaysHouse_2F/events.inc b/data/maps/LittlerootTown_MaysHouse_2F/events.inc index 8c93a570a9..8f4c74737d 100644 --- a/data/maps/LittlerootTown_MaysHouse_2F/events.inc +++ b/data/maps/LittlerootTown_MaysHouse_2F/events.inc @@ -1,17 +1,17 @@ LittlerootTown_MaysHouse_2F_EventObjects: @ 852D480 object_event 1, EVENT_OBJ_GFX_RIVAL_MAY_NORMAL, 0, 1, 1, 0, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F94C1, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_RIVAL_BEDROOM - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 1, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 2, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 3, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 4, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 5, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 2, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 3, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 5, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 1, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 2, 6, 0, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 3, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 4, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 5, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 2, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 3, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 4, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 5, 7, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 object_event 14, EVENT_OBJ_GFX_MOM, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 0, 0, 0, 0x0, FLAG_HIDE_LITTLE_ROOT_TOWN_PLAYERS_BEDROOM_MOM object_event 15, EVENT_OBJ_GFX_PICHU_DOLL, 0, 3, 4, 4, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_PICHU_DOLL object_event 16, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 4, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, LittlerootTown_MaysHouse_2F_EventScript_1F9334, FLAG_HIDE_LITTLEROOT_TOWN_MAYS_HOUSE_2F_POKE_BALL diff --git a/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc b/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc index 4eb310f74e..7ab449ecda 100644 --- a/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc +++ b/data/maps/LittlerootTown_ProfessorBirchsLab/events.inc @@ -1,7 +1,7 @@ LittlerootTown_ProfessorBirchsLab_EventObjects: @ 852D64C object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 9, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9F84, 0 object_event 2, EVENT_OBJ_GFX_PROF_BIRCH, 0, 6, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA25A, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_BIRCH - object_event 3, EVENT_OBJ_GFX_HIPSTER, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL + object_event 3, EVENT_OBJ_GFX_VAR_0, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA3EC, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_RIVAL object_event 4, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FBB, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CYNDAQUIL object_event 5, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1F9FEF, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_TOTODILE object_event 6, EVENT_OBJ_GFX_ITEM_BALL, 0, 6, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, LittlerootTown_ProfessorBirchsLab_EventScript_1FA023, FLAG_HIDE_LITTLEROOT_TOWN_BIRCHS_LAB_POKEBALL_CHIKORITA diff --git a/data/maps/MauvilleCity_PokemonCenter_1F/events.inc b/data/maps/MauvilleCity_PokemonCenter_1F/events.inc index f83ab5e458..daf747e0d5 100644 --- a/data/maps/MauvilleCity_PokemonCenter_1F/events.inc +++ b/data/maps/MauvilleCity_PokemonCenter_1F/events.inc @@ -1,6 +1,6 @@ MauvilleCity_PokemonCenter_1F_EventObjects: @ 85301C8 object_event 1, EVENT_OBJ_GFX_NURSE, 0, 7, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E78, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_28E066, 0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 2, 3, 3, MOVEMENT_TYPE_FACE_LEFT, 1, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_28E066, 0 object_event 3, EVENT_OBJ_GFX_WOMAN_1, 0, 8, 6, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E86, 0 object_event 4, EVENT_OBJ_GFX_WOMAN_5, 0, 11, 4, 3, MOVEMENT_TYPE_WANDER_UP_AND_DOWN, 0, 1, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E8F, 0 object_event 5, EVENT_OBJ_GFX_YOUNGSTER, 0, 2, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, MauvilleCity_PokemonCenter_1F_EventScript_210E98, 0 diff --git a/data/maps/MossdeepCity_GameCorner_B1F/events.inc b/data/maps/MossdeepCity_GameCorner_B1F/events.inc index 58ca66fd27..0737cd7e01 100644 --- a/data/maps/MossdeepCity_GameCorner_B1F/events.inc +++ b/data/maps/MossdeepCity_GameCorner_B1F/events.inc @@ -1,5 +1,5 @@ MossdeepCity_GameCorner_B1F_EventObjects: @ 8532FC0 - object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0 + object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 6, 5, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, 0x0, 0 MossdeepCity_GameCorner_B1F_MapWarps: @ 8532FD8 warp_def 3, 1, 0, 2, MAP_MOSSDEEP_CITY_GAME_CORNER_1F diff --git a/data/maps/OldaleTown/events.inc b/data/maps/OldaleTown/events.inc index bbf84390c8..a3bc51483b 100644 --- a/data/maps/OldaleTown/events.inc +++ b/data/maps/OldaleTown/events.inc @@ -2,7 +2,7 @@ OldaleTown_EventObjects: @ 8527854 object_event 1, EVENT_OBJ_GFX_GIRL_3, 0, 16, 11, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, OldaleTown_EventScript_1E8EF3, 0 object_event 2, EVENT_OBJ_GFX_MART_EMPLOYEE, 0, 13, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, OldaleTown_EventScript_1E8EFC, 0 object_event 3, EVENT_OBJ_GFX_MANIAC, 0, 8, 9, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, OldaleTown_EventScript_1E901F, 0 - object_event 4, EVENT_OBJ_GFX_HIPSTER, 0, 11, 19, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, OldaleTown_EventScript_1E9070, FLAG_HIDE_OLDALE_TOWN_RIVAL + object_event 4, EVENT_OBJ_GFX_VAR_0, 0, 11, 19, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, OldaleTown_EventScript_1E9070, FLAG_HIDE_OLDALE_TOWN_RIVAL OldaleTown_MapWarps: @ 85278B4 warp_def 5, 7, 0, 0, MAP_OLDALE_TOWN_HOUSE1 diff --git a/data/maps/Route103/events.inc b/data/maps/Route103/events.inc index 30a7292a0e..5a6cc8866c 100644 --- a/data/maps/Route103/events.inc +++ b/data/maps/Route103/events.inc @@ -1,6 +1,6 @@ Route103_EventObjects: @ 85280DC object_event 1, EVENT_OBJ_GFX_MAN_3, 0, 49, 12, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 0, 0, Route103_EventScript_1EC5E2, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 10, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route103_EventScript_1EC3C1, FLAG_HIDE_ROUTE_103_RIVAL + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 10, 3, 3, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route103_EventScript_1EC3C1, FLAG_HIDE_ROUTE_103_RIVAL object_event 3, EVENT_OBJ_GFX_WOMAN_2, 0, 71, 11, 3, MOVEMENT_TYPE_FACE_DOWN_AND_RIGHT, 0, 0, 1, 3, Route103_EventScript_1EC5F4, 0 object_event 4, EVENT_OBJ_GFX_TWIN, 0, 65, 12, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route103_EventScript_1EC66E, 0 object_event 5, EVENT_OBJ_GFX_TWIN, 0, 64, 12, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 1, Route103_EventScript_1EC60B, 0 diff --git a/data/maps/Route104/events.inc b/data/maps/Route104/events.inc index 889ef35951..53e868559d 100644 --- a/data/maps/Route104/events.inc +++ b/data/maps/Route104/events.inc @@ -32,7 +32,7 @@ Route104_EventObjects: @ 85282E4 object_event 31, EVENT_OBJ_GFX_ITEM_BALL, 0, 5, 8, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_290D26, FLAG_ITEM_ROUTE_104_POTION object_event 32, EVENT_OBJ_GFX_BOY_2, 0, 5, 26, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1ED057, 0 object_event 33, EVENT_OBJ_GFX_FISHERMAN, 0, 15, 59, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 0, Route104_EventScript_1ED5D5, 0 - object_event 34, EVENT_OBJ_GFX_HIPSTER, 0, 17, 50, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1ECC9E, FLAG_HIDE_ROUTE_104_RIVAL + object_event 34, EVENT_OBJ_GFX_VAR_0, 0, 17, 50, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route104_EventScript_1ECC9E, FLAG_HIDE_ROUTE_104_RIVAL Route104_MapWarps: @ 8528614 warp_def 17, 50, 0, 0, MAP_ROUTE104_MR_BRINEYS_HOUSE diff --git a/data/maps/Route110/events.inc b/data/maps/Route110/events.inc index 221dd6f6ce..b50e5eec6d 100644 --- a/data/maps/Route110/events.inc +++ b/data/maps/Route110/events.inc @@ -26,8 +26,8 @@ Route110_EventObjects: @ 8528CF0 object_event 25, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 10, 83, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, Route110_EventScript_1EF2EC, FLAG_HIDE_ROUTE_110_TEAM_AQUA object_event 26, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 8, 82, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_TEAM_AQUA object_event 27, EVENT_OBJ_GFX_CYCLING_TRIATHLETE_M, 0, 21, 78, 4, MOVEMENT_TYPE_WALK_SEQUENCE_LEFT_UP_RIGHT_DOWN, 7, 1, 1, 2, Route110_EventScript_1EF499, 0 - object_event 28, EVENT_OBJ_GFX_HIPSTER, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_RIVAL_1 - object_event 29, EVENT_OBJ_GFX_GIDDY, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_RIVAL_2 + object_event 28, EVENT_OBJ_GFX_VAR_0, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_RIVAL_1 + object_event 29, EVENT_OBJ_GFX_VAR_3, 0, 34, 54, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_110_RIVAL_2 object_event 30, EVENT_OBJ_GFX_YOUNGSTER, 0, 33, 69, 3, MOVEMENT_TYPE_FACE_LEFT_AND_RIGHT, 0, 0, 1, 3, Route110_EventScript_1EF604, 0 object_event 31, EVENT_OBJ_GFX_POKEFAN_F, 0, 10, 76, 3, MOVEMENT_TYPE_FACE_LEFT, 0, 0, 1, 2, Route110_EventScript_1EF5A2, 0 object_event 32, EVENT_OBJ_GFX_POKEFAN_M, 0, 7, 76, 3, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 1, 2, Route110_EventScript_1EF61C, 0 diff --git a/data/maps/Route111/events.inc b/data/maps/Route111/events.inc index 25e1beeba8..975141b73f 100644 --- a/data/maps/Route111/events.inc +++ b/data/maps/Route111/events.inc @@ -43,7 +43,7 @@ Route111_EventObjects: @ 85291F0 object_event 42, EVENT_OBJ_GFX_ITEM_BALL, 0, 19, 118, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, Route111_EventScript_290DC2, FLAG_ITEM_ROUTE_111_ELIXIR object_event 43, EVENT_OBJ_GFX_HIKER, 0, 14, 56, 3, MOVEMENT_TYPE_FACE_UP_AND_RIGHT, 1, 1, 0, 0, Route111_EventScript_1F119B, 0 object_event 44, EVENT_OBJ_GFX_FOSSIL, 0, 20, 53, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_111_DESERT_FOSSIL - object_event 45, EVENT_OBJ_GFX_HIPSTER, 0, 19, 53, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_111_PLAYER_DESCENT + object_event 45, EVENT_OBJ_GFX_VAR_0, 0, 19, 53, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, FLAG_HIDE_ROUTE_111_PLAYER_DESCENT object_event 46, EVENT_OBJ_GFX_FAT_MAN, 0, 19, 101, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, Route111_EventScript_1F11E4, FLAG_HIDE_ROUTE_111_ROCK_SMASH_TIP_GUY Route111_MapWarps: @ 8529640 diff --git a/data/maps/Route119/events.inc b/data/maps/Route119/events.inc index 3a7d1422bb..86ec2d2be3 100644 --- a/data/maps/Route119/events.inc +++ b/data/maps/Route119/events.inc @@ -14,7 +14,7 @@ Route119_EventObjects: @ 852AD6C object_event 13, EVENT_OBJ_GFX_NINJA_BOY, 0, 19, 49, 3, MOVEMENT_TYPE_MOUNTAIN_DISGUISE, 0, 0, 1, 3, Route119_EventScript_1F4919, 0 object_event 14, EVENT_OBJ_GFX_MAN_5, 0, 10, 50, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 1, 3, Route119_EventScript_1F48D4, 0 object_event 15, EVENT_OBJ_GFX_MAN_5, 0, 8, 63, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 1, 5, Route119_EventScript_1F48EB, 0 - object_event 16, EVENT_OBJ_GFX_HIPSTER, 0, 25, 32, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_RIVAL + object_event 16, EVENT_OBJ_GFX_VAR_0, 0, 25, 32, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_RIVAL object_event 17, EVENT_OBJ_GFX_ITEM_BALL, 0, 12, 121, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EE0, FLAG_ITEM_ROUTE_119_SUPER_REPEL object_event 18, EVENT_OBJ_GFX_ITEM_BALL, 0, 4, 96, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EED, FLAG_ITEM_ROUTE_119_ZINC object_event 19, EVENT_OBJ_GFX_ITEM_BALL, 0, 29, 53, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290EFA, FLAG_ITEM_ROUTE_119_ELIXIR_1 @@ -23,7 +23,7 @@ Route119_EventObjects: @ 852AD6C object_event 22, EVENT_OBJ_GFX_ITEM_BALL, 0, 33, 117, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, Route119_EventScript_290F21, FLAG_ITEM_ROUTE_119_HYPER_POTION_1 object_event 23, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 33, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route119_EventScript_1F49A3, FLAG_HIDE_ROUTE_119_TEAM_AQUA object_event 24, EVENT_OBJ_GFX_AQUA_MEMBER_M, 0, 13, 34, 4, MOVEMENT_TYPE_FACE_RIGHT, 0, 0, 0, 0, Route119_EventScript_1F49BA, FLAG_HIDE_ROUTE_119_TEAM_AQUA - object_event 25, EVENT_OBJ_GFX_GIDDY, 0, 17, 33, 4, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE + object_event 25, EVENT_OBJ_GFX_VAR_3, 0, 17, 33, 4, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_ROUTE_119_RIVAL_ON_BIKE object_event 26, EVENT_OBJ_GFX_BOY_3, 0, 31, 109, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, Route119_EventScript_1F49D1, 0 object_event 27, EVENT_OBJ_GFX_BERRY_TREE, 0, 8, 23, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 83, BerryTreeScript, 0 object_event 28, EVENT_OBJ_GFX_BERRY_TREE, 0, 9, 23, 3, MOVEMENT_TYPE_BERRY_TREE_GROWTH, 0, 0, 0, 84, BerryTreeScript, 0 diff --git a/data/maps/RustboroCity/events.inc b/data/maps/RustboroCity/events.inc index 48d125d0f9..b2bcfa7cac 100644 --- a/data/maps/RustboroCity/events.inc +++ b/data/maps/RustboroCity/events.inc @@ -12,7 +12,7 @@ RustboroCity_EventObjects: @ 85267E0 object_event 11, EVENT_OBJ_GFX_DEVON_EMPLOYEE, 0, 13, 34, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_1E087E, 0 object_event 12, EVENT_OBJ_GFX_ITEM_BALL, 0, 36, 51, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 0, 0, 0, RustboroCity_EventScript_2910DB, FLAG_ITEM_RUSTBORO_CITY_X_DEFEND object_event 13, EVENT_OBJ_GFX_MAN_4, 0, 19, 27, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 1, 0, 0, RustboroCity_EventScript_1E094E, 0 - object_event 14, EVENT_OBJ_GFX_HIPSTER, 0, 16, 50, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_1E0DB8, FLAG_HIDE_RUSBORO_CITY_RIVAL + object_event 14, EVENT_OBJ_GFX_VAR_0, 0, 16, 50, 3, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, RustboroCity_EventScript_1E0DB8, FLAG_HIDE_RUSBORO_CITY_RIVAL object_event 15, EVENT_OBJ_GFX_SCIENTIST_1, 0, 11, 15, 0, MOVEMENT_TYPE_LOOK_AROUND, 1, 1, 0, 0, 0x0, FLAG_HIDE_RUSTBORO_CITY_SCIENTIST object_event 16, EVENT_OBJ_GFX_BOY_1, 0, 31, 36, 3, MOVEMENT_TYPE_LOOK_AROUND, 0, 1, 0, 0, RustboroCity_EventScript_1E1236, 0 diff --git a/data/maps/SecretBase_BlueCave1/events.inc b/data/maps/SecretBase_BlueCave1/events.inc index 87361e0825..95e52b889f 100644 --- a/data/maps/SecretBase_BlueCave1/events.inc +++ b/data/maps/SecretBase_BlueCave1/events.inc @@ -1,19 +1,19 @@ SecretBase_BlueCave1_EventObjects: @ 8537BEC - object_event 1, 255, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave1_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 4, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave1_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BlueCave1_MapWarps: @ 8537D54 warp_def 5, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_BlueCave2/events.inc b/data/maps/SecretBase_BlueCave2/events.inc index ad584e2bb6..62c4b8dcda 100644 --- a/data/maps/SecretBase_BlueCave2/events.inc +++ b/data/maps/SecretBase_BlueCave2/events.inc @@ -1,19 +1,19 @@ SecretBase_BlueCave2_EventObjects: @ 8538504 - object_event 1, 255, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave2_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave2_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BlueCave2_MapWarps: @ 853866C warp_def 7, 5, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_BlueCave3/events.inc b/data/maps/SecretBase_BlueCave3/events.inc index af85949d33..14c7460adf 100644 --- a/data/maps/SecretBase_BlueCave3/events.inc +++ b/data/maps/SecretBase_BlueCave3/events.inc @@ -1,19 +1,19 @@ SecretBase_BlueCave3_EventObjects: @ 8538E1C - object_event 1, 255, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave3_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave3_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BlueCave3_MapWarps: @ 8538F84 warp_def 4, 15, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_BlueCave4/events.inc b/data/maps/SecretBase_BlueCave4/events.inc index 6ff0d4e67f..1d047cd42f 100644 --- a/data/maps/SecretBase_BlueCave4/events.inc +++ b/data/maps/SecretBase_BlueCave4/events.inc @@ -1,19 +1,19 @@ SecretBase_BlueCave4_EventObjects: @ 8539734 - object_event 1, 255, 0, 5, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave4_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 13, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BlueCave4_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BlueCave4_MapWarps: @ 853989C warp_def 4, 15, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_BrownCave1/events.inc b/data/maps/SecretBase_BrownCave1/events.inc index 5a49bb7047..43d1445351 100644 --- a/data/maps/SecretBase_BrownCave1/events.inc +++ b/data/maps/SecretBase_BrownCave1/events.inc @@ -1,19 +1,19 @@ SecretBase_BrownCave1_EventObjects: @ 8537A68 - object_event 1, 255, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave1_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave1_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BrownCave1_MapWarps: @ 8537BD0 warp_def 5, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_BrownCave2/events.inc b/data/maps/SecretBase_BrownCave2/events.inc index 569b808bde..09bb033277 100644 --- a/data/maps/SecretBase_BrownCave2/events.inc +++ b/data/maps/SecretBase_BrownCave2/events.inc @@ -1,19 +1,19 @@ SecretBase_BrownCave2_EventObjects: @ 8538380 - object_event 1, 255, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave2_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 11, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave2_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BrownCave2_MapWarps: @ 85384E8 warp_def 1, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_BrownCave3/events.inc b/data/maps/SecretBase_BrownCave3/events.inc index 4dd9655b8d..12ec865878 100644 --- a/data/maps/SecretBase_BrownCave3/events.inc +++ b/data/maps/SecretBase_BrownCave3/events.inc @@ -1,19 +1,19 @@ SecretBase_BrownCave3_EventObjects: @ 8538C98 - object_event 1, 255, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave3_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave3_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BrownCave3_MapWarps: @ 8538E00 warp_def 11, 9, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_BrownCave4/events.inc b/data/maps/SecretBase_BrownCave4/events.inc index 506c3cafc0..15fab00be7 100644 --- a/data/maps/SecretBase_BrownCave4/events.inc +++ b/data/maps/SecretBase_BrownCave4/events.inc @@ -1,19 +1,19 @@ SecretBase_BrownCave4_EventObjects: @ 85395B0 - object_event 1, 255, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave4_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 2, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_BrownCave4_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_BrownCave4_MapWarps: @ 8539718 warp_def 2, 8, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_RedCave1/events.inc b/data/maps/SecretBase_RedCave1/events.inc index edc9b8e786..e0d7180681 100644 --- a/data/maps/SecretBase_RedCave1/events.inc +++ b/data/maps/SecretBase_RedCave1/events.inc @@ -1,19 +1,19 @@ SecretBase_RedCave1_EventObjects: @ 85378E4 - object_event 1, 255, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave1_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 7, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave1_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_RedCave1_MapWarps: @ 8537A4C warp_def 5, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_RedCave2/events.inc b/data/maps/SecretBase_RedCave2/events.inc index c5817721e7..365e3f353d 100644 --- a/data/maps/SecretBase_RedCave2/events.inc +++ b/data/maps/SecretBase_RedCave2/events.inc @@ -1,19 +1,19 @@ SecretBase_RedCave2_EventObjects: @ 85381FC - object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave2_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave2_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_RedCave2_MapWarps: @ 8538364 warp_def 3, 14, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_RedCave3/events.inc b/data/maps/SecretBase_RedCave3/events.inc index af7854d9ec..16e14d49fd 100644 --- a/data/maps/SecretBase_RedCave3/events.inc +++ b/data/maps/SecretBase_RedCave3/events.inc @@ -1,19 +1,19 @@ SecretBase_RedCave3_EventObjects: @ 8538B14 - object_event 1, 255, 0, 12, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave3_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 12, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave3_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_RedCave3_MapWarps: @ 8538C7C warp_def 3, 6, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_RedCave4/events.inc b/data/maps/SecretBase_RedCave4/events.inc index 181e8d7c6e..eaf2275067 100644 --- a/data/maps/SecretBase_RedCave4/events.inc +++ b/data/maps/SecretBase_RedCave4/events.inc @@ -1,19 +1,19 @@ SecretBase_RedCave4_EventObjects: @ 853942C - object_event 1, 255, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave4_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_RedCave4_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_RedCave4_MapWarps: @ 8539594 warp_def 2, 12, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Shrub1/events.inc b/data/maps/SecretBase_Shrub1/events.inc index aa8054a808..07eb2e1bd0 100644 --- a/data/maps/SecretBase_Shrub1/events.inc +++ b/data/maps/SecretBase_Shrub1/events.inc @@ -1,19 +1,19 @@ SecretBase_Shrub1_EventObjects: @ 8538078 - object_event 1, 255, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub1_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub1_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Shrub1_MapWarps: @ 85381E0 warp_def 5, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Shrub2/events.inc b/data/maps/SecretBase_Shrub2/events.inc index ecbbdfcb4d..385500c5fd 100644 --- a/data/maps/SecretBase_Shrub2/events.inc +++ b/data/maps/SecretBase_Shrub2/events.inc @@ -1,19 +1,19 @@ SecretBase_Shrub2_EventObjects: @ 8538990 - object_event 1, 255, 0, 13, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub2_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 13, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub2_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Shrub2_MapWarps: @ 8538AF8 warp_def 7, 5, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Shrub3/events.inc b/data/maps/SecretBase_Shrub3/events.inc index 2a280d6c53..8cc399fed5 100644 --- a/data/maps/SecretBase_Shrub3/events.inc +++ b/data/maps/SecretBase_Shrub3/events.inc @@ -1,19 +1,19 @@ SecretBase_Shrub3_EventObjects: @ 85392A8 - object_event 1, 255, 0, 5, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub3_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub3_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Shrub3_MapWarps: @ 8539410 warp_def 6, 9, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Shrub4/events.inc b/data/maps/SecretBase_Shrub4/events.inc index bef5f0ca20..16dfd4ba12 100644 --- a/data/maps/SecretBase_Shrub4/events.inc +++ b/data/maps/SecretBase_Shrub4/events.inc @@ -1,19 +1,19 @@ SecretBase_Shrub4_EventObjects: @ 8539BC0 - object_event 1, 255, 0, 9, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub4_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 9, 7, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Shrub4_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Shrub4_MapWarps: @ 8539D28 warp_def 11, 8, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Tree1/events.inc b/data/maps/SecretBase_Tree1/events.inc index a2863ced7c..8c7c05e6ea 100644 --- a/data/maps/SecretBase_Tree1/events.inc +++ b/data/maps/SecretBase_Tree1/events.inc @@ -1,19 +1,19 @@ SecretBase_Tree1_EventObjects: @ 8537EF4 - object_event 1, 255, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree1_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree1_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Tree1_MapWarps: @ 853805C warp_def 5, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Tree2/events.inc b/data/maps/SecretBase_Tree2/events.inc index d930de64fa..e6b5c627b6 100644 --- a/data/maps/SecretBase_Tree2/events.inc +++ b/data/maps/SecretBase_Tree2/events.inc @@ -1,19 +1,19 @@ SecretBase_Tree2_EventObjects: @ 853880C - object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree2_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree2_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Tree2_MapWarps: @ 8538974 warp_def 3, 14, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Tree3/events.inc b/data/maps/SecretBase_Tree3/events.inc index 6dda3e303a..921c4f1022 100644 --- a/data/maps/SecretBase_Tree3/events.inc +++ b/data/maps/SecretBase_Tree3/events.inc @@ -1,19 +1,19 @@ SecretBase_Tree3_EventObjects: @ 8539124 - object_event 1, 255, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree3_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree3_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Tree3_MapWarps: @ 853928C warp_def 8, 6, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_Tree4/events.inc b/data/maps/SecretBase_Tree4/events.inc index 493bc93db4..ee2495e790 100644 --- a/data/maps/SecretBase_Tree4/events.inc +++ b/data/maps/SecretBase_Tree4/events.inc @@ -1,19 +1,19 @@ SecretBase_Tree4_EventObjects: @ 8539A3C - object_event 1, 255, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree4_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 10, 9, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_Tree4_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_Tree4_MapWarps: @ 8539BA4 warp_def 7, 12, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_YellowCave1/events.inc b/data/maps/SecretBase_YellowCave1/events.inc index 04045999a9..6beae3454e 100644 --- a/data/maps/SecretBase_YellowCave1/events.inc +++ b/data/maps/SecretBase_YellowCave1/events.inc @@ -1,19 +1,19 @@ SecretBase_YellowCave1_EventObjects: @ 8537D70 - object_event 1, 255, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave1_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 3, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave1_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_YellowCave1_MapWarps: @ 8537ED8 warp_def 5, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_YellowCave2/events.inc b/data/maps/SecretBase_YellowCave2/events.inc index d26d337ae4..9378718c4a 100644 --- a/data/maps/SecretBase_YellowCave2/events.inc +++ b/data/maps/SecretBase_YellowCave2/events.inc @@ -1,19 +1,19 @@ SecretBase_YellowCave2_EventObjects: @ 8538688 - object_event 1, 255, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave2_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave2_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_YellowCave2_MapWarps: @ 85387F0 warp_def 12, 7, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_YellowCave3/events.inc b/data/maps/SecretBase_YellowCave3/events.inc index e888677b48..3a60b042b5 100644 --- a/data/maps/SecretBase_YellowCave3/events.inc +++ b/data/maps/SecretBase_YellowCave3/events.inc @@ -1,19 +1,19 @@ SecretBase_YellowCave3_EventObjects: @ 8538FA0 - object_event 1, 255, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave3_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 7, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave3_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_YellowCave3_MapWarps: @ 8539108 warp_def 5, 9, 0, 126, MAP_NONE diff --git a/data/maps/SecretBase_YellowCave4/events.inc b/data/maps/SecretBase_YellowCave4/events.inc index 577693af96..13757dbef6 100644 --- a/data/maps/SecretBase_YellowCave4/events.inc +++ b/data/maps/SecretBase_YellowCave4/events.inc @@ -1,19 +1,19 @@ SecretBase_YellowCave4_EventObjects: @ 85398B8 - object_event 1, 255, 0, 9, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave4_EventScript_275D64, FLAG_DECORATION_0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 - object_event 4, EVENT_OBJ_GFX_STORYTELLER, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 - object_event 5, EVENT_OBJ_GFX_GIDDY, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 - object_event 7, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 - object_event 8, 246, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 - object_event 9, 247, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 - object_event 10, 248, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 - object_event 11, 249, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 - object_event 12, 250, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 - object_event 13, 251, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 - object_event 14, 252, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 - object_event 15, 253, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 + object_event 1, EVENT_OBJ_GFX_VAR_F, 0, 9, 8, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, SecretBase_YellowCave4_EventScript_275D64, FLAG_DECORATION_0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 0, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_1 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 0, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_2 + object_event 4, EVENT_OBJ_GFX_VAR_2, 0, 0, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_3 + object_event 5, EVENT_OBJ_GFX_VAR_3, 0, 0, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_4 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 0, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_5 + object_event 7, EVENT_OBJ_GFX_VAR_5, 0, 0, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_6 + object_event 8, EVENT_OBJ_GFX_VAR_6, 0, 0, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_7 + object_event 9, EVENT_OBJ_GFX_VAR_7, 0, 1, 0, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_8 + object_event 10, EVENT_OBJ_GFX_VAR_8, 0, 1, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_9 + object_event 11, EVENT_OBJ_GFX_VAR_9, 0, 1, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_10 + object_event 12, EVENT_OBJ_GFX_VAR_A, 0, 1, 3, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_11 + object_event 13, EVENT_OBJ_GFX_VAR_B, 0, 1, 4, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_12 + object_event 14, EVENT_OBJ_GFX_VAR_C, 0, 1, 5, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_13 + object_event 15, EVENT_OBJ_GFX_VAR_D, 0, 1, 6, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_DECORATION_14 SecretBase_YellowCave4_MapWarps: @ 8539A20 warp_def 6, 12, 0, 126, MAP_NONE diff --git a/data/maps/SlateportCity_BattleTentBattleRoom/events.inc b/data/maps/SlateportCity_BattleTentBattleRoom/events.inc index 6c28d5fc5a..71e8d6d3a2 100644 --- a/data/maps/SlateportCity_BattleTentBattleRoom/events.inc +++ b/data/maps/SlateportCity_BattleTentBattleRoom/events.inc @@ -1,7 +1,7 @@ SlateportCity_BattleTentBattleRoom_EventObjects: @ 852F4DC object_event 1, EVENT_OBJ_GFX_SCIENTIST_1, 0, 1, 4, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 - object_event 3, EVENT_OBJ_GFX_TRADER, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 5, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 + object_event 3, EVENT_OBJ_GFX_VAR_1, 0, 4, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 SlateportCity_BattleTentBattleRoom_MapEvents:: @ 852F524 map_events SlateportCity_BattleTentBattleRoom_EventObjects, 0x0, 0x0, 0x0 diff --git a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/events.inc b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/events.inc index 39b3366c5d..5cdbf05590 100644 --- a/data/maps/SootopolisCity_MysteryEventsHouse_B1F/events.inc +++ b/data/maps/SootopolisCity_MysteryEventsHouse_B1F/events.inc @@ -1,5 +1,5 @@ SootopolisCity_MysteryEventsHouse_B1F_EventObjects: @ 85335DC - object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 6, 5, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0 + object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 6, 5, 0, MOVEMENT_TYPE_FACE_LEFT, 1, 1, 0, 0, 0x0, 0 SootopolisCity_MysteryEventsHouse_B1F_MapWarps: @ 85335F4 warp_def 3, 1, 0, 2, MAP_SOOTOPOLIS_CITY_MYSTERY_EVENTS_HOUSE_1F diff --git a/data/maps/SouthernIsland_Interior/events.inc b/data/maps/SouthernIsland_Interior/events.inc index cc8256e8c0..000386c337 100644 --- a/data/maps/SouthernIsland_Interior/events.inc +++ b/data/maps/SouthernIsland_Interior/events.inc @@ -1,6 +1,6 @@ SouthernIsland_Interior_EventObjects: @ 853B89C - object_event 1, EVENT_OBJ_GFX_HIPSTER, 0, 13, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE - object_event 2, EVENT_OBJ_GFX_TRADER, 0, 13, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON + object_event 1, EVENT_OBJ_GFX_VAR_0, 0, 13, 12, 3, MOVEMENT_TYPE_FACE_UP, 0, 0, 0, 0, 0x0, FLAG_HIDE_SOUTHERN_ISLAND_EON_STONE + object_event 2, EVENT_OBJ_GFX_VAR_1, 0, 13, 2, 0, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, 0x0, FLAG_HIDE_SOUTHERN_ISLAND_UNCHOSEN_EON_DUO_MON SouthernIsland_Interior_MapWarps: @ 853B8CC warp_def 13, 18, 3, 0, MAP_SOUTHERN_ISLAND_EXTERIOR diff --git a/data/maps/UnionRoom/events.inc b/data/maps/UnionRoom/events.inc index 0cebf15025..3ab6144685 100644 --- a/data/maps/UnionRoom/events.inc +++ b/data/maps/UnionRoom/events.inc @@ -1,13 +1,13 @@ UnionRoom_EventObjects: @ 853B020 object_event 1, EVENT_OBJ_GFX_UNION_ROOM_NURSE, 0, 3, 2, 3, MOVEMENT_TYPE_FACE_DOWN, 0, 0, 0, 0, UnionRoom_EventScript_23D236, 0 - object_event 2, EVENT_OBJ_GFX_GIDDY, 0, 1, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D204, FLAG_HIDE_UNION_ROOM_PLAYER_4 - object_event 3, 247, 0, 7, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D22C, FLAG_HIDE_UNION_ROOM_PLAYER_8 - object_event 4, 246, 0, 1, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D222, FLAG_HIDE_UNION_ROOM_PLAYER_7 - object_event 5, EVENT_OBJ_GFX_PLACEHOLDER_2, 0, 7, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D218, FLAG_HIDE_UNION_ROOM_PLAYER_6 - object_event 6, EVENT_OBJ_GFX_PLACEHOLDER_1, 0, 13, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D20E, FLAG_HIDE_UNION_ROOM_PLAYER_5 - object_event 7, EVENT_OBJ_GFX_STORYTELLER, 0, 10, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1FA, FLAG_HIDE_UNION_ROOM_PLAYER_3 - object_event 8, EVENT_OBJ_GFX_TRADER, 0, 13, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1F0, FLAG_HIDE_UNION_ROOM_PLAYER_2 - object_event 9, EVENT_OBJ_GFX_HIPSTER, 0, 4, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1E6, FLAG_HIDE_UNION_ROOM_PLAYER_1 + object_event 2, EVENT_OBJ_GFX_VAR_3, 0, 1, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D204, FLAG_HIDE_UNION_ROOM_PLAYER_4 + object_event 3, EVENT_OBJ_GFX_VAR_7, 0, 7, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D22C, FLAG_HIDE_UNION_ROOM_PLAYER_8 + object_event 4, EVENT_OBJ_GFX_VAR_6, 0, 1, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D222, FLAG_HIDE_UNION_ROOM_PLAYER_7 + object_event 5, EVENT_OBJ_GFX_VAR_5, 0, 7, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D218, FLAG_HIDE_UNION_ROOM_PLAYER_6 + object_event 6, EVENT_OBJ_GFX_VAR_4, 0, 13, 4, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D20E, FLAG_HIDE_UNION_ROOM_PLAYER_5 + object_event 7, EVENT_OBJ_GFX_VAR_2, 0, 10, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1FA, FLAG_HIDE_UNION_ROOM_PLAYER_3 + object_event 8, EVENT_OBJ_GFX_VAR_1, 0, 13, 8, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1F0, FLAG_HIDE_UNION_ROOM_PLAYER_2 + object_event 9, EVENT_OBJ_GFX_VAR_0, 0, 4, 6, 3, MOVEMENT_TYPE_WANDER_AROUND, 1, 1, 0, 0, UnionRoom_EventScript_23D1E6, FLAG_HIDE_UNION_ROOM_PLAYER_1 UnionRoom_MapWarps: @ 853B0F8 warp_def 7, 11, 3, 127, MAP_NONE diff --git a/data/maps/VerdanturfTown_BattleTentBattleRoom/events.inc b/data/maps/VerdanturfTown_BattleTentBattleRoom/events.inc index 8992f7fc51..ee91fff2ca 100644 --- a/data/maps/VerdanturfTown_BattleTentBattleRoom/events.inc +++ b/data/maps/VerdanturfTown_BattleTentBattleRoom/events.inc @@ -1,6 +1,6 @@ VerdanturfTown_BattleTentBattleRoom_EventObjects: @ 852E734 - object_event 1, EVENT_OBJ_GFX_TRADER, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 - object_event 2, EVENT_OBJ_GFX_HIPSTER, 0, 11, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 + object_event 1, EVENT_OBJ_GFX_VAR_1, 0, 2, 8, 3, MOVEMENT_TYPE_FACE_UP, 1, 1, 0, 0, 0x0, 0 + object_event 2, EVENT_OBJ_GFX_VAR_0, 0, 11, 1, 3, MOVEMENT_TYPE_FACE_DOWN, 1, 1, 0, 0, 0x0, 0 object_event 3, EVENT_OBJ_GFX_EXPERT_M, 0, 2, 4, 0, MOVEMENT_TYPE_FACE_RIGHT, 1, 1, 0, 0, 0x0, 0 VerdanturfTown_BattleTentBattleRoom_MapEvents:: @ 852E77C diff --git a/include/constants/event_objects.h b/include/constants/event_objects.h index 7a97c4caf7..9973477da2 100644 --- a/include/constants/event_objects.h +++ b/include/constants/event_objects.h @@ -241,12 +241,26 @@ #define EVENT_OBJ_GFX_LUGIA 237 #define EVENT_OBJ_GFX_HOOH 238 #define EVENT_OBJ_GFX_BARD_2 239 -#define EVENT_OBJ_GFX_HIPSTER 240 -#define EVENT_OBJ_GFX_TRADER 241 -#define EVENT_OBJ_GFX_STORYTELLER 242 -#define EVENT_OBJ_GFX_GIDDY 243 -#define EVENT_OBJ_GFX_PLACEHOLDER_1 244 -#define EVENT_OBJ_GFX_PLACEHOLDER_2 245 + +// These are dynamic object gfx ids. +// They correspond with the values of the VAR_OBJ_GFX_ID_X vars. +// More info about them in include/constants/vars.h +#define EVENT_OBJ_GFX_VAR_0 240 +#define EVENT_OBJ_GFX_VAR_1 241 +#define EVENT_OBJ_GFX_VAR_2 242 +#define EVENT_OBJ_GFX_VAR_3 243 +#define EVENT_OBJ_GFX_VAR_4 244 +#define EVENT_OBJ_GFX_VAR_5 245 +#define EVENT_OBJ_GFX_VAR_6 246 +#define EVENT_OBJ_GFX_VAR_7 247 +#define EVENT_OBJ_GFX_VAR_8 248 +#define EVENT_OBJ_GFX_VAR_9 249 +#define EVENT_OBJ_GFX_VAR_A 250 +#define EVENT_OBJ_GFX_VAR_B 251 +#define EVENT_OBJ_GFX_VAR_C 252 +#define EVENT_OBJ_GFX_VAR_D 253 +#define EVENT_OBJ_GFX_VAR_E 254 +#define EVENT_OBJ_GFX_VAR_F 255 #define SHADOW_SIZE_S 0 #define SHADOW_SIZE_M 1 From b2a042f65c1fc64f2f8723386e35725a53584a7e Mon Sep 17 00:00:00 2001 From: DizzyEggg Date: Sat, 29 Dec 2018 19:31:04 +0100 Subject: [PATCH 40/53] Match and clean up battle anim 3 --- src/battle_anim_effects_3.c | 118 +++++------------------------------- 1 file changed, 16 insertions(+), 102 deletions(-) diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index a901f7a794..3b05c69ded 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -1454,11 +1454,9 @@ void sub_815A7B0(struct Sprite *sprite) StoreSpriteCallbackInData6(sprite, DestroyAnimSprite); } -// This is likely fakematching due to some strange type casting behavior. void sub_815A7EC(struct Sprite *sprite) { int var0; - int var1; if (sprite->data[0] == 0) { SetSpriteCoordsToAnimAttackerCoords(sprite); @@ -1472,16 +1470,13 @@ void sub_815A7EC(struct Sprite *sprite) } else { - var1 = -gBattleAnimArgs[2]; - sprite->data[1] = var1; - var1 = -gBattleAnimArgs[3]; - sprite->data[2] = var1; + sprite->data[1] = -1 * gBattleAnimArgs[2]; + sprite->data[2] = -1 * gBattleAnimArgs[3]; } } else { - var1 = -gBattleAnimArgs[2]; - sprite->data[1] = var1; + sprite->data[1] = -1 * gBattleAnimArgs[2]; sprite->data[2] = gBattleAnimArgs[3]; } } @@ -1490,8 +1485,8 @@ void sub_815A7EC(struct Sprite *sprite) var0 = (sprite->data[0] * 20) & 0xFF; sprite->data[3] += sprite->data[1]; sprite->data[4] += sprite->data[2]; - sprite->pos2.x = (sprite->data[3] + (s32)((u32)sprite->data[3] >> 31)) >> 1; - sprite->pos2.y = Sin(var0 & 0xFF, 5) + ((s32)(sprite->data[4] + ((u32)sprite->data[4] >> 31)) >> 1); + sprite->pos2.x = sprite->data[3] / 2; + sprite->pos2.y = Sin(var0 & 0xFF, 5) + (sprite->data[4] / 2); if ((u16)(sprite->pos1.x + sprite->pos2.x) > 240) DestroyAnimSprite(sprite); @@ -1692,7 +1687,6 @@ void sub_815AC8C(u8 taskId) void sub_815ACD0(struct Sprite *sprite) { - int var0; if (gBattleAnimArgs[0] == 0) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[1]; @@ -1705,11 +1699,8 @@ void sub_815ACD0(struct Sprite *sprite) } sprite->pos2.y = gBattleAnimArgs[2]; - var0 = 0; - if (sprite->pos2.y > gBattleAnimArgs[3]) - var0 = 1; - sprite->data[0] = var0; + sprite->data[0] = (sprite->pos2.y > gBattleAnimArgs[3]); sprite->data[1] = 0; sprite->data[2] = gBattleAnimArgs[4]; sprite->data[3] = gBattleAnimArgs[5]; @@ -3147,8 +3138,6 @@ static void sub_815CDFC(struct Sprite *sprite) } } - - extern void sub_815D160(u8); void sub_815CED8(u8 taskId) @@ -4927,8 +4916,8 @@ void sub_815F8F4(u8 taskId) else gSprites[spriteId].pos2.x -= (gTasks[taskId].data[1] >> 8); - gTasks[taskId].data[1] = (u8)gTasks[taskId].data[1]; - x = (u16)gSprites[spriteId].pos1.x + (u16)gSprites[spriteId].pos2.x; + gTasks[taskId].data[1] &= 0xFF; + x = gSprites[spriteId].pos1.x + gSprites[spriteId].pos2.x; if ((u16)(x + 32) > 304) { gTasks[taskId].data[1] = 0; @@ -4978,7 +4967,7 @@ void sub_815F8F4(u8 taskId) spriteId2 = sub_80A8394(species, isBackPic, 0, x, GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y), subpriority, personality, otId, gBattleAnimAttacker, 0); if (gBattleSpritesDataPtr->battlerData[gBattleAnimAttacker].transformSpecies != SPECIES_NONE) BlendPalette((gSprites[spriteId2].oam.paletteNum * 16) | 0x100, 16, 6, RGB_WHITE); - + gTasks[taskId].data[15] = spriteId2; gTasks[taskId].data[0]++; break; @@ -4990,7 +4979,7 @@ void sub_815F8F4(u8 taskId) else gSprites[spriteId2].pos2.x += (gTasks[taskId].data[1] >> 8); - gTasks[taskId].data[1] = (u8)gTasks[taskId].data[1]; + gTasks[taskId].data[1] &= 0xFF; x = gSprites[spriteId2].pos1.x + gSprites[spriteId2].pos2.x; if (gTasks[taskId].data[14] == 0) { @@ -5215,7 +5204,7 @@ static void sub_81602E0(struct Sprite *sprite) sprite->data[1] += sprite->data[0]; sprite->data[1] &= 0xFF; } - + sprite->pos2.x = Cos(sprite->data[1], 20); sprite->pos2.y = Sin(sprite->data[1], 20); if (sprite->animEnded) @@ -5342,17 +5331,18 @@ void sub_8160544(u8 taskId) task->func = sub_816058C; } -#ifdef NONMATCHING static void sub_816058C(u8 taskId) { struct Task *task = &gTasks[taskId]; - u16 var0 = gTasks[taskId].data[0]++ - 16; - if (var0 < 23) + + gTasks[taskId].data[0]++; + if (gTasks[taskId].data[0] > 16 && gTasks[taskId].data[0] < 40) { if (++task->data[1] > 2) { task->data[1] = 0; - if (!(++task->data[2] & 1)) + task->data[2]++; + if (!(task->data[2] & 1)) { gSprites[task->data[15]].pos2.x = -1; } @@ -5370,79 +5360,3 @@ static void sub_816058C(u8 taskId) if (!RunAffineAnimFromTaskData(&gTasks[taskId])) DestroyAnimVisualTask(taskId); } -#else -NAKED -static void sub_816058C(u8 taskId) -{ - asm_unified("\n\ - push {r4-r6,lr}\n\ - lsls r0, 24\n\ - lsrs r4, r0, 24\n\ - lsls r0, r4, 2\n\ - adds r0, r4\n\ - lsls r0, 3\n\ - ldr r2, =gTasks\n\ - adds r3, r0, r2\n\ - ldrh r0, [r3, 0x8]\n\ - adds r1, r0, 0x1\n\ - movs r5, 0\n\ - strh r1, [r3, 0x8]\n\ - subs r0, 0x10\n\ - lsls r0, 16\n\ - lsrs r0, 16\n\ - adds r6, r2, 0\n\ - cmp r0, 0x16\n\ - bhi _081605F0\n\ - ldrh r0, [r3, 0xA]\n\ - adds r0, 0x1\n\ - strh r0, [r3, 0xA]\n\ - lsls r0, 16\n\ - asrs r0, 16\n\ - cmp r0, 0x2\n\ - ble _08160600\n\ - strh r5, [r3, 0xA]\n\ - ldrh r0, [r3, 0xC]\n\ - adds r0, 0x1\n\ - strh r0, [r3, 0xC]\n\ - movs r5, 0x1\n\ - ands r0, r5\n\ - cmp r0, 0\n\ - bne _081605F0\n\ - ldr r2, =gSprites\n\ - movs r0, 0x26\n\ - ldrsh r1, [r3, r0]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r0, r2\n\ - ldr r1, =0x0000ffff\n\ - strh r1, [r0, 0x24]\n\ - b _08160600\n\ - .pool\n\ -_081605F0:\n\ - ldr r2, =gSprites\n\ - movs r0, 0x26\n\ - ldrsh r1, [r3, r0]\n\ - lsls r0, r1, 4\n\ - adds r0, r1\n\ - lsls r0, 2\n\ - adds r0, r2\n\ - strh r5, [r0, 0x24]\n\ -_08160600:\n\ - lsls r0, r4, 2\n\ - adds r0, r4\n\ - lsls r0, 3\n\ - adds r0, r6\n\ - bl RunAffineAnimFromTaskData\n\ - lsls r0, 24\n\ - cmp r0, 0\n\ - bne _08160618\n\ - adds r0, r4, 0\n\ - bl DestroyAnimVisualTask\n\ -_08160618:\n\ - pop {r4-r6}\n\ - pop {r0}\n\ - bx r0\n\ - .pool"); -} -#endif From 2fb9f490fbf961ff737c897c025ce1f5a54b2639 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sat, 29 Dec 2018 12:46:15 -0600 Subject: [PATCH 41/53] Almost done with trade --- asm/trade.s | 1720 +----------------- data/maps/BattleFrontier_Lounge6/scripts.inc | 8 +- data/maps/FortreeCity_House1/scripts.inc | 8 +- data/maps/PacifidlogTown_House3/scripts.inc | 8 +- data/maps/RustboroCity_House1/scripts.inc | 8 +- data/specials.inc | 8 +- data/trade.s | 4 +- include/gba/defines.h | 2 - include/gba/io_reg.h | 3 + include/strings.h | 2 +- src/trade.c | 606 +++++- 11 files changed, 629 insertions(+), 1748 deletions(-) diff --git a/asm/trade.s b/asm/trade.s index 88ba38cdb4..c601f9afa8 100644 --- a/asm/trade.s +++ b/asm/trade.s @@ -6,1718 +6,6 @@ .text - thumb_func_start c2_08053788 -c2_08053788: @ 807E414 - push {r4-r7,lr} - mov r7, r8 - push {r7} - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r0, r2 - ldrb r0, [r1] - cmp r0, 0 - beq _0807E434 - cmp r0, 0x4 - beq _0807E444 - b _0807E4B4 - .pool -_0807E434: - movs r0, 0x4 - strb r0, [r1] - ldr r1, =gSoftResetDisabled - movs r0, 0x1 - b _0807E4B2 - .pool -_0807E444: - ldr r0, =gCB2_AfterEvolution - ldr r1, =sub_807EB50 - mov r8, r1 - str r1, [r0] - ldr r7, =gUnknown_02032298 - ldrb r0, [r7] - movs r6, 0x64 - muls r0, r6 - ldr r5, =gPlayerParty - adds r0, r5 - movs r1, 0x1 - movs r2, 0 - bl GetEvolutionTargetSpecies - lsls r0, 16 - lsrs r4, r0, 16 - cmp r4, 0 - beq _0807E494 - ldrb r3, [r7] - adds r0, r3, 0 - muls r0, r6 - adds r0, r5 - ldr r1, =gUnknown_020322A0 - ldr r1, [r1] - adds r1, 0x8F - ldrb r2, [r1] - adds r1, r4, 0 - bl TradeEvolutionScene - b _0807E4AE - .pool -_0807E494: - bl sub_8077260 - cmp r0, 0 - beq _0807E4A8 - ldr r0, =sub_807F464 - bl SetMainCallback2 - b _0807E4AE - .pool -_0807E4A8: - mov r0, r8 - bl SetMainCallback2 -_0807E4AE: - ldr r1, =gUnknown_02032298 - movs r0, 0xFF -_0807E4B2: - strb r0, [r1] -_0807E4B4: - bl HasLinkErrorOccurred - lsls r0, 24 - cmp r0, 0 - bne _0807E4C2 - bl RunTasks -_0807E4C2: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r3} - mov r8, r3 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end c2_08053788 - - thumb_func_start sub_807E4DC -sub_807E4DC: @ 807E4DC - push {r4-r6,lr} - bl sub_807ACDC - bl GetBlockReceivedStatus - lsls r0, 24 - lsrs r5, r0, 24 - movs r6, 0x1 - adds r0, r5, 0 - ands r0, r6 - cmp r0, 0 - beq _0807E51A - ldr r4, =gBlockRecvBuffer - ldrh r1, [r4] - ldr r0, =0x0000dcba - cmp r1, r0 - bne _0807E504 - ldr r0, =c2_08053788 - bl SetMainCallback2 -_0807E504: - ldrh r1, [r4] - ldr r0, =0x0000abcd - cmp r1, r0 - bne _0807E514 - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x72 - strb r6, [r0] -_0807E514: - movs r0, 0 - bl ResetBlockReceivedFlag -_0807E51A: - movs r0, 0x2 - ands r0, r5 - cmp r0, 0 - beq _0807E542 - ldr r0, =gBlockRecvBuffer - movs r1, 0x80 - lsls r1, 1 - adds r0, r1 - ldrh r1, [r0] - ldr r0, =0x0000abcd - cmp r1, r0 - bne _0807E53C - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x73 - movs r1, 0x1 - strb r1, [r0] -_0807E53C: - movs r0, 0x1 - bl ResetBlockReceivedFlag -_0807E542: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E4DC - - thumb_func_start sub_807E55C -sub_807E55C: @ 807E55C - push {r4,r5,lr} - adds r5, r0, 0 - movs r1, 0x2E - ldrsh r0, [r5, r1] - movs r1, 0xA - bl __divsi3 - ldrh r4, [r5, 0x22] - adds r4, r0 - strh r4, [r5, 0x22] - ldrh r0, [r5, 0x30] - ldrh r2, [r5, 0x38] - adds r0, r2 - strh r0, [r5, 0x38] - movs r1, 0x38 - ldrsh r0, [r5, r1] - movs r1, 0xA - bl __divsi3 - strh r0, [r5, 0x20] - lsls r4, 16 - asrs r4, 16 - cmp r4, 0x4C - ble _0807E5AA - movs r0, 0x4C - strh r0, [r5, 0x22] - movs r2, 0x2E - ldrsh r1, [r5, r2] - movs r2, 0x32 - ldrsh r0, [r5, r2] - muls r0, r1 - negs r0, r0 - movs r1, 0x64 - bl __divsi3 - strh r0, [r5, 0x2E] - ldrh r0, [r5, 0x34] - adds r0, 0x1 - strh r0, [r5, 0x34] -_0807E5AA: - movs r1, 0x20 - ldrsh r0, [r5, r1] - cmp r0, 0x78 - bne _0807E5B6 - movs r0, 0 - strh r0, [r5, 0x30] -_0807E5B6: - ldrh r0, [r5, 0x36] - ldrh r2, [r5, 0x2E] - adds r0, r2 - strh r0, [r5, 0x2E] - movs r1, 0x34 - ldrsh r0, [r5, r1] - cmp r0, 0x4 - bne _0807E5CE - movs r0, 0x1 - strh r0, [r5, 0x3C] - ldr r0, =SpriteCallbackDummy - str r0, [r5, 0x1C] -_0807E5CE: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E55C - - thumb_func_start sub_807E5D8 -sub_807E5D8: @ 807E5D8 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - ldr r1, =gUnknown_08339024 - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r1, [r4, 0x26] - adds r0, r1 - strh r0, [r4, 0x26] - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x16 - bne _0807E600 - movs r0, 0x38 - bl PlaySE -_0807E600: - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x2C - bne _0807E636 - movs r0, 0x8C - bl PlaySE - ldr r0, =sub_807E64C - str r0, [r4, 0x1C] - movs r0, 0 - strh r0, [r4, 0x2E] - ldrb r1, [r4, 0x5] - lsrs r1, 4 - adds r1, 0x10 - movs r0, 0x1 - lsls r0, r1 - movs r1, 0x1 - negs r1, r1 - ldr r2, =0x0000ffff - str r2, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade -_0807E636: - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E5D8 - - thumb_func_start sub_807E64C -sub_807E64C: @ 807E64C - push {r4,lr} - adds r4, r0, 0 - movs r1, 0x30 - ldrsh r0, [r4, r1] - cmp r0, 0x14 - bne _0807E660 - adds r0, r4, 0 - movs r1, 0x1 - bl StartSpriteAffineAnim -_0807E660: - ldrh r0, [r4, 0x30] - adds r0, 0x1 - strh r0, [r4, 0x30] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x14 - ble _0807E69E - ldr r1, =gUnknown_08339024 - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - movs r1, 0 - ldrsb r1, [r0, r1] - ldrh r0, [r4, 0x26] - subs r0, r1 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x17 - bne _0807E69E - adds r0, r4, 0 - bl DestroySprite - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - adds r0, 0x94 - movs r1, 0xE - strh r1, [r0] -_0807E69E: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E64C - - thumb_func_start sub_807E6AC -sub_807E6AC: @ 807E6AC - push {r4,lr} - adds r4, r0, 0 - ldrh r2, [r4, 0x32] - movs r1, 0x32 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0807E6DC - ldrh r0, [r4, 0x22] - adds r0, 0x4 - strh r0, [r4, 0x22] - lsls r0, 16 - asrs r0, 16 - movs r3, 0x34 - ldrsh r1, [r4, r3] - cmp r0, r1 - ble _0807E72C - adds r0, r2, 0x1 - strh r0, [r4, 0x32] - movs r0, 0x16 - strh r0, [r4, 0x2E] - movs r0, 0x38 - bl PlaySE - b _0807E72C -_0807E6DC: - movs r1, 0x2E - ldrsh r0, [r4, r1] - cmp r0, 0x42 - bne _0807E6EA - movs r0, 0x39 - bl PlaySE -_0807E6EA: - movs r2, 0x2E - ldrsh r0, [r4, r2] - cmp r0, 0x5C - bne _0807E6F8 - movs r0, 0x3A - bl PlaySE -_0807E6F8: - movs r3, 0x2E - ldrsh r0, [r4, r3] - cmp r0, 0x6B - bne _0807E706 - movs r0, 0x3B - bl PlaySE -_0807E706: - ldr r1, =gUnknown_08339024 - movs r2, 0x2E - ldrsh r0, [r4, r2] - adds r0, r1 - ldrb r0, [r0] - lsls r0, 24 - asrs r0, 24 - ldrh r3, [r4, 0x26] - adds r0, r3 - strh r0, [r4, 0x26] - ldrh r0, [r4, 0x2E] - adds r0, 0x1 - strh r0, [r4, 0x2E] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x6C - bne _0807E72C - ldr r0, =SpriteCallbackDummy - str r0, [r4, 0x1C] -_0807E72C: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E6AC - - thumb_func_start sub_807E73C -sub_807E73C: @ 807E73C - push {r4-r6,lr} - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, =gIngameTrades - adds r4, r0 - ldr r0, =gStringVar1 - ldrh r1, [r4, 0x38] - movs r6, 0xB - muls r1, r6 - ldr r5, =gSpeciesNames - adds r1, r5 - bl StringCopy - ldr r0, =gStringVar2 - ldrh r1, [r4, 0xC] - muls r1, r6 - adds r1, r5 - bl StringCopy - ldrh r0, [r4, 0x38] - pop {r4-r6} - pop {r1} - bx r1 - .pool - thumb_func_end sub_807E73C - - thumb_func_start sub_807E784 -sub_807E784: @ 807E784 - push {r4,lr} - sub sp, 0x20 - ldr r0, =gSpecialVar_0x8004 - ldrh r0, [r0] - lsls r4, r0, 4 - subs r4, r0 - lsls r4, 2 - ldr r0, =gIngameTrades - adds r4, r0 - ldr r0, =gSpecialVar_0x8005 - ldrh r1, [r0] - movs r0, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x2 - mov r2, sp - bl GetMonData - ldr r0, =gStringVar1 - mov r1, sp - bl StringCopy10 - ldr r0, =gStringVar2 - ldrh r2, [r4, 0xC] - movs r1, 0xB - muls r1, r2 - ldr r2, =gSpeciesNames - adds r1, r2 - bl StringCopy - add sp, 0x20 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E784 - - thumb_func_start sub_807E7E8 -sub_807E7E8: @ 807E7E8 - push {r4-r7,lr} - sub sp, 0x38 - lsls r0, 24 - lsrs r0, 24 - lsls r1, 24 - lsrs r1, 24 - lsls r2, r1, 4 - subs r2, r1 - lsls r2, 2 - ldr r1, =gIngameTrades - adds r5, r2, r1 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gPlayerParty - adds r0, r1 - movs r1, 0x38 - bl GetMonData - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - add r4, sp, 0x34 - movs r0, 0xFE - strb r0, [r4] - ldr r6, =gEnemyParty - ldrh r1, [r5, 0xC] - movs r3, 0x1 - str r3, [sp] - ldr r0, [r5, 0x24] - str r0, [sp, 0x4] - str r3, [sp, 0x8] - ldr r0, [r5, 0x18] - str r0, [sp, 0xC] - adds r0, r6, 0 - movs r3, 0x20 - bl CreateMon - adds r2, r5, 0 - adds r2, 0xE - adds r0, r6, 0 - movs r1, 0x27 - bl SetMonData - adds r2, r5, 0 - adds r2, 0xF - adds r0, r6, 0 - movs r1, 0x28 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x10 - adds r0, r6, 0 - movs r1, 0x29 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x11 - adds r0, r6, 0 - movs r1, 0x2A - bl SetMonData - adds r2, r5, 0 - adds r2, 0x12 - adds r0, r6, 0 - movs r1, 0x2B - bl SetMonData - adds r2, r5, 0 - adds r2, 0x13 - adds r0, r6, 0 - movs r1, 0x2C - bl SetMonData - adds r0, r6, 0 - movs r1, 0x2 - adds r2, r5, 0 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x2B - adds r0, r6, 0 - movs r1, 0x7 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x36 - adds r0, r6, 0 - movs r1, 0x31 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x14 - adds r0, r6, 0 - movs r1, 0x2E - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1D - adds r0, r6, 0 - movs r1, 0x17 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1E - adds r0, r6, 0 - movs r1, 0x18 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1C - adds r0, r6, 0 - movs r1, 0x16 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x1F - adds r0, r6, 0 - movs r1, 0x21 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x20 - adds r0, r6, 0 - movs r1, 0x2F - bl SetMonData - adds r2, r5, 0 - adds r2, 0x37 - adds r0, r6, 0 - movs r1, 0x30 - bl SetMonData - adds r0, r6, 0 - movs r1, 0x23 - adds r2, r4, 0 - bl SetMonData - mov r4, sp - adds r4, 0x35 - movs r0, 0 - strb r0, [r4] - ldrh r0, [r5, 0x28] - cmp r0, 0 - beq _0807E960 - bl ItemIsMail - lsls r0, 24 - cmp r0, 0 - beq _0807E954 - add r0, sp, 0x10 - adds r1, r5, 0 - bl sub_807E974 - ldr r0, =gUnknown_020321C0 - add r1, sp, 0x10 - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - ldm r1!, {r2,r3,r7} - stm r0!, {r2,r3,r7} - adds r0, r6, 0 - movs r1, 0x40 - adds r2, r4, 0 - bl SetMonData - adds r2, r5, 0 - adds r2, 0x28 - adds r0, r6, 0 - movs r1, 0xC - bl SetMonData - b _0807E960 - .pool -_0807E954: - adds r2, r5, 0 - adds r2, 0x28 - adds r0, r6, 0 - movs r1, 0xC - bl SetMonData -_0807E960: - ldr r0, =gEnemyParty - bl CalculateMonStats - add sp, 0x38 - pop {r4-r7} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E7E8 - - thumb_func_start sub_807E974 -sub_807E974: @ 807E974 - push {r4-r6,lr} - adds r5, r0, 0 - adds r6, r1, 0 - ldr r2, =gUnknown_08338FC0 - adds r0, r6, 0 - adds r0, 0x2A - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 2 - adds r2, r0, r2 - adds r1, r5, 0 - movs r3, 0x8 -_0807E98E: - ldrh r0, [r2] - strh r0, [r1] - adds r2, 0x2 - adds r1, 0x2 - subs r3, 0x1 - cmp r3, 0 - bge _0807E98E - adds r4, r5, 0 - adds r4, 0x12 - adds r1, r6, 0 - adds r1, 0x2B - adds r0, r4, 0 - bl StringCopy - adds r0, r4, 0 - movs r1, 0 - bl PadNameString - ldr r1, [r6, 0x18] - lsrs r0, r1, 24 - strb r0, [r5, 0x1A] - lsrs r0, r1, 16 - strb r0, [r5, 0x1B] - lsrs r0, r1, 8 - strb r0, [r5, 0x1C] - strb r1, [r5, 0x1D] - ldrh r0, [r6, 0xC] - strh r0, [r5, 0x1E] - ldrh r0, [r6, 0x28] - strh r0, [r5, 0x20] - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807E974 - - thumb_func_start sub_807E9D4 -sub_807E9D4: @ 807E9D4 - push {r4-r6,lr} - ldr r6, =gSpecialVar_0x8005 - ldrh r0, [r6] - movs r5, 0x64 - muls r0, r5 - ldr r4, =gPlayerParty - adds r0, r4 - movs r1, 0x2D - bl GetMonData - cmp r0, 0 - bne _0807EA08 - ldrh r0, [r6] - muls r0, r5 - adds r0, r4 - movs r1, 0xB - bl GetMonData - lsls r0, 16 - lsrs r0, 16 - b _0807EA0A - .pool -_0807EA08: - movs r0, 0 -_0807EA0A: - pop {r4-r6} - pop {r1} - bx r1 - thumb_func_end sub_807E9D4 - - thumb_func_start sub_807EA10 -sub_807EA10: @ 807EA10 - push {lr} - ldr r0, =gSpecialVar_0x8005 - ldrb r0, [r0] - ldr r1, =gSpecialVar_0x8004 - ldrb r1, [r1] - bl sub_807E7E8 - pop {r0} - bx r0 - .pool - thumb_func_end sub_807EA10 - - thumb_func_start sub_807EA2C -sub_807EA2C: @ 807EA2C - push {r4-r6,lr} - bl sub_807BBC8 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0x1 - bne _0807EA96 - ldr r5, =gUnknown_020322A0 - ldr r0, [r5] - adds r0, 0x8E - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - ldr r4, =gSprites - adds r0, r4 - bl DestroySprite - ldr r0, [r5] - adds r0, 0x8F - ldrb r1, [r0] - lsls r0, r1, 4 - adds r0, r1 - lsls r0, 2 - adds r0, r4 - bl FreeSpriteOamMatrix - ldr r0, =gUnknown_02032298 - ldrb r4, [r0] - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - adds r0, r4, 0 - bl sub_807B4D0 - bl sub_8077260 - cmp r0, 0 - bne _0807EA90 - ldr r0, [r5] - adds r2, r0, 0 - adds r2, 0x74 - ldr r1, =0x0000abcd - strh r1, [r2] - adds r0, 0x93 - strb r6, [r0] -_0807EA90: - ldr r0, =sub_807EACC - bl SetMainCallback2 -_0807EA96: - bl sub_807B5B8 - bl sub_807E4DC - bl RunTasks - bl RunTextPrinters - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807EA2C - - thumb_func_start sub_807EACC -sub_807EACC: @ 807EACC - push {r4,lr} - bl sub_807ACDC - lsls r0, 24 - lsrs r4, r0, 24 - bl sub_8077260 - cmp r0, 0 - beq _0807EAEC - ldr r0, =c2_08053788 - bl SetMainCallback2 - b _0807EB2C - .pool -_0807EAEC: - bl sub_807E4DC - cmp r4, 0 - bne _0807EB2C - ldr r4, =gUnknown_020322A0 - ldr r2, [r4] - adds r0, r2, 0 - adds r0, 0x72 - ldrh r1, [r0] - ldr r0, =0x00000101 - cmp r1, r0 - bne _0807EB2C - adds r1, r2, 0 - adds r1, 0x74 - ldr r0, =0x0000dcba - strh r0, [r1] - bl bitmask_all_link_players_but_self - lsls r0, 24 - lsrs r0, 24 - ldr r1, [r4] - adds r1, 0x74 - movs r2, 0x14 - bl SendBlock - ldr r0, [r4] - adds r0, 0x72 - movs r1, 0x2 - strb r1, [r0] - ldr r0, [r4] - adds r0, 0x73 - strb r1, [r0] -_0807EB2C: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807EACC - - thumb_func_start sub_807EB50 -sub_807EB50: @ 807EB50 - push {r4,lr} - sub sp, 0x4 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0x65 - bls _0807EB66 - b _0807F03A -_0807EB66: - lsls r0, 2 - ldr r1, =_0807EB78 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807EB78: - .4byte _0807ED10 - .4byte _0807ED2C - .4byte _0807ED98 - .4byte _0807F03A - .4byte _0807EE78 - .4byte _0807EF3C - .4byte _0807EF64 - .4byte _0807EF7E - .4byte _0807EFA4 - .4byte _0807EFF0 - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807EE9C - .4byte _0807EEEC - .4byte _0807EF1A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807EDC0 - .4byte _0807EE1C - .4byte _0807EE38 - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807F03A - .4byte _0807ED44 - .4byte _0807ED7C -_0807ED10: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_CommunicationStandby5 - b _0807EDA6 - .pool -_0807ED2C: - movs r0, 0 - bl sub_8077288 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x64 - b _0807EE88 - .pool -_0807ED44: - ldr r0, =gUnknown_020322A0 - ldr r3, [r0] - ldr r0, [r3, 0x64] - adds r0, 0x1 - str r0, [r3, 0x64] - cmp r0, 0xB4 - bls _0807ED60 - movs r1, 0x87 - lsls r1, 3 - adds r0, r2, r1 - movs r2, 0 - movs r1, 0x65 - strb r1, [r0] - str r2, [r3, 0x64] -_0807ED60: - bl sub_8077294 - cmp r0, 0 - bne _0807ED6A - b _0807F03A -_0807ED6A: - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - b _0807ED8E - .pool -_0807ED7C: - bl sub_8077294 - cmp r0, 0 - bne _0807ED86 - b _0807F03A -_0807ED86: - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 -_0807ED8E: - movs r1, 0x2 - strb r1, [r0] - b _0807F03A - .pool -_0807ED98: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - movs r0, 0x32 - strb r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_SavingDontTurnOffPower -_0807EDA6: - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - b _0807F03A - .pool -_0807EDC0: - bl InUnionRoom - cmp r0, 0 - bne _0807EDCE - movs r0, 0x15 - bl IncrementGameStat -_0807EDCE: - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0807EDF6 - ldr r4, =gLinkPlayers - bl GetMultiplayerId - movs r1, 0x1 - eors r0, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 3 - subs r1, r0 - lsls r1, 2 - adds r4, 0x4 - adds r1, r4 - ldr r1, [r1] - movs r0, 0x2 - bl sub_801B990 -_0807EDF6: - bl sub_8076D5C - bl sub_8153380 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 - ldrb r0, [r1] - adds r0, 0x1 - movs r2, 0 - strb r0, [r1] - b _0807EE8A - .pool -_0807EE1C: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x5 - beq _0807EE2C - b _0807F03A -_0807EE2C: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - b _0807EFE4 - .pool -_0807EE38: - bl sub_81533AC - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0807EE5C - bl sav2_gender2_inplace_and_xFE - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x4 - strb r1, [r0] - b _0807F03A - .pool -_0807EE5C: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - str r1, [r0, 0x64] - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x33 - strb r1, [r0] - b _0807F03A - .pool -_0807EE78: - bl sub_81533E0 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x28 -_0807EE88: - strb r1, [r0] -_0807EE8A: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - str r2, [r0, 0x64] - b _0807F03A - .pool -_0807EE9C: - ldr r4, =gUnknown_020322A0 - ldr r1, [r4] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x32 - bhi _0807EEAC - b _0807F03A -_0807EEAC: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0807EED4 - bl Random - ldr r4, [r4] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1E - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [r4, 0x64] - b _0807EEDA - .pool -_0807EED4: - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0x64] -_0807EEDA: - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x29 - strb r1, [r0] - b _0807F03A - .pool -_0807EEEC: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - cmp r0, 0 - bne _0807EF14 - movs r0, 0x1 - bl sub_8077288 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x2A - strb r1, [r0] - b _0807F03A - .pool -_0807EF14: - subs r0, 0x1 - str r0, [r1, 0x64] - b _0807F03A -_0807EF1A: - bl sub_8077294 - cmp r0, 0 - bne _0807EF24 - b _0807F03A -_0807EF24: - bl sub_8153408 - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x5 - strb r1, [r0] - b _0807F03A - .pool -_0807EF3C: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - bls _0807F03A - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x2 - bl sub_8077288 - b _0807F03A - .pool -_0807EF64: - bl sub_8077294 - cmp r0, 0 - beq _0807F03A - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - b _0807EFDC -_0807EF7E: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0807F03A - movs r0, 0x3 - bl FadeOutBGM - ldr r1, =gMain - movs r0, 0x87 - lsls r0, 3 - adds r1, r0 - b _0807EFE4 - .pool -_0807EFA4: - bl IsBGMStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807F03A - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0807EFD8 - ldr r0, =gMain - ldr r1, [r0, 0x8] - ldr r0, =sub_80773AC - cmp r1, r0 - bne _0807EFD8 - movs r0, 0x3 - bl sub_8077288 - b _0807EFDC - .pool -_0807EFD8: - bl sub_800AC34 -_0807EFDC: - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r1, r2 -_0807EFE4: - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - b _0807F03A - .pool -_0807EFF0: - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0807F028 - ldr r1, [r2, 0x8] - ldr r0, =sub_80773AC - cmp r1, r0 - bne _0807F028 - bl sub_8077294 - cmp r0, 0 - beq _0807F03A - ldr r0, =gSoftResetDisabled - movs r1, 0 - strb r1, [r0] - ldr r0, =c2_080543C4 - bl SetMainCallback2 - b _0807F03A - .pool -_0807F028: - ldr r0, =gReceivedRemoteLinkPlayers - ldrb r1, [r0] - cmp r1, 0 - bne _0807F03A - ldr r0, =gSoftResetDisabled - strb r1, [r0] - ldr r0, =c2_080543C4 - bl SetMainCallback2 -_0807F03A: - bl HasLinkErrorOccurred - lsls r0, 24 - cmp r0, 0 - bne _0807F048 - bl RunTasks -_0807F048: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807EB50 - - thumb_func_start c2_080543C4 -c2_080543C4: @ 807F068 - push {r4,r5,lr} - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0 - bne _0807F0BE - bl FreeAllWindowBuffers - movs r0, 0x3 - bl GetBgTilemapBuffer - bl Free - movs r0, 0x1 - bl GetBgTilemapBuffer - bl Free - movs r0, 0 - bl GetBgTilemapBuffer - bl Free - bl FreeMonSpritesGfx - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - bl Free - str r5, [r4] - ldr r0, =gWirelessCommType - ldrb r0, [r0] - cmp r0, 0 - beq _0807F0B6 - bl sub_800E084 -_0807F0B6: - ldr r0, =gMain - ldr r0, [r0, 0x8] - bl SetMainCallback2 -_0807F0BE: - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end c2_080543C4 - - thumb_func_start sub_807F0E4 -sub_807F0E4: @ 807F0E4 - push {lr} - sub sp, 0x4 - bl ScriptContext2_Enable - ldr r0, =sub_807F110 - movs r1, 0xA - bl CreateTask - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - add sp, 0x4 - pop {r0} - bx r0 - .pool - thumb_func_end sub_807F0E4 - - thumb_func_start sub_807F110 -sub_807F110: @ 807F110 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0807F134 - ldr r0, =sub_807B270 - bl SetMainCallback2 - ldr r1, =gFieldCallback - ldr r0, =sub_80AF168 - str r0, [r1] - adds r0, r4, 0 - bl DestroyTask -_0807F134: - pop {r4} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807F110 - - thumb_func_start sub_807F14C -sub_807F14C: @ 807F14C - push {r4,r5,lr} - movs r5, 0 - movs r4, 0 -_0807F152: - ldr r0, =gUnknown_02032298 - ldrb r0, [r0, 0x1] - movs r1, 0x6 - bl __umodsi3 - lsls r0, 24 - lsrs r0, 24 - movs r1, 0x64 - muls r0, r1 - ldr r1, =gEnemyParty - adds r0, r1 - adds r1, r4, 0 - adds r1, 0x43 - bl GetMonData - adds r0, r5, r0 - lsls r0, 24 - lsrs r5, r0, 24 - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0xB - bls _0807F152 - cmp r5, 0 - beq _0807F18A - ldr r0, =0x0000089b - bl FlagSet -_0807F18A: - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807F14C - - thumb_func_start sub_807F19C -sub_807F19C: @ 807F19C - push {lr} - bl sub_807B170 - pop {r0} - bx r0 - thumb_func_end sub_807F19C - - thumb_func_start sub_807F1A8 -sub_807F1A8: @ 807F1A8 - push {r4-r6,lr} - sub sp, 0x14 - adds r5, r0, 0 - adds r6, r1, 0 - adds r4, r2, 0 - lsls r5, 24 - lsrs r5, 24 - lsls r4, 24 - lsrs r4, 24 - adds r0, r5, 0 - movs r1, 0xFF - bl FillWindowPixelBuffer - ldr r2, =gUnknown_020322A0 - ldr r0, [r2] - adds r0, 0xF6 - movs r3, 0 - movs r1, 0xF - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xF7 - movs r1, 0x1 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xF8 - movs r1, 0x6 - strb r1, [r0] - str r3, [sp] - str r3, [sp, 0x4] - ldr r0, [r2] - adds r0, 0xF6 - str r0, [sp, 0x8] - lsls r4, 24 - asrs r4, 24 - str r4, [sp, 0xC] - str r6, [sp, 0x10] - adds r0, r5, 0 - movs r1, 0x1 - movs r2, 0 - movs r3, 0x2 - bl AddTextPrinterParameterized4 - adds r0, r5, 0 - movs r1, 0x3 - bl CopyWindowToVram - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807F1A8 - - thumb_func_start c3_08054588 -c3_08054588: @ 807F210 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r4, r0, r1 - ldr r1, =gUnknown_08339090 - movs r2, 0 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - lsls r1, r0, 4 - adds r2, r1, 0 - movs r3, 0x4 - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _0807F254 - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - beq _0807F25C - lsls r0, r1, 1 - ldr r1, =gUnknown_08337AA0 - adds r0, r1 - b _0807F25E - .pool -_0807F254: - movs r0, 0x80 - lsls r0, 1 - cmp r1, r0 - bne _0807F26C -_0807F25C: - ldr r0, =gUnknown_08337EA0 -_0807F25E: - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette - b _0807F27A - .pool -_0807F26C: - lsls r0, r2, 1 - ldr r1, =gUnknown_08337CA0 - adds r0, r1 - movs r1, 0x30 - movs r2, 0x20 - bl LoadPalette -_0807F27A: - ldr r0, =gUnknown_08339090 - movs r2, 0 - ldrsh r1, [r4, r2] - lsls r1, 1 - adds r1, r0 - ldrb r0, [r1] - cmp r0, 0 - bne _0807F298 - movs r3, 0x2 - ldrsh r0, [r4, r3] - cmp r0, 0 - bne _0807F298 - movs r0, 0xC3 - bl PlaySE -_0807F298: - movs r0, 0x2 - ldrsh r2, [r4, r0] - ldr r1, =gUnknown_08339090 - movs r3, 0 - ldrsh r0, [r4, r3] - lsls r0, 1 - adds r1, 0x1 - adds r0, r1 - ldrb r0, [r0] - cmp r2, r0 - bne _0807F2D8 - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - movs r0, 0 - strh r0, [r4, 0x2] - movs r2, 0 - ldrsh r0, [r4, r2] - lsls r0, 1 - adds r0, r1 - ldrb r0, [r0] - cmp r0, 0xFF - bne _0807F2DE - adds r0, r5, 0 - bl DestroyTask - b _0807F2DE - .pool -_0807F2D8: - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] -_0807F2DE: - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end c3_08054588 - - thumb_func_start c3_0805465C -c3_0805465C: @ 807F2E4 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r0, 0 - ldrsh r4, [r5, r0] - cmp r4, 0 - bne _0807F336 - ldr r2, =gUnknown_020322A0 - ldr r0, [r2] - adds r3, r0, 0 - adds r3, 0xFD - movs r1, 0x78 - strb r1, [r3] - adds r0, 0xFB - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xFC - strb r4, [r0] - ldr r0, [r2] - adds r0, 0xFE - movs r1, 0xA0 - strb r1, [r0] - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl SetGpuRegBits - movs r0, 0x4A - movs r1, 0x10 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x13 - bl SetGpuReg -_0807F336: - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0xFD - ldrb r1, [r1] - adds r0, 0xFB - ldrb r0, [r0] - lsls r0, 8 - orrs r1, r0 - movs r0, 0x40 - bl SetGpuReg - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0xFE - ldrb r1, [r1] - adds r0, 0xFC - ldrb r0, [r0] - lsls r0, 8 - orrs r1, r0 - movs r0, 0x44 - bl SetGpuReg - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - ldr r1, [r4] - adds r1, 0xFB - ldrb r0, [r1] - subs r0, 0x5 - strb r0, [r1] - ldr r1, [r4] - adds r1, 0xFD - ldrb r0, [r1] - adds r0, 0x5 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0xFB - ldrb r0, [r0] - cmp r0, 0x4F - bhi _0807F38E - adds r0, r6, 0 - bl DestroyTask -_0807F38E: - pop {r4-r6} - pop {r0} - bx r0 - .pool - thumb_func_end c3_0805465C - thumb_func_start sub_807F39C sub_807F39C: @ 807F39C push {r4-r6,lr} @@ -1875,7 +163,7 @@ _0807F4E8: b _0807F5BC .pool _0807F500: - bl sub_8077294 + bl IsLinkTaskFinished cmp r0, 0 bne _0807F50A b _0807F70C @@ -2020,7 +308,7 @@ _0807F648: str r0, [r1, 0x64] b _0807F70C _0807F64E: - bl sub_8077294 + bl IsLinkTaskFinished cmp r0, 0 beq _0807F70C bl sub_8153408 @@ -2051,7 +339,7 @@ _0807F66C: b _0807F70C .pool _0807F694: - bl sub_8077294 + bl IsLinkTaskFinished cmp r0, 0 beq _0807F70C movs r0, 0x3 @@ -2094,7 +382,7 @@ _0807F6C4: b _0807F70C .pool _0807F6F8: - bl sub_8077294 + bl IsLinkTaskFinished cmp r0, 0 beq _0807F70C ldr r0, =gSoftResetDisabled diff --git a/data/maps/BattleFrontier_Lounge6/scripts.inc b/data/maps/BattleFrontier_Lounge6/scripts.inc index 3c18522831..411291e7d9 100644 --- a/data/maps/BattleFrontier_Lounge6/scripts.inc +++ b/data/maps/BattleFrontier_Lounge6/scripts.inc @@ -7,7 +7,7 @@ BattleFrontier_Lounge6_EventScript_264FED:: @ 8264FED goto_if_set FLAG_0x09C, BattleFrontier_Lounge6_EventScript_265083 setvar VAR_0x8008, 3 copyvar VAR_0x8004, VAR_0x8008 - specialvar VAR_RESULT, sub_807E73C + specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT msgbox BattleFrontier_Lounge6_Text_26508D, MSGBOX_YESNO compare VAR_RESULT, 0 @@ -18,14 +18,14 @@ BattleFrontier_Lounge6_EventScript_264FED:: @ 8264FED compare VAR_0x8004, 255 goto_if_eq BattleFrontier_Lounge6_EventScript_26506B copyvar VAR_0x8005, VAR_0x800A - specialvar VAR_RESULT, sub_807E9D4 + specialvar VAR_RESULT, GetTradeSpecies copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 goto_if_ne BattleFrontier_Lounge6_EventScript_265075 copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A - special sub_807EA10 - special sub_807F0E4 + special CreateInGameTradePokemon + special DoInGameTradeScene waitstate msgbox BattleFrontier_Lounge6_Text_265128, MSGBOX_DEFAULT setflag FLAG_0x09C diff --git a/data/maps/FortreeCity_House1/scripts.inc b/data/maps/FortreeCity_House1/scripts.inc index 44651ae0d1..a1fe9b0d31 100644 --- a/data/maps/FortreeCity_House1/scripts.inc +++ b/data/maps/FortreeCity_House1/scripts.inc @@ -7,7 +7,7 @@ FortreeCity_House1_EventScript_2162BB:: @ 82162BB goto_if_set FLAG_0x09B, FortreeCity_House1_EventScript_216355 setvar VAR_0x8008, 1 copyvar VAR_0x8004, VAR_0x8008 - specialvar VAR_RESULT, sub_807E73C + specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT msgbox FortreeCity_House1_Text_21637B, MSGBOX_YESNO compare VAR_RESULT, 0 @@ -18,14 +18,14 @@ FortreeCity_House1_EventScript_2162BB:: @ 82162BB compare VAR_0x8004, 255 goto_if_eq FortreeCity_House1_EventScript_21633D copyvar VAR_0x8005, VAR_0x800A - specialvar VAR_RESULT, sub_807E9D4 + specialvar VAR_RESULT, GetTradeSpecies copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 goto_if_ne FortreeCity_House1_EventScript_216347 copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A - special sub_807EA10 - special sub_807F0E4 + special CreateInGameTradePokemon + special DoInGameTradeScene waitstate bufferspeciesname 0, VAR_0x8009 msgbox FortreeCity_House1_Text_216440, MSGBOX_DEFAULT diff --git a/data/maps/PacifidlogTown_House3/scripts.inc b/data/maps/PacifidlogTown_House3/scripts.inc index fb5bf8cb1c..05c38216d1 100644 --- a/data/maps/PacifidlogTown_House3/scripts.inc +++ b/data/maps/PacifidlogTown_House3/scripts.inc @@ -7,7 +7,7 @@ PacifidlogTown_House3_EventScript_203C11:: @ 8203C11 goto_if_set FLAG_0x09A, PacifidlogTown_House3_EventScript_203CAB setvar VAR_0x8008, 2 copyvar VAR_0x8004, VAR_0x8008 - specialvar VAR_RESULT, sub_807E73C + specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT msgbox PacifidlogTown_House3_Text_203CBE, MSGBOX_YESNO compare VAR_RESULT, 0 @@ -18,14 +18,14 @@ PacifidlogTown_House3_EventScript_203C11:: @ 8203C11 compare VAR_0x8004, 255 goto_if_eq PacifidlogTown_House3_EventScript_203C93 copyvar VAR_0x8005, VAR_0x800A - specialvar VAR_RESULT, sub_807E9D4 + specialvar VAR_RESULT, GetTradeSpecies copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 goto_if_ne PacifidlogTown_House3_EventScript_203C9D copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A - special sub_807EA10 - special sub_807F0E4 + special CreateInGameTradePokemon + special DoInGameTradeScene waitstate bufferspeciesname 0, VAR_0x8009 msgbox PacifidlogTown_House3_Text_203D87, MSGBOX_DEFAULT diff --git a/data/maps/RustboroCity_House1/scripts.inc b/data/maps/RustboroCity_House1/scripts.inc index 26a406675e..effe69665e 100644 --- a/data/maps/RustboroCity_House1/scripts.inc +++ b/data/maps/RustboroCity_House1/scripts.inc @@ -7,7 +7,7 @@ RustboroCity_House1_EventScript_21593F:: @ 821593F goto_if_set FLAG_0x099, RustboroCity_House1_EventScript_2159D5 setvar VAR_0x8008, 0 copyvar VAR_0x8004, VAR_0x8008 - specialvar VAR_RESULT, sub_807E73C + specialvar VAR_RESULT, GetInGameTradeSpeciesInfo copyvar VAR_0x8009, VAR_RESULT msgbox RustboroCity_House1_Text_2159E8, MSGBOX_YESNO compare VAR_RESULT, 0 @@ -18,14 +18,14 @@ RustboroCity_House1_EventScript_21593F:: @ 821593F compare VAR_0x8004, 255 goto_if_eq RustboroCity_House1_EventScript_2159BD copyvar VAR_0x8005, VAR_0x800A - specialvar VAR_RESULT, sub_807E9D4 + specialvar VAR_RESULT, GetTradeSpecies copyvar VAR_0x800B, VAR_RESULT compare VAR_RESULT, VAR_0x8009 goto_if_ne RustboroCity_House1_EventScript_2159C7 copyvar VAR_0x8004, VAR_0x8008 copyvar VAR_0x8005, VAR_0x800A - special sub_807EA10 - special sub_807F0E4 + special CreateInGameTradePokemon + special DoInGameTradeScene waitstate msgbox RustboroCity_House1_Text_215A77, MSGBOX_DEFAULT setflag FLAG_0x099 diff --git a/data/specials.inc b/data/specials.inc index 318d272d58..5e7c5a3d3d 100644 --- a/data/specials.inc +++ b/data/specials.inc @@ -263,10 +263,10 @@ gSpecials:: @ 81DBA64 def_special BedroomPC def_special PlayerPC def_special FieldShowRegionMap - def_special sub_807E73C - def_special sub_807EA10 - def_special sub_807F0E4 - def_special sub_807E9D4 + def_special GetInGameTradeSpeciesInfo + def_special CreateInGameTradePokemon + def_special DoInGameTradeScene + def_special GetTradeSpecies def_special GetWeekCount def_special RetrieveLotteryNumber def_special PickLotteryCornerTicket diff --git a/data/trade.s b/data/trade.s index b96c5adb34..cd8ada86b3 100644 --- a/data/trade.s +++ b/data/trade.s @@ -617,7 +617,7 @@ gIngameTrades:: @ 8338ED0 .2byte SPECIES_SKITTY .align 2 -gUnknown_08338FC0:: @ 8338FC0 +gIngameTradeMail:: @ 8338FC0 .2byte 0x1006, 0x1232, 0x102f, 0x0161, 0x0c00, 0x0182, 0x1000, 0x1006, 0x0e3b, 0x0000, 0x0a01, 0x1000, 0x161e, 0x018b, 0x0433, 0x1611 .2byte 0x180f, 0x0074, 0x1440, 0x0000, 0x0811, 0x102b, 0x013b, 0x2a34, 0x0c16, 0x1037, 0x1020, 0x0418, 0x0c23, 0x0000 @@ -634,7 +634,7 @@ gUnknown_0833900C:: @ 833900C gUnknown_08339014:: @ 8339014 .4byte 0x000001fc, 0x00002051, 0x00002326, 0x00003063 -gUnknown_08339024:: @ 8339024 +gTradeBallVerticalVelocityTable:: @ 8339024 .byte 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe .byte 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04 .byte 0x04, 0x04, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0xfc, 0xfd, 0xfe, 0xff diff --git a/include/gba/defines.h b/include/gba/defines.h index 16f1315d04..b68a2ad1e6 100644 --- a/include/gba/defines.h +++ b/include/gba/defines.h @@ -66,6 +66,4 @@ #define TOTAL_OBJ_TILE_COUNT 1024 -#define WIN_RANGE(a, b) (((a) << 8) | (b)) - #endif // GUARD_GBA_DEFINES diff --git a/include/gba/io_reg.h b/include/gba/io_reg.h index c20b69886e..df79b084d3 100644 --- a/include/gba/io_reg.h +++ b/include/gba/io_reg.h @@ -576,6 +576,9 @@ #define WINOUT_WINOBJ_OBJ (1 << 12) #define WINOUT_WINOBJ_CLR (1 << 13) +#define WIN_RANGE(a, b) (((a) << 8) | (b)) +#define WIN_RANGE2(a, b) ((b) | ((a) << 8)) + // BLDCNT // Bits 0-5 select layers for the 1st target #define BLDCNT_TGT1_BG0 (1 << 0) diff --git a/include/strings.h b/include/strings.h index 528990bfe3..7c6ca14bab 100644 --- a/include/strings.h +++ b/include/strings.h @@ -1893,7 +1893,6 @@ extern const u8 gText_PkmnTransferredSomeonesPC[]; extern const u8 gText_PkmnTransferredLanettesPC[]; // hall of fame -extern const u8 gText_SavingDontTurnOffPower[]; extern const u8 gText_LeagueChamp[]; extern const u8 gText_HOFNumber[]; extern const u8 gText_PickNextCancel[]; @@ -1989,5 +1988,6 @@ extern const u8 gText_XWillBeSentToY[]; extern const u8 gText_ByeByeVar1[]; extern const u8 gText_XSentOverY[]; extern const u8 gText_TakeGoodCareOfX[]; +extern const u8 gText_CommunicationStandby5[]; #endif //GUARD_STRINGS_H diff --git a/src/trade.c b/src/trade.c index ebcbf85348..dedd29c12b 100644 --- a/src/trade.c +++ b/src/trade.c @@ -9,12 +9,14 @@ #include "decompress.h" #include "event_data.h" #include "evolution_scene.h" +#include "field_screen_effect.h" #include "gpu_regs.h" #include "graphics.h" #include "international_string_util.h" #include "librfu.h" #include "link.h" #include "link_rfu.h" +#include "load_save.h" #include "mail.h" #include "main.h" #include "overworld.h" @@ -24,6 +26,10 @@ #include "pokedex.h" #include "pokemon_icon.h" #include "pokemon_summary_screen.h" +#include "random.h" +#include "rom_8011DC0.h" +#include "save.h" +#include "script.h" #include "sound.h" #include "string_util.h" #include "strings.h" @@ -40,6 +46,8 @@ #include "constants/songs.h" #include "constants/rgb.h" +#define Trade_SendData(ptr) (SendBlock(bitmask_all_link_players_but_self(), ptr->linkData, 20)) + struct InGameTrade { /*0x00*/ u8 name[11]; /*0x0C*/ u16 species; @@ -107,7 +115,7 @@ extern struct { /*0x70*/ u8 filler_70[2]; /*0x72*/ u8 unk_72; /*0x73*/ u8 unk_73; - /*0x74*/ u8 unk_74[20]; + /*0x74*/ u16 linkData[10]; /*0x88*/ u8 unk_88; /*0x89*/ u8 unk_89; /*0x8A*/ u16 unk_8A; @@ -138,9 +146,13 @@ extern struct { /*0xEF*/ u8 filler_EF; /*0xF0*/ u16 tradeSpecies[2]; /*0xF4*/ u16 unk_F4; - /*0xF6*/ u8 filler_F6[0xFA - 0xF6]; + /*0xF6*/ u8 unk_F6[3]; + /*0xF9*/ u8 filler_F9; /*0xFA*/ u8 unk_FA; - /*0xFB*/ u8 filler_FB[0x100 - 0xFB]; + /*0xFB*/ u8 unk_FB; + /*0xFC*/ u8 unk_FC; + /*0xFD*/ u8 unk_FD; + /*0xFE*/ u8 unk_FE; } *gUnknown_020322A0; extern u8 gUnknown_0203CF20; @@ -201,6 +213,11 @@ extern const struct SpriteTemplate gSpriteTemplate_8338DC8; extern const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[]; extern const struct SpriteTemplate gSpriteTemplate_8338E74; extern const struct SpriteTemplate gSpriteTemplate_8338E8C; +extern const s8 gTradeBallVerticalVelocityTable[]; +extern const u16 gIngameTradeMail[][10]; +extern const u8 gUnknown_08339090[][2]; +extern const u16 gUnknown_08337AA0[]; +extern const u16 gUnknown_08337CA0[]; // external to this file extern const struct CompressedSpriteSheet gMonFrontPicTable[]; @@ -246,7 +263,7 @@ void sub_807B60C(void); u8 sub_807BBC8(void); u8 sub_807CFC8(void); u8 sub_807BBEC(void); -void sub_807F1A8(u8, u8 *, u8); +void sub_807F1A8(u8, const u8 *, u8); void sub_807E5D8(struct Sprite *); void sub_807AAE0(struct Sprite *); void sub_807E6AC(struct Sprite *); @@ -255,6 +272,13 @@ void sub_807E784(void); void c3_08054588(u8); void c3_0805465C(u8); void sub_807F39C(u8); +void sub_807EB50(void); +void sub_807F464(void); +void sub_807E64C(struct Sprite *); +void sub_807E974(struct MailStruct *mail, const struct InGameTrade *trade); +void sub_807EACC(void); +void c2_080543C4(void); +void sub_807F110(u8); bool8 sub_8077170(const void *a0, u32 a1) { @@ -334,12 +358,12 @@ bool32 sub_8077260(void) } } -void sub_8077288(void) +void sub_8077288(u8 unused) { sub_800ADF8(); } -bool8 sub_8077294(void) +bool32 IsLinkTaskFinished(void) { return sub_800A520(); } @@ -3443,7 +3467,7 @@ void sub_807B5B8(void) case 1: if (sub_800A520()) { - SendBlock(bitmask_all_link_players_but_self(), gUnknown_020322A0->unk_74, sizeof(gUnknown_020322A0->unk_74)); + Trade_SendData(gUnknown_020322A0); gUnknown_020322A0->unk_93++; } case 2: @@ -4679,3 +4703,571 @@ bool8 sub_807CFC8(void) } return FALSE; } + +void c2_08053788(void) +{ + u16 evoTarget; + switch (gMain.state) + { + case 0: + gMain.state = 4; + gSoftResetDisabled = TRUE; + break; + case 4: + gCB2_AfterEvolution = sub_807EB50; + evoTarget = GetEvolutionTargetSpecies(&gPlayerParty[gUnknown_02032298[0]], TRUE, ITEM_NONE); + if (evoTarget != SPECIES_NONE) + TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]); + else if (sub_8077260()) + SetMainCallback2(sub_807F464); + else + SetMainCallback2(sub_807EB50); + gUnknown_02032298[0] = 255; + break; + } + if (!HasLinkErrorOccurred()) + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_807E4DC(void) +{ + u8 blockReceivedStatus; + sub_807ACDC(); + blockReceivedStatus = GetBlockReceivedStatus(); + if (blockReceivedStatus & 0x01) + { + if (gBlockRecvBuffer[0][0] == 0xDCBA) + { + SetMainCallback2(c2_08053788); + } + if (gBlockRecvBuffer[0][0] == 0xABCD) + { + gUnknown_020322A0->unk_72 = 1; + } + ResetBlockReceivedFlag(0); + } + if (blockReceivedStatus & 0x02) + { + if (gBlockRecvBuffer[1][0] == 0xABCD) + { + gUnknown_020322A0->unk_73 = 1; + } + ResetBlockReceivedFlag(1); + } +} + +void sub_807E55C(struct Sprite *sprite) +{ + sprite->pos1.y += sprite->data[0] / 10; + sprite->data[5] += sprite->data[1]; + sprite->pos1.x = sprite->data[5] / 10; + if (sprite->pos1.y > 0x4c) + { + sprite->pos1.y = 0x4c; + sprite->data[0] = -(sprite->data[0] * sprite->data[2]) / 100; + sprite->data[3] ++; + } + if (sprite->pos1.x == 0x78) + sprite->data[1] = 0; + sprite->data[0] += sprite->data[4]; + if (sprite->data[3] == 4) + { + sprite->data[7] = 1; + sprite->callback = SpriteCallbackDummy; + } +} + +void sub_807E5D8(struct Sprite *sprite) +{ + sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]]; + if (sprite->data[0] == 22) + PlaySE(SE_KON); + if (++ sprite->data[0] == 44) + { + PlaySE(SE_W025); + sprite->callback = sub_807E64C; + sprite->data[0] = 0; + BeginNormalPaletteFade(1 << (16 + sprite->oam.paletteNum), -1, 0, 16, RGB_WHITEALPHA); + } +} + +void sub_807E64C(struct Sprite *sprite) +{ + if (sprite->data[1] == 20) + StartSpriteAffineAnim(sprite, 1); + if (++ sprite->data[1] > 20) + { + sprite->pos2.y -= gTradeBallVerticalVelocityTable[sprite->data[0]]; + if (++ sprite->data[0] == 23) + { + DestroySprite(sprite); + gUnknown_020322A0->unk_94 = 14; // Resume the master trade animation + } + } +} + +void sub_807E6AC(struct Sprite *sprite) +{ + if (sprite->data[2] == 0) + { + if ((sprite->pos1.y += 4) > sprite->data[3]) + { + sprite->data[2] ++; + sprite->data[0] = 0x16; + PlaySE(SE_KON); + } + } + else + { + if (sprite->data[0] == 0x42) + PlaySE(SE_KON2); + if (sprite->data[0] == 0x5c) + PlaySE(SE_KON3); + if (sprite->data[0] == 0x6b) + PlaySE(SE_KON4); + sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]]; + if (++sprite->data[0] == 0x6c) + sprite->callback = SpriteCallbackDummy; + } +} + +u16 GetInGameTradeSpeciesInfo(void) +{ + const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004]; + StringCopy(gStringVar1, gSpeciesNames[inGameTrade->playerSpecies]); + StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]); + return inGameTrade->playerSpecies; +} + +void sub_807E784(void) +{ + u8 nickname[32]; + const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004]; + GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_NICKNAME, nickname); + StringCopy10(gStringVar1, nickname); + StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]); +} + +void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade) +{ + const struct InGameTrade *inGameTrade = &gIngameTrades[whichInGameTrade]; + u8 level = GetMonData(&gPlayerParty[whichPlayerMon], MON_DATA_LEVEL); + + struct MailStruct mail; + u8 metLocation = 0xFE; + u8 isMail; + struct Pokemon *pokemon = &gEnemyParty[0]; + + CreateMon(pokemon, inGameTrade->species, level, 32, TRUE, inGameTrade->personality, TRUE, inGameTrade->otId); + + SetMonData(pokemon, MON_DATA_HP_IV, &inGameTrade->ivs[0]); + SetMonData(pokemon, MON_DATA_ATK_IV, &inGameTrade->ivs[1]); + SetMonData(pokemon, MON_DATA_DEF_IV, &inGameTrade->ivs[2]); + SetMonData(pokemon, MON_DATA_SPEED_IV, &inGameTrade->ivs[3]); + SetMonData(pokemon, MON_DATA_SPATK_IV, &inGameTrade->ivs[4]); + SetMonData(pokemon, MON_DATA_SPDEF_IV, &inGameTrade->ivs[5]); + SetMonData(pokemon, MON_DATA_NICKNAME, inGameTrade->name); + SetMonData(pokemon, MON_DATA_OT_NAME, inGameTrade->otName); + SetMonData(pokemon, MON_DATA_OT_GENDER, &inGameTrade->otGender); + SetMonData(pokemon, MON_DATA_ALT_ABILITY, &inGameTrade->secondAbility); + SetMonData(pokemon, MON_DATA_BEAUTY, &inGameTrade->stats[1]); + SetMonData(pokemon, MON_DATA_CUTE, &inGameTrade->stats[2]); + SetMonData(pokemon, MON_DATA_COOL, &inGameTrade->stats[0]); + SetMonData(pokemon, MON_DATA_SMART, &inGameTrade->stats[3]); + SetMonData(pokemon, MON_DATA_TOUGH, &inGameTrade->stats[4]); + SetMonData(pokemon, MON_DATA_SHEEN, &inGameTrade->sheen); + SetMonData(pokemon, MON_DATA_MET_LOCATION, &metLocation); + + isMail = FALSE; + if (inGameTrade->heldItem != ITEM_NONE) + { + if (ItemIsMail(inGameTrade->heldItem)) + { + sub_807E974(&mail, inGameTrade); + gUnknown_020321C0[0] = mail; + SetMonData(pokemon, MON_DATA_MAIL, &isMail); + SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem); + } + else + { + SetMonData(pokemon, MON_DATA_HELD_ITEM, &inGameTrade->heldItem); + } + } + CalculateMonStats(&gEnemyParty[0]); +} + +void sub_807E974(struct MailStruct *mail, const struct InGameTrade *trade) { + s32 i; + + for (i = 0; i < 9; i++) + { + mail->words[i] = gIngameTradeMail[trade->mailNum][i]; + } + + StringCopy(mail->playerName, trade->otName); + PadNameString(mail->playerName, CHAR_SPACE); + + mail->trainerId[0] = trade->otId >> 24; + mail->trainerId[1] = trade->otId >> 16; + mail->trainerId[2] = trade->otId >> 8; + mail->trainerId[3] = trade->otId; + mail->species = trade->species; + mail->itemId = trade->heldItem; +} + +u16 GetTradeSpecies(void) +{ + if (GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_IS_EGG)) + return SPECIES_NONE; + return GetMonData(&gPlayerParty[gSpecialVar_0x8005], MON_DATA_SPECIES); +} + +void CreateInGameTradePokemon(void) +{ + _CreateInGameTradePokemon(gSpecialVar_0x8005, gSpecialVar_0x8004); +} + +void sub_807EA2C(void) +{ + if (sub_807BBC8() == TRUE) + { + DestroySprite(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]]); + FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]]); + sub_807B4D0(gUnknown_02032298[0], gUnknown_02032298[1] % 6); + if (!sub_8077260()) + { + gUnknown_020322A0->linkData[0] = 0xABCD; + gUnknown_020322A0->unk_93 = 1; + } + SetMainCallback2(sub_807EACC); + } + sub_807B5B8(); + sub_807E4DC(); + RunTasks(); + RunTextPrinters(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_807EACC(void) +{ + u8 mpId = sub_807ACDC(); + if (sub_8077260()) + { + SetMainCallback2(c2_08053788); + } + else + { + sub_807E4DC(); + if (mpId == 0 && gUnknown_020322A0->unk_72 == 1 && gUnknown_020322A0->unk_73 == 1) + { + gUnknown_020322A0->linkData[0] = 0xDCBA; + Trade_SendData(gUnknown_020322A0); + gUnknown_020322A0->unk_72 = 2; + gUnknown_020322A0->unk_73 = 2; + } + } + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void sub_807EB50(void) +{ + switch (gMain.state) + { + case 0: + gMain.state++; + StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5); + sub_807F1A8(0, gStringVar4, 0); + break; + case 1: + sub_8077288(0); + gMain.state = 100; + gUnknown_020322A0->unk_64 = 0; + break; + case 100: + if (++gUnknown_020322A0->unk_64 > 180) + { + gMain.state = 101; + gUnknown_020322A0->unk_64 = 0; + } + if (IsLinkTaskFinished()) + { + gMain.state = 2; + } + break; + case 101: + if (IsLinkTaskFinished()) + { + gMain.state = 2; + } + break; + case 2: + gMain.state = 50; + StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower); + sub_807F1A8(0, gStringVar4, 0); + break; + case 50: + if (!InUnionRoom()) + IncrementGameStat(GAME_STAT_POKEMON_TRADES); + if (gWirelessCommType) + { + sub_801B990(2, gLinkPlayers[GetMultiplayerId() ^ 1].trainerId); + } + sub_8076D5C(); + sub_8153380(); + gMain.state++; + gUnknown_020322A0->unk_64 = 0; + break; + case 51: + if (++gUnknown_020322A0->unk_64 == 5) + { + gMain.state++; + } + break; + case 52: + if (sub_81533AC()) + { + sav2_gender2_inplace_and_xFE(); + gMain.state = 4; + } + else + { + gUnknown_020322A0->unk_64 = 0; + gMain.state = 51; + } + break; + case 4: + sub_81533E0(); + gMain.state = 40; + gUnknown_020322A0->unk_64 = 0; + break; + case 40: + if (++gUnknown_020322A0->unk_64 > 50) + { + if (GetMultiplayerId() == 0) + { + gUnknown_020322A0->unk_64 = Random() % 30; + } + else + { + gUnknown_020322A0->unk_64 = 0; + } + gMain.state = 41; + } + break; + case 41: + if (gUnknown_020322A0->unk_64 == 0) + { + sub_8077288(1); + gMain.state = 42; + } + else + { + gUnknown_020322A0->unk_64--; + } + break; + case 42: + if (IsLinkTaskFinished()) + { + sub_8153408(); + gMain.state = 5; + } + break; + case 5: + if (++gUnknown_020322A0->unk_64 > 60) + { + gMain.state++; + sub_8077288(2); + } + break; + case 6: + if (IsLinkTaskFinished()) + { + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gMain.state ++; + } + break; + case 7: + if (!gPaletteFade.active) + { + FadeOutBGM(3); + gMain.state++; + } + break; + case 8: + if (IsBGMStopped() == TRUE) + { + if (gWirelessCommType && gMain.savedCallback == sub_80773AC) + { + sub_8077288(3); + } + else + { + sub_800AC34(); + } + gMain.state++; + } + break; + case 9: + if (gWirelessCommType && gMain.savedCallback == sub_80773AC) + { + if (IsLinkTaskFinished()) + { + gSoftResetDisabled = FALSE; + SetMainCallback2(c2_080543C4); + } + } + else if (!gReceivedRemoteLinkPlayers) + { + gSoftResetDisabled = FALSE; + SetMainCallback2(c2_080543C4); + } + break; + } + if (!HasLinkErrorOccurred()) + { + RunTasks(); + } + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void c2_080543C4(void) +{ + if (!gPaletteFade.active) + { + FreeAllWindowBuffers(); + Free(GetBgTilemapBuffer(3)); + Free(GetBgTilemapBuffer(1)); + Free(GetBgTilemapBuffer(0)); + FreeMonSpritesGfx(); + FREE_AND_SET_NULL(gUnknown_020322A0); + if (gWirelessCommType) + sub_800E084(); + SetMainCallback2(gMain.savedCallback); + } + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} + +void DoInGameTradeScene(void) +{ + ScriptContext2_Enable(); + CreateTask(sub_807F110, 10); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); +} + +void sub_807F110(u8 taskId) +{ + if (!gPaletteFade.active) + { + SetMainCallback2(sub_807B270); + gFieldCallback = sub_80AF168; + DestroyTask(taskId); + } +} + +void sub_807F14C(void) +{ + u8 i; + u8 numRibbons = 0; + for (i = 0; i < 12; i ++) + { + numRibbons += GetMonData(&gEnemyParty[gUnknown_02032298[1] % 6], MON_DATA_CHAMPION_RIBBON + i); + } + if (numRibbons != 0) + FlagSet(FLAG_SYS_RIBBON_GET); +} + +void sub_807F19C(void) +{ + sub_807B170(); +} + +void sub_807F1A8(u8 windowId, const u8 *str, u8 speed) +{ + FillWindowPixelBuffer(windowId, 0xFF); + gUnknown_020322A0->unk_F6[0] = 15; + gUnknown_020322A0->unk_F6[1] = 1; + gUnknown_020322A0->unk_F6[2] = 6; + AddTextPrinterParameterized4(windowId, 1, 0, 2, 0, 0, gUnknown_020322A0->unk_F6, speed, str); + CopyWindowToVram(windowId, 3); +} + +void c3_08054588(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + u16 unk = gUnknown_08339090[data[0]][0] * 16; + + if (!data[2]) + { + if (unk == 0x100) + LoadPalette(gUnknown_08337EA0, 0x30, 32); + else + LoadPalette(&gUnknown_08337AA0[unk], 0x30, 32); + } + else + { + if (unk == 0x100) + LoadPalette(gUnknown_08337EA0, 0x30, 32); + else + LoadPalette(&gUnknown_08337CA0[unk], 0x30, 32); + } + + if (gUnknown_08339090[data[0]][0] == 0 && data[1] == 0) + PlaySE(SE_W215); + + if (data[1] == gUnknown_08339090[data[0]][1]) + { + data[0]++; + data[1] = 0; + if (gUnknown_08339090[data[0]][1] == 0xFF) + { + DestroyTask(taskId); + } + } + else + { + data[1]++; + } +} + +void c3_0805465C(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (data[0] == 0) + { + gUnknown_020322A0->unk_FB = gUnknown_020322A0->unk_FD = 120; + gUnknown_020322A0->unk_FC = 0; + gUnknown_020322A0->unk_FE = 160; + SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_OBJ); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | + WININ_WIN0_BG1 | + WININ_WIN0_OBJ); + } + + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(gUnknown_020322A0->unk_FB, gUnknown_020322A0->unk_FD)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(gUnknown_020322A0->unk_FC, gUnknown_020322A0->unk_FE)); + + data[0]++; + gUnknown_020322A0->unk_FB -= 5; + gUnknown_020322A0->unk_FD += 5; + + if (gUnknown_020322A0->unk_FB < 80) + { + DestroyTask(taskId); + } +} From c22a12d8d68fa22941e3b945ca3f9037d3f1a5fb Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Sat, 29 Dec 2018 13:50:24 -0600 Subject: [PATCH 42/53] trade source done --- asm/trade.s | 410 -------------------------------------------------- ld_script.txt | 1 - src/trade.c | 150 ++++++++++++++++++ 3 files changed, 150 insertions(+), 411 deletions(-) delete mode 100644 asm/trade.s diff --git a/asm/trade.s b/asm/trade.s deleted file mode 100644 index c601f9afa8..0000000000 --- a/asm/trade.s +++ /dev/null @@ -1,410 +0,0 @@ - .include "asm/macros.inc" - .include "constants/gba_constants.inc" - .include "constants/misc_constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_807F39C -sub_807F39C: @ 807F39C - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - adds r6, r0, 0 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, =gTasks + 0x8 - adds r5, r0, r1 - movs r1, 0 - ldrsh r0, [r5, r1] - cmp r0, 0 - bne _0807F3D8 - ldr r2, =gUnknown_020322A0 - ldr r0, [r2] - adds r0, 0xFB - movs r1, 0x50 - strb r1, [r0] - ldr r0, [r2] - adds r0, 0xFD - movs r1, 0xA0 - strb r1, [r0] - movs r0, 0x4A - movs r1, 0x10 - bl SetGpuReg - movs r0, 0x48 - movs r1, 0x13 - bl SetGpuReg -_0807F3D8: - ldr r4, =gUnknown_020322A0 - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0xFD - ldrb r1, [r1] - adds r0, 0xFB - ldrb r0, [r0] - lsls r0, 8 - orrs r1, r0 - movs r0, 0x40 - bl SetGpuReg - ldr r0, [r4] - adds r1, r0, 0 - adds r1, 0xFE - ldrb r1, [r1] - adds r0, 0xFC - ldrb r0, [r0] - lsls r0, 8 - orrs r1, r0 - movs r0, 0x44 - bl SetGpuReg - ldr r0, [r4] - adds r0, 0xFB - ldrb r0, [r0] - cmp r0, 0x78 - beq _0807F44C - ldrh r0, [r5] - adds r0, 0x1 - strh r0, [r5] - ldr r1, [r4] - adds r1, 0xFB - ldrb r0, [r1] - adds r0, 0x5 - strb r0, [r1] - ldr r1, [r4] - adds r1, 0xFD - ldrb r0, [r1] - subs r0, 0x5 - strb r0, [r1] - ldr r0, [r4] - adds r0, 0xFB - ldrb r0, [r0] - cmp r0, 0x73 - bls _0807F45C - ldr r2, =0x0000ffff - movs r0, 0x8 - movs r1, 0 - bl BlendPalettes - b _0807F45C - .pool -_0807F44C: - movs r1, 0x80 - lsls r1, 6 - movs r0, 0 - bl ClearGpuRegBits - adds r0, r6, 0 - bl DestroyTask -_0807F45C: - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_807F39C - - thumb_func_start sub_807F464 -sub_807F464: @ 807F464 - push {r4,r5,lr} - sub sp, 0x4 - ldr r1, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r1, r2 - ldrb r0, [r0] - adds r2, r1, 0 - cmp r0, 0xC - bls _0807F47A - b _0807F70C -_0807F47A: - lsls r0, 2 - ldr r1, =_0807F48C - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .pool - .align 2, 0 -_0807F48C: - .4byte _0807F4C0 - .4byte _0807F4E8 - .4byte _0807F500 - .4byte _0807F550 - .4byte _0807F570 - .4byte _0807F5AC - .4byte _0807F5D0 - .4byte _0807F620 - .4byte _0807F64E - .4byte _0807F66C - .4byte _0807F694 - .4byte _0807F6C4 - .4byte _0807F6F8 -_0807F4C0: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - movs r0, 0x1 - strb r0, [r1] - ldr r4, =gStringVar4 - ldr r1, =gText_CommunicationStandby5 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - b _0807F70C - .pool -_0807F4E8: - movs r0, 0 - bl sub_8077288 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x2 - b _0807F5BC - .pool -_0807F500: - bl IsLinkTaskFinished - cmp r0, 0 - bne _0807F50A - b _0807F70C -_0807F50A: - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r5, 0 - movs r1, 0x3 - strb r1, [r0] - ldr r4, =gStringVar4 - ldr r1, =gText_SavingDontTurnOffPower - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0 - adds r1, r4, 0 - movs r2, 0 - bl sub_807F1A8 - movs r0, 0x15 - bl IncrementGameStat - bl sub_8153380 - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - str r5, [r0, 0x64] - b _0807F70C - .pool -_0807F550: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x5 - beq _0807F560 - b _0807F70C -_0807F560: - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - movs r0, 0x4 - strb r0, [r1] - b _0807F70C - .pool -_0807F570: - bl sub_81533AC - lsls r0, 24 - lsrs r1, r0, 24 - cmp r1, 0 - beq _0807F590 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x5 - strb r1, [r0] - b _0807F70C - .pool -_0807F590: - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - str r1, [r0, 0x64] - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x3 - strb r1, [r0] - b _0807F70C - .pool -_0807F5AC: - bl sub_81533E0 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r2, 0 - movs r1, 0x6 -_0807F5BC: - strb r1, [r0] - ldr r0, =gUnknown_020322A0 - ldr r0, [r0] - str r2, [r0, 0x64] - b _0807F70C - .pool -_0807F5D0: - ldr r4, =gUnknown_020322A0 - ldr r1, [r4] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0xA - bhi _0807F5E0 - b _0807F70C -_0807F5E0: - bl GetMultiplayerId - lsls r0, 24 - cmp r0, 0 - bne _0807F608 - bl Random - ldr r4, [r4] - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x1E - bl __umodsi3 - lsls r0, 16 - lsrs r0, 16 - str r0, [r4, 0x64] - b _0807F60E - .pool -_0807F608: - ldr r1, [r4] - movs r0, 0 - str r0, [r1, 0x64] -_0807F60E: - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x7 - strb r1, [r0] - b _0807F70C - .pool -_0807F620: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - cmp r0, 0 - bne _0807F648 - movs r0, 0x1 - bl sub_8077288 - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0x8 - strb r1, [r0] - b _0807F70C - .pool -_0807F648: - subs r0, 0x1 - str r0, [r1, 0x64] - b _0807F70C -_0807F64E: - bl IsLinkTaskFinished - cmp r0, 0 - beq _0807F70C - bl sub_8153408 - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0x9 - strb r1, [r0] - b _0807F70C - .pool -_0807F66C: - ldr r0, =gUnknown_020322A0 - ldr r1, [r0] - ldr r0, [r1, 0x64] - adds r0, 0x1 - str r0, [r1, 0x64] - cmp r0, 0x3C - bls _0807F70C - movs r0, 0x87 - lsls r0, 3 - adds r1, r2, r0 - ldrb r0, [r1] - adds r0, 0x1 - strb r0, [r1] - movs r0, 0x2 - bl sub_8077288 - b _0807F70C - .pool -_0807F694: - bl IsLinkTaskFinished - cmp r0, 0 - beq _0807F70C - movs r0, 0x3 - bl FadeOutBGM - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r0, =gMain - movs r1, 0x87 - lsls r1, 3 - adds r0, r1 - movs r1, 0xB - strb r1, [r0] - b _0807F70C - .pool -_0807F6C4: - ldr r0, =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0807F70C - bl IsBGMStopped - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0807F70C - movs r0, 0x3 - bl sub_8077288 - ldr r0, =gMain - movs r2, 0x87 - lsls r2, 3 - adds r0, r2 - movs r1, 0xC - strb r1, [r0] - b _0807F70C - .pool -_0807F6F8: - bl IsLinkTaskFinished - cmp r0, 0 - beq _0807F70C - ldr r0, =gSoftResetDisabled - movs r1, 0 - strb r1, [r0] - ldr r0, =c2_080543C4 - bl SetMainCallback2 -_0807F70C: - bl HasLinkErrorOccurred - lsls r0, 24 - cmp r0, 0 - bne _0807F71A - bl RunTasks -_0807F71A: - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - add sp, 0x4 - pop {r4,r5} - pop {r0} - bx r0 - .pool - thumb_func_end sub_807F464 - - .align 2, 0 @ Don't pad with nop. diff --git a/ld_script.txt b/ld_script.txt index 30c7327a58..d8cf1f5474 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -82,7 +82,6 @@ SECTIONS { src/pokeball.o(.text); src/load_save.o(.text); src/trade.o(.text); - asm/trade.o(.text); src/berry_blender.o(.text); src/play_time.o(.text); src/new_game.o(.text); diff --git a/src/trade.c b/src/trade.c index dedd29c12b..49d8b49b40 100644 --- a/src/trade.c +++ b/src/trade.c @@ -5271,3 +5271,153 @@ void c3_0805465C(u8 taskId) DestroyTask(taskId); } } + +void sub_807F39C(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (data[0] == 0) + { + gUnknown_020322A0->unk_FB = 80; + gUnknown_020322A0->unk_FD = 160; + SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_OBJ); + SetGpuReg(REG_OFFSET_WININ, WININ_WIN0_BG0 | + WININ_WIN0_BG1 | + WININ_WIN0_OBJ); + } + + SetGpuReg(REG_OFFSET_WIN0H, WIN_RANGE2(gUnknown_020322A0->unk_FB, gUnknown_020322A0->unk_FD)); + SetGpuReg(REG_OFFSET_WIN0V, WIN_RANGE2(gUnknown_020322A0->unk_FC, gUnknown_020322A0->unk_FE)); + + if (gUnknown_020322A0->unk_FB != 120) + { + data[0]++; + gUnknown_020322A0->unk_FB += 5; + gUnknown_020322A0->unk_FD -= 5; + + if (gUnknown_020322A0->unk_FB >= 116) + BlendPalettes(0x8, 0, RGB_WHITEALPHA); + } + else + { + ClearGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_WIN0_ON); + DestroyTask(taskId); + } +} + +void sub_807F464(void) +{ + switch (gMain.state) + { + case 0: + gMain.state = 1; + StringExpandPlaceholders(gStringVar4, gText_CommunicationStandby5); + sub_807F1A8(0, gStringVar4, 0); + break; + case 1: + sub_8077288(0); + gMain.state = 2; + gUnknown_020322A0->unk_64 = 0; + break; + case 2: + if (IsLinkTaskFinished()) + { + gMain.state = 3; + StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower); + sub_807F1A8(0, gStringVar4, 0); + IncrementGameStat(GAME_STAT_POKEMON_TRADES); + sub_8153380(); + gUnknown_020322A0->unk_64 = 0; + } + break; + case 3: + if (++gUnknown_020322A0->unk_64 == 5) + { + gMain.state = 4; + } + break; + case 4: + if (sub_81533AC()) + { + gMain.state = 5; + } + else + { + gUnknown_020322A0->unk_64 = 0; + gMain.state = 3; + } + break; + case 5: + sub_81533E0(); + gMain.state = 6; + gUnknown_020322A0->unk_64 = 0; + break; + case 6: + if (++gUnknown_020322A0->unk_64 > 10) + { + if (GetMultiplayerId() == 0) + { + gUnknown_020322A0->unk_64 = Random() % 30; + } + else + { + gUnknown_020322A0->unk_64 = 0; + } + gMain.state = 7; + } + break; + case 7: + if (gUnknown_020322A0->unk_64 == 0) + { + sub_8077288(1); + gMain.state = 8; + } + else + { + gUnknown_020322A0->unk_64--; + } + break; + case 8: + if (IsLinkTaskFinished()) + { + sub_8153408(); + gMain.state = 9; + } + break; + case 9: + if (++gUnknown_020322A0->unk_64 > 60) + { + gMain.state++; + sub_8077288(2); + } + break; + case 10: + if (IsLinkTaskFinished()) + { + FadeOutBGM(3); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gMain.state = 11; + } + break; + case 11: + if (!gPaletteFade.active && IsBGMStopped() == TRUE) + { + sub_8077288(3); + gMain.state = 12; + } + break; + case 12: + if (IsLinkTaskFinished()) + { + gSoftResetDisabled = FALSE; + SetMainCallback2(c2_080543C4); + } + break; + } + + if (!HasLinkErrorOccurred()) + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); +} From 1baa17c632d6fff8ed3dbdc1a3c92b9e8c8d2a50 Mon Sep 17 00:00:00 2001 From: garak Date: Sat, 29 Dec 2018 21:49:29 -0500 Subject: [PATCH 43/53] index gRegionMapEntries by map section constants --- src/data/region_map/region_map_entries.h | 429 +++++++++++------------ 1 file changed, 213 insertions(+), 216 deletions(-) diff --git a/src/data/region_map/region_map_entries.h b/src/data/region_map/region_map_entries.h index 0c79c04ac9..6ad87d9c16 100644 --- a/src/data/region_map/region_map_entries.h +++ b/src/data/region_map/region_map_entries.h @@ -62,9 +62,6 @@ static const u8 sMapName_AbandonedShip[] = _("ABANDONED SHIP"); static const u8 sMapName_NewMauville[] = _("NEW MAUVILLE"); static const u8 sMapName_MeteorFalls[] = _("METEOR FALLS"); static const u8 sMapName_MtPyre[] = _("MT. PYRE"); -// This was the Aqua or Magma hideout in Ruby/Sapphire, but each team has a -// hideout in Emerald with their own new region map entries, and this name -// doesn't seem to be used anymore. static const u8 sMapName_AquaHideoutOld[] = _("{AQUA} HIDEOUT"); static const u8 sMapName_ShoalCave[] = _("SHOAL CAVE"); static const u8 sMapName_SeafloorCavern[] = _("SEAFLOOR CAVERN"); @@ -203,219 +200,219 @@ static const u8 sMapName_DesertUnderpass[] = _("DESERT UNDERPASS"); static const u8 sMapName_TrainerHill[] = _("TRAINER HILL"); const struct RegionMapLocation gRegionMapEntries[] = { - { 4, 11, 1, 1, sMapName_LittlerootTown}, - { 4, 9, 1, 1, sMapName_OldaleTown}, - { 2, 14, 1, 1, sMapName_DewfordTown}, - { 5, 3, 1, 1, sMapName_LavaridgeTown}, - { 3, 0, 1, 1, sMapName_FallarborTown}, - { 4, 6, 1, 1, sMapName_VerdanturfTown}, - {17, 10, 1, 1, sMapName_PacifidlogTown}, - { 1, 9, 1, 1, sMapName_PetalburgCity}, - { 8, 10, 1, 2, sMapName_SlateportCity}, - { 8, 6, 2, 1, sMapName_MauvilleCity}, - { 0, 5, 1, 2, sMapName_RustboroCity}, - {12, 0, 1, 1, sMapName_FortreeCity}, - {18, 3, 2, 1, sMapName_LilycoveCity}, - {24, 5, 2, 1, sMapName_MossdeepCity}, - {21, 7, 1, 1, sMapName_SootopolisCity}, - {27, 8, 1, 2, sMapName_EverGrandeCity}, - { 4, 10, 1, 1, sMapName_Route101}, - { 2, 9, 2, 1, sMapName_Route102}, - { 4, 8, 4, 1, sMapName_Route103}, - { 0, 7, 1, 3, sMapName_Route104}, - { 0, 10, 1, 3, sMapName_Route105}, - { 0, 13, 2, 1, sMapName_Route106}, - { 3, 14, 3, 1, sMapName_Route107}, - { 6, 14, 2, 1, sMapName_Route108}, - { 8, 12, 1, 3, sMapName_Route109}, - { 8, 7, 1, 3, sMapName_Route110}, - { 8, 0, 1, 6, sMapName_Route111}, - { 6, 3, 2, 1, sMapName_Route112}, - { 4, 0, 4, 1, sMapName_Route113}, - { 1, 0, 2, 3, sMapName_Route114}, - { 0, 2, 1, 3, sMapName_Route115}, - { 1, 5, 4, 1, sMapName_Route116}, - { 5, 6, 3, 1, sMapName_Route117}, - {10, 6, 2, 1, sMapName_Route118}, - {11, 0, 1, 6, sMapName_Route119}, - {13, 0, 1, 4, sMapName_Route120}, - {14, 3, 4, 1, sMapName_Route121}, - {16, 4, 1, 2, sMapName_Route122}, - {12, 6, 5, 1, sMapName_Route123}, - {20, 3, 4, 3, sMapName_Route124}, - {24, 3, 2, 2, sMapName_Route125}, - {20, 6, 3, 3, sMapName_Route126}, - {23, 6, 3, 3, sMapName_Route127}, - {23, 9, 4, 1, sMapName_Route128}, - {24, 10, 2, 1, sMapName_Route129}, - {21, 10, 3, 1, sMapName_Route130}, - {18, 10, 3, 1, sMapName_Route131}, - {15, 10, 2, 1, sMapName_Route132}, - {12, 10, 3, 1, sMapName_Route133}, - { 9, 10, 3, 1, sMapName_Route134}, - {20, 3, 4, 3, sMapName_Underwater}, - {20, 6, 3, 3, sMapName_Underwater}, - {23, 6, 3, 3, sMapName_Underwater}, - {23, 9, 4, 1, sMapName_Underwater}, - {21, 7, 1, 1, sMapName_Underwater}, - { 1, 13, 1, 1, sMapName_GraniteCave}, - { 6, 2, 1, 1, sMapName_MtChimney}, - {16, 2, 1, 1, sMapName_SafariZone}, - {22, 12, 1, 1, sMapName_BattleFrontier}, - { 0, 8, 1, 1, sMapName_PetalburgWoods}, - { 2, 5, 1, 1, sMapName_RusturfTunnel}, - { 6, 14, 1, 1, sMapName_AbandonedShip}, - { 8, 7, 1, 1, sMapName_NewMauville}, - { 0, 3, 1, 1, sMapName_MeteorFalls}, - { 1, 2, 1, 1, sMapName_MeteorFalls}, - {16, 4, 1, 1, sMapName_MtPyre}, - {19, 3, 1, 1, sMapName_AquaHideoutOld}, - {24, 4, 1, 1, sMapName_ShoalCave}, - {24, 9, 1, 1, sMapName_SeafloorCavern}, - {24, 9, 1, 1, sMapName_Underwater}, - {27, 9, 1, 1, sMapName_VictoryRoad}, - {17, 10, 1, 1, sMapName_MirageIsland}, - {21, 7, 1, 1, sMapName_CaveOfOrigin}, - {12, 14, 1, 1, sMapName_SouthernIsland}, - { 6, 3, 1, 1, sMapName_FieryPath}, - { 7, 3, 1, 1, sMapName_FieryPath}, - { 6, 3, 1, 1, sMapName_JaggedPass}, - { 7, 2, 1, 1, sMapName_JaggedPass}, - {11, 10, 1, 1, sMapName_SealedChamber}, - {11, 10, 1, 1, sMapName_Underwater}, - {13, 0, 1, 1, sMapName_ScorchedSlab}, - { 0, 10, 1, 1, sMapName_IslandCave}, - { 8, 3, 1, 1, sMapName_DesertRuins}, - {13, 2, 1, 1, sMapName_AncientTomb}, - { 0, 0, 1, 1, sMapName_InsideOfTruck}, - {19, 10, 1, 1, sMapName_SkyPillar}, - { 0, 0, 1, 1, sMapName_SecretBase}, - { 0, 0, 1, 1, sMapName_None}, - { 0, 0, 1, 1, sMapName_PalletTown}, - { 0, 0, 1, 1, sMapName_ViridianCity}, - { 0, 0, 1, 1, sMapName_PewterCity}, - { 0, 0, 1, 1, sMapName_CeruleanCity}, - { 0, 0, 1, 1, sMapName_LavenderTown}, - { 0, 0, 1, 1, sMapName_VermilionCity}, - { 0, 0, 1, 1, sMapName_CeladonCity}, - { 0, 0, 1, 1, sMapName_FuchsiaCity}, - { 0, 0, 1, 1, sMapName_CinnabarIsland}, - { 0, 0, 1, 1, sMapName_IndigoPlateau}, - { 0, 0, 1, 1, sMapName_SaffronCity}, - { 0, 0, 1, 1, sMapName_Route4}, - { 0, 0, 1, 1, sMapName_Route10}, - { 0, 0, 1, 1, sMapName_Route1}, - { 0, 0, 1, 1, sMapName_Route2}, - { 0, 0, 1, 1, sMapName_Route3}, - { 0, 0, 1, 1, sMapName_Route4_2}, - { 0, 0, 1, 1, sMapName_Route5}, - { 0, 0, 1, 1, sMapName_Route6}, - { 0, 0, 1, 1, sMapName_Route7}, - { 0, 0, 1, 1, sMapName_Route8}, - { 0, 0, 1, 1, sMapName_Route9}, - { 0, 0, 1, 1, sMapName_Route10_2}, - { 0, 0, 1, 1, sMapName_Route11}, - { 0, 0, 1, 1, sMapName_Route12}, - { 0, 0, 1, 1, sMapName_Route13}, - { 0, 0, 1, 1, sMapName_Route14}, - { 0, 0, 1, 1, sMapName_Route15}, - { 0, 0, 1, 1, sMapName_Route16}, - { 0, 0, 1, 1, sMapName_Route17}, - { 0, 0, 1, 1, sMapName_Route18}, - { 0, 0, 1, 1, sMapName_Route19}, - { 0, 0, 1, 1, sMapName_Route20}, - { 0, 0, 1, 1, sMapName_Route21}, - { 0, 0, 1, 1, sMapName_Route22}, - { 0, 0, 1, 1, sMapName_Route23}, - { 0, 0, 1, 1, sMapName_Route24}, - { 0, 0, 1, 1, sMapName_Route25}, - { 0, 0, 1, 1, sMapName_ViridianForest}, - { 0, 0, 1, 1, sMapName_MtMoon}, - { 0, 0, 1, 1, sMapName_SSAnne}, - { 0, 0, 1, 1, sMapName_UndergroundPath}, - { 0, 0, 1, 1, sMapName_UndergroundPath2}, - { 0, 0, 1, 1, sMapName_DiglettsCave}, - { 0, 0, 1, 1, sMapName_KantoVictoryRoad}, - { 0, 0, 1, 1, sMapName_RocketHideout}, - { 0, 0, 1, 1, sMapName_SilphCo}, - { 0, 0, 1, 1, sMapName_PokemonMansion}, - { 0, 0, 1, 1, sMapName_KantoSafariZone}, - { 0, 0, 1, 1, sMapName_PokemonLeague}, - { 0, 0, 1, 1, sMapName_RockTunnel}, - { 0, 0, 1, 1, sMapName_SeafoamIslands}, - { 0, 0, 1, 1, sMapName_PokemonTower}, - { 0, 0, 1, 1, sMapName_CeruleanCave}, - { 0, 0, 1, 1, sMapName_PowerPlant}, - { 0, 0, 1, 1, sMapName_OneIsland}, - { 0, 0, 1, 1, sMapName_TwoIsland}, - { 0, 0, 1, 1, sMapName_ThreeIsland}, - { 0, 0, 1, 1, sMapName_FourIsland}, - { 0, 0, 1, 1, sMapName_FiveIsland}, - { 0, 0, 1, 1, sMapName_SevenIsland}, - { 0, 0, 1, 1, sMapName_SixIsland}, - { 0, 0, 1, 1, sMapName_KindleRoad}, - { 0, 0, 1, 1, sMapName_TreasureBeach}, - { 0, 0, 1, 1, sMapName_CapeBrink}, - { 0, 0, 1, 1, sMapName_BondBridge}, - { 0, 0, 1, 1, sMapName_ThreeIslePort}, - { 0, 0, 1, 1, sMapName_SeviiIsle6}, - { 0, 0, 1, 1, sMapName_SeviiIsle7}, - { 0, 0, 1, 1, sMapName_SeviiIsle8}, - { 0, 0, 1, 1, sMapName_SeviiIsle9}, - { 0, 0, 1, 1, sMapName_ResortGorgeous}, - { 0, 0, 1, 1, sMapName_WaterLabyrinth}, - { 0, 0, 1, 1, sMapName_FiveIsleMeadow}, - { 0, 0, 1, 1, sMapName_MemorialPillar}, - { 0, 0, 1, 1, sMapName_OutcastIsland}, - { 0, 0, 1, 1, sMapName_GreenPath}, - { 0, 0, 1, 1, sMapName_WaterPath}, - { 0, 0, 1, 1, sMapName_RuinValley}, - { 0, 0, 1, 1, sMapName_TrainerTower}, - { 0, 0, 1, 1, sMapName_CanyonEntrance}, - { 0, 0, 1, 1, sMapName_SevaultCanyon}, - { 0, 0, 1, 1, sMapName_TanobyRuins}, - { 0, 0, 1, 1, sMapName_SeviiIsle22}, - { 0, 0, 1, 1, sMapName_SeviiIsle23}, - { 0, 0, 1, 1, sMapName_SeviiIsle24}, - { 0, 0, 1, 1, sMapName_NavelRock}, - { 0, 0, 1, 1, sMapName_MtEmber}, - { 0, 0, 1, 1, sMapName_BerryForest}, - { 0, 0, 1, 1, sMapName_IcefallCave}, - { 0, 0, 1, 1, sMapName_RocketWarehouse}, - { 0, 0, 1, 1, sMapName_TrainerTower2}, - { 0, 0, 1, 1, sMapName_DottedHole}, - { 0, 0, 1, 1, sMapName_LostCave}, - { 0, 0, 1, 1, sMapName_PatternBush}, - { 0, 0, 1, 1, sMapName_AlteringCave}, - { 0, 0, 1, 1, sMapName_TanobyChambers}, - { 0, 0, 1, 1, sMapName_ThreeIslePath}, - { 0, 0, 1, 1, sMapName_TanobyKey}, - { 0, 0, 1, 1, sMapName_BirthIsland}, - { 0, 0, 1, 1, sMapName_MoneanChamber}, - { 0, 0, 1, 1, sMapName_LiptooChamber}, - { 0, 0, 1, 1, sMapName_WeepthChamber}, - { 0, 0, 1, 1, sMapName_DilfordChamber}, - { 0, 0, 1, 1, sMapName_ScufibChamber}, - { 0, 0, 1, 1, sMapName_RixyChamber}, - { 0, 0, 1, 1, sMapName_ViapoisChamber}, - { 0, 0, 1, 1, sMapName_EmberSpa}, - { 0, 0, 1, 1, sMapName_SpecialArea}, - {19, 3, 1, 1, sMapName_AquaHideout}, - { 6, 3, 1, 1, sMapName_MagmaHideout}, - { 8, 2, 1, 1, sMapName_MirageTower}, - { 0, 0, 1, 1, sMapName_BirthIsland}, - { 0, 0, 1, 1, sMapName_FarawayIsland}, - {22, 12, 1, 1, sMapName_ArtisanCave}, - { 0, 0, 1, 1, sMapName_MarineCave}, - { 0, 0, 1, 1, sMapName_Underwater}, - { 0, 0, 1, 1, sMapName_TerraCave}, - { 0, 10, 1, 3, sMapName_Underwater}, - {24, 3, 2, 2, sMapName_Underwater}, - {24, 10, 2, 1, sMapName_Underwater}, - { 2, 0, 1, 1, sMapName_DesertUnderpass}, - { 6, 8, 1, 1, sMapName_AlteringCave}, - { 0, 0, 1, 1, sMapName_NavelRock}, - { 8, 4, 1, 1, sMapName_TrainerHill} + [MAPSEC_LITTLEROOT_TOWN] = { 4, 11, 1, 1, sMapName_LittlerootTown}, + [MAPSEC_OLDALE_TOWN] = { 4, 9, 1, 1, sMapName_OldaleTown}, + [MAPSEC_DEWFORD_TOWN] = { 2, 14, 1, 1, sMapName_DewfordTown}, + [MAPSEC_LAVARIDGE_TOWN] = { 5, 3, 1, 1, sMapName_LavaridgeTown}, + [MAPSEC_FALLARBOR_TOWN] = { 3, 0, 1, 1, sMapName_FallarborTown}, + [MAPSEC_VERDANTURF_TOWN] = { 4, 6, 1, 1, sMapName_VerdanturfTown}, + [MAPSEC_PACIFIDLOG_TOWN] = {17, 10, 1, 1, sMapName_PacifidlogTown}, + [MAPSEC_PETALBURG_CITY] = { 1, 9, 1, 1, sMapName_PetalburgCity}, + [MAPSEC_SLATEPORT_CITY] = { 8, 10, 1, 2, sMapName_SlateportCity}, + [MAPSEC_MAUVILLE_CITY] = { 8, 6, 2, 1, sMapName_MauvilleCity}, + [MAPSEC_RUSTBORO_CITY] = { 0, 5, 1, 2, sMapName_RustboroCity}, + [MAPSEC_FORTREE_CITY] = {12, 0, 1, 1, sMapName_FortreeCity}, + [MAPSEC_LILYCOVE_CITY] = {18, 3, 2, 1, sMapName_LilycoveCity}, + [MAPSEC_MOSSDEEP_CITY] = {24, 5, 2, 1, sMapName_MossdeepCity}, + [MAPSEC_SOOTOPOLIS_CITY] = {21, 7, 1, 1, sMapName_SootopolisCity}, + [MAPSEC_EVER_GRANDE_CITY] = {27, 8, 1, 2, sMapName_EverGrandeCity}, + [MAPSEC_ROUTE_101] = { 4, 10, 1, 1, sMapName_Route101}, + [MAPSEC_ROUTE_102] = { 2, 9, 2, 1, sMapName_Route102}, + [MAPSEC_ROUTE_103] = { 4, 8, 4, 1, sMapName_Route103}, + [MAPSEC_ROUTE_104] = { 0, 7, 1, 3, sMapName_Route104}, + [MAPSEC_ROUTE_105] = { 0, 10, 1, 3, sMapName_Route105}, + [MAPSEC_ROUTE_106] = { 0, 13, 2, 1, sMapName_Route106}, + [MAPSEC_ROUTE_107] = { 3, 14, 3, 1, sMapName_Route107}, + [MAPSEC_ROUTE_108] = { 6, 14, 2, 1, sMapName_Route108}, + [MAPSEC_ROUTE_109] = { 8, 12, 1, 3, sMapName_Route109}, + [MAPSEC_ROUTE_110] = { 8, 7, 1, 3, sMapName_Route110}, + [MAPSEC_ROUTE_111] = { 8, 0, 1, 6, sMapName_Route111}, + [MAPSEC_ROUTE_112] = { 6, 3, 2, 1, sMapName_Route112}, + [MAPSEC_ROUTE_113] = { 4, 0, 4, 1, sMapName_Route113}, + [MAPSEC_ROUTE_114] = { 1, 0, 2, 3, sMapName_Route114}, + [MAPSEC_ROUTE_115] = { 0, 2, 1, 3, sMapName_Route115}, + [MAPSEC_ROUTE_116] = { 1, 5, 4, 1, sMapName_Route116}, + [MAPSEC_ROUTE_117] = { 5, 6, 3, 1, sMapName_Route117}, + [MAPSEC_ROUTE_118] = {10, 6, 2, 1, sMapName_Route118}, + [MAPSEC_ROUTE_119] = {11, 0, 1, 6, sMapName_Route119}, + [MAPSEC_ROUTE_120] = {13, 0, 1, 4, sMapName_Route120}, + [MAPSEC_ROUTE_121] = {14, 3, 4, 1, sMapName_Route121}, + [MAPSEC_ROUTE_122] = {16, 4, 1, 2, sMapName_Route122}, + [MAPSEC_ROUTE_123] = {12, 6, 5, 1, sMapName_Route123}, + [MAPSEC_ROUTE_124] = {20, 3, 4, 3, sMapName_Route124}, + [MAPSEC_ROUTE_125] = {24, 3, 2, 2, sMapName_Route125}, + [MAPSEC_ROUTE_126] = {20, 6, 3, 3, sMapName_Route126}, + [MAPSEC_ROUTE_127] = {23, 6, 3, 3, sMapName_Route127}, + [MAPSEC_ROUTE_128] = {23, 9, 4, 1, sMapName_Route128}, + [MAPSEC_ROUTE_129] = {24, 10, 2, 1, sMapName_Route129}, + [MAPSEC_ROUTE_130] = {21, 10, 3, 1, sMapName_Route130}, + [MAPSEC_ROUTE_131] = {18, 10, 3, 1, sMapName_Route131}, + [MAPSEC_ROUTE_132] = {15, 10, 2, 1, sMapName_Route132}, + [MAPSEC_ROUTE_133] = {12, 10, 3, 1, sMapName_Route133}, + [MAPSEC_ROUTE_134] = { 9, 10, 3, 1, sMapName_Route134}, + [MAPSEC_UNDERWATER_124] = {20, 3, 4, 3, sMapName_Underwater}, + [MAPSEC_UNDERWATER_125] = {20, 6, 3, 3, sMapName_Underwater}, + [MAPSEC_UNDERWATER_126] = {23, 6, 3, 3, sMapName_Underwater}, + [MAPSEC_UNDERWATER_127] = {23, 9, 4, 1, sMapName_Underwater}, + [MAPSEC_UNDERWATER_SOOTOPOLIS] = {21, 7, 1, 1, sMapName_Underwater}, + [MAPSEC_GRANITE_CAVE] = { 1, 13, 1, 1, sMapName_GraniteCave}, + [MAPSEC_MT_CHIMNEY] = { 6, 2, 1, 1, sMapName_MtChimney}, + [MAPSEC_SAFARI_ZONE] = {16, 2, 1, 1, sMapName_SafariZone}, + [MAPSEC_BATTLE_FRONTIER] = {22, 12, 1, 1, sMapName_BattleFrontier}, + [MAPSEC_PETALBURG_WOODS] = { 0, 8, 1, 1, sMapName_PetalburgWoods}, + [MAPSEC_RUSTURF_TUNNEL] = { 2, 5, 1, 1, sMapName_RusturfTunnel}, + [MAPSEC_ABANDONED_SHIP] = { 6, 14, 1, 1, sMapName_AbandonedShip}, + [MAPSEC_NEW_MAUVILLE] = { 8, 7, 1, 1, sMapName_NewMauville}, + [MAPSEC_METEOR_FALLS] = { 0, 3, 1, 1, sMapName_MeteorFalls}, + [MAPSEC_METEOR_FALLS2] = { 1, 2, 1, 1, sMapName_MeteorFalls}, + [MAPSEC_MT_PYRE] = {16, 4, 1, 1, sMapName_MtPyre}, + [MAPSEC_AQUA_HIDEOUT_OLD] = {19, 3, 1, 1, sMapName_AquaHideoutOld}, + [MAPSEC_SHOAL_CAVE] = {24, 4, 1, 1, sMapName_ShoalCave}, + [MAPSEC_SEAFLOOR_CAVERN] = {24, 9, 1, 1, sMapName_SeafloorCavern}, + [MAPSEC_UNDERWATER_128] = {24, 9, 1, 1, sMapName_Underwater}, + [MAPSEC_VICTORY_ROAD] = {27, 9, 1, 1, sMapName_VictoryRoad}, + [MAPSEC_MIRAGE_ISLAND] = {17, 10, 1, 1, sMapName_MirageIsland}, + [MAPSEC_CAVE_OF_ORIGIN] = {21, 7, 1, 1, sMapName_CaveOfOrigin}, + [MAPSEC_SOUTHERN_ISLAND] = {12, 14, 1, 1, sMapName_SouthernIsland}, + [MAPSEC_FIERY_PATH] = { 6, 3, 1, 1, sMapName_FieryPath}, + [MAPSEC_FIERY_PATH2] = { 7, 3, 1, 1, sMapName_FieryPath}, + [MAPSEC_JAGGED_PASS] = { 6, 3, 1, 1, sMapName_JaggedPass}, + [MAPSEC_JAGGED_PASS2] = { 7, 2, 1, 1, sMapName_JaggedPass}, + [MAPSEC_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_SealedChamber}, + [MAPSEC_UNDERWATER_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_Underwater}, + [MAPSEC_SCORCHED_SLAB] = {13, 0, 1, 1, sMapName_ScorchedSlab}, + [MAPSEC_ISLAND_CAVE] = { 0, 10, 1, 1, sMapName_IslandCave}, + [MAPSEC_DESERT_RUINS] = { 8, 3, 1, 1, sMapName_DesertRuins}, + [MAPSEC_ANCIENT_TOMB] = {13, 2, 1, 1, sMapName_AncientTomb}, + [MAPSEC_INSIDE_OF_TRUCK] = { 0, 0, 1, 1, sMapName_InsideOfTruck}, + [MAPSEC_SKY_PILLAR] = {19, 10, 1, 1, sMapName_SkyPillar}, + [MAPSEC_SECRET_BASE] = { 0, 0, 1, 1, sMapName_SecretBase}, + [MAPSEC_DYNAMIC] = { 0, 0, 1, 1, sMapName_None}, + [MAPSEC_PALLET_TOWN] = { 0, 0, 1, 1, sMapName_PalletTown}, + [MAPSEC_VIRIDIAN_CITY] = { 0, 0, 1, 1, sMapName_ViridianCity}, + [MAPSEC_PEWTER_CITY] = { 0, 0, 1, 1, sMapName_PewterCity}, + [MAPSEC_CERULEAN_CITY] = { 0, 0, 1, 1, sMapName_CeruleanCity}, + [MAPSEC_LAVENDER_TOWN] = { 0, 0, 1, 1, sMapName_LavenderTown}, + [MAPSEC_VERMILION_CITY] = { 0, 0, 1, 1, sMapName_VermilionCity}, + [MAPSEC_CELADON_CITY] = { 0, 0, 1, 1, sMapName_CeladonCity}, + [MAPSEC_FUCHSIA_CITY] = { 0, 0, 1, 1, sMapName_FuchsiaCity}, + [MAPSEC_CINNABAR_ISLAND] = { 0, 0, 1, 1, sMapName_CinnabarIsland}, + [MAPSEC_INDIGO_PLATEAU] = { 0, 0, 1, 1, sMapName_IndigoPlateau}, + [MAPSEC_SAFFRON_CITY] = { 0, 0, 1, 1, sMapName_SaffronCity}, + [MAPSEC_ROUTE_4_FLYDUP] = { 0, 0, 1, 1, sMapName_Route4}, + [MAPSEC_ROUTE_10_FLYDUP] = { 0, 0, 1, 1, sMapName_Route10}, + [MAPSEC_ROUTE_1] = { 0, 0, 1, 1, sMapName_Route1}, + [MAPSEC_ROUTE_2] = { 0, 0, 1, 1, sMapName_Route2}, + [MAPSEC_ROUTE_3] = { 0, 0, 1, 1, sMapName_Route3}, + [MAPSEC_ROUTE_4] = { 0, 0, 1, 1, sMapName_Route4_2}, + [MAPSEC_ROUTE_5] = { 0, 0, 1, 1, sMapName_Route5}, + [MAPSEC_ROUTE_6] = { 0, 0, 1, 1, sMapName_Route6}, + [MAPSEC_ROUTE_7] = { 0, 0, 1, 1, sMapName_Route7}, + [MAPSEC_ROUTE_8] = { 0, 0, 1, 1, sMapName_Route8}, + [MAPSEC_ROUTE_9] = { 0, 0, 1, 1, sMapName_Route9}, + [MAPSEC_ROUTE_10] = { 0, 0, 1, 1, sMapName_Route10_2}, + [MAPSEC_ROUTE_11] = { 0, 0, 1, 1, sMapName_Route11}, + [MAPSEC_ROUTE_12] = { 0, 0, 1, 1, sMapName_Route12}, + [MAPSEC_ROUTE_13] = { 0, 0, 1, 1, sMapName_Route13}, + [MAPSEC_ROUTE_14] = { 0, 0, 1, 1, sMapName_Route14}, + [MAPSEC_ROUTE_15] = { 0, 0, 1, 1, sMapName_Route15}, + [MAPSEC_ROUTE_16] = { 0, 0, 1, 1, sMapName_Route16}, + [MAPSEC_ROUTE_17] = { 0, 0, 1, 1, sMapName_Route17}, + [MAPSEC_ROUTE_18] = { 0, 0, 1, 1, sMapName_Route18}, + [MAPSEC_ROUTE_19] = { 0, 0, 1, 1, sMapName_Route19}, + [MAPSEC_ROUTE_20] = { 0, 0, 1, 1, sMapName_Route20}, + [MAPSEC_ROUTE_21] = { 0, 0, 1, 1, sMapName_Route21}, + [MAPSEC_ROUTE_22] = { 0, 0, 1, 1, sMapName_Route22}, + [MAPSEC_ROUTE_23] = { 0, 0, 1, 1, sMapName_Route23}, + [MAPSEC_ROUTE_24] = { 0, 0, 1, 1, sMapName_Route24}, + [MAPSEC_ROUTE_25] = { 0, 0, 1, 1, sMapName_Route25}, + [MAPSEC_VIRIDIAN_FOREST] = { 0, 0, 1, 1, sMapName_ViridianForest}, + [MAPSEC_MT_MOON] = { 0, 0, 1, 1, sMapName_MtMoon}, + [MAPSEC_S_S_ANNE] = { 0, 0, 1, 1, sMapName_SSAnne}, + [MAPSEC_UNDERGROUND_PATH] = { 0, 0, 1, 1, sMapName_UndergroundPath}, + [MAPSEC_UNDERGROUND_PATH_2] = { 0, 0, 1, 1, sMapName_UndergroundPath2}, + [MAPSEC_DIGLETTS_CAVE] = { 0, 0, 1, 1, sMapName_DiglettsCave}, + [MAPSEC_KANTO_VICTORY_ROAD] = { 0, 0, 1, 1, sMapName_KantoVictoryRoad}, + [MAPSEC_ROCKET_HIDEOUT] = { 0, 0, 1, 1, sMapName_RocketHideout}, + [MAPSEC_SILPH_CO] = { 0, 0, 1, 1, sMapName_SilphCo}, + [MAPSEC_POKEMON_MANSION] = { 0, 0, 1, 1, sMapName_PokemonMansion}, + [MAPSEC_KANTO_SAFARI_ZONE] = { 0, 0, 1, 1, sMapName_KantoSafariZone}, + [MAPSEC_POKEMON_LEAGUE] = { 0, 0, 1, 1, sMapName_PokemonLeague}, + [MAPSEC_ROCK_TUNNEL] = { 0, 0, 1, 1, sMapName_RockTunnel}, + [MAPSEC_SEAFOAM_ISLANDS] = { 0, 0, 1, 1, sMapName_SeafoamIslands}, + [MAPSEC_POKEMON_TOWER] = { 0, 0, 1, 1, sMapName_PokemonTower}, + [MAPSEC_CERULEAN_CAVE] = { 0, 0, 1, 1, sMapName_CeruleanCave}, + [MAPSEC_POWER_PLANT] = { 0, 0, 1, 1, sMapName_PowerPlant}, + [MAPSEC_ONE_ISLAND] = { 0, 0, 1, 1, sMapName_OneIsland}, + [MAPSEC_TWO_ISLAND] = { 0, 0, 1, 1, sMapName_TwoIsland}, + [MAPSEC_THREE_ISLAND] = { 0, 0, 1, 1, sMapName_ThreeIsland}, + [MAPSEC_FOUR_ISLAND] = { 0, 0, 1, 1, sMapName_FourIsland}, + [MAPSEC_FIVE_ISLAND] = { 0, 0, 1, 1, sMapName_FiveIsland}, + [MAPSEC_SEVEN_ISLAND] = { 0, 0, 1, 1, sMapName_SevenIsland}, + [MAPSEC_SIX_ISLAND] = { 0, 0, 1, 1, sMapName_SixIsland}, + [MAPSEC_KINDLE_ROAD] = { 0, 0, 1, 1, sMapName_KindleRoad}, + [MAPSEC_TREASURE_BEACH] = { 0, 0, 1, 1, sMapName_TreasureBeach}, + [MAPSEC_CAPE_BRINK] = { 0, 0, 1, 1, sMapName_CapeBrink}, + [MAPSEC_BOND_BRIDGE] = { 0, 0, 1, 1, sMapName_BondBridge}, + [MAPSEC_THREE_ISLE_PORT] = { 0, 0, 1, 1, sMapName_ThreeIslePort}, + [MAPSEC_SEVII_ISLE_6] = { 0, 0, 1, 1, sMapName_SeviiIsle6}, + [MAPSEC_SEVII_ISLE_7] = { 0, 0, 1, 1, sMapName_SeviiIsle7}, + [MAPSEC_SEVII_ISLE_8] = { 0, 0, 1, 1, sMapName_SeviiIsle8}, + [MAPSEC_SEVII_ISLE_9] = { 0, 0, 1, 1, sMapName_SeviiIsle9}, + [MAPSEC_RESORT_GORGEOUS] = { 0, 0, 1, 1, sMapName_ResortGorgeous}, + [MAPSEC_WATER_LABYRINTH] = { 0, 0, 1, 1, sMapName_WaterLabyrinth}, + [MAPSEC_FIVE_ISLE_MEADOW] = { 0, 0, 1, 1, sMapName_FiveIsleMeadow}, + [MAPSEC_MEMORIAL_PILLAR] = { 0, 0, 1, 1, sMapName_MemorialPillar}, + [MAPSEC_OUTCAST_ISLAND] = { 0, 0, 1, 1, sMapName_OutcastIsland}, + [MAPSEC_GREEN_PATH] = { 0, 0, 1, 1, sMapName_GreenPath}, + [MAPSEC_WATER_PATH] = { 0, 0, 1, 1, sMapName_WaterPath}, + [MAPSEC_RUIN_VALLEY] = { 0, 0, 1, 1, sMapName_RuinValley}, + [MAPSEC_TRAINER_TOWER] = { 0, 0, 1, 1, sMapName_TrainerTower}, + [MAPSEC_CANYON_ENTRANCE] = { 0, 0, 1, 1, sMapName_CanyonEntrance}, + [MAPSEC_SEVAULT_CANYON] = { 0, 0, 1, 1, sMapName_SevaultCanyon}, + [MAPSEC_TANOBY_RUINS] = { 0, 0, 1, 1, sMapName_TanobyRuins}, + [MAPSEC_SEVII_ISLE_22] = { 0, 0, 1, 1, sMapName_SeviiIsle22}, + [MAPSEC_SEVII_ISLE_23] = { 0, 0, 1, 1, sMapName_SeviiIsle23}, + [MAPSEC_SEVII_ISLE_24] = { 0, 0, 1, 1, sMapName_SeviiIsle24}, + [MAPSEC_NAVEL_ROCK] = { 0, 0, 1, 1, sMapName_NavelRock}, + [MAPSEC_MT_EMBER] = { 0, 0, 1, 1, sMapName_MtEmber}, + [MAPSEC_BERRY_FOREST] = { 0, 0, 1, 1, sMapName_BerryForest}, + [MAPSEC_ICEFALL_CAVE] = { 0, 0, 1, 1, sMapName_IcefallCave}, + [MAPSEC_ROCKET_WAREHOUSE] = { 0, 0, 1, 1, sMapName_RocketWarehouse}, + [MAPSEC_TRAINER_TOWER_2] = { 0, 0, 1, 1, sMapName_TrainerTower2}, + [MAPSEC_DOTTED_HOLE] = { 0, 0, 1, 1, sMapName_DottedHole}, + [MAPSEC_LOST_CAVE] = { 0, 0, 1, 1, sMapName_LostCave}, + [MAPSEC_PATTERN_BUSH] = { 0, 0, 1, 1, sMapName_PatternBush}, + [MAPSEC_ALTERING_CAVE] = { 0, 0, 1, 1, sMapName_AlteringCave}, + [MAPSEC_TANOBY_CHAMBERS] = { 0, 0, 1, 1, sMapName_TanobyChambers}, + [MAPSEC_THREE_ISLE_PATH] = { 0, 0, 1, 1, sMapName_ThreeIslePath}, + [MAPSEC_TANOBY_KEY] = { 0, 0, 1, 1, sMapName_TanobyKey}, + [MAPSEC_BIRTH_ISLAND] = { 0, 0, 1, 1, sMapName_BirthIsland}, + [MAPSEC_MONEAN_CHAMBER] = { 0, 0, 1, 1, sMapName_MoneanChamber}, + [MAPSEC_LIPTOO_CHAMBER] = { 0, 0, 1, 1, sMapName_LiptooChamber}, + [MAPSEC_WEEPTH_CHAMBER] = { 0, 0, 1, 1, sMapName_WeepthChamber}, + [MAPSEC_DILFORD_CHAMBER] = { 0, 0, 1, 1, sMapName_DilfordChamber}, + [MAPSEC_SCUFIB_CHAMBER] = { 0, 0, 1, 1, sMapName_ScufibChamber}, + [MAPSEC_RIXY_CHAMBER] = { 0, 0, 1, 1, sMapName_RixyChamber}, + [MAPSEC_VIAPOIS_CHAMBER] = { 0, 0, 1, 1, sMapName_ViapoisChamber}, + [MAPSEC_EMBER_SPA] = { 0, 0, 1, 1, sMapName_EmberSpa}, + [MAPSEC_SPECIAL_AREA] = { 0, 0, 1, 1, sMapName_SpecialArea}, + [MAPSEC_AQUA_HIDEOUT] = {19, 3, 1, 1, sMapName_AquaHideout}, + [MAPSEC_MAGMA_HIDEOUT] = { 6, 3, 1, 1, sMapName_MagmaHideout}, + [MAPSEC_MIRAGE_TOWER] = { 8, 2, 1, 1, sMapName_MirageTower}, + [MAPSEC_BIRTH_ISLAND_2] = { 0, 0, 1, 1, sMapName_BirthIsland}, + [MAPSEC_FARAWAY_ISLAND] = { 0, 0, 1, 1, sMapName_FarawayIsland}, + [MAPSEC_ARTISAN_CAVE] = {22, 12, 1, 1, sMapName_ArtisanCave}, + [MAPSEC_MARINE_CAVE] = { 0, 0, 1, 1, sMapName_MarineCave}, + [MAPSEC_UNDERWATER_MARINE_CAVE] = { 0, 0, 1, 1, sMapName_Underwater}, + [MAPSEC_TERRA_CAVE] = { 0, 0, 1, 1, sMapName_TerraCave}, + [MAPSEC_UNDERWATER_TERRA_CAVE] = { 0, 10, 1, 3, sMapName_Underwater}, + [MAPSEC_UNDERWATER_UNK1] = {24, 3, 2, 2, sMapName_Underwater}, + [MAPSEC_UNDERWATER_129] = {24, 10, 2, 1, sMapName_Underwater}, + [MAPSEC_DESERT_UNDERPASS] = { 2, 0, 1, 1, sMapName_DesertUnderpass}, + [MAPSEC_ALTERING_CAVE_2] = { 6, 8, 1, 1, sMapName_AlteringCave}, + [MAPSEC_NAVEL_ROCK2] = { 0, 0, 1, 1, sMapName_NavelRock}, + [MAPSEC_TRAINER_HILL] = { 8, 4, 1, 1, sMapName_TrainerHill} }; #endif //GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H From ed25326140fa1f5d218f1f45ca5c8fee6142a647 Mon Sep 17 00:00:00 2001 From: garak Date: Sat, 29 Dec 2018 21:52:38 -0500 Subject: [PATCH 44/53] fix formatting --- src/data/region_map/region_map_entries.h | 426 +++++++++++------------ 1 file changed, 213 insertions(+), 213 deletions(-) diff --git a/src/data/region_map/region_map_entries.h b/src/data/region_map/region_map_entries.h index 6ad87d9c16..b2d625c842 100644 --- a/src/data/region_map/region_map_entries.h +++ b/src/data/region_map/region_map_entries.h @@ -200,219 +200,219 @@ static const u8 sMapName_DesertUnderpass[] = _("DESERT UNDERPASS"); static const u8 sMapName_TrainerHill[] = _("TRAINER HILL"); const struct RegionMapLocation gRegionMapEntries[] = { - [MAPSEC_LITTLEROOT_TOWN] = { 4, 11, 1, 1, sMapName_LittlerootTown}, - [MAPSEC_OLDALE_TOWN] = { 4, 9, 1, 1, sMapName_OldaleTown}, - [MAPSEC_DEWFORD_TOWN] = { 2, 14, 1, 1, sMapName_DewfordTown}, - [MAPSEC_LAVARIDGE_TOWN] = { 5, 3, 1, 1, sMapName_LavaridgeTown}, - [MAPSEC_FALLARBOR_TOWN] = { 3, 0, 1, 1, sMapName_FallarborTown}, - [MAPSEC_VERDANTURF_TOWN] = { 4, 6, 1, 1, sMapName_VerdanturfTown}, - [MAPSEC_PACIFIDLOG_TOWN] = {17, 10, 1, 1, sMapName_PacifidlogTown}, - [MAPSEC_PETALBURG_CITY] = { 1, 9, 1, 1, sMapName_PetalburgCity}, - [MAPSEC_SLATEPORT_CITY] = { 8, 10, 1, 2, sMapName_SlateportCity}, - [MAPSEC_MAUVILLE_CITY] = { 8, 6, 2, 1, sMapName_MauvilleCity}, - [MAPSEC_RUSTBORO_CITY] = { 0, 5, 1, 2, sMapName_RustboroCity}, - [MAPSEC_FORTREE_CITY] = {12, 0, 1, 1, sMapName_FortreeCity}, - [MAPSEC_LILYCOVE_CITY] = {18, 3, 2, 1, sMapName_LilycoveCity}, - [MAPSEC_MOSSDEEP_CITY] = {24, 5, 2, 1, sMapName_MossdeepCity}, - [MAPSEC_SOOTOPOLIS_CITY] = {21, 7, 1, 1, sMapName_SootopolisCity}, - [MAPSEC_EVER_GRANDE_CITY] = {27, 8, 1, 2, sMapName_EverGrandeCity}, - [MAPSEC_ROUTE_101] = { 4, 10, 1, 1, sMapName_Route101}, - [MAPSEC_ROUTE_102] = { 2, 9, 2, 1, sMapName_Route102}, - [MAPSEC_ROUTE_103] = { 4, 8, 4, 1, sMapName_Route103}, - [MAPSEC_ROUTE_104] = { 0, 7, 1, 3, sMapName_Route104}, - [MAPSEC_ROUTE_105] = { 0, 10, 1, 3, sMapName_Route105}, - [MAPSEC_ROUTE_106] = { 0, 13, 2, 1, sMapName_Route106}, - [MAPSEC_ROUTE_107] = { 3, 14, 3, 1, sMapName_Route107}, - [MAPSEC_ROUTE_108] = { 6, 14, 2, 1, sMapName_Route108}, - [MAPSEC_ROUTE_109] = { 8, 12, 1, 3, sMapName_Route109}, - [MAPSEC_ROUTE_110] = { 8, 7, 1, 3, sMapName_Route110}, - [MAPSEC_ROUTE_111] = { 8, 0, 1, 6, sMapName_Route111}, - [MAPSEC_ROUTE_112] = { 6, 3, 2, 1, sMapName_Route112}, - [MAPSEC_ROUTE_113] = { 4, 0, 4, 1, sMapName_Route113}, - [MAPSEC_ROUTE_114] = { 1, 0, 2, 3, sMapName_Route114}, - [MAPSEC_ROUTE_115] = { 0, 2, 1, 3, sMapName_Route115}, - [MAPSEC_ROUTE_116] = { 1, 5, 4, 1, sMapName_Route116}, - [MAPSEC_ROUTE_117] = { 5, 6, 3, 1, sMapName_Route117}, - [MAPSEC_ROUTE_118] = {10, 6, 2, 1, sMapName_Route118}, - [MAPSEC_ROUTE_119] = {11, 0, 1, 6, sMapName_Route119}, - [MAPSEC_ROUTE_120] = {13, 0, 1, 4, sMapName_Route120}, - [MAPSEC_ROUTE_121] = {14, 3, 4, 1, sMapName_Route121}, - [MAPSEC_ROUTE_122] = {16, 4, 1, 2, sMapName_Route122}, - [MAPSEC_ROUTE_123] = {12, 6, 5, 1, sMapName_Route123}, - [MAPSEC_ROUTE_124] = {20, 3, 4, 3, sMapName_Route124}, - [MAPSEC_ROUTE_125] = {24, 3, 2, 2, sMapName_Route125}, - [MAPSEC_ROUTE_126] = {20, 6, 3, 3, sMapName_Route126}, - [MAPSEC_ROUTE_127] = {23, 6, 3, 3, sMapName_Route127}, - [MAPSEC_ROUTE_128] = {23, 9, 4, 1, sMapName_Route128}, - [MAPSEC_ROUTE_129] = {24, 10, 2, 1, sMapName_Route129}, - [MAPSEC_ROUTE_130] = {21, 10, 3, 1, sMapName_Route130}, - [MAPSEC_ROUTE_131] = {18, 10, 3, 1, sMapName_Route131}, - [MAPSEC_ROUTE_132] = {15, 10, 2, 1, sMapName_Route132}, - [MAPSEC_ROUTE_133] = {12, 10, 3, 1, sMapName_Route133}, - [MAPSEC_ROUTE_134] = { 9, 10, 3, 1, sMapName_Route134}, - [MAPSEC_UNDERWATER_124] = {20, 3, 4, 3, sMapName_Underwater}, - [MAPSEC_UNDERWATER_125] = {20, 6, 3, 3, sMapName_Underwater}, - [MAPSEC_UNDERWATER_126] = {23, 6, 3, 3, sMapName_Underwater}, - [MAPSEC_UNDERWATER_127] = {23, 9, 4, 1, sMapName_Underwater}, - [MAPSEC_UNDERWATER_SOOTOPOLIS] = {21, 7, 1, 1, sMapName_Underwater}, - [MAPSEC_GRANITE_CAVE] = { 1, 13, 1, 1, sMapName_GraniteCave}, - [MAPSEC_MT_CHIMNEY] = { 6, 2, 1, 1, sMapName_MtChimney}, - [MAPSEC_SAFARI_ZONE] = {16, 2, 1, 1, sMapName_SafariZone}, - [MAPSEC_BATTLE_FRONTIER] = {22, 12, 1, 1, sMapName_BattleFrontier}, - [MAPSEC_PETALBURG_WOODS] = { 0, 8, 1, 1, sMapName_PetalburgWoods}, - [MAPSEC_RUSTURF_TUNNEL] = { 2, 5, 1, 1, sMapName_RusturfTunnel}, - [MAPSEC_ABANDONED_SHIP] = { 6, 14, 1, 1, sMapName_AbandonedShip}, - [MAPSEC_NEW_MAUVILLE] = { 8, 7, 1, 1, sMapName_NewMauville}, - [MAPSEC_METEOR_FALLS] = { 0, 3, 1, 1, sMapName_MeteorFalls}, - [MAPSEC_METEOR_FALLS2] = { 1, 2, 1, 1, sMapName_MeteorFalls}, - [MAPSEC_MT_PYRE] = {16, 4, 1, 1, sMapName_MtPyre}, - [MAPSEC_AQUA_HIDEOUT_OLD] = {19, 3, 1, 1, sMapName_AquaHideoutOld}, - [MAPSEC_SHOAL_CAVE] = {24, 4, 1, 1, sMapName_ShoalCave}, - [MAPSEC_SEAFLOOR_CAVERN] = {24, 9, 1, 1, sMapName_SeafloorCavern}, - [MAPSEC_UNDERWATER_128] = {24, 9, 1, 1, sMapName_Underwater}, - [MAPSEC_VICTORY_ROAD] = {27, 9, 1, 1, sMapName_VictoryRoad}, - [MAPSEC_MIRAGE_ISLAND] = {17, 10, 1, 1, sMapName_MirageIsland}, - [MAPSEC_CAVE_OF_ORIGIN] = {21, 7, 1, 1, sMapName_CaveOfOrigin}, - [MAPSEC_SOUTHERN_ISLAND] = {12, 14, 1, 1, sMapName_SouthernIsland}, - [MAPSEC_FIERY_PATH] = { 6, 3, 1, 1, sMapName_FieryPath}, - [MAPSEC_FIERY_PATH2] = { 7, 3, 1, 1, sMapName_FieryPath}, - [MAPSEC_JAGGED_PASS] = { 6, 3, 1, 1, sMapName_JaggedPass}, - [MAPSEC_JAGGED_PASS2] = { 7, 2, 1, 1, sMapName_JaggedPass}, - [MAPSEC_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_SealedChamber}, - [MAPSEC_UNDERWATER_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_Underwater}, - [MAPSEC_SCORCHED_SLAB] = {13, 0, 1, 1, sMapName_ScorchedSlab}, - [MAPSEC_ISLAND_CAVE] = { 0, 10, 1, 1, sMapName_IslandCave}, - [MAPSEC_DESERT_RUINS] = { 8, 3, 1, 1, sMapName_DesertRuins}, - [MAPSEC_ANCIENT_TOMB] = {13, 2, 1, 1, sMapName_AncientTomb}, - [MAPSEC_INSIDE_OF_TRUCK] = { 0, 0, 1, 1, sMapName_InsideOfTruck}, - [MAPSEC_SKY_PILLAR] = {19, 10, 1, 1, sMapName_SkyPillar}, - [MAPSEC_SECRET_BASE] = { 0, 0, 1, 1, sMapName_SecretBase}, - [MAPSEC_DYNAMIC] = { 0, 0, 1, 1, sMapName_None}, - [MAPSEC_PALLET_TOWN] = { 0, 0, 1, 1, sMapName_PalletTown}, - [MAPSEC_VIRIDIAN_CITY] = { 0, 0, 1, 1, sMapName_ViridianCity}, - [MAPSEC_PEWTER_CITY] = { 0, 0, 1, 1, sMapName_PewterCity}, - [MAPSEC_CERULEAN_CITY] = { 0, 0, 1, 1, sMapName_CeruleanCity}, - [MAPSEC_LAVENDER_TOWN] = { 0, 0, 1, 1, sMapName_LavenderTown}, - [MAPSEC_VERMILION_CITY] = { 0, 0, 1, 1, sMapName_VermilionCity}, - [MAPSEC_CELADON_CITY] = { 0, 0, 1, 1, sMapName_CeladonCity}, - [MAPSEC_FUCHSIA_CITY] = { 0, 0, 1, 1, sMapName_FuchsiaCity}, - [MAPSEC_CINNABAR_ISLAND] = { 0, 0, 1, 1, sMapName_CinnabarIsland}, - [MAPSEC_INDIGO_PLATEAU] = { 0, 0, 1, 1, sMapName_IndigoPlateau}, - [MAPSEC_SAFFRON_CITY] = { 0, 0, 1, 1, sMapName_SaffronCity}, - [MAPSEC_ROUTE_4_FLYDUP] = { 0, 0, 1, 1, sMapName_Route4}, - [MAPSEC_ROUTE_10_FLYDUP] = { 0, 0, 1, 1, sMapName_Route10}, - [MAPSEC_ROUTE_1] = { 0, 0, 1, 1, sMapName_Route1}, - [MAPSEC_ROUTE_2] = { 0, 0, 1, 1, sMapName_Route2}, - [MAPSEC_ROUTE_3] = { 0, 0, 1, 1, sMapName_Route3}, - [MAPSEC_ROUTE_4] = { 0, 0, 1, 1, sMapName_Route4_2}, - [MAPSEC_ROUTE_5] = { 0, 0, 1, 1, sMapName_Route5}, - [MAPSEC_ROUTE_6] = { 0, 0, 1, 1, sMapName_Route6}, - [MAPSEC_ROUTE_7] = { 0, 0, 1, 1, sMapName_Route7}, - [MAPSEC_ROUTE_8] = { 0, 0, 1, 1, sMapName_Route8}, - [MAPSEC_ROUTE_9] = { 0, 0, 1, 1, sMapName_Route9}, - [MAPSEC_ROUTE_10] = { 0, 0, 1, 1, sMapName_Route10_2}, - [MAPSEC_ROUTE_11] = { 0, 0, 1, 1, sMapName_Route11}, - [MAPSEC_ROUTE_12] = { 0, 0, 1, 1, sMapName_Route12}, - [MAPSEC_ROUTE_13] = { 0, 0, 1, 1, sMapName_Route13}, - [MAPSEC_ROUTE_14] = { 0, 0, 1, 1, sMapName_Route14}, - [MAPSEC_ROUTE_15] = { 0, 0, 1, 1, sMapName_Route15}, - [MAPSEC_ROUTE_16] = { 0, 0, 1, 1, sMapName_Route16}, - [MAPSEC_ROUTE_17] = { 0, 0, 1, 1, sMapName_Route17}, - [MAPSEC_ROUTE_18] = { 0, 0, 1, 1, sMapName_Route18}, - [MAPSEC_ROUTE_19] = { 0, 0, 1, 1, sMapName_Route19}, - [MAPSEC_ROUTE_20] = { 0, 0, 1, 1, sMapName_Route20}, - [MAPSEC_ROUTE_21] = { 0, 0, 1, 1, sMapName_Route21}, - [MAPSEC_ROUTE_22] = { 0, 0, 1, 1, sMapName_Route22}, - [MAPSEC_ROUTE_23] = { 0, 0, 1, 1, sMapName_Route23}, - [MAPSEC_ROUTE_24] = { 0, 0, 1, 1, sMapName_Route24}, - [MAPSEC_ROUTE_25] = { 0, 0, 1, 1, sMapName_Route25}, - [MAPSEC_VIRIDIAN_FOREST] = { 0, 0, 1, 1, sMapName_ViridianForest}, - [MAPSEC_MT_MOON] = { 0, 0, 1, 1, sMapName_MtMoon}, - [MAPSEC_S_S_ANNE] = { 0, 0, 1, 1, sMapName_SSAnne}, - [MAPSEC_UNDERGROUND_PATH] = { 0, 0, 1, 1, sMapName_UndergroundPath}, - [MAPSEC_UNDERGROUND_PATH_2] = { 0, 0, 1, 1, sMapName_UndergroundPath2}, - [MAPSEC_DIGLETTS_CAVE] = { 0, 0, 1, 1, sMapName_DiglettsCave}, - [MAPSEC_KANTO_VICTORY_ROAD] = { 0, 0, 1, 1, sMapName_KantoVictoryRoad}, - [MAPSEC_ROCKET_HIDEOUT] = { 0, 0, 1, 1, sMapName_RocketHideout}, - [MAPSEC_SILPH_CO] = { 0, 0, 1, 1, sMapName_SilphCo}, - [MAPSEC_POKEMON_MANSION] = { 0, 0, 1, 1, sMapName_PokemonMansion}, - [MAPSEC_KANTO_SAFARI_ZONE] = { 0, 0, 1, 1, sMapName_KantoSafariZone}, - [MAPSEC_POKEMON_LEAGUE] = { 0, 0, 1, 1, sMapName_PokemonLeague}, - [MAPSEC_ROCK_TUNNEL] = { 0, 0, 1, 1, sMapName_RockTunnel}, - [MAPSEC_SEAFOAM_ISLANDS] = { 0, 0, 1, 1, sMapName_SeafoamIslands}, - [MAPSEC_POKEMON_TOWER] = { 0, 0, 1, 1, sMapName_PokemonTower}, - [MAPSEC_CERULEAN_CAVE] = { 0, 0, 1, 1, sMapName_CeruleanCave}, - [MAPSEC_POWER_PLANT] = { 0, 0, 1, 1, sMapName_PowerPlant}, - [MAPSEC_ONE_ISLAND] = { 0, 0, 1, 1, sMapName_OneIsland}, - [MAPSEC_TWO_ISLAND] = { 0, 0, 1, 1, sMapName_TwoIsland}, - [MAPSEC_THREE_ISLAND] = { 0, 0, 1, 1, sMapName_ThreeIsland}, - [MAPSEC_FOUR_ISLAND] = { 0, 0, 1, 1, sMapName_FourIsland}, - [MAPSEC_FIVE_ISLAND] = { 0, 0, 1, 1, sMapName_FiveIsland}, - [MAPSEC_SEVEN_ISLAND] = { 0, 0, 1, 1, sMapName_SevenIsland}, - [MAPSEC_SIX_ISLAND] = { 0, 0, 1, 1, sMapName_SixIsland}, - [MAPSEC_KINDLE_ROAD] = { 0, 0, 1, 1, sMapName_KindleRoad}, - [MAPSEC_TREASURE_BEACH] = { 0, 0, 1, 1, sMapName_TreasureBeach}, - [MAPSEC_CAPE_BRINK] = { 0, 0, 1, 1, sMapName_CapeBrink}, - [MAPSEC_BOND_BRIDGE] = { 0, 0, 1, 1, sMapName_BondBridge}, - [MAPSEC_THREE_ISLE_PORT] = { 0, 0, 1, 1, sMapName_ThreeIslePort}, - [MAPSEC_SEVII_ISLE_6] = { 0, 0, 1, 1, sMapName_SeviiIsle6}, - [MAPSEC_SEVII_ISLE_7] = { 0, 0, 1, 1, sMapName_SeviiIsle7}, - [MAPSEC_SEVII_ISLE_8] = { 0, 0, 1, 1, sMapName_SeviiIsle8}, - [MAPSEC_SEVII_ISLE_9] = { 0, 0, 1, 1, sMapName_SeviiIsle9}, - [MAPSEC_RESORT_GORGEOUS] = { 0, 0, 1, 1, sMapName_ResortGorgeous}, - [MAPSEC_WATER_LABYRINTH] = { 0, 0, 1, 1, sMapName_WaterLabyrinth}, - [MAPSEC_FIVE_ISLE_MEADOW] = { 0, 0, 1, 1, sMapName_FiveIsleMeadow}, - [MAPSEC_MEMORIAL_PILLAR] = { 0, 0, 1, 1, sMapName_MemorialPillar}, - [MAPSEC_OUTCAST_ISLAND] = { 0, 0, 1, 1, sMapName_OutcastIsland}, - [MAPSEC_GREEN_PATH] = { 0, 0, 1, 1, sMapName_GreenPath}, - [MAPSEC_WATER_PATH] = { 0, 0, 1, 1, sMapName_WaterPath}, - [MAPSEC_RUIN_VALLEY] = { 0, 0, 1, 1, sMapName_RuinValley}, - [MAPSEC_TRAINER_TOWER] = { 0, 0, 1, 1, sMapName_TrainerTower}, - [MAPSEC_CANYON_ENTRANCE] = { 0, 0, 1, 1, sMapName_CanyonEntrance}, - [MAPSEC_SEVAULT_CANYON] = { 0, 0, 1, 1, sMapName_SevaultCanyon}, - [MAPSEC_TANOBY_RUINS] = { 0, 0, 1, 1, sMapName_TanobyRuins}, - [MAPSEC_SEVII_ISLE_22] = { 0, 0, 1, 1, sMapName_SeviiIsle22}, - [MAPSEC_SEVII_ISLE_23] = { 0, 0, 1, 1, sMapName_SeviiIsle23}, - [MAPSEC_SEVII_ISLE_24] = { 0, 0, 1, 1, sMapName_SeviiIsle24}, - [MAPSEC_NAVEL_ROCK] = { 0, 0, 1, 1, sMapName_NavelRock}, - [MAPSEC_MT_EMBER] = { 0, 0, 1, 1, sMapName_MtEmber}, - [MAPSEC_BERRY_FOREST] = { 0, 0, 1, 1, sMapName_BerryForest}, - [MAPSEC_ICEFALL_CAVE] = { 0, 0, 1, 1, sMapName_IcefallCave}, - [MAPSEC_ROCKET_WAREHOUSE] = { 0, 0, 1, 1, sMapName_RocketWarehouse}, - [MAPSEC_TRAINER_TOWER_2] = { 0, 0, 1, 1, sMapName_TrainerTower2}, - [MAPSEC_DOTTED_HOLE] = { 0, 0, 1, 1, sMapName_DottedHole}, - [MAPSEC_LOST_CAVE] = { 0, 0, 1, 1, sMapName_LostCave}, - [MAPSEC_PATTERN_BUSH] = { 0, 0, 1, 1, sMapName_PatternBush}, - [MAPSEC_ALTERING_CAVE] = { 0, 0, 1, 1, sMapName_AlteringCave}, - [MAPSEC_TANOBY_CHAMBERS] = { 0, 0, 1, 1, sMapName_TanobyChambers}, - [MAPSEC_THREE_ISLE_PATH] = { 0, 0, 1, 1, sMapName_ThreeIslePath}, - [MAPSEC_TANOBY_KEY] = { 0, 0, 1, 1, sMapName_TanobyKey}, - [MAPSEC_BIRTH_ISLAND] = { 0, 0, 1, 1, sMapName_BirthIsland}, - [MAPSEC_MONEAN_CHAMBER] = { 0, 0, 1, 1, sMapName_MoneanChamber}, - [MAPSEC_LIPTOO_CHAMBER] = { 0, 0, 1, 1, sMapName_LiptooChamber}, - [MAPSEC_WEEPTH_CHAMBER] = { 0, 0, 1, 1, sMapName_WeepthChamber}, - [MAPSEC_DILFORD_CHAMBER] = { 0, 0, 1, 1, sMapName_DilfordChamber}, - [MAPSEC_SCUFIB_CHAMBER] = { 0, 0, 1, 1, sMapName_ScufibChamber}, - [MAPSEC_RIXY_CHAMBER] = { 0, 0, 1, 1, sMapName_RixyChamber}, - [MAPSEC_VIAPOIS_CHAMBER] = { 0, 0, 1, 1, sMapName_ViapoisChamber}, - [MAPSEC_EMBER_SPA] = { 0, 0, 1, 1, sMapName_EmberSpa}, - [MAPSEC_SPECIAL_AREA] = { 0, 0, 1, 1, sMapName_SpecialArea}, - [MAPSEC_AQUA_HIDEOUT] = {19, 3, 1, 1, sMapName_AquaHideout}, - [MAPSEC_MAGMA_HIDEOUT] = { 6, 3, 1, 1, sMapName_MagmaHideout}, - [MAPSEC_MIRAGE_TOWER] = { 8, 2, 1, 1, sMapName_MirageTower}, - [MAPSEC_BIRTH_ISLAND_2] = { 0, 0, 1, 1, sMapName_BirthIsland}, - [MAPSEC_FARAWAY_ISLAND] = { 0, 0, 1, 1, sMapName_FarawayIsland}, - [MAPSEC_ARTISAN_CAVE] = {22, 12, 1, 1, sMapName_ArtisanCave}, - [MAPSEC_MARINE_CAVE] = { 0, 0, 1, 1, sMapName_MarineCave}, - [MAPSEC_UNDERWATER_MARINE_CAVE] = { 0, 0, 1, 1, sMapName_Underwater}, - [MAPSEC_TERRA_CAVE] = { 0, 0, 1, 1, sMapName_TerraCave}, - [MAPSEC_UNDERWATER_TERRA_CAVE] = { 0, 10, 1, 3, sMapName_Underwater}, - [MAPSEC_UNDERWATER_UNK1] = {24, 3, 2, 2, sMapName_Underwater}, - [MAPSEC_UNDERWATER_129] = {24, 10, 2, 1, sMapName_Underwater}, - [MAPSEC_DESERT_UNDERPASS] = { 2, 0, 1, 1, sMapName_DesertUnderpass}, - [MAPSEC_ALTERING_CAVE_2] = { 6, 8, 1, 1, sMapName_AlteringCave}, - [MAPSEC_NAVEL_ROCK2] = { 0, 0, 1, 1, sMapName_NavelRock}, - [MAPSEC_TRAINER_HILL] = { 8, 4, 1, 1, sMapName_TrainerHill} + [MAPSEC_LITTLEROOT_TOWN] = { 4, 11, 1, 1, sMapName_LittlerootTown}, + [MAPSEC_OLDALE_TOWN] = { 4, 9, 1, 1, sMapName_OldaleTown}, + [MAPSEC_DEWFORD_TOWN] = { 2, 14, 1, 1, sMapName_DewfordTown}, + [MAPSEC_LAVARIDGE_TOWN] = { 5, 3, 1, 1, sMapName_LavaridgeTown}, + [MAPSEC_FALLARBOR_TOWN] = { 3, 0, 1, 1, sMapName_FallarborTown}, + [MAPSEC_VERDANTURF_TOWN] = { 4, 6, 1, 1, sMapName_VerdanturfTown}, + [MAPSEC_PACIFIDLOG_TOWN] = {17, 10, 1, 1, sMapName_PacifidlogTown}, + [MAPSEC_PETALBURG_CITY] = { 1, 9, 1, 1, sMapName_PetalburgCity}, + [MAPSEC_SLATEPORT_CITY] = { 8, 10, 1, 2, sMapName_SlateportCity}, + [MAPSEC_MAUVILLE_CITY] = { 8, 6, 2, 1, sMapName_MauvilleCity}, + [MAPSEC_RUSTBORO_CITY] = { 0, 5, 1, 2, sMapName_RustboroCity}, + [MAPSEC_FORTREE_CITY] = {12, 0, 1, 1, sMapName_FortreeCity}, + [MAPSEC_LILYCOVE_CITY] = {18, 3, 2, 1, sMapName_LilycoveCity}, + [MAPSEC_MOSSDEEP_CITY] = {24, 5, 2, 1, sMapName_MossdeepCity}, + [MAPSEC_SOOTOPOLIS_CITY] = {21, 7, 1, 1, sMapName_SootopolisCity}, + [MAPSEC_EVER_GRANDE_CITY] = {27, 8, 1, 2, sMapName_EverGrandeCity}, + [MAPSEC_ROUTE_101] = { 4, 10, 1, 1, sMapName_Route101}, + [MAPSEC_ROUTE_102] = { 2, 9, 2, 1, sMapName_Route102}, + [MAPSEC_ROUTE_103] = { 4, 8, 4, 1, sMapName_Route103}, + [MAPSEC_ROUTE_104] = { 0, 7, 1, 3, sMapName_Route104}, + [MAPSEC_ROUTE_105] = { 0, 10, 1, 3, sMapName_Route105}, + [MAPSEC_ROUTE_106] = { 0, 13, 2, 1, sMapName_Route106}, + [MAPSEC_ROUTE_107] = { 3, 14, 3, 1, sMapName_Route107}, + [MAPSEC_ROUTE_108] = { 6, 14, 2, 1, sMapName_Route108}, + [MAPSEC_ROUTE_109] = { 8, 12, 1, 3, sMapName_Route109}, + [MAPSEC_ROUTE_110] = { 8, 7, 1, 3, sMapName_Route110}, + [MAPSEC_ROUTE_111] = { 8, 0, 1, 6, sMapName_Route111}, + [MAPSEC_ROUTE_112] = { 6, 3, 2, 1, sMapName_Route112}, + [MAPSEC_ROUTE_113] = { 4, 0, 4, 1, sMapName_Route113}, + [MAPSEC_ROUTE_114] = { 1, 0, 2, 3, sMapName_Route114}, + [MAPSEC_ROUTE_115] = { 0, 2, 1, 3, sMapName_Route115}, + [MAPSEC_ROUTE_116] = { 1, 5, 4, 1, sMapName_Route116}, + [MAPSEC_ROUTE_117] = { 5, 6, 3, 1, sMapName_Route117}, + [MAPSEC_ROUTE_118] = {10, 6, 2, 1, sMapName_Route118}, + [MAPSEC_ROUTE_119] = {11, 0, 1, 6, sMapName_Route119}, + [MAPSEC_ROUTE_120] = {13, 0, 1, 4, sMapName_Route120}, + [MAPSEC_ROUTE_121] = {14, 3, 4, 1, sMapName_Route121}, + [MAPSEC_ROUTE_122] = {16, 4, 1, 2, sMapName_Route122}, + [MAPSEC_ROUTE_123] = {12, 6, 5, 1, sMapName_Route123}, + [MAPSEC_ROUTE_124] = {20, 3, 4, 3, sMapName_Route124}, + [MAPSEC_ROUTE_125] = {24, 3, 2, 2, sMapName_Route125}, + [MAPSEC_ROUTE_126] = {20, 6, 3, 3, sMapName_Route126}, + [MAPSEC_ROUTE_127] = {23, 6, 3, 3, sMapName_Route127}, + [MAPSEC_ROUTE_128] = {23, 9, 4, 1, sMapName_Route128}, + [MAPSEC_ROUTE_129] = {24, 10, 2, 1, sMapName_Route129}, + [MAPSEC_ROUTE_130] = {21, 10, 3, 1, sMapName_Route130}, + [MAPSEC_ROUTE_131] = {18, 10, 3, 1, sMapName_Route131}, + [MAPSEC_ROUTE_132] = {15, 10, 2, 1, sMapName_Route132}, + [MAPSEC_ROUTE_133] = {12, 10, 3, 1, sMapName_Route133}, + [MAPSEC_ROUTE_134] = { 9, 10, 3, 1, sMapName_Route134}, + [MAPSEC_UNDERWATER_124] = {20, 3, 4, 3, sMapName_Underwater}, + [MAPSEC_UNDERWATER_125] = {20, 6, 3, 3, sMapName_Underwater}, + [MAPSEC_UNDERWATER_126] = {23, 6, 3, 3, sMapName_Underwater}, + [MAPSEC_UNDERWATER_127] = {23, 9, 4, 1, sMapName_Underwater}, + [MAPSEC_UNDERWATER_SOOTOPOLIS] = {21, 7, 1, 1, sMapName_Underwater}, + [MAPSEC_GRANITE_CAVE] = { 1, 13, 1, 1, sMapName_GraniteCave}, + [MAPSEC_MT_CHIMNEY] = { 6, 2, 1, 1, sMapName_MtChimney}, + [MAPSEC_SAFARI_ZONE] = {16, 2, 1, 1, sMapName_SafariZone}, + [MAPSEC_BATTLE_FRONTIER] = {22, 12, 1, 1, sMapName_BattleFrontier}, + [MAPSEC_PETALBURG_WOODS] = { 0, 8, 1, 1, sMapName_PetalburgWoods}, + [MAPSEC_RUSTURF_TUNNEL] = { 2, 5, 1, 1, sMapName_RusturfTunnel}, + [MAPSEC_ABANDONED_SHIP] = { 6, 14, 1, 1, sMapName_AbandonedShip}, + [MAPSEC_NEW_MAUVILLE] = { 8, 7, 1, 1, sMapName_NewMauville}, + [MAPSEC_METEOR_FALLS] = { 0, 3, 1, 1, sMapName_MeteorFalls}, + [MAPSEC_METEOR_FALLS2] = { 1, 2, 1, 1, sMapName_MeteorFalls}, + [MAPSEC_MT_PYRE] = {16, 4, 1, 1, sMapName_MtPyre}, + [MAPSEC_AQUA_HIDEOUT_OLD] = {19, 3, 1, 1, sMapName_AquaHideoutOld}, + [MAPSEC_SHOAL_CAVE] = {24, 4, 1, 1, sMapName_ShoalCave}, + [MAPSEC_SEAFLOOR_CAVERN] = {24, 9, 1, 1, sMapName_SeafloorCavern}, + [MAPSEC_UNDERWATER_128] = {24, 9, 1, 1, sMapName_Underwater}, + [MAPSEC_VICTORY_ROAD] = {27, 9, 1, 1, sMapName_VictoryRoad}, + [MAPSEC_MIRAGE_ISLAND] = {17, 10, 1, 1, sMapName_MirageIsland}, + [MAPSEC_CAVE_OF_ORIGIN] = {21, 7, 1, 1, sMapName_CaveOfOrigin}, + [MAPSEC_SOUTHERN_ISLAND] = {12, 14, 1, 1, sMapName_SouthernIsland}, + [MAPSEC_FIERY_PATH] = { 6, 3, 1, 1, sMapName_FieryPath}, + [MAPSEC_FIERY_PATH2] = { 7, 3, 1, 1, sMapName_FieryPath}, + [MAPSEC_JAGGED_PASS] = { 6, 3, 1, 1, sMapName_JaggedPass}, + [MAPSEC_JAGGED_PASS2] = { 7, 2, 1, 1, sMapName_JaggedPass}, + [MAPSEC_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_SealedChamber}, + [MAPSEC_UNDERWATER_SEALED_CHAMBER] = {11, 10, 1, 1, sMapName_Underwater}, + [MAPSEC_SCORCHED_SLAB] = {13, 0, 1, 1, sMapName_ScorchedSlab}, + [MAPSEC_ISLAND_CAVE] = { 0, 10, 1, 1, sMapName_IslandCave}, + [MAPSEC_DESERT_RUINS] = { 8, 3, 1, 1, sMapName_DesertRuins}, + [MAPSEC_ANCIENT_TOMB] = {13, 2, 1, 1, sMapName_AncientTomb}, + [MAPSEC_INSIDE_OF_TRUCK] = { 0, 0, 1, 1, sMapName_InsideOfTruck}, + [MAPSEC_SKY_PILLAR] = {19, 10, 1, 1, sMapName_SkyPillar}, + [MAPSEC_SECRET_BASE] = { 0, 0, 1, 1, sMapName_SecretBase}, + [MAPSEC_DYNAMIC] = { 0, 0, 1, 1, sMapName_None}, + [MAPSEC_PALLET_TOWN] = { 0, 0, 1, 1, sMapName_PalletTown}, + [MAPSEC_VIRIDIAN_CITY] = { 0, 0, 1, 1, sMapName_ViridianCity}, + [MAPSEC_PEWTER_CITY] = { 0, 0, 1, 1, sMapName_PewterCity}, + [MAPSEC_CERULEAN_CITY] = { 0, 0, 1, 1, sMapName_CeruleanCity}, + [MAPSEC_LAVENDER_TOWN] = { 0, 0, 1, 1, sMapName_LavenderTown}, + [MAPSEC_VERMILION_CITY] = { 0, 0, 1, 1, sMapName_VermilionCity}, + [MAPSEC_CELADON_CITY] = { 0, 0, 1, 1, sMapName_CeladonCity}, + [MAPSEC_FUCHSIA_CITY] = { 0, 0, 1, 1, sMapName_FuchsiaCity}, + [MAPSEC_CINNABAR_ISLAND] = { 0, 0, 1, 1, sMapName_CinnabarIsland}, + [MAPSEC_INDIGO_PLATEAU] = { 0, 0, 1, 1, sMapName_IndigoPlateau}, + [MAPSEC_SAFFRON_CITY] = { 0, 0, 1, 1, sMapName_SaffronCity}, + [MAPSEC_ROUTE_4_FLYDUP] = { 0, 0, 1, 1, sMapName_Route4}, + [MAPSEC_ROUTE_10_FLYDUP] = { 0, 0, 1, 1, sMapName_Route10}, + [MAPSEC_ROUTE_1] = { 0, 0, 1, 1, sMapName_Route1}, + [MAPSEC_ROUTE_2] = { 0, 0, 1, 1, sMapName_Route2}, + [MAPSEC_ROUTE_3] = { 0, 0, 1, 1, sMapName_Route3}, + [MAPSEC_ROUTE_4] = { 0, 0, 1, 1, sMapName_Route4_2}, + [MAPSEC_ROUTE_5] = { 0, 0, 1, 1, sMapName_Route5}, + [MAPSEC_ROUTE_6] = { 0, 0, 1, 1, sMapName_Route6}, + [MAPSEC_ROUTE_7] = { 0, 0, 1, 1, sMapName_Route7}, + [MAPSEC_ROUTE_8] = { 0, 0, 1, 1, sMapName_Route8}, + [MAPSEC_ROUTE_9] = { 0, 0, 1, 1, sMapName_Route9}, + [MAPSEC_ROUTE_10] = { 0, 0, 1, 1, sMapName_Route10_2}, + [MAPSEC_ROUTE_11] = { 0, 0, 1, 1, sMapName_Route11}, + [MAPSEC_ROUTE_12] = { 0, 0, 1, 1, sMapName_Route12}, + [MAPSEC_ROUTE_13] = { 0, 0, 1, 1, sMapName_Route13}, + [MAPSEC_ROUTE_14] = { 0, 0, 1, 1, sMapName_Route14}, + [MAPSEC_ROUTE_15] = { 0, 0, 1, 1, sMapName_Route15}, + [MAPSEC_ROUTE_16] = { 0, 0, 1, 1, sMapName_Route16}, + [MAPSEC_ROUTE_17] = { 0, 0, 1, 1, sMapName_Route17}, + [MAPSEC_ROUTE_18] = { 0, 0, 1, 1, sMapName_Route18}, + [MAPSEC_ROUTE_19] = { 0, 0, 1, 1, sMapName_Route19}, + [MAPSEC_ROUTE_20] = { 0, 0, 1, 1, sMapName_Route20}, + [MAPSEC_ROUTE_21] = { 0, 0, 1, 1, sMapName_Route21}, + [MAPSEC_ROUTE_22] = { 0, 0, 1, 1, sMapName_Route22}, + [MAPSEC_ROUTE_23] = { 0, 0, 1, 1, sMapName_Route23}, + [MAPSEC_ROUTE_24] = { 0, 0, 1, 1, sMapName_Route24}, + [MAPSEC_ROUTE_25] = { 0, 0, 1, 1, sMapName_Route25}, + [MAPSEC_VIRIDIAN_FOREST] = { 0, 0, 1, 1, sMapName_ViridianForest}, + [MAPSEC_MT_MOON] = { 0, 0, 1, 1, sMapName_MtMoon}, + [MAPSEC_S_S_ANNE] = { 0, 0, 1, 1, sMapName_SSAnne}, + [MAPSEC_UNDERGROUND_PATH] = { 0, 0, 1, 1, sMapName_UndergroundPath}, + [MAPSEC_UNDERGROUND_PATH_2] = { 0, 0, 1, 1, sMapName_UndergroundPath2}, + [MAPSEC_DIGLETTS_CAVE] = { 0, 0, 1, 1, sMapName_DiglettsCave}, + [MAPSEC_KANTO_VICTORY_ROAD] = { 0, 0, 1, 1, sMapName_KantoVictoryRoad}, + [MAPSEC_ROCKET_HIDEOUT] = { 0, 0, 1, 1, sMapName_RocketHideout}, + [MAPSEC_SILPH_CO] = { 0, 0, 1, 1, sMapName_SilphCo}, + [MAPSEC_POKEMON_MANSION] = { 0, 0, 1, 1, sMapName_PokemonMansion}, + [MAPSEC_KANTO_SAFARI_ZONE] = { 0, 0, 1, 1, sMapName_KantoSafariZone}, + [MAPSEC_POKEMON_LEAGUE] = { 0, 0, 1, 1, sMapName_PokemonLeague}, + [MAPSEC_ROCK_TUNNEL] = { 0, 0, 1, 1, sMapName_RockTunnel}, + [MAPSEC_SEAFOAM_ISLANDS] = { 0, 0, 1, 1, sMapName_SeafoamIslands}, + [MAPSEC_POKEMON_TOWER] = { 0, 0, 1, 1, sMapName_PokemonTower}, + [MAPSEC_CERULEAN_CAVE] = { 0, 0, 1, 1, sMapName_CeruleanCave}, + [MAPSEC_POWER_PLANT] = { 0, 0, 1, 1, sMapName_PowerPlant}, + [MAPSEC_ONE_ISLAND] = { 0, 0, 1, 1, sMapName_OneIsland}, + [MAPSEC_TWO_ISLAND] = { 0, 0, 1, 1, sMapName_TwoIsland}, + [MAPSEC_THREE_ISLAND] = { 0, 0, 1, 1, sMapName_ThreeIsland}, + [MAPSEC_FOUR_ISLAND] = { 0, 0, 1, 1, sMapName_FourIsland}, + [MAPSEC_FIVE_ISLAND] = { 0, 0, 1, 1, sMapName_FiveIsland}, + [MAPSEC_SEVEN_ISLAND] = { 0, 0, 1, 1, sMapName_SevenIsland}, + [MAPSEC_SIX_ISLAND] = { 0, 0, 1, 1, sMapName_SixIsland}, + [MAPSEC_KINDLE_ROAD] = { 0, 0, 1, 1, sMapName_KindleRoad}, + [MAPSEC_TREASURE_BEACH] = { 0, 0, 1, 1, sMapName_TreasureBeach}, + [MAPSEC_CAPE_BRINK] = { 0, 0, 1, 1, sMapName_CapeBrink}, + [MAPSEC_BOND_BRIDGE] = { 0, 0, 1, 1, sMapName_BondBridge}, + [MAPSEC_THREE_ISLE_PORT] = { 0, 0, 1, 1, sMapName_ThreeIslePort}, + [MAPSEC_SEVII_ISLE_6] = { 0, 0, 1, 1, sMapName_SeviiIsle6}, + [MAPSEC_SEVII_ISLE_7] = { 0, 0, 1, 1, sMapName_SeviiIsle7}, + [MAPSEC_SEVII_ISLE_8] = { 0, 0, 1, 1, sMapName_SeviiIsle8}, + [MAPSEC_SEVII_ISLE_9] = { 0, 0, 1, 1, sMapName_SeviiIsle9}, + [MAPSEC_RESORT_GORGEOUS] = { 0, 0, 1, 1, sMapName_ResortGorgeous}, + [MAPSEC_WATER_LABYRINTH] = { 0, 0, 1, 1, sMapName_WaterLabyrinth}, + [MAPSEC_FIVE_ISLE_MEADOW] = { 0, 0, 1, 1, sMapName_FiveIsleMeadow}, + [MAPSEC_MEMORIAL_PILLAR] = { 0, 0, 1, 1, sMapName_MemorialPillar}, + [MAPSEC_OUTCAST_ISLAND] = { 0, 0, 1, 1, sMapName_OutcastIsland}, + [MAPSEC_GREEN_PATH] = { 0, 0, 1, 1, sMapName_GreenPath}, + [MAPSEC_WATER_PATH] = { 0, 0, 1, 1, sMapName_WaterPath}, + [MAPSEC_RUIN_VALLEY] = { 0, 0, 1, 1, sMapName_RuinValley}, + [MAPSEC_TRAINER_TOWER] = { 0, 0, 1, 1, sMapName_TrainerTower}, + [MAPSEC_CANYON_ENTRANCE] = { 0, 0, 1, 1, sMapName_CanyonEntrance}, + [MAPSEC_SEVAULT_CANYON] = { 0, 0, 1, 1, sMapName_SevaultCanyon}, + [MAPSEC_TANOBY_RUINS] = { 0, 0, 1, 1, sMapName_TanobyRuins}, + [MAPSEC_SEVII_ISLE_22] = { 0, 0, 1, 1, sMapName_SeviiIsle22}, + [MAPSEC_SEVII_ISLE_23] = { 0, 0, 1, 1, sMapName_SeviiIsle23}, + [MAPSEC_SEVII_ISLE_24] = { 0, 0, 1, 1, sMapName_SeviiIsle24}, + [MAPSEC_NAVEL_ROCK] = { 0, 0, 1, 1, sMapName_NavelRock}, + [MAPSEC_MT_EMBER] = { 0, 0, 1, 1, sMapName_MtEmber}, + [MAPSEC_BERRY_FOREST] = { 0, 0, 1, 1, sMapName_BerryForest}, + [MAPSEC_ICEFALL_CAVE] = { 0, 0, 1, 1, sMapName_IcefallCave}, + [MAPSEC_ROCKET_WAREHOUSE] = { 0, 0, 1, 1, sMapName_RocketWarehouse}, + [MAPSEC_TRAINER_TOWER_2] = { 0, 0, 1, 1, sMapName_TrainerTower2}, + [MAPSEC_DOTTED_HOLE] = { 0, 0, 1, 1, sMapName_DottedHole}, + [MAPSEC_LOST_CAVE] = { 0, 0, 1, 1, sMapName_LostCave}, + [MAPSEC_PATTERN_BUSH] = { 0, 0, 1, 1, sMapName_PatternBush}, + [MAPSEC_ALTERING_CAVE] = { 0, 0, 1, 1, sMapName_AlteringCave}, + [MAPSEC_TANOBY_CHAMBERS] = { 0, 0, 1, 1, sMapName_TanobyChambers}, + [MAPSEC_THREE_ISLE_PATH] = { 0, 0, 1, 1, sMapName_ThreeIslePath}, + [MAPSEC_TANOBY_KEY] = { 0, 0, 1, 1, sMapName_TanobyKey}, + [MAPSEC_BIRTH_ISLAND] = { 0, 0, 1, 1, sMapName_BirthIsland}, + [MAPSEC_MONEAN_CHAMBER] = { 0, 0, 1, 1, sMapName_MoneanChamber}, + [MAPSEC_LIPTOO_CHAMBER] = { 0, 0, 1, 1, sMapName_LiptooChamber}, + [MAPSEC_WEEPTH_CHAMBER] = { 0, 0, 1, 1, sMapName_WeepthChamber}, + [MAPSEC_DILFORD_CHAMBER] = { 0, 0, 1, 1, sMapName_DilfordChamber}, + [MAPSEC_SCUFIB_CHAMBER] = { 0, 0, 1, 1, sMapName_ScufibChamber}, + [MAPSEC_RIXY_CHAMBER] = { 0, 0, 1, 1, sMapName_RixyChamber}, + [MAPSEC_VIAPOIS_CHAMBER] = { 0, 0, 1, 1, sMapName_ViapoisChamber}, + [MAPSEC_EMBER_SPA] = { 0, 0, 1, 1, sMapName_EmberSpa}, + [MAPSEC_SPECIAL_AREA] = { 0, 0, 1, 1, sMapName_SpecialArea}, + [MAPSEC_AQUA_HIDEOUT] = {19, 3, 1, 1, sMapName_AquaHideout}, + [MAPSEC_MAGMA_HIDEOUT] = { 6, 3, 1, 1, sMapName_MagmaHideout}, + [MAPSEC_MIRAGE_TOWER] = { 8, 2, 1, 1, sMapName_MirageTower}, + [MAPSEC_BIRTH_ISLAND_2] = { 0, 0, 1, 1, sMapName_BirthIsland}, + [MAPSEC_FARAWAY_ISLAND] = { 0, 0, 1, 1, sMapName_FarawayIsland}, + [MAPSEC_ARTISAN_CAVE] = {22, 12, 1, 1, sMapName_ArtisanCave}, + [MAPSEC_MARINE_CAVE] = { 0, 0, 1, 1, sMapName_MarineCave}, + [MAPSEC_UNDERWATER_MARINE_CAVE] = { 0, 0, 1, 1, sMapName_Underwater}, + [MAPSEC_TERRA_CAVE] = { 0, 0, 1, 1, sMapName_TerraCave}, + [MAPSEC_UNDERWATER_TERRA_CAVE] = { 0, 10, 1, 3, sMapName_Underwater}, + [MAPSEC_UNDERWATER_UNK1] = {24, 3, 2, 2, sMapName_Underwater}, + [MAPSEC_UNDERWATER_129] = {24, 10, 2, 1, sMapName_Underwater}, + [MAPSEC_DESERT_UNDERPASS] = { 2, 0, 1, 1, sMapName_DesertUnderpass}, + [MAPSEC_ALTERING_CAVE_2] = { 6, 8, 1, 1, sMapName_AlteringCave}, + [MAPSEC_NAVEL_ROCK2] = { 0, 0, 1, 1, sMapName_NavelRock}, + [MAPSEC_TRAINER_HILL] = { 8, 4, 1, 1, sMapName_TrainerHill} }; #endif //GUARD_DATA_REGION_MAP_REGION_MAP_ENTRIES_H From 58f130d007b97623dd5c7a3b373800c138f75c5e Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Sun, 30 Dec 2018 10:58:42 -0600 Subject: [PATCH 45/53] Document some battle anims and helpers --- data/battle_anim_scripts.s | 34 ++-- include/battle_anim.h | 15 +- src/battle_anim_80A5C6C.c | 56 +++---- src/battle_anim_8170478.c | 6 +- src/battle_anim_effects_1.c | 12 +- src/battle_anim_effects_2.c | 4 +- src/battle_anim_effects_3.c | 310 ++++++++++++++++++++---------------- src/dark.c | 20 +-- src/decompress.c | 12 +- src/dragon.c | 4 +- src/fight.c | 4 +- src/ghost.c | 6 +- src/ice.c | 16 +- src/pokeball.c | 2 +- src/pokemon.c | 2 +- src/pokemon_icon.c | 14 +- src/psychic.c | 40 ++--- 17 files changed, 301 insertions(+), 256 deletions(-) diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index 185d18df14..ef16a15e81 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -3158,7 +3158,7 @@ Move_FORESIGHT: monbg ANIM_DEF_PARTNER monbgprio_28 ANIM_TARGET setalpha 16, 0 - createsprite gUnknown_085CE8C4, ANIM_TARGET, 2, 1 + createsprite gForesightMagnifyingGlassSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET delay 17 loopsewithpan SE_W166, SOUND_PAN_TARGET, 16, 4 delay 48 @@ -3540,12 +3540,12 @@ Move_SMELLING_SALT: createsprite gUnknown_085CE864, ANIM_TARGET, 2, 1, 0, 2 createsprite gUnknown_085CE864, ANIM_TARGET, 2, 1, 1, 2 delay 32 - createvisualtask sub_815E840, 3, 1, 2 + createvisualtask AnimTask_SmellingSaltSquish, 3, ANIM_TARGET, 2 loopsewithpan SE_W003, SOUND_PAN_TARGET, 12, 2 waitforvisualfinish delay 4 createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 2, 0, 6, 2 - createsprite gUnknown_085CE894, ANIM_TARGET, 2, 1, 8, 3 + createsprite gSmellingSaltExclamationSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 8, 3 loopsewithpan SE_W207B, SOUND_PAN_TARGET, 16, 3 end @@ -3616,9 +3616,9 @@ Move_TAUNT: Move_HELPING_HAND: loadspritegfx ANIM_TAG_TAG_HAND - createvisualtask sub_815EC48, 5 - createsprite gUnknown_085CE8AC, ANIM_ATTACKER, 40, 0 - createsprite gUnknown_085CE8AC, ANIM_ATTACKER, 40, 1 + createvisualtask AnimTask_HelpingHandAttackerMovement, 5 + createsprite gHelpingHandClapSpriteTemplate, ANIM_ATTACKER, 40, 0 + createsprite gHelpingHandClapSpriteTemplate, ANIM_ATTACKER, 40, 1 delay 19 playsewithpan SE_W227, 0 createvisualtask AnimTask_ShakeMon2, 2, ANIM_ATK_PARTNER, 2, 0, 5, 1 @@ -3687,7 +3687,7 @@ Move_RECYCLE: monbg ANIM_ATTACKER setalpha 0, 16 delay 1 - createsprite gUnknown_085CE9B0, ANIM_ATTACKER, 2 + createsprite gRecycleSpriteTemplate, ANIM_ATTACKER, 2 loopsewithpan SE_W036, SOUND_PAN_ATTACKER, 24, 3 waitforvisualfinish createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB_WHITE, 12, 2, 1 @@ -3989,7 +3989,7 @@ Move_FEATHER_DANCE: Move_TEETER_DANCE: loadspritegfx ANIM_TAG_MUSIC_NOTES loadspritegfx ANIM_TAG_DUCK - createvisualtask sub_8160164, 5 + createvisualtask AnimTask_TeeterDanceMovement, 5 createsprite gUnknown_08593050, ANIM_ATTACKER, 2, 0, 16, -2 playsewithpan SE_W298, SOUND_PAN_ATTACKER delay 24 @@ -4098,7 +4098,7 @@ Move_NEEDLE_ARM: Move_SLACK_OFF: loadspritegfx ANIM_TAG_BLUE_STAR - createvisualtask sub_8160544, 2, 0 + createvisualtask AnimTask_SlackOffSquish, 2, ANIM_ATTACKER playsewithpan SE_W281, SOUND_PAN_ATTACKER waitforvisualfinish call HealingEffect @@ -4211,7 +4211,7 @@ Move_AIR_CUTTER: Move_ODOR_SLEUTH: monbg ANIM_TARGET - createvisualtask sub_815F620, 5 + createvisualtask AnimTask_OdorSleuthMovement, 5 delay 24 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 3, 4 playsewithpan SE_W207, SOUND_PAN_ATTACKER @@ -4365,7 +4365,7 @@ Move_IRON_DEFENSE: Move_BLOCK: loadspritegfx ANIM_TAG_X_SIGN - createsprite gUnknown_085CE90C, ANIM_TARGET, 66 + createsprite gBlockXSpriteTemplate, ANIM_TARGET, 66 playsewithpan SE_W207, SOUND_PAN_TARGET end @@ -8718,12 +8718,12 @@ Move_METEOR_MASH: fadetobg BG_COSMIC waitbgfadein waitforvisualfinish - createsprite gUnknown_085CE8DC, ANIM_TARGET, 3, -48, SOUND_PAN_ATTACKER, 72, 32, 30 + createsprite gMeteorMashStarSpriteTemplate, ANIM_TARGET, 3, -48, -64, 72, 32, 30 delay 10 - createsprite gUnknown_085CE8DC, ANIM_TARGET, 3, -112, SOUND_PAN_ATTACKER, 8, 32, 30 + createsprite gMeteorMashStarSpriteTemplate, ANIM_TARGET, 3, -112, -64, 8, 32, 30 delay 40 createsprite gUnknown_08595F14, ANIM_TARGET, 3, 0, 0, 0, 30 - createsprite gUnknown_085CE8DC, ANIM_TARGET, 3, -80, SOUND_PAN_ATTACKER, 40, 32, 30 + createsprite gMeteorMashStarSpriteTemplate, ANIM_TARGET, 3, -80, -64, 40, 32, 30 delay 20 playsewithpan SE_W233B, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 1 @@ -9551,7 +9551,7 @@ Move_KNOCK_OFF: createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 4, 6 delay 4 playsewithpan SE_W233, SOUND_PAN_TARGET - createsprite gUnknown_085CE984, ANIM_TARGET, 2, -16, -16 + createsprite gKnockOffStrikeSpriteTemplate, ANIM_TARGET, 2, -16, -16 delay 8 createsprite gComplexPaletteBlendSpriteTemplate, ANIM_ATTACKER, 2, 31, 5, 1, RGB_WHITE, 10, 0, 0 createsprite gBasicHitSplatSpriteTemplate, ANIM_TARGET, 3, 0, 0, 1, 2 @@ -10556,11 +10556,11 @@ SnatchMoveContinue: end SnatchOpposingMonMove: playsewithpan SE_W104, SOUND_PAN_ATTACKER - createvisualtask sub_815F8F4, 2 + createvisualtask AnimTask_SnatchOpposingMonMove, 2 goto SnatchMoveContinue SnatchPartnerMonMove: playsewithpan SE_W104, SOUND_PAN_ATTACKER - createvisualtask sub_815FFC4, 2 + createvisualtask AnimTask_SnatchPartnerMove, 2 goto SnatchMoveContinue General_FutureSightHit: diff --git a/include/battle_anim.h b/include/battle_anim.h index 248e2a9f57..9082e138b8 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -94,7 +94,7 @@ void sub_80A66DC(struct Sprite *sprite); void SetSpriteCoordsToAnimAttackerCoords(struct Sprite *sprite); void RunStoredCallbackWhenAnimEnds(struct Sprite *sprite); void SetAnimSpriteInitialXOffset(struct Sprite *sprite, s16 a2); -s16 sub_80A861C(u8 battlerId, u8 a2); +s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 a2); u8 GetBattlerYCoordWithElevation(u8 battlerId); void WaitAnimForDuration(struct Sprite *sprite); void sub_80A7938(struct Sprite *sprite); @@ -148,7 +148,7 @@ void sub_80A6BFC(struct UnknownAnimStruct2 *unk, u8 unused); u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10); void sub_80A749C(struct Sprite *sprite); void sub_80A6814(u8 taskId); -void sub_80A8610(struct Sprite *sprite); +void DestroySpriteAndFreeResources_(struct Sprite *sprite); void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId); enum @@ -160,6 +160,17 @@ enum BATTLER_COORD_Y_PIC_OFFSET_DEFAULT, }; +enum +{ + BATTLER_COORD_ATTR_HEIGHT, + BATTLER_COORD_ATTR_WIDTH, + BATTLER_COORD_ATTR_TOP, + BATTLER_COORD_ATTR_BOTTOM, + BATTLER_COORD_ATTR_LEFT, + BATTLER_COORD_ATTR_RIGHT, + BATTLER_COORD_ATTR_RAW_BOTTOM, +}; + u8 GetBattlerSpriteCoord(u8 battlerId, u8 attributeId); bool8 IsBattlerSpritePresent(u8 battlerId); diff --git a/src/battle_anim_80A5C6C.c b/src/battle_anim_80A5C6C.c index 7b9e975c40..e93e8e8904 100644 --- a/src/battle_anim_80A5C6C.c +++ b/src/battle_anim_80A5C6C.c @@ -2092,17 +2092,17 @@ u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority return spriteId; } -void sub_80A8610(struct Sprite *sprite) +void DestroySpriteAndFreeResources_(struct Sprite *sprite) { DestroySpriteAndFreeResources(sprite); } -s16 sub_80A861C(u8 battlerId, u8 a2) +s16 GetBattlerSpriteCoordAttr(u8 battlerId, u8 attr) { u16 species; u32 personality; u16 letter; - u16 var; + u16 unownSpecies; int ret; const struct MonCoords *coords; struct BattleSpriteInfo *spriteInfo; @@ -2123,10 +2123,10 @@ s16 sub_80A861C(u8 battlerId, u8 a2) { letter = GET_UNOWN_LETTER(personality); if (!letter) - var = SPECIES_UNOWN; + unownSpecies = SPECIES_UNOWN; else - var = letter + SPECIES_UNOWN_B - 1; - coords = &gMonBackPicCoords[var]; + unownSpecies = letter + SPECIES_UNOWN_B - 1; + coords = &gMonBackPicCoords[unownSpecies]; } else if (species == SPECIES_CASTFORM) { @@ -2156,16 +2156,17 @@ s16 sub_80A861C(u8 battlerId, u8 a2) species = spriteInfo[battlerId].transformSpecies; personality = gTransformedPersonalities[battlerId]; } + if (species == SPECIES_UNOWN) { letter = GET_UNOWN_LETTER(personality); if (!letter) - var = SPECIES_UNOWN; + unownSpecies = SPECIES_UNOWN; else - var = letter + SPECIES_UNOWN_B - 1; - coords = &gMonBackPicCoords[var]; + unownSpecies = letter + SPECIES_UNOWN_B - 1; + coords = &gMonBackPicCoords[unownSpecies]; } - else if (species > SPECIES_EGG) + else if (species > NUM_SPECIES) { coords = &gMonBackPicCoords[0]; } @@ -2187,20 +2188,21 @@ s16 sub_80A861C(u8 battlerId, u8 a2) species = spriteInfo[battlerId].transformSpecies; personality = gTransformedPersonalities[battlerId]; } + if (species == SPECIES_UNOWN) { letter = GET_UNOWN_LETTER(personality); if (!letter) - var = SPECIES_UNOWN; + unownSpecies = SPECIES_UNOWN; else - var = letter + SPECIES_UNOWN_B - 1; - coords = &gMonFrontPicCoords[var]; + unownSpecies = letter + SPECIES_UNOWN_B - 1; + coords = &gMonFrontPicCoords[unownSpecies]; } else if (species == SPECIES_CASTFORM) { coords = &gCastformFrontSpriteCoords[gBattleMonForms[battlerId]]; } - else if (species > SPECIES_EGG) + else if (species > NUM_SPECIES) { coords = &gMonFrontPicCoords[0]; } @@ -2211,22 +2213,22 @@ s16 sub_80A861C(u8 battlerId, u8 a2) } } - switch (a2) + switch (attr) { - case 0: + case BATTLER_COORD_ATTR_HEIGHT: return (coords->coords & 0xf) * 8; - case 1: + case BATTLER_COORD_ATTR_WIDTH: return (coords->coords >> 4) * 8; - case 4: - return GetBattlerSpriteCoord(battlerId, 2) - ((coords->coords >> 4) * 4); - case 5: - return GetBattlerSpriteCoord(battlerId, 2) + ((coords->coords >> 4) * 4); - case 2: - return GetBattlerSpriteCoord(battlerId, 3) - ((coords->coords & 0xf) * 4); - case 3: - return GetBattlerSpriteCoord(battlerId, 3) + ((coords->coords & 0xf) * 4); - case 6: - ret = GetBattlerSpriteCoord(battlerId, 1) + 0x1f; + case BATTLER_COORD_ATTR_LEFT: + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) - ((coords->coords >> 4) * 4); + case BATTLER_COORD_ATTR_RIGHT: + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_X_2) + ((coords->coords >> 4) * 4); + case BATTLER_COORD_ATTR_TOP: + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) - ((coords->coords & 0xf) * 4); + case BATTLER_COORD_ATTR_BOTTOM: + return GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y_PIC_OFFSET) + ((coords->coords & 0xf) * 4); + case BATTLER_COORD_ATTR_RAW_BOTTOM: + ret = GetBattlerSpriteCoord(battlerId, BATTLER_COORD_Y) + 31; return ret - coords->y_offset; default: return 0; diff --git a/src/battle_anim_8170478.c b/src/battle_anim_8170478.c index 502c4cdbbd..5b7a4ec1ce 100755 --- a/src/battle_anim_8170478.c +++ b/src/battle_anim_8170478.c @@ -388,7 +388,7 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_085E535C = }; extern const struct SpriteTemplate gUnknown_085CE388; -extern const struct SpriteTemplate gUnknown_085CE3A0; +extern const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate; void unref_sub_8170478(u8 taskId) { @@ -2081,12 +2081,12 @@ static void sub_8172FEC(u8 taskId) } else if (state >= 0 && gTasks[taskId].data[11] < 4) { - spriteId = CreateSprite(&gUnknown_085CE3A0, x, y, 5); + spriteId = CreateSprite(&gMiniTwinklingStarSpriteTemplate, x, y, 5); gSprites[spriteId].oam.tileNum += 4; } else { - spriteId = CreateSprite(&gUnknown_085CE3A0, x, y, 5); + spriteId = CreateSprite(&gMiniTwinklingStarSpriteTemplate, x, y, 5); gSprites[spriteId].oam.tileNum += 5; } diff --git a/src/battle_anim_effects_1.c b/src/battle_anim_effects_1.c index e37d2b5b83..25eb14637b 100644 --- a/src/battle_anim_effects_1.c +++ b/src/battle_anim_effects_1.c @@ -3297,8 +3297,8 @@ void sub_80FFFC0(u8 taskId) task->data[4] = GetBattlerSpriteSubpriority(gBattleAnimTarget) - 1; task->data[6] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); task->data[7] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); - task->data[10] = sub_80A861C(gBattleAnimTarget, 1); - task->data[11] = sub_80A861C(gBattleAnimTarget, 0); + task->data[10] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_WIDTH); + task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT); task->data[5] = (GetBattlerSide(gBattleAnimTarget) == B_SIDE_OPPONENT) ? 1 : -1; task->data[9] = 56 - (task->data[5] * 64); task->data[8] = task->data[7] - task->data[9] + task->data[6]; @@ -5452,11 +5452,11 @@ static void sub_81030B0(struct Sprite* sprite) void sub_810310C(u8 battler, struct Sprite* sprite) { if (GetBattlerSide(battler) == B_SIDE_PLAYER) - sprite->pos1.x = sub_80A861C(battler, 5) + 8; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) + 8; else - sprite->pos1.x = sub_80A861C(battler, 4) - 8; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) - 8; - sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) - (s16)sub_80A861C(battler, 0) / 4; + sprite->pos1.y = GetBattlerSpriteCoord(battler, 3) - (s16)GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4; } void sub_8103164(struct Sprite* sprite) @@ -5520,7 +5520,7 @@ void sub_8103284(struct Sprite* sprite) battler = gBattleAnimTarget; sprite->pos1.x = GetBattlerSpriteCoord(battler, 0); - sprite->pos1.y = sub_80A861C(battler, 2); + sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP); if (sprite->pos1.y <= 9) sprite->pos1.y = 10; diff --git a/src/battle_anim_effects_2.c b/src/battle_anim_effects_2.c index 0ec8b63d7a..e9606172ff 100755 --- a/src/battle_anim_effects_2.c +++ b/src/battle_anim_effects_2.c @@ -2446,7 +2446,7 @@ void sub_8104E74(u8 taskId) task->data[3] = 0; task->data[4] = 0; task->data[5] = 0; - task->data[15] = sub_80A861C(gBattleAnimTarget, 0); + task->data[15] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT); if (GetBattlerSpriteBGPriorityRank(gBattleAnimTarget) == 1) { @@ -2531,7 +2531,7 @@ void sub_810501C(struct Sprite *sprite) sprite->data[2] = 0; sprite->data[3] = 16; sprite->data[4] = 0; - sprite->data[5] = sub_80A861C(gBattleAnimTarget, 0) + 2; + sprite->data[5] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT) + 2; sprite->data[6] = BattleAnimAdjustPanning(63); sprite->callback = sub_8105078; } diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 3b05c69ded..dfaba3d924 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -46,7 +46,7 @@ void sub_815ACD0(struct Sprite *); void sub_815B27C(struct Sprite *); void sub_815B394(struct Sprite *); void sub_815B49C(struct Sprite *); -void sub_815B570(struct Sprite *); +void AnimMiniTwinklingStar(struct Sprite *); void sub_815B70C(struct Sprite *); void sub_815BE04(struct Sprite *); void sub_815C400(struct Sprite *); @@ -62,15 +62,15 @@ void sub_815E01C(struct Sprite *); void sub_815E404(struct Sprite *); void sub_815E444(struct Sprite *); void sub_815E6D8(struct Sprite *); -void sub_815E954(struct Sprite *); -void sub_815EA14(struct Sprite *); -void sub_815EE84(struct Sprite *); -void sub_815F18C(struct Sprite *); -void sub_815F48C(struct Sprite *); +void AnimSmellingSaltExclamation(struct Sprite *); +void AnimHelpingHandClap(struct Sprite *); +void AnimForesightMagnifyingGlass(struct Sprite *); +void AnimMeteorMashStar(struct Sprite *); +void AnimBlockX(struct Sprite *); void sub_815FE80(struct Sprite *); void sub_81061C4(struct Sprite *); -void sub_8160338(struct Sprite *); -void sub_81603A8(struct Sprite *); +void AnimKnockOffStrike(struct Sprite *); +void AnimRecycle(struct Sprite *); static void sub_815A114(struct Sprite *); static void sub_815A1F4(struct Sprite *); static void sub_815A234(struct Sprite *); @@ -112,18 +112,18 @@ static void sub_815E20C(u8); static void sub_815E34C(s16, s16, s16, s16, u8, u8, s16 *, s16 *); static void sub_815E5CC(u8); static void sub_815E784(struct Sprite *); -static void sub_815E898(u8); -static void sub_815E9BC(struct Sprite *); -static void sub_815EA60(struct Sprite *); -static void sub_815ECE4(u8); -static void sub_815EF08(struct Sprite *); -static void sub_815F330(u8); -static void sub_815F4F0(struct Sprite *); -static void sub_815F79C(u8); -static void sub_815F7C4(struct Sprite *); -static void sub_81601DC(u8); -static void sub_81603F4(struct Sprite *); -static void sub_816058C(u8); +static void AnimTask_SmellingSaltSquishStep(u8); +static void AnimSmellingSaltExclamationStep(struct Sprite *); +static void AnimHelpingHandClapStep(struct Sprite *); +static void AnimTask_HelpingHandAttackerMovementStep(u8); +static void AnimForesightMagnifyingGlassStep(struct Sprite *); +static void AnimTask_MonToSubstituteDoll(u8); +static void AnimBlockXStep(struct Sprite *); +static void AnimTask_OdorSleuthMovementWaitFinish(u8); +static void MoveOdorSleuthClone(struct Sprite *); +static void AnimTask_TeeterDanceMovementStep(u8); +static void AnimRecycleStep(struct Sprite *); +static void AnimTask_SlackOffSquishStep(u8); const union AnimCmd gUnknown_085CE004[] = { @@ -539,7 +539,7 @@ const struct SpriteTemplate gUnknown_085CE388 = .callback = sub_815B49C, }; -const struct SpriteTemplate gUnknown_085CE3A0 = +const struct SpriteTemplate gMiniTwinklingStarSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_STARS, .paletteTag = ANIM_TAG_GOLD_STARS, @@ -547,7 +547,7 @@ const struct SpriteTemplate gUnknown_085CE3A0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815B570, + .callback = AnimMiniTwinklingStar, }; const union AffineAnimCmd gUnknown_085CE3B8[] = @@ -999,14 +999,14 @@ const struct SpriteTemplate gUnknown_085CE864 = .callback = sub_815E6D8, }; -const union AffineAnimCmd gUnknown_085CE87C[] = +const union AffineAnimCmd gSmellingSaltSquishAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0, -16, 0, 6), AFFINEANIMCMD_FRAME(0, 16, 0, 6), AFFINEANIMCMD_END, }; -const struct SpriteTemplate gUnknown_085CE894 = +const struct SpriteTemplate gSmellingSaltExclamationSpriteTemplate = { .tileTag = ANIM_TAG_SMELLINGSALT_EFFECT, .paletteTag = ANIM_TAG_SMELLINGSALT_EFFECT, @@ -1014,10 +1014,10 @@ const struct SpriteTemplate gUnknown_085CE894 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815E954, + .callback = AnimSmellingSaltExclamation, }; -const struct SpriteTemplate gUnknown_085CE8AC = +const struct SpriteTemplate gHelpingHandClapSpriteTemplate = { .tileTag = ANIM_TAG_TAG_HAND, .paletteTag = ANIM_TAG_TAG_HAND, @@ -1025,10 +1025,10 @@ const struct SpriteTemplate gUnknown_085CE8AC = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815EA14, + .callback = AnimHelpingHandClap, }; -const struct SpriteTemplate gUnknown_085CE8C4 = +const struct SpriteTemplate gForesightMagnifyingGlassSpriteTemplate = { .tileTag = ANIM_TAG_MAGNIFYING_GLASS, .paletteTag = ANIM_TAG_MAGNIFYING_GLASS, @@ -1036,10 +1036,10 @@ const struct SpriteTemplate gUnknown_085CE8C4 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815EE84, + .callback = AnimForesightMagnifyingGlass, }; -const struct SpriteTemplate gUnknown_085CE8DC = +const struct SpriteTemplate gMeteorMashStarSpriteTemplate = { .tileTag = ANIM_TAG_GOLD_STARS, .paletteTag = ANIM_TAG_GOLD_STARS, @@ -1047,7 +1047,7 @@ const struct SpriteTemplate gUnknown_085CE8DC = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815F18C, + .callback = AnimMeteorMashStar, }; const struct SpriteTemplate gUnknown_085CE8F4 = @@ -1061,7 +1061,7 @@ const struct SpriteTemplate gUnknown_085CE8F4 = .callback = sub_81061C4, }; -const struct SpriteTemplate gUnknown_085CE90C = +const struct SpriteTemplate gBlockXSpriteTemplate = { .tileTag = ANIM_TAG_X_SIGN, .paletteTag = ANIM_TAG_X_SIGN, @@ -1069,7 +1069,7 @@ const struct SpriteTemplate gUnknown_085CE90C = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815F48C, + .callback = AnimBlockX, }; const struct SpriteTemplate gUnknown_085CE924 = @@ -1083,72 +1083,72 @@ const struct SpriteTemplate gUnknown_085CE924 = .callback = sub_815FE80, }; -const union AnimCmd gUnknown_085CE93C[] = +const union AnimCmd gKnockOffStrikeAnimCmds[] = { ANIMCMD_FRAME(0, 4), ANIMCMD_FRAME(64, 4), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085CE948[] = +const union AnimCmd *const gKnockOffStrikeAnimTable[] = { - gUnknown_085CE93C, + gKnockOffStrikeAnimCmds, }; -const union AffineAnimCmd gUnknown_085CE94C[] = +const union AffineAnimCmd gKnockOffStrikeAffineanimCmds1[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0, 0, -4, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085CE964[] = +const union AffineAnimCmd gKnockOffStrikeAffineanimCmds2[] = { AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(0, 0, 4, 8), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085CE97C[] = +const union AffineAnimCmd *const gKnockOffStrikeAffineAnimTable[] = { - gUnknown_085CE94C, - gUnknown_085CE964, + gKnockOffStrikeAffineanimCmds1, + gKnockOffStrikeAffineanimCmds2, }; -const struct SpriteTemplate gUnknown_085CE984 = +const struct SpriteTemplate gKnockOffStrikeSpriteTemplate = { .tileTag = ANIM_TAG_SLAM_HIT_2, .paletteTag = ANIM_TAG_SLAM_HIT_2, .oam = &gUnknown_0852497C, - .anims = gUnknown_085CE948, + .anims = gKnockOffStrikeAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE97C, - .callback = sub_8160338, + .affineAnims = gKnockOffStrikeAffineAnimTable, + .callback = AnimKnockOffStrike, }; -const union AffineAnimCmd gUnknown_085CE99C[] = +const union AffineAnimCmd gRecycleSpriteAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0, 0, -4, 64), AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_085CE9AC[] = +const union AffineAnimCmd *const gRecycleSpriteAffineAnimTable[] = { - gUnknown_085CE99C, + gRecycleSpriteAffineAnimCmds, }; -const struct SpriteTemplate gUnknown_085CE9B0 = +const struct SpriteTemplate gRecycleSpriteTemplate = { .tileTag = ANIM_TAG_RECYCLE, .paletteTag = ANIM_TAG_RECYCLE, .oam = &gUnknown_08524A9C, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE9AC, - .callback = sub_81603A8, + .affineAnims = gRecycleSpriteAffineAnimTable, + .callback = AnimRecycle, }; -const union AffineAnimCmd gUnknown_085CE9C8[] = +const union AffineAnimCmd gSlackOffSquishAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0, 16, 0, 4), AFFINEANIMCMD_FRAME(-2, 0, 0, 8), @@ -2108,7 +2108,7 @@ static void sub_815B4D4(struct Sprite *sprite) if (++sprite->data[2] % 3 == 0) { CreateSpriteAndAnimate( - &gUnknown_085CE3A0, + &gMiniTwinklingStarSpriteTemplate, sprite->pos1.x + sprite->pos2.x, sprite->pos1.y + sprite->pos2.y, sprite->subpriority + 1); @@ -2119,7 +2119,7 @@ static void sub_815B4D4(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_815B570(struct Sprite *sprite) +void AnimMiniTwinklingStar(struct Sprite *sprite) { u8 rand; s8 y; @@ -3246,7 +3246,7 @@ static void sub_815D1BC(u8 taskId) if (++gTasks[taskId].data[12] == 9) { sub_80A749C(&gSprites[spriteId]); - sub_80A8610(&gSprites[spriteId]); + DestroySpriteAndFreeResources_(&gSprites[spriteId]); gTasks[taskId].func = sub_80A6814; } } @@ -3881,11 +3881,11 @@ void sub_815E114(u8 taskId) } if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) - task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + sub_80A861C(gBattleAnimAttacker, 0) / 4; + task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 4; else - task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - sub_80A861C(gBattleAnimAttacker, 0) / 4; + task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 4; - task->data[12] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) - sub_80A861C(gBattleAnimAttacker, 0) / 4; + task->data[12] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) - GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 4; task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); task->func = sub_815E20C; @@ -4012,7 +4012,7 @@ void sub_815E47C(u8 taskId) task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); task->data[12] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + sub_80A861C(gBattleAnimTarget, 0) / 4; + task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT) / 4; task->data[15] = CreateSprite(&gUnknown_085CE84C, task->data[11], task->data[12], GetBattlerSpriteSubpriority(gBattleAnimTarget) - 5); if (task->data[15] != MAX_SPRITES) { @@ -4091,11 +4091,11 @@ void sub_815E6D8(struct Sprite *sprite) if (gBattleAnimArgs[1] == 0) { sprite->oam.matrixNum |= 0x8; - sprite->pos1.x = sub_80A861C(battler, 4) - 8; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) - 8; } else { - sprite->pos1.x = sub_80A861C(battler, 5) + 8; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) + 8; } sprite->callback = sub_815E784; @@ -4147,9 +4147,12 @@ static void sub_815E784(struct Sprite *sprite) } } -void sub_815E840(u8 taskId) +// Squishes the mon horizontally a few times. +// arg 0: which mon +// arg 1: number of squishes +void AnimTask_SmellingSaltSquish(u8 taskId) { - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { DestroyAnimVisualTask(taskId); } @@ -4157,12 +4160,12 @@ void sub_815E840(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[1]; gTasks[taskId].data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gUnknown_085CE87C); - gTasks[taskId].func = sub_815E898; + PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gSmellingSaltSquishAffineAnimCmds); + gTasks[taskId].func = AnimTask_SmellingSaltSquishStep; } } -static void sub_815E898(u8 taskId) +static void AnimTask_SmellingSaltSquishStep(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -4180,7 +4183,7 @@ static void sub_815E898(u8 taskId) gSprites[task->data[15]].pos2.x = 0; if (--task->data[0]) { - PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gUnknown_085CE87C); + PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gSmellingSaltSquishAffineAnimCmds); task->data[1] = 0; task->data[2] = 0; } @@ -4191,17 +4194,21 @@ static void sub_815E898(u8 taskId) } } -void sub_815E954(struct Sprite *sprite) +// Blinks an exclamation image over the mon a few times. +// arg 0: which mon +// arg 1: blink delay +// arg 2: number of blinks +void AnimSmellingSaltExclamation(struct Sprite *sprite) { - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->pos1.y = sub_80A861C(gBattleAnimAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP); } else { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - sprite->pos1.y = sub_80A861C(gBattleAnimTarget, 2); + sprite->pos1.y = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_TOP); } if (sprite->pos1.y < 8) @@ -4211,10 +4218,10 @@ void sub_815E954(struct Sprite *sprite) sprite->data[1] = gBattleAnimArgs[1]; sprite->data[2] = 0; sprite->data[3] = gBattleAnimArgs[2]; - sprite->callback = sub_815E9BC; + sprite->callback = AnimSmellingSaltExclamationStep; } -static void sub_815E9BC(struct Sprite *sprite) +static void AnimSmellingSaltExclamationStep(struct Sprite *sprite) { if (++sprite->data[0] >= sprite->data[1]) { @@ -4226,11 +4233,14 @@ static void sub_815E9BC(struct Sprite *sprite) } } -void sub_815EA14(struct Sprite *sprite) +// Claps a hand several times. +// arg 0: which hand +// arg 1: +void AnimHelpingHandClap(struct Sprite *sprite) { if (gBattleAnimArgs[0] == 0) { - sprite->oam.matrixNum |= 0x8; + sprite->oam.matrixNum |= 0x8; // horizontal flip sprite->pos1.x = 100; sprite->data[7] = 1; } @@ -4241,10 +4251,10 @@ void sub_815EA14(struct Sprite *sprite) } sprite->pos1.y = 56; - sprite->callback = sub_815EA60; + sprite->callback = AnimHelpingHandClapStep; } -static void sub_815EA60(struct Sprite *sprite) +static void AnimHelpingHandClapStep(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -4327,7 +4337,9 @@ static void sub_815EA60(struct Sprite *sprite) } } -void sub_815EC48(u8 taskId) +// Repeatedly moves the attacking mon in a horizontal lunging motion. +// No args. +void AnimTask_HelpingHandAttackerMovement(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -4356,10 +4368,10 @@ void sub_815EC48(u8 taskId) task->data[14] = 1; } - task->func = sub_815ECE4; + task->func = AnimTask_HelpingHandAttackerMovementStep; } -static void sub_815ECE4(u8 taskId) +static void AnimTask_HelpingHandAttackerMovementStep(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -4441,9 +4453,11 @@ static void sub_815ECE4(u8 taskId) } } -void sub_815EE84(struct Sprite *sprite) +// Moves a magnifying glass around in straight lines. +// arg 0: magnifying glass target mon +void AnimForesightMagnifyingGlass(struct Sprite *sprite) { - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) { InitSpritePosToAnimAttacker(sprite, TRUE); sprite->data[7] = gBattleAnimAttacker; @@ -4454,14 +4468,14 @@ void sub_815EE84(struct Sprite *sprite) } if (GetBattlerSide(sprite->data[7]) == B_SIDE_OPPONENT) - sprite->oam.matrixNum = 8; + sprite->oam.matrixNum = 8; // horizontal flip sprite->oam.priority = GetBattlerSpriteBGPriority(sprite->data[7]); sprite->oam.objMode = ST_OAM_OBJ_BLEND; - sprite->callback = sub_815EF08; + sprite->callback = AnimForesightMagnifyingGlassStep; } -static void sub_815EF08(struct Sprite *sprite) +static void AnimForesightMagnifyingGlassStep(struct Sprite *sprite) { u16 x, y; @@ -4474,20 +4488,20 @@ static void sub_815EF08(struct Sprite *sprite) sprite->data[6] = 0; case 0: case 4: - x = sub_80A861C(sprite->data[7], 5) - 4; - y = sub_80A861C(sprite->data[7], 3) - 4; + x = GetBattlerSpriteCoordAttr(sprite->data[7], 5) - 4; + y = GetBattlerSpriteCoordAttr(sprite->data[7], 3) - 4; break; case 1: - x = sub_80A861C(sprite->data[7], 5) - 4; - y = sub_80A861C(sprite->data[7], 2) + 4; + x = GetBattlerSpriteCoordAttr(sprite->data[7], 5) - 4; + y = GetBattlerSpriteCoordAttr(sprite->data[7], 2) + 4; break; case 2: - x = sub_80A861C(sprite->data[7], 4) + 4; - y = sub_80A861C(sprite->data[7], 3) - 4; + x = GetBattlerSpriteCoordAttr(sprite->data[7], 4) + 4; + y = GetBattlerSpriteCoordAttr(sprite->data[7], 3) - 4; break; case 3: - x = sub_80A861C(sprite->data[7], 4) + 4; - y = sub_80A861C(sprite->data[7], 2) - 4; + x = GetBattlerSpriteCoordAttr(sprite->data[7], 4) + 4; + y = GetBattlerSpriteCoordAttr(sprite->data[7], 2) - 4; break; case 5: x = GetBattlerSpriteCoord(sprite->data[7], 2); @@ -4563,14 +4577,14 @@ static void sub_815EF08(struct Sprite *sprite) } } -static void sub_815F10C(struct Sprite *sprite) +static void AnimMeteorMashStarStep(struct Sprite *sprite) { sprite->pos2.x = ((sprite->data[2] - sprite->data[0]) * sprite->data[5]) / sprite->data[4]; sprite->pos2.y = ((sprite->data[3] - sprite->data[1]) * sprite->data[5]) / sprite->data[4]; if (!(sprite->data[5] & 1)) { CreateSprite( - &gUnknown_085CE3A0, + &gMiniTwinklingStarSpriteTemplate, sprite->pos1.x + sprite->pos2.x, sprite->pos1.y + sprite->pos2.y, 5); } @@ -4581,10 +4595,16 @@ static void sub_815F10C(struct Sprite *sprite) sprite->data[5]++; } -void sub_815F18C(struct Sprite *sprite) +// Moves a shooting star across the screen that leaves little twinkling stars behind its path. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: destination x pixel offset +// arg 3: destination y pixel offset +// arg 4: duration +void AnimMeteorMashStar(struct Sprite *sprite) { - GetBattlerSpriteCoord(gBattleAnimTarget, 2); // unused local variable - GetBattlerSpriteCoord(gBattleAnimTarget, 3); // unused local variable + s16 y = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); // unused local variable + s16 x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); // unused local variable if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER || IsContest()) { @@ -4602,13 +4622,13 @@ void sub_815F18C(struct Sprite *sprite) sprite->data[4] = gBattleAnimArgs[4]; sprite->pos1.x = sprite->data[0]; sprite->pos1.y = sprite->data[1]; - sprite->callback = sub_815F10C; + sprite->callback = AnimMeteorMashStarStep; } void AnimTask_MonToSubstitute(u8 taskId) { int i; - u8 spriteId = GetAnimBattlerSpriteId(0); + u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); if (gTasks[taskId].data[0] == 0) { @@ -4642,11 +4662,11 @@ void AnimTask_MonToSubstitute(u8 taskId) for (i = 0; i < 16; i++) gTasks[taskId].data[i] = 0; - gTasks[taskId].func = sub_815F330; + gTasks[taskId].func = AnimTask_MonToSubstituteDoll; } } -static void sub_815F330(u8 taskId) +static void AnimTask_MonToSubstituteDoll(u8 taskId) { u8 spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); @@ -4699,27 +4719,29 @@ static void sub_815F330(u8 taskId) } } -void sub_815F48C(struct Sprite *sprite) +// Moves down an X that flickers and disappears. +// No args. +void AnimBlockX(struct Sprite *sprite) { - s16 y2; + s16 y; if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) { sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimTarget) - 2; - y2 = -144; + y = -144; } else { sprite->subpriority = GetBattlerSpriteSubpriority(gBattleAnimTarget) + 2; - y2 = -96; + y = -96; } sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimTarget, 3); - sprite->pos2.y = y2; - sprite->callback = sub_815F4F0; + sprite->pos2.y = y; + sprite->callback = AnimBlockXStep; } -static void sub_815F4F0(struct Sprite *sprite) +static void AnimBlockXStep(struct Sprite *sprite) { switch (sprite->data[0]) { @@ -4735,7 +4757,7 @@ static void sub_815F4F0(struct Sprite *sprite) case 1: sprite->data[1] += 4; sprite->pos2.y = -(gSineTable[sprite->data[1]] >> 3); - if (sprite->data[1] > 127) + if (sprite->data[1] > 0x7F) { PlaySE12WithPanning(SE_W166, BattleAnimAdjustPanning(63)); sprite->data[1] = 0; @@ -4746,7 +4768,7 @@ static void sub_815F4F0(struct Sprite *sprite) case 2: sprite->data[1] += 6; sprite->pos2.y = -(gSineTable[sprite->data[1]] >> 4); - if (sprite->data[1] > 127) + if (sprite->data[1] > 0x7F) { sprite->data[1] = 0; sprite->pos2.y = 0; @@ -4774,7 +4796,9 @@ static void sub_815F4F0(struct Sprite *sprite) } } -void sub_815F620(u8 taskId) +// Quickly moves two clones of the target mon back and forth. +// No args. +void AnimTask_OdorSleuthMovement(u8 taskId) { s16 spriteId1, spriteId2; @@ -4830,21 +4854,20 @@ void sub_815F620(u8 taskId) gSprites[spriteId1].invisible = 1; } - gSprites[spriteId2].oam.objMode = ST_OAM_OBJ_NORMAL; gSprites[spriteId1].oam.objMode = ST_OAM_OBJ_NORMAL; - gSprites[spriteId2].callback = sub_815F7C4; - gSprites[spriteId1].callback = sub_815F7C4; - gTasks[taskId].func = sub_815F79C; + gSprites[spriteId2].callback = MoveOdorSleuthClone; + gSprites[spriteId1].callback = MoveOdorSleuthClone; + gTasks[taskId].func = AnimTask_OdorSleuthMovementWaitFinish; } -static void sub_815F79C(u8 taskId) +static void AnimTask_OdorSleuthMovementWaitFinish(u8 taskId) { if (gTasks[taskId].data[0] == 0) DestroyAnimVisualTask(taskId); } -static void sub_815F7C4(struct Sprite *sprite) +static void MoveOdorSleuthClone(struct Sprite *sprite) { int zero = 0; if (++sprite->data[1] > 1) @@ -4896,7 +4919,9 @@ void AnimTask_GetReturnPowerLevel(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_815F8F4(u8 taskId) +// Makes the mon run out of screen, run past the opposing mon, and return to its original position. +// No args. +void AnimTask_SnatchOpposingMonMove(u8 taskId) { u8 spriteId, spriteId2; int personality; @@ -5010,7 +5035,7 @@ void sub_815F8F4(u8 taskId) case 3: spriteId = GetAnimBattlerSpriteId(ANIM_ATTACKER); spriteId2 = gTasks[taskId].data[15]; - sub_80A8610(&gSprites[spriteId2]); + DestroySpriteAndFreeResources_(&gSprites[spriteId2]); if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) gSprites[spriteId].pos2.x = -gSprites[spriteId].pos1.x - 32; else @@ -5084,7 +5109,9 @@ void sub_815FE80(struct Sprite *sprite) } } -void sub_815FFC4(u8 taskId) +// Quickly moves the mon towards its partner and back. +// No args. +void AnimTask_SnatchPartnerMove(u8 taskId) { s16 attackerX, targetX; u8 spriteId; @@ -5143,7 +5170,9 @@ void sub_815FFC4(u8 taskId) } } -void sub_8160164(u8 taskId) +// Moves the mon's sprite back and forth in an unpredictable swaying motion. +// No args. +void AnimTask_TeeterDanceMovement(u8 taskId) { struct Task *task = &gTasks[taskId]; task->data[3] = GetAnimBattlerSpriteId(ANIM_ATTACKER); @@ -5154,10 +5183,10 @@ void sub_8160164(u8 taskId) task->data[11] = 0; task->data[10] = 1; task->data[12] = 0; - task->func = sub_81601DC; + task->func = AnimTask_TeeterDanceMovementStep; } -static void sub_81601DC(u8 taskId) +static void AnimTask_TeeterDanceMovementStep(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[0]) @@ -5191,7 +5220,7 @@ static void sub_81601DC(u8 taskId) } } -static void sub_81602E0(struct Sprite *sprite) +static void AnimKnockOffStrikeStep(struct Sprite *sprite) { // These two cases are identical. if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) @@ -5213,7 +5242,10 @@ static void sub_81602E0(struct Sprite *sprite) sprite->data[2]++; } -void sub_8160338(struct Sprite *sprite) +// Animates a strike that swipes downard at the target mon. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +void AnimKnockOffStrike(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimTarget) == B_SIDE_PLAYER) { @@ -5231,23 +5263,25 @@ void sub_8160338(struct Sprite *sprite) sprite->pos1.y += gBattleAnimArgs[1]; } - sprite->callback = sub_81602E0; + sprite->callback = AnimKnockOffStrikeStep; } -void sub_81603A8(struct Sprite *sprite) +// Gradually fades a rotating recyle arrow sprite in and back out. +// No args. +void AnimRecycle(struct Sprite *sprite) { sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); - sprite->pos1.y = sub_80A861C(gBattleAnimAttacker, 2); + sprite->pos1.y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP); if (sprite->pos1.y < 16) sprite->pos1.y = 16; sprite->data[6] = 0; sprite->data[7] = 16; - sprite->callback = sub_81603F4; + sprite->callback = AnimRecycleStep; SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(sprite->data[6], sprite->data[7])); } -static void sub_81603F4(struct Sprite *sprite) +static void AnimRecycleStep(struct Sprite *sprite) { switch (sprite->data[2]) { @@ -5322,16 +5356,18 @@ void AnimTask_GetWeather(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8160544(u8 taskId) +// Squishes the mon sprite vertically, and shakes it back and forth. +// arg 0: which battler +void AnimTask_SlackOffSquish(u8 taskId) { struct Task *task = &gTasks[taskId]; task->data[0] = 0; task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - PrepareAffineAnimInTaskData(task, task->data[15], gUnknown_085CE9C8); - task->func = sub_816058C; + PrepareAffineAnimInTaskData(task, task->data[15], gSlackOffSquishAffineAnimCmds); + task->func = AnimTask_SlackOffSquishStep; } -static void sub_816058C(u8 taskId) +static void AnimTask_SlackOffSquishStep(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -5343,13 +5379,9 @@ static void sub_816058C(u8 taskId) task->data[1] = 0; task->data[2]++; if (!(task->data[2] & 1)) - { gSprites[task->data[15]].pos2.x = -1; - } else - { gSprites[task->data[15]].pos2.x = 1; - } } } else diff --git a/src/dark.c b/src/dark.c index efa6e94989..ecd466da8c 100644 --- a/src/dark.c +++ b/src/dark.c @@ -357,22 +357,22 @@ void sub_8113A90(struct Sprite *sprite) switch (gBattleAnimArgs[1]) { case 0: - sprite->pos1.x = sub_80A861C(battler, 5) - 8; - sprite->pos1.y = sub_80A861C(battler, 2) + 8; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) - 8; + sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 8; break; case 1: - sprite->pos1.x = sub_80A861C(battler, 5) - 14; - sprite->pos1.y = sub_80A861C(battler, 2) + 16; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_RIGHT) - 14; + sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 16; break; case 2: - sprite->pos1.x = sub_80A861C(battler, 4) + 8; - sprite->pos1.y = sub_80A861C(battler, 2) + 8; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) + 8; + sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 8; StartSpriteAffineAnim(sprite, 1); xOffset = -20; break; case 3: - sprite->pos1.x = sub_80A861C(battler, 4) + 14; - sprite->pos1.y = sub_80A861C(battler, 2) + 16; + sprite->pos1.x = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_LEFT) + 14; + sprite->pos1.y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_TOP) + 16; StartSpriteAffineAnim(sprite, 1); xOffset = -20; break; @@ -403,7 +403,7 @@ void sub_8113BAC(u8 taskId) struct Task *task = &gTasks[taskId]; task->data[7] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + 31; - task->data[6] = sub_80A861C(gBattleAnimAttacker, 2) - 7; + task->data[6] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP) - 7; task->data[5] = task->data[7]; task->data[4] = task->data[6]; task->data[13] = (task->data[7] - task->data[6]) << 8; @@ -576,7 +576,7 @@ void sub_8113E78(u8 taskId) break; case 2: task->data[7] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y) + 31; - task->data[6] = sub_80A861C(gBattleAnimTarget, 2) - 7; + task->data[6] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_TOP) - 7; task->data[13] = (task->data[7] - task->data[6]) << 8; x = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X); task->data[14] = x - 4; diff --git a/src/decompress.c b/src/decompress.c index ed2f7a0bb9..949b969901 100644 --- a/src/decompress.c +++ b/src/decompress.c @@ -66,7 +66,7 @@ void LoadCompressedSpritePaletteOverrideBuffer(const struct CompressedSpritePale void DecompressPicFromTable(const struct CompressedSpriteSheet *src, void* buffer, s32 species) { - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) LZ77UnCompWram(gMonFrontPicTable[0].data, buffer); else LZ77UnCompWram(src->data, buffer); @@ -102,7 +102,7 @@ void LoadSpecialPokePic(const struct CompressedSpriteSheet *src, void *dest, s32 else LZ77UnCompWram(gMonFrontPicTable[i].data, dest); } - else if (species > SPECIES_EGG) // is species unknown? draw the ? icon + else if (species > NUM_SPECIES) // is species unknown? draw the ? icon LZ77UnCompWram(gMonFrontPicTable[0].data, dest); else LZ77UnCompWram(src->data, dest); @@ -499,7 +499,7 @@ bool8 LoadCompressedSpritePaletteUsingHeap(const struct CompressedSpritePalette void DecompressPicFromTable_2(const struct CompressedSpriteSheet *src, void* buffer, s32 species) // a copy of DecompressPicFromTable { - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) LZ77UnCompWram(gMonFrontPicTable[0].data, buffer); else LZ77UnCompWram(src->data, buffer); @@ -523,7 +523,7 @@ void LoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *dest, s else LZ77UnCompWram(gMonFrontPicTable[i].data, dest); } - else if (species > SPECIES_EGG) // is species unknown? draw the ? icon + else if (species > NUM_SPECIES) // is species unknown? draw the ? icon LZ77UnCompWram(gMonFrontPicTable[0].data, dest); else LZ77UnCompWram(src->data, dest); @@ -546,7 +546,7 @@ void HandleLoadSpecialPokePic_2(const struct CompressedSpriteSheet *src, void *d void DecompressPicFromTable_DontHandleDeoxys(const struct CompressedSpriteSheet *src, void* buffer, s32 species) { - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) LZ77UnCompWram(gMonFrontPicTable[0].data, buffer); else LZ77UnCompWram(src->data, buffer); @@ -581,7 +581,7 @@ void LoadSpecialPokePic_DontHandleDeoxys(const struct CompressedSpriteSheet *src else LZ77UnCompWram(gMonFrontPicTable[i].data, dest); } - else if (species > SPECIES_EGG) // is species unknown? draw the ? icon + else if (species > NUM_SPECIES) // is species unknown? draw the ? icon LZ77UnCompWram(gMonFrontPicTable[0].data, dest); else LZ77UnCompWram(src->data, dest); diff --git a/src/dragon.c b/src/dragon.c index 68577988ed..4a2ac1c515 100644 --- a/src/dragon.c +++ b/src/dragon.c @@ -274,8 +274,8 @@ void sub_8113250(struct Sprite *sprite) sprite->data[4] = 0; sprite->data[5] = 1; sprite->data[6] = gBattleAnimArgs[0]; - r5 = sub_80A861C(gBattlerAttacker, 0); - r0 = sub_80A861C(gBattlerAttacker, 1); + r5 = GetBattlerSpriteCoordAttr(gBattlerAttacker, BATTLER_COORD_ATTR_HEIGHT); + r0 = GetBattlerSpriteCoordAttr(gBattlerAttacker, BATTLER_COORD_ATTR_WIDTH); if (r5 > r0) sprite->data[7] = r5 / 2; else diff --git a/src/fight.c b/src/fight.c index b7ca2e87a7..c924effaef 100644 --- a/src/fight.c +++ b/src/fight.c @@ -486,8 +486,8 @@ void sub_810CF30(struct Sprite *sprite) sprite->pos1.x = GetBattlerSpriteCoord(battler, 2); sprite->pos1.y = GetBattlerSpriteCoord(battler, 3); - xMod = sub_80A861C(battler, 1) / 2; - yMod = sub_80A861C(battler, 0) / 4; + xMod = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_WIDTH) / 2; + yMod = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 4; x = Random2() % xMod; y = Random2() % yMod; diff --git a/src/ghost.c b/src/ghost.c index a755783b77..d26a4d1cb9 100644 --- a/src/ghost.c +++ b/src/ghost.c @@ -800,7 +800,7 @@ void sub_81123C4(u8 taskId) task->data[10] = gBattleAnimArgs[0]; baseX = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - baseY = sub_80A861C(gBattleAnimAttacker, 3); + baseY = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_BOTTOM); if (!IsContest()) { for (battler = 0; battler < 4; battler++) @@ -813,7 +813,7 @@ void sub_81123C4(u8 taskId) if (spriteId != MAX_SPRITES) { x = GetBattlerSpriteCoord(battler, 2); - y = sub_80A861C(battler, 3); + y = GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_BOTTOM); gSprites[spriteId].data[0] = baseX << 4; gSprites[spriteId].data[1] = baseY << 4; gSprites[spriteId].data[2] = ((x - baseX) << 4) / gBattleAnimArgs[1]; @@ -1168,7 +1168,7 @@ void sub_8112C6C(u8 taskId) task->data[1] = 16; task->data[9] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); task->data[10] = GetBattlerYCoordWithElevation(gBattleAnimAttacker); - task->data[11] = (sub_80A861C(gBattleAnimAttacker, 1) / 2) + 8; + task->data[11] = (GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 2) + 8; task->data[7] = 0; task->data[5] = GetBattlerSpriteBGPriority(gBattleAnimAttacker); task->data[6] = GetBattlerSpriteSubpriority(gBattleAnimAttacker) - 2; diff --git a/src/ice.c b/src/ice.c index 05ca630d52..77b3700ef0 100644 --- a/src/ice.c +++ b/src/ice.c @@ -1599,12 +1599,12 @@ bool8 GenerateHailParticle(u8 a, u8 b, u8 taskId, u8 c) switch (unk) { case 0: - battlerX -= sub_80A861C(battler, 1) / 6; - battlerY -= sub_80A861C(battler, 0) / 6; + battlerX -= GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_WIDTH) / 6; + battlerY -= GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 6; break; case 1: - battlerX += sub_80A861C(battler, 1) / 6; - battlerY += sub_80A861C(battler, 0) / 6; + battlerX += GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_WIDTH) / 6; + battlerY += GetBattlerSpriteCoordAttr(battler, BATTLER_COORD_ATTR_HEIGHT) / 6; break; } } @@ -1692,7 +1692,7 @@ bool8 GenerateHailParticle(u8 a, u8 b, u8 taskId, u8 c) _0810CA60:\n\ adds r0, r5, 0\n\ movs r1, 0x1\n\ - bl sub_80A861C\n\ + bl GetBattlerSpriteCoordAttr\n\ lsls r0, 16\n\ asrs r0, 16\n\ movs r1, 0x6\n\ @@ -1704,7 +1704,7 @@ _0810CA60:\n\ lsrs r7, r1, 16\n\ adds r0, r5, 0\n\ movs r1, 0\n\ - bl sub_80A861C\n\ + bl GetBattlerSpriteCoordAttr\n\ lsls r0, 16\n\ asrs r0, 16\n\ movs r1, 0x6\n\ @@ -1716,7 +1716,7 @@ _0810CA60:\n\ _0810CA96:\n\ adds r0, r5, 0\n\ movs r1, 0x1\n\ - bl sub_80A861C\n\ + bl GetBattlerSpriteCoordAttr\n\ lsls r0, 16\n\ asrs r0, 16\n\ movs r1, 0x6\n\ @@ -1728,7 +1728,7 @@ _0810CA96:\n\ lsrs r7, r1, 16\n\ adds r0, r5, 0\n\ movs r1, 0\n\ - bl sub_80A861C\n\ + bl GetBattlerSpriteCoordAttr\n\ lsls r0, 16\n\ asrs r0, 16\n\ movs r1, 0x6\n\ diff --git a/src/pokeball.c b/src/pokeball.c index baa165649a..1938d888de 100644 --- a/src/pokeball.c +++ b/src/pokeball.c @@ -1170,7 +1170,7 @@ static void sub_80768F0(struct Sprite *sprite) sprite->callback = SpriteCallbackDummy; } -static void DestroySpriteAndFreeResources_(struct Sprite *sprite) +static void Unref_DestroySpriteAndFreeResources(struct Sprite *sprite) { DestroySpriteAndFreeResources(sprite); } diff --git a/src/pokemon.c b/src/pokemon.c index 8da42cd855..580216b2c3 100644 --- a/src/pokemon.c +++ b/src/pokemon.c @@ -6701,7 +6701,7 @@ const u32 *GetFrontSpritePalFromSpeciesAndPersonality(u16 species, u32 otId, u32 { u32 shinyValue; - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) return gMonPaletteTable[0].data; shinyValue = HIHALF(otId) ^ LOHALF(otId) ^ HIHALF(personality) ^ LOHALF(personality); diff --git a/src/pokemon_icon.c b/src/pokemon_icon.c index 36a7da0ee5..bcbb60e213 100644 --- a/src/pokemon_icon.c +++ b/src/pokemon_icon.c @@ -1045,7 +1045,7 @@ u8 CreateMonIcon(u16 species, void (*callback)(struct Sprite *), s16 x, s16 y, u .paletteTag = POKE_ICON_BASE_PAL_TAG + gMonIconPaletteIndices[species], }; - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) iconTemplate.paletteTag = POKE_ICON_BASE_PAL_TAG; spriteId = CreateMonIconSprite(&iconTemplate, x, y, subpriority); @@ -1091,7 +1091,7 @@ u16 GetIconSpecies(u16 species, u32 personality) } else { - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) result = 260; else result = species; @@ -1149,7 +1149,7 @@ void LoadMonIconPalettes(void) void SafeLoadMonIconPalette(u16 species) { u8 palIndex; - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) species = 260; palIndex = gMonIconPaletteIndices[species]; if (IndexOfSpritePaletteTag(gMonIconPaletteTable[palIndex].tag) == 0xFF) @@ -1174,7 +1174,7 @@ void FreeMonIconPalettes(void) void SafeFreeMonIconPalette(u16 species) { u8 palIndex; - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) species = 260; palIndex = gMonIconPaletteIndices[species]; FreeSpritePaletteByTag(gMonIconPaletteTable[palIndex].tag); @@ -1207,7 +1207,7 @@ void sub_80D304C(u16 offset) s32 i; const struct SpritePalette* monIconPalettePtr; - if(offset <= 0xA0) + if (offset <= 0xA0) { monIconPalettePtr = gMonIconPaletteTable; for(i = 5; i >= 0; i--) @@ -1221,7 +1221,7 @@ void sub_80D304C(u16 offset) u8 GetValidMonIconPalIndex(u16 species) { - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) species = 260; return gMonIconPaletteIndices[species]; } @@ -1233,7 +1233,7 @@ u8 sub_80D30A0(u16 species) const u16* GetValidMonIconPalettePtr(u16 species) { - if (species > SPECIES_EGG) + if (species > NUM_SPECIES) species = 260; return gMonIconPaletteTable[gMonIconPaletteIndices[species]].data; } diff --git a/src/psychic.c b/src/psychic.c index 371c24ce89..5756fe97f9 100644 --- a/src/psychic.c +++ b/src/psychic.c @@ -641,8 +641,8 @@ void sub_810F634(struct Sprite *sprite) void sub_810F6B0(struct Sprite *sprite) { - s16 x = sub_80A861C(gBattleAnimAttacker, 1) / 2; - s16 y = sub_80A861C(gBattleAnimAttacker, 0) / -2; + s16 x = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 2; + s16 y = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / -2; if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) x = -x; @@ -753,8 +753,8 @@ void sub_810F940(u8 taskId) task->data[13] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); task->data[14] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); - var0 = sub_80A861C(gBattleAnimAttacker, 1) / 3; - var1 = sub_80A861C(gBattleAnimAttacker, 0) / 3; + var0 = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_WIDTH) / 3; + var1 = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 3; task->data[12] = var0 > var1 ? var0 : var1; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_TGT2_ALL | BLDCNT_EFFECT_BLEND); @@ -865,18 +865,18 @@ void sub_810FBF0(u8 taskId) if (gBattleAnimArgs[0] == 1) { task->data[10] = -10; - task->data[11] = sub_80A861C(gBattleAnimTarget, 5) - 8; - task->data[12] = sub_80A861C(gBattleAnimTarget, 2) + 8; - task->data[13] = sub_80A861C(gBattleAnimAttacker, 5) - 8; - task->data[14] = sub_80A861C(gBattleAnimAttacker, 2) + 8; + task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_RIGHT) - 8; + task->data[12] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_TOP) + 8; + task->data[13] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_RIGHT) - 8; + task->data[14] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP) + 8; } else { task->data[10] = 10; - task->data[11] = sub_80A861C(gBattleAnimAttacker, 4) + 8; - task->data[12] = sub_80A861C(gBattleAnimAttacker, 3) - 8; - task->data[13] = sub_80A861C(gBattleAnimTarget, 4) + 8; - task->data[14] = sub_80A861C(gBattleAnimTarget, 3) - 8; + task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_LEFT) + 8; + task->data[12] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_BOTTOM) - 8; + task->data[13] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_LEFT) + 8; + task->data[14] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_BOTTOM) - 8; } } else @@ -884,18 +884,18 @@ void sub_810FBF0(u8 taskId) if (gBattleAnimArgs[0] == 1) { task->data[10] = -10; - task->data[11] = sub_80A861C(gBattleAnimTarget, 4) + 8; - task->data[12] = sub_80A861C(gBattleAnimTarget, 2) + 8; - task->data[13] = sub_80A861C(gBattleAnimAttacker, 4) + 8; - task->data[14] = sub_80A861C(gBattleAnimAttacker, 2) + 8; + task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_LEFT) + 8; + task->data[12] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_TOP) + 8; + task->data[13] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_LEFT) + 8; + task->data[14] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_TOP) + 8; } else { task->data[10] = 10; - task->data[11] = sub_80A861C(gBattleAnimAttacker, 5) - 8; - task->data[12] = sub_80A861C(gBattleAnimAttacker, 3) - 8; - task->data[13] = sub_80A861C(gBattleAnimTarget, 5) - 8; - task->data[14] = sub_80A861C(gBattleAnimTarget, 3) - 8; + task->data[11] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_RIGHT) - 8; + task->data[12] = GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_BOTTOM) - 8; + task->data[13] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_RIGHT) - 8; + task->data[14] = GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_BOTTOM) - 8; } } From 447fec26dc5ced03d8dc212211e43d2572658f78 Mon Sep 17 00:00:00 2001 From: Deokishisu Date: Sun, 30 Dec 2018 19:59:57 -0500 Subject: [PATCH 46/53] Consolidate unused escapeRope MapHeader field into filler_18 field --- include/global.fieldmap.h | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/include/global.fieldmap.h b/include/global.fieldmap.h index 5ed9b250ae..74a8363bb8 100644 --- a/include/global.fieldmap.h +++ b/include/global.fieldmap.h @@ -137,8 +137,7 @@ struct MapHeader /* 0x15 */ u8 cave; /* 0x16 */ u8 weather; /* 0x17 */ u8 mapType; - /* 0x18 */ u8 filler_18; - /* 0x19 */ u8 escapeRope; + /* 0x18 */ u8 filler_18[2]; /* 0x1A */ u8 flags; /* 0x1B */ u8 battleType; }; From c5c6e437ec77138505cd236c572f8d9956a4c4b4 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Mon, 31 Dec 2018 01:23:27 -0600 Subject: [PATCH 47/53] Document, cleanup, extract data from trade --- data/trade.s | 646 ------------- include/graphics.h | 2 + include/rom_8011DC0.h | 1 + include/trade.h | 4 + ld_script.txt | 2 +- src/evolution_scene.c | 51 +- src/scrcmd.c | 3 +- src/trade.c | 2056 ++++++++++++++++++++++++++++++----------- sym_ewram.txt | 27 +- 9 files changed, 1575 insertions(+), 1217 deletions(-) delete mode 100644 data/trade.s diff --git a/data/trade.s b/data/trade.s deleted file mode 100644 index cd8ada86b3..0000000000 --- a/data/trade.s +++ /dev/null @@ -1,646 +0,0 @@ -#include "constants/species.h" -#include "constants/items.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - - .align 2 -gUnknown_0832C6A8:: @ 832C6A8 - .4byte 0x00000f2c, 0x00003d88, 0x0000001c, 0x00000024, 0x00000064, 0x00000528 - - .align 1 -gTradeMovesBoxTilemap:: @ 832C6C0 - .incbin "graphics/trade/moves_box_map.bin" - - .align 1 -gTradePartyBoxTilemap:: @ 832C8BE - .incbin "graphics/trade/party_box_map.bin" - - .align 1 -gTradeStripesBG2Tilemap:: @ 832CABC - .incbin "graphics/trade/stripes_bg2_map.bin" - - .align 1 -gTradeStripesBG3Tilemap:: @ 832D2BC - .incbin "graphics/trade/stripes_bg3_map.bin" - -gText_EmptyString7:: @ 832DABC - .string "$" - -gText_ClrWhtHltTrspntShdwDrkGry:: @ 832DABD - .string "{COLOR WHITE}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}$" - -gText_MaleSymbol4:: @ 832DAC7 - .string "♂$" - -gText_FemaleSymbol4:: @ 832DAC9 - .string "♀$" - -gText_GenderlessSymbol:: @ 832DACB - .string "$" - -gText_SpaceMove:: @ 832DACC - .string " MOVE$" - -gText_NewLine3:: @ 832DAD2 - .string "\n$" - -gText_Slash2:: @ 832DAD4 - .string "/$" - -gText_Lv2:: @ 832DAD6 - .string "Lv. $" - -gText_ThreeDashes2:: @ 832DADB - .string "---$" - -gText_FourQuestionMarks:: @ 832DADF - .string "????$" - -gText_832DAE4:: @ 832DAE4 - .string "$" - -gText_IsThisTradeOkay:: @ 832DAE5 - .string "Is this trade okay?$" - -gText_Cancel6:: @ 832DAF9 - .string "CANCEL$" - -gText_ChooseAPkmn:: @ 832DB00 - .string "Choose a POKéMON.$" - -gText_Summary3:: @ 832DB12 - .string "SUMMARY$" - -gText_Trade2:: @ 832DB1A - .string "TRADE$" - -gText_CancelTrade:: @ 832DB20 - .string "Cancel trade?$" - -gJPText_832DB2E:: @ 832DB2E - .string "Bボタン で もどります$" - -gText_Summary4:: @ 832DB3B - .string "SUMMARY$" - -gText_Trade3:: @ 832DB43 - .string "TRADE$" - -gText_CommunicationStandby6:: @ 832DB49 - .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Communication standby…\nPlease wait.$" - -gText_TheTradeHasBeenCanceled:: @ 832DB76 - .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}The trade has\nbeen canceled.$" - -gText_YourOnlyPkmnForBattle:: @ 832DB9C - .string "That's your only\nPOKéMON for battle.$" - -gText_WaitingForYourFriend:: @ 832DBC1 - .string "{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…$" - -gText_YourFriendWantsToTrade:: @ 832DBED - .string "Your friend wants\nto trade POKéMON.$" - - .align 2 -gOamData_832DC14:: @ 832DC14 - .2byte 0x4000, 0x8000, 0x0400, 0x0000 - - .align 2 -gOamData_832DC1C:: @ 832DC1C - .2byte 0x4000, 0xc000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_832DC24:: @ 832DC24 - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_832DC2C:: @ 832DC2C - .2byte 0x0020, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_832DC34:: @ 832DC34 - .4byte gSpriteAnim_832DC24 - .4byte gSpriteAnim_832DC2C - - .align 2 -gUnknown_0832DC3C:: @ 832DC3C - obj_tiles gUnknown_08DDC6E4, 0x0800, 0x012c - - .align 2 -gUnknown_0832DC44:: @ 832DC44 - obj_pal gUnknown_08DDB444, 0x0929 - - .align 2 -gSpriteAnim_832DC4C:: @ 832DC4C - .2byte 0x0000, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_832DC54:: @ 832DC54 - .2byte 0x0008, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_832DC5C:: @ 832DC5C - .2byte 0x0010, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_832DC64:: @ 832DC64 - .2byte 0x0018, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_832DC6C:: @ 832DC6C - .2byte 0x0020, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_832DC74:: @ 832DC74 - .2byte 0x0028, 0x0005, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_832DC7C:: @ 832DC7C - .4byte gSpriteAnim_832DC4C - .4byte gSpriteAnim_832DC54 - .4byte gSpriteAnim_832DC5C - .4byte gSpriteAnim_832DC64 - .4byte gSpriteAnim_832DC6C - .4byte gSpriteAnim_832DC74 - - .align 2 -gSpriteTemplate_832DC94:: @ 832DC94 - spr_template 0x012c, 0x0929, gOamData_832DC1C, gSpriteAnimTable_832DC34, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -gSpriteTemplate_832DCAC:: @ 832DCAC - spr_template 0x00c8, 0x133d, gOamData_832DC14, gSpriteAnimTable_832DC7C, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy - - .align 2 -TradeScreenTextPalette:: @ 832DCC4 - .incbin "graphics/trade/text.gbapal" - - .align 2 -gSpritePalette_TradeScreenText:: @ 832DCE4 - obj_pal TradeScreenTextPalette, 0x133d - -gUnknown_0832DCEC:: @ 832DCEC - .byte 0x04, 0x02, 0x0c, 0x0c, 0x00, 0x00, 0x02, 0x04, 0x0c, 0x0c, 0x00, 0x00, 0x07, 0x06, 0x01, 0x00, 0x00, 0x00, 0x01, 0x06, 0x07, 0x00, 0x00, 0x00, 0x05, 0x03, 0x0c, 0x0c, 0x00, 0x00, 0x03, 0x05 - .byte 0x0c, 0x0c, 0x00, 0x00, 0x00, 0x07, 0x06, 0x01, 0x00, 0x00, 0x06, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x08, 0x07, 0x06 - .byte 0x00, 0x00, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x05, 0x01, 0x01, 0x01, 0x00, 0x00, 0x02, 0x09, 0x08, 0x07, 0x00, 0x00, 0x08, 0x09, 0x06, 0x06, 0x00, 0x00 - .byte 0x02, 0x02, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0a, 0x09, 0x08, 0x07, 0x06, 0x05, 0x03, 0x01, 0x00, 0x00, 0x00, 0x03, 0x03, 0x03, 0x03, 0x00, 0x00, 0x01, 0x01 - .byte 0x01, 0x01, 0x00, 0x00, 0x04, 0x04, 0x04, 0x04, 0x00, 0x00, 0x0a, 0x08, 0x06, 0x00, 0x00, 0x00, 0x0a, 0x08, 0x0c, 0x00, 0x00, 0x00, 0x08, 0x0a, 0x0c, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00 - .byte 0x00, 0x00, 0x07, 0x00, 0x01, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x09, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 - .byte 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x06, 0x00, 0x00, 0x00, 0x00, 0x03, 0x02, 0x01, 0x00, 0x00, 0x00, 0x09, 0x07, 0x00, 0x00, 0x00, 0x00, 0x07, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0b, 0x0c - .byte 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x00, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x00, 0x00, 0x05, 0x04, 0x03, 0x02 - .byte 0x01, 0x00, 0x0b, 0x09, 0x07, 0x00, 0x00, 0x00, 0x09, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00, 0x00, 0x00, 0x04, 0x02, 0x00, 0x00, 0x00, 0x00 - .byte 0x0b, 0x09, 0x07, 0x06, 0x00, 0x00, 0x07, 0x06, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0c, 0x00, 0x00, 0x00, 0x00, 0x00 - -gUnknown_0832DE24:: @ 832DE24 - .byte 0x01, 0x05, 0x08, 0x05, 0x01, 0x0a, 0x08, 0x0a, 0x01, 0x0f, 0x08, 0x0f, 0x10, 0x05, 0x17, 0x05, 0x10, 0x0a, 0x17, 0x0a, 0x10, 0x0f, 0x17, 0x0f, 0x17, 0x12 - -gUnknown_0832DE3E:: @ 832DE3E - .byte 0x05, 0x04, 0x0c, 0x04, 0x05, 0x09, 0x0c, 0x09, 0x05, 0x0e, 0x0c, 0x0e, 0x14, 0x04, 0x1b, 0x04, 0x14, 0x09, 0x1b, 0x09, 0x14, 0x0e, 0x1b, 0x0e - -gUnknown_0832DE56:: @ 832DE56 - .byte 0x01, 0x03, 0x08, 0x03, 0x01, 0x08, 0x08, 0x08, 0x01, 0x0d, 0x08, 0x0d, 0x10, 0x03, 0x17, 0x03, 0x10, 0x08, 0x17, 0x08, 0x10, 0x0d, 0x17, 0x0d, 0x00, 0x0e, 0x0f, 0x1d, 0x03, 0x05, 0x03, 0x07 - .byte 0x12, 0x05, 0x12, 0x07, 0x08, 0x07, 0x16, 0x0c, 0x08, 0x07, 0x16, 0x0c, 0x06, 0x07, 0x18, 0x0c, 0x06, 0x07, 0x18, 0x0c, 0x08, 0x07, 0x16, 0x0c, 0x07, 0x07, 0x17, 0x0c, 0x00, 0x00 - - .align 2 -gUnknown_0832DE94:: @ 832DE94 - .4byte gText_Cancel6 - .4byte gText_ChooseAPkmn - .4byte gText_Summary3 - .4byte gText_Trade2 - .4byte gText_CancelTrade - .4byte gJPText_832DB2E - - .align 2 -gUnknown_0832DEAC:: @ 832DEAC - .4byte gText_Summary4, sub_807A000 - .4byte gText_Trade3, sub_807A024 - - .align 2 -gUnknown_0832DEBC:: @ 832DEBC - .4byte gText_CommunicationStandby6 - .4byte gText_TheTradeHasBeenCanceled - .4byte gText_YourOnlyPkmnForBattle - .4byte gText_OnlyPkmnForBattle - .4byte gText_WaitingForYourFriend - .4byte gText_YourFriendWantsToTrade - .4byte gText_PkmnCantBeTradedNow - .4byte gText_EggCantBeTradedNow - .4byte gText_OtherTrainersPkmnCantBeTraded - -gUnknown_0832DEE0:: @ 832DEE0 - .byte 0x00, 0x01, 0x02, 0x00 - - .align 2 -gUnknown_0832DEE4:: @ 832DEE4 - .4byte 0x000001f8, 0x00001051, 0x00002062, 0x00003073 - - .align 2 -gUnknown_0832DEF4:: @ 832DEF4 - window_template 0x00, 0x04, 0x07, 0x16, 0x04, 0x0f, 0x001e - window_template 0x00, 0x13, 0x0f, 0x0a, 0x04, 0x0f, 0x0076 - window_template 0x00, 0x00, 0x05, 0x08, 0x02, 0x0d, 0x009e - window_template 0x00, 0x07, 0x05, 0x08, 0x02, 0x0d, 0x00ae - window_template 0x00, 0x00, 0x0a, 0x08, 0x02, 0x0d, 0x00be - window_template 0x00, 0x07, 0x0a, 0x08, 0x02, 0x0d, 0x00ce - window_template 0x00, 0x00, 0x0f, 0x08, 0x02, 0x0d, 0x00de - window_template 0x00, 0x07, 0x0f, 0x08, 0x02, 0x0d, 0x00ee - window_template 0x00, 0x0f, 0x05, 0x08, 0x02, 0x0d, 0x00fe - window_template 0x00, 0x16, 0x05, 0x08, 0x02, 0x0d, 0x010e - window_template 0x00, 0x0f, 0x0a, 0x08, 0x02, 0x0d, 0x011e - window_template 0x00, 0x16, 0x0a, 0x08, 0x02, 0x0d, 0x012e - window_template 0x00, 0x0f, 0x0f, 0x08, 0x02, 0x0d, 0x013e - window_template 0x00, 0x16, 0x0f, 0x08, 0x02, 0x0d, 0x014e - window_template 0x00, 0x02, 0x05, 0x0e, 0x02, 0x0d, 0x015e - window_template 0x00, 0x03, 0x08, 0x0b, 0x08, 0x0f, 0x017a - window_template 0x00, 0x11, 0x05, 0x0e, 0x02, 0x0f, 0x01d2 - window_template 0x00, 0x12, 0x08, 0x0b, 0x08, 0x0f, 0x01ee - null_window_template - - .align 2 -gUnknown_0832DF8C:: @ 832DF8C - window_template 0x00, 0x17, 0x0d, 0x05, 0x04, 0x0f, 0x0246 - -gJPText_Shedinja:: @ 832DF94 - .string "ヌケニン$" - -gUnknown_0832DF99:: @ 832DF99 - .byte 0x04, 0x03, 0x13, 0x03, 0x00, 0x00, 0x00 - - .align 2 -gTradeBallPalette:: @ 832DFA0 - .incbin "graphics/trade/ball.gbapal" - - .align 2 -gTradeBallTiles:: @ 832DFC0 - .incbin "graphics/trade/ball.4bpp" - - .align 2 -gUnknown_832E5C0:: @ 832E5C0 - .incbin "graphics/trade/pokeball_symbol.8bpp" - - .align 2 -gUnknown_0832FFC0:: @ 832FFC0 - .incbin "graphics/trade/cable_closeup_map.bin" - - .align 2 -gUnknown_083307C0:: @ 83307C0 - .incbin "graphics/trade/pokeball_symbol_map.bin" - - .align 2 -gUnknown_083308C0:: @ 83308C0 - .incbin "graphics/trade/unknown_3308C0.gbapal" - - .align 2 -gUnknown_083308E0:: @ 83308E0 - .incbin "graphics/trade/gba.gbapal" - .incbin "graphics/trade/shadow.gbapal" - .incbin "graphics/trade/black.gbapal" - - .align 2 -gUnknown_08330940:: @ 8330940 - .incbin "graphics/trade/misc.gbapal" - - .align 2 -gTradeGlow1Tiles:: @ 8330960 - .incbin "graphics/trade/glow1.4bpp" - - .align 2 -gTradeGlow2Tiles:: @ 8330B60 - .incbin "graphics/trade/glow2.4bpp" - - .align 2 -gTradeCableEndTiles:: @ 8330D60 - .incbin "graphics/trade/cable_end.4bpp" - - .align 2 -gTradeGBAScreenTiles:: @ 8330F60 - .incbin "graphics/trade/gba_screen.4bpp" - - .align 2 -gUnknown_08331F60:: @ 8331F60 - .incbin "graphics/trade/shadow_map.bin" - - .align 2 -gUnknown_08332F60:: @ 8332F60 - .incbin "graphics/trade/gba_affine.8bpp" - - .space 0x40 - - .align 2 -gUnknown_083357A0:: @ 83357A0 - .incbin "graphics/trade/gba_affine_map_cable.bin" - - .align 2 -gUnknown_083358A0:: @ 83358A0 - .incbin "graphics/trade/gba_affine_map_wireless.bin" - - .align 2 -gUnknown_083359A0:: @ 83359A0 - .incbin "graphics/trade/gba_map_wireless.bin" - - .align 2 -gUnknown_083369A0:: @ 83369A0 - .incbin "graphics/trade/gba_map_cable.bin" - - .align 2 -gUnknown_083379A0:: @ 83379A0 - .incbin "graphics/trade/unknown_3379A0.bin.lz" - - .align 2 -gUnknown_08337AA0:: @ 8337AA0 - .incbin "graphics/trade/wireless_signal_send.gbapal" - - .align 2 -gUnknown_08337CA0:: @ 8337CA0 - .incbin "graphics/trade/wireless_signal_receive.gbapal" - - .align 2 -gUnknown_08337EA0:: @ 8337EA0 - .incbin "graphics/trade/black.gbapal" - - .align 2 -gUnknown_08337EC0:: @ 8337EC0 - .incbin "graphics/trade/wireless_signal.4bpp.lz" - - .align 2 -gUnknown_08338550:: @ 8338550 - .incbin "graphics/trade/wireless_signal.bin.lz" - - .align 2 -gOamData_8338C44:: @ 8338C44 - .2byte 0x0100, 0x4000, 0x0000, 0x0000 - - .align 2 -gSpriteAnim_8338C4C:: @ 8338C4C - .2byte 0x0000, 0x0003, 0x0004, 0x0003, 0x0008, 0x0003, 0x000c, 0x0003, 0x0010, 0x0003, 0x0014, 0x0003, 0x0018, 0x0003, 0x001c, 0x0003 - .2byte 0x0020, 0x0003, 0x0024, 0x0003, 0x0028, 0x0003, 0x002c, 0x0003, 0xfffd, 0x0001, 0x0000, 0x0003, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8338C88:: @ 8338C88 - .2byte 0x0000, 0x0003, 0x0004, 0x0003, 0x0008, 0x0003, 0x000c, 0x0003, 0x0010, 0x0003, 0x0014, 0x0003, 0x0018, 0x0003, 0x001c, 0x0003 - .2byte 0x0020, 0x0003, 0x0024, 0x0003, 0x0028, 0x0003, 0x002c, 0x0003, 0xfffd, 0x0002, 0x0000, 0x0003, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_8338C88:: @ 8338CC4 - .4byte gSpriteAnim_8338C4C - .4byte gSpriteAnim_8338C88 - - .align 2 -gSpriteAffineAnim_8338CCC:: @ 8338CCC - .2byte 0x0000, 0x0000, 0x0100, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnim_8338CDC:: @ 8338CDC - .2byte 0xfff8, 0x0000, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnim_8338CEC:: @ 8338CEC - .2byte 0x0060, 0x0100, 0x0000, 0x0000, 0x0000, 0x0000, 0x0500, 0x0000, 0x0008, 0x0000, 0x1400, 0x0000, 0x7fff, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnimTable_8338D0C:: @ 8338D0C - .4byte gSpriteAffineAnim_8338CCC - .4byte gSpriteAffineAnim_8338CDC - .4byte gSpriteAffineAnim_8338CEC - - .align 2 -gUnknown_08338D18:: @ 8338D18 - obj_tiles gTradeBallTiles, 0x0600, 0x15b5 - - .align 2 -gUnknown_08338D20:: @ 8338D20 - obj_pal gTradeBallPalette, 0x15b6 - - .align 2 -gSpriteTemplate_8338D28:: @ 8338D28 - spr_template 0x15b5, 0x15b6, gOamData_8338C44, gSpriteAnimTable_8338C88, NULL, gSpriteAffineAnimTable_8338D0C, sub_807E55C - - .align 2 -gOamData_8338D40:: @ 8338D40 - .2byte 0x0500, 0x8000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_8338D48:: @ 8338D48 - .2byte 0x0000, 0x00c5, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_8338D50:: @ 8338D50 - .4byte gSpriteAnim_8338D48 - - .align 2 -gSpriteAffineAnim_8338D54:: @ 8338D54 - .2byte 0xfff6, 0xfff6, 0x0500, 0x0000, 0x000a, 0x000a, 0x0500, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnimTable_8338D6C:: @ 8338D6C - .4byte gSpriteAffineAnim_8338D54 - - .align 2 -gUnknown_08338D70:: @ 8338D70 - obj_tiles gTradeGlow1Tiles, 0x0200, 0x15ae - - .align 2 -gUnknown_08338D78:: @ 8338D78 - obj_pal gUnknown_08330940, 0x15af - - .align 2 -gUnknown_08338D80:: @ 8338D80 - obj_pal gUnknown_083308E0, 0x15b3 - - .align 2 -gUnknown_08338D88:: @ 8338D88 - spr_template 0x15ae, 0x15af, gOamData_8338D40, gSpriteAnimTable_8338D50, NULL, gSpriteAffineAnimTable_8338D6C, sub_807AA28 - - .align 2 -gOamData_8338DA0:: @ 8338DA0 - .2byte 0x8000, 0x8000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_8338DA8:: @ 8338DA8 - .2byte 0x0000, 0x00c5, 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8338DB0:: @ 8338DB0 - .2byte 0x0008, 0x00c5, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_8338DB8:: @ 8338DB8 - .4byte gSpriteAnim_8338DA8 - .4byte gSpriteAnim_8338DB0 - - .align 2 -gUnknown_08338DC0:: @ 8338DC0 - obj_tiles gTradeGlow2Tiles, 0x0300, 0x15b0 - - .align 2 -gSpriteTemplate_8338DC8:: @ 8338DC8 - spr_template 0x15b0, 0x15af, gOamData_8338DA0, gSpriteAnimTable_8338DB8, NULL, gDummySpriteAffineAnimTable, sub_807AA7C - - .align 2 -gOamData_8338DE0:: @ 8338DE0 - .2byte 0x8000, 0x8000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_8338DE8:: @ 8338DE8 - .2byte 0x0000, 0x000a, 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_8338DF0:: @ 8338DF0 - .4byte gSpriteAnim_8338DE8 - - .align 2 -gUnknown_08338DF4:: @ 8338DF4 - obj_tiles gTradeCableEndTiles, 0x0100, 0x15b2 - - .align 2 -gSpriteTemplate_8338DFC:: @ 8338DFC - spr_template 0x15b2, 0x15b3, gOamData_8338DE0, gSpriteAnimTable_8338DF0, NULL, gDummySpriteAffineAnimTable, sub_807AABC - - .align 2 -gOamData_8338E14:: @ 8338E14 - .2byte 0x4000, 0xc000, 0x0400, 0x0000 - - .align 2 -gSpriteAnim_8338E1C:: @ 8338E1C - .2byte 0x0000, 0x00c2, 0x0020, 0x00c2, 0x0040, 0x00c2, 0x0060, 0x00c2, 0x0040, 0x00c2, 0x0020, 0x00c2, 0x0000, 0x00c2, 0xfffd, 0x0008 - .2byte 0xffff, 0x0000 - - .align 2 -gSpriteAnim_8338E40:: @ 8338E40 - .2byte 0x0000, 0x00c2, 0x0020, 0x00c2, 0x0040, 0x00c2, 0x0060, 0x00c2, 0x0040, 0x00c2, 0x0020, 0x00c2, 0x0000, 0x00c2, 0xfffd, 0x0002 - .2byte 0xffff, 0x0000 - - .align 2 -gSpriteAnimTable_8338E64:: @ 8338E64 - .4byte gSpriteAnim_8338E1C - - .align 2 -gSpriteAnimTable_8338E68:: @ 8338E68 - .4byte gSpriteAnim_8338E40 - -gUnknown_08338E6C:: @ 8338E6C - obj_tiles gTradeGBAScreenTiles, 0x1000, 0x15b4 - - .align 2 -gSpriteTemplate_8338E74:: @ 8338E74 - spr_template 0x15b4, 0x15b3, gOamData_8338E14, gSpriteAnimTable_8338E64, NULL, gDummySpriteAffineAnimTable, sub_807AB04 - - .align 2 -gSpriteTemplate_8338E8C:: @ 8338E8C - spr_template 0x15b4, 0x15b3, gOamData_8338E14, gSpriteAnimTable_8338E68, NULL, gDummySpriteAffineAnimTable, sub_807AB04 - - .align 1 -gUnknown_08338EA4:: @ 8338EA4 - .incbin "graphics/trade/unknown_338EA4.gbapal" - - .align 2 -gSpriteAffineAnim_8338EBC:: @ 8338EBC - .2byte 0xff00, 0x0100, 0x0000, 0x0000, 0x7ffe, 0x0000, 0x0000, 0x0000 - - .align 2 -gSpriteAffineAnimTable_8338ECC:: @ 8338ECC - .4byte gSpriteAffineAnim_8338EBC - - .align 2 -gIngameTrades:: @ 8338ED0 - .string "DOTS$", 11 - .align 1 - .2byte SPECIES_SEEDOT - .byte 5, 4, 5, 4, 4, 4 - .byte 1 - .align 2 - .4byte 0x9746 - .byte 30, 5, 5, 5, 5 - .align 2 - .4byte 0x84 - .2byte ITEM_CHESTO_BERRY - .byte -1 - .string "KOBE$", 11 - .byte 0 - .byte 10 - .2byte SPECIES_RALTS - - .align 2 - .string "PLUSES$", 11 - .align 1 - .2byte SPECIES_PLUSLE - .byte 4, 4, 4, 5, 5, 4 - .byte 0 - .align 2 - .4byte 0x1210c - .byte 5, 5, 30, 5, 5 - .align 2 - .4byte 0x6f - .2byte ITEM_WOOD_MAIL - .byte 0 - .string "ROMAN$", 11 - .byte 0 - .byte 10 - .2byte SPECIES_VOLBEAT - - .align 2 - .string "SEASOR$", 11 - .align 1 - .2byte SPECIES_HORSEA - .byte 5, 4, 4, 4, 5, 4 - .byte 0 - .align 2 - .4byte 0xb4cd - .byte 5, 5, 5, 5, 30 - .align 2 - .4byte 0x7f - .2byte ITEM_WAVE_MAIL - .byte 1 - .string "SKYLAR$", 11 - .byte 0 - .byte 10 - .2byte SPECIES_BAGON - - .align 2 - .string "MEOWOW$", 11 - .align 1 - .2byte SPECIES_MEOWTH - .byte 4, 5, 4, 5, 4, 4 - .byte 0 - .align 2 - .4byte 0x16559 - .byte 5, 5, 5, 30, 5 - .align 2 - .4byte 0x8b - .2byte ITEM_RETRO_MAIL - .byte 2 - .string "ISIS$", 11 - .byte 1 - .byte 10 - .2byte SPECIES_SKITTY - - .align 2 -gIngameTradeMail:: @ 8338FC0 - .2byte 0x1006, 0x1232, 0x102f, 0x0161, 0x0c00, 0x0182, 0x1000, 0x1006, 0x0e3b, 0x0000, 0x0a01, 0x1000, 0x161e, 0x018b, 0x0433, 0x1611 - .2byte 0x180f, 0x0074, 0x1440, 0x0000, 0x0811, 0x102b, 0x013b, 0x2a34, 0x0c16, 0x1037, 0x1020, 0x0418, 0x0c23, 0x0000 - - .align 2 -gUnknown_08338FFC:: @ 8338FFC - window_template 0x00, 0x02, 0x0f, 0x1a, 0x04, 0x00, 0x0040 - null_window_template - - .align 2 -gUnknown_0833900C:: @ 833900C - window_template 0x00, 0x15, 0x09, 0x05, 0x04, 0x0f, 0x00bc - - .align 2 -gUnknown_08339014:: @ 8339014 - .4byte 0x000001fc, 0x00002051, 0x00002326, 0x00003063 - -gTradeBallVerticalVelocityTable:: @ 8339024 - .byte 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04, 0x04, 0x04, 0xfc, 0xfc, 0xfc, 0xfd, 0xfd, 0xfd, 0xfd, 0xfe, 0xfe, 0xfe - .byte 0xfe, 0xff, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x01, 0x02, 0x02, 0x02, 0x02, 0x03, 0x03, 0x03, 0x03, 0x04, 0x04 - .byte 0x04, 0x04, 0xfc, 0xfd, 0xfd, 0xfe, 0xfe, 0xff, 0xff, 0xff, 0x00, 0xff, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x01, 0x02, 0x02, 0x03, 0x03, 0x04, 0xfc, 0xfd, 0xfe, 0xff - .byte 0xff, 0xff, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x01, 0x01, 0x02, 0x03 - -gUnknown_08339090:: @ 8339090 - .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0a, 0x03, 0x0b, 0x03, 0x0c, 0x03, 0x0d, 0x04, 0x0e, 0x05, 0x0f, 0x02 - .byte 0x00, 0x01, 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x02, 0x06, 0x02, 0x07, 0x02, 0x08, 0x02, 0x09, 0x02, 0x0a, 0x03, 0x0b, 0x03, 0x0c, 0x03, 0x0d, 0x04, 0x0e, 0x05, 0x10, 0x01 - .byte 0x10, 0xff, 0x00, 0x00 diff --git a/include/graphics.h b/include/graphics.h index 7e1ea85060..8a54ba5360 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4808,6 +4808,8 @@ extern const u16 gUnknown_08DDCF04[]; extern const u16 gTradeGba2_Pal[]; extern const u8 gTradeGba_Gfx[]; extern const u16 gUnknown_08DDD704[]; +extern const u8 gUnknown_08DDC6E4[]; +extern const u16 gUnknown_08DDB444[]; // Party menu extern const u32 gPartyMenuPokeball_Gfx[]; diff --git a/include/rom_8011DC0.h b/include/rom_8011DC0.h index c1bdbdf34b..faffd33752 100644 --- a/include/rom_8011DC0.h +++ b/include/rom_8011DC0.h @@ -5,6 +5,7 @@ // Exported RAM declarations +extern u8 gUnknown_02022C2C; extern struct UnkLinkRfuStruct_02022B14Substruct gUnknown_02022C38; extern u16 gUnknown_02022C3C; extern u8 gUnknown_02022C3E; diff --git a/include/trade.h b/include/trade.h index b7f1fc7ad8..95a10cacf5 100644 --- a/include/trade.h +++ b/include/trade.h @@ -15,5 +15,9 @@ void sub_807AE50(void); int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16, u16, u8); int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6); int sub_807A918(struct Pokemon*, u16); +void sub_807B140(void); +void sub_807B154(void); +void sub_807F19C(void); +void sub_807F1A8(u8, const u8 *, u8); #endif //GUARD_TRADE_H diff --git a/ld_script.txt b/ld_script.txt index d8cf1f5474..21722cfad3 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -419,7 +419,7 @@ SECTIONS { src/battle_gfx_sfx_util.o(.rodata); src/battle_interface.o(.rodata); src/pokeball.o(.rodata); - data/trade.o(.rodata); + src/trade.o(.rodata); src/berry_blender.o(.rodata); src/new_game.o(.rodata); src/overworld.o(.rodata); diff --git a/src/evolution_scene.c b/src/evolution_scene.c index 1070c69e90..1dc0f11e43 100644 --- a/src/evolution_scene.c +++ b/src/evolution_scene.c @@ -1,33 +1,34 @@ #include "global.h" +#include "alloc.h" +#include "battle.h" +#include "battle_message.h" +#include "bg.h" +#include "data2.h" +#include "decompress.h" #include "evolution_scene.h" #include "evolution_graphics.h" -#include "sprite.h" -#include "alloc.h" -#include "task.h" -#include "palette.h" +#include "gpu_regs.h" +#include "link.h" +#include "m4a.h" #include "main.h" +#include "menu.h" +#include "overworld.h" +#include "palette.h" +#include "pokedex.h" +#include "pokemon.h" +#include "scanline_effect.h" +#include "sound.h" +#include "sprite.h" +#include "string_util.h" +#include "task.h" #include "text.h" #include "text_window.h" -#include "pokemon.h" -#include "string_util.h" -#include "battle.h" -#include "scanline_effect.h" -#include "decompress.h" -#include "m4a.h" -#include "menu.h" -#include "pokedex.h" -#include "constants/species.h" -#include "sound.h" -#include "constants/songs.h" -#include "overworld.h" -#include "battle_message.h" -#include "constants/battle_string_ids.h" -#include "gpu_regs.h" -#include "bg.h" -#include "link.h" -#include "util.h" #include "trig.h" -#include "data2.h" +#include "trade.h" +#include "util.h" +#include "constants/battle_string_ids.h" +#include "constants/species.h" +#include "constants/songs.h" struct EvoInfo { @@ -50,12 +51,8 @@ extern const struct CompressedSpriteSheet gMonFrontPicTable[]; // strings extern const u8 gText_CommunicationStandby5[]; -extern void sub_807B154(void); -extern void sub_807F19C(void); -extern void sub_807B140(void); extern void ShowSelectMovePokemonSummaryScreen(struct Pokemon *party, u8 monId, u8 partyCount, void *CB2_ptr, u16 move); extern u8 sub_81C1B94(void); -extern void sub_807F1A8(u8 arg0, const u8 *arg1, u8 arg2); extern void sub_800E084(void); // this file's functions diff --git a/src/scrcmd.c b/src/scrcmd.c index ab3af019d8..c00cc68d1d 100644 --- a/src/scrcmd.c +++ b/src/scrcmd.c @@ -53,8 +53,7 @@ typedef u16 (*SpecialFunc)(void); typedef void (*NativeFunc)(void); -extern const u8 *gUnknown_020375C0; - +EWRAM_DATA const u8 *gUnknown_020375C0 = NULL; static EWRAM_DATA u32 gUnknown_020375C4 = 0; static EWRAM_DATA u16 sPauseCounter = 0; static EWRAM_DATA u16 sMovingNpcId = 0; diff --git a/src/trade.c b/src/trade.c index 49d8b49b40..3b0d0c4682 100644 --- a/src/trade.c +++ b/src/trade.c @@ -40,6 +40,7 @@ #include "trade.h" #include "util.h" #include "window.h" +#include "constants/easy_chat.h" #include "constants/items.h" #include "constants/moves.h" #include "constants/species.h" @@ -64,14 +65,17 @@ struct InGameTrade { /*0x38*/ u16 playerSpecies; }; -extern u8 gUnknown_02022C2C; -extern struct { +static EWRAM_DATA u8 *gUnknown_02032184 = NULL; +static EWRAM_DATA u8 *gUnknown_02032188[14] = {NULL}; +EWRAM_DATA struct MailStruct gUnknown_020321C0[PARTY_SIZE] = {0}; +EWRAM_DATA u8 gUnknown_02032298[2] = {0}; +static EWRAM_DATA struct { /*0x0000*/ u8 unk_0; /*0x0001*/ u8 unk_1; /*0x0002*/ u8 filler_2[0x28 - 2]; - /*0x0028*/ u8 unk_28[2][PARTY_SIZE]; - /*0x0034*/ u8 unk_34; - /*0x0035*/ u8 unk_35; + /*0x0028*/ u8 partyIcons[2][PARTY_SIZE]; + /*0x0034*/ u8 tradeMenuCursorSpriteIdx; + /*0x0035*/ u8 tradeMenuCursorPosition; /*0x0036*/ u8 partyCounts[2]; /*0x0038*/ u8 unk_38[12]; /*0x0044*/ u8 unk_44; @@ -104,13 +108,10 @@ extern struct { u8 unk_4; } unk_8D0[4]; /*0x08F0*/ u16 tilemapBuffer[0x400]; -} *gUnknown_0203229C; -extern u8 *gUnknown_02032184; -extern u8 *gUnknown_02032188[14]; -extern u8 gUnknown_02032298[2]; -extern struct { +} *gUnknown_0203229C = {NULL}; +static EWRAM_DATA struct { /*0x00*/ struct Pokemon mon; - /*0x64*/ u32 unk_64; + /*0x64*/ u32 timer; /*0x68*/ u32 unk_68[2]; /*0x70*/ u8 filler_70[2]; /*0x72*/ u8 unk_72; @@ -125,7 +126,7 @@ extern struct { /*0x91*/ u8 unk_91; /*0x92*/ u8 unk_92; /*0x93*/ u8 unk_93; - /*0x94*/ u16 unk_94; + /*0x94*/ u16 state; /*0x96*/ u8 filler_96[0xD2 - 0x96]; /*0xD2*/ u8 unk_D2; /*0xD3*/ u8 unk_D3; @@ -133,19 +134,18 @@ extern struct { /*0xD6*/ u16 unk_D6; /*0xD8*/ u16 unk_D8; /*0xDA*/ u16 unk_DA; - /*0xDC*/ s16 unk_DC; - /*0xDE*/ s16 unk_DE; + /*0xDC*/ u16 unk_DC; + /*0xDE*/ u16 unk_DE; /*0xE0*/ s16 bg1vofs; /*0xE2*/ s16 bg1hofs; /*0xE4*/ s16 bg2vofs; /*0xE6*/ s16 bg2hofs; - /*0xE8*/ s16 unk_E8; + /*0xE8*/ u16 unk_E8; /*0xEA*/ u16 unk_EA; /*0xEC*/ u16 unk_EC; /*0xEE*/ bool8 isLinkTrade; - /*0xEF*/ u8 filler_EF; /*0xF0*/ u16 tradeSpecies[2]; - /*0xF4*/ u16 unk_F4; + /*0xF4*/ u16 cachedMapMusic; /*0xF6*/ u8 unk_F6[3]; /*0xF9*/ u8 filler_F9; /*0xFA*/ u8 unk_FA; @@ -153,134 +153,1159 @@ extern struct { /*0xFC*/ u8 unk_FC; /*0xFD*/ u8 unk_FD; /*0xFE*/ u8 unk_FE; -} *gUnknown_020322A0; +} *gUnknown_020322A0 = {NULL}; -extern u8 gUnknown_0203CF20; +static bool32 sub_8077260(void); +static void sub_80773D0(void); +static void sub_807811C(void); +static void sub_807825C(void); +static void sub_80782B8(u8); +static void sub_8078388(void); +static bool8 shedinja_maker_maybe(void); +static void sub_8078C34(void); +static void sub_80795AC(void); +static void sub_807967C(u8); +static void sub_80796B4(u8); +static u8 sub_8079A3C(u8 *, bool8, u8); +static void sub_8079AA4(u8 *, u8, u8); +static void sub_8079BE0(u8); +static void sub_8079C4C(u8, u8, u8, u8, u8, u8); +static void sub_8079E44(u8); +static void sub_8079F74(void); +static void sub_8079F88(u8); +static void sub_807A000(u8 taskId); +static void sub_807A024(u8 taskId); +static void sub_807A048(u16, u8); +static u32 sub_807A09C(void); +static void sub_807A0C4(void); +static void sub_807A19C(u8); +static bool8 sub_807A1F0(void); +static void sub_807A308(const u8 *, u8 *, u8); +static void sub_807A320(u8); +static void sub_807A468(u8); +static void sub_807A53C(void); +static void sub_807A5B0(void); +static u32 sub_807A5F4(struct Pokemon *, int, int); +static void sub_807AA28(struct Sprite *sprite); +static void sub_807AA7C(struct Sprite *sprite); +static void sub_807AABC(struct Sprite *sprite); +static void sub_807AAE0(struct Sprite *sprite); +static void sub_807AB04(struct Sprite *sprite); +static void sub_807B170(void); +static void sub_807B60C(void); +static void sub_807B62C(u8); +static void sub_807BA94(void); +static void sub_807BAD8(void); +static u8 sub_807BBC8(void); +static u8 sub_807BBEC(void); +static u8 sub_807CFC8(void); +static void sub_807E55C(struct Sprite *sprite); +static void sub_807E5D8(struct Sprite *sprite); +static void sub_807E64C(struct Sprite *sprite); +static void sub_807E6AC(struct Sprite *sprite); +static void sub_807E784(void); +static void sub_807E974(struct MailStruct *mail, const struct InGameTrade *trade); +static void sub_807EA2C(void); +static void sub_807EACC(void); +static void sub_807EB50(void); +static void c2_080543C4(void); +static void sub_807F110(u8); +static void sub_807F14C(void); +static void c3_08054588(u8); +static void c3_0805465C(u8); +static void sub_807F39C(u8); +static void sub_807F464(void); -extern const struct BgTemplate gUnknown_0832DEE4[4]; -extern const struct WindowTemplate gUnknown_0832DEF4[]; -extern const u8 gUnknown_0832DE24[][2]; -extern const u8 *gUnknown_0832DE94[]; -extern const struct SpriteTemplate gSpriteTemplate_832DC94; -extern const struct SpriteTemplate gSpriteTemplate_832DCAC; -extern const u8 gTradeStripesBG2Tilemap[]; -extern const u8 gTradeStripesBG3Tilemap[]; -extern struct MailStruct gUnknown_020321C0[PARTY_SIZE]; -extern const u8 gJPText_Shedinja[]; -extern const u8 gText_IsThisTradeOkay[]; -extern const u8 gUnknown_0832DCEC[][4][6]; -extern const struct MenuAction gUnknown_0832DEAC[]; -extern const struct WindowTemplate gUnknown_0832DF8C; -extern const u16 gTradePartyBoxTilemap[]; -extern const u16 gTradeMovesBoxTilemap[]; -extern const u8 gUnknown_0832DEE0[]; -extern const u8 gUnknown_0832DF99[][2]; -extern const u8 gText_EmptyString7[]; -extern const u8 gText_NewLine3[]; -extern const u8 gText_FourQuestionMarks[]; -extern const u8 *gUnknown_0832DEBC[]; -extern const struct SpritePalette gSpritePalette_TradeScreenText; -extern const struct SpritePalette gUnknown_0832DC44; -extern const struct SpriteSheet gUnknown_0832DC3C; -extern const u16 gUnknown_08338EA4[]; -extern const struct SpriteSheet gUnknown_08338D18; -extern const struct SpritePalette gUnknown_08338D20; -extern const struct BgTemplate gUnknown_08339014[4]; -extern const struct WindowTemplate gUnknown_08338FFC[]; -extern const u16 gUnknown_08331F60[]; -extern const u16 gUnknown_083359A0[]; -extern const u16 gUnknown_083369A0[]; -extern const u32 gUnknown_083379A0[]; -extern const u16 gUnknown_0832FFC0[]; -extern const u16 gUnknown_08337EA0[]; -extern const u32 gUnknown_08337EC0[]; -extern const u32 gUnknown_08338550[]; -extern const u8 gUnknown_08332F60[]; -extern const u8 gUnknown_083357A0[]; -extern const u8 gUnknown_083358A0[]; -extern const struct SpriteSheet gUnknown_08338D70; -extern const struct SpriteSheet gUnknown_08338DC0; -extern const struct SpriteSheet gUnknown_08338DF4; -extern const struct SpriteSheet gUnknown_08338E6C; -extern const struct SpritePalette gUnknown_08338D78; -extern const struct SpritePalette gUnknown_08338D80; -extern const struct InGameTrade gIngameTrades[]; -extern const struct SpriteTemplate gSpriteTemplate_8338D28; -extern const struct SpriteTemplate gSpriteTemplate_8338E74; -extern const struct SpriteTemplate gSpriteTemplate_8338DFC; -extern const struct SpriteTemplate gUnknown_08338D88; -extern const struct SpriteTemplate gSpriteTemplate_8338DC8; -extern const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[]; -extern const struct SpriteTemplate gSpriteTemplate_8338E74; -extern const struct SpriteTemplate gSpriteTemplate_8338E8C; -extern const s8 gTradeBallVerticalVelocityTable[]; -extern const u16 gIngameTradeMail[][10]; -extern const u8 gUnknown_08339090[][2]; -extern const u16 gUnknown_08337AA0[]; -extern const u16 gUnknown_08337CA0[]; +static const u32 sUnref_0832C6A8[] = +{ + 0x00000F2C, + 0x00003D88, + 0x0000001C, + 0x00000024, + 0x00000064, + 0x00000528 +}; +static const u16 gTradeMovesBoxTilemap[] = INCBIN_U16("graphics/trade/moves_box_map.bin"); +static const u16 gTradePartyBoxTilemap[] = INCBIN_U16("graphics/trade/party_box_map.bin"); +static const u8 gTradeStripesBG2Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg2_map.bin"); +static const u8 gTradeStripesBG3Tilemap[] = INCBIN_U8("graphics/trade/stripes_bg3_map.bin"); +static const u8 gText_EmptyString7[] = _(""); +static const u8 gText_ClrWhtHltTrspntShdwDrkGry[] = _("{COLOR WHITE}{HIGHLIGHT TRANSPARENT}{SHADOW DARK_GREY}"); +const u8 gText_MaleSymbol4[] = _("♂"); +const u8 gText_FemaleSymbol4[] = _("♀"); +const u8 gText_GenderlessSymbol[] = _(""); +static const u8 gText_SpaceMove[] = _(" MOVE"); +static const u8 gText_NewLine3[] = _("\n"); +static const u8 gText_Slash2[] = _("/"); +static const u8 gText_Lv2[] = _("Lv. "); +static const u8 gText_ThreeDashes2[] = _("---"); +static const u8 gText_FourQuestionMarks[] = _("????"); +static const u8 gText_832DAE4[] = _(""); +static const u8 gText_IsThisTradeOkay[] = _("Is this trade okay?"); +static const u8 gText_Cancel6[] = _("CANCEL"); +static const u8 gText_ChooseAPkmn[] = _("Choose a POKéMON."); +static const u8 gText_Summary3[] = _("SUMMARY"); +static const u8 gText_Trade2[] = _("TRADE"); +static const u8 gText_CancelTrade[] = _("Cancel trade?"); +static const u8 gJPText_832DB2E[] = _("Bボタン で もどります"); +static const u8 gText_Summary4[] = _("SUMMARY"); +static const u8 gText_Trade3[] = _("TRADE"); +static const u8 gText_CommunicationStandby6[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Communication standby…\nPlease wait."); +static const u8 gText_TheTradeHasBeenCanceled[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}The trade has\nbeen canceled."); +static const u8 gText_YourOnlyPkmnForBattle[] = _("That's your only\nPOKéMON for battle."); +static const u8 gText_WaitingForYourFriend[] = _("{COLOR DARK_GREY}{HIGHLIGHT WHITE}{SHADOW LIGHT_GREY}Waiting for your friend\nto finish…"); +static const u8 gText_YourFriendWantsToTrade[] = _("Your friend wants\nto trade POKéMON."); + +static const struct OamData gOamData_832DC14 = { + .shape = ST_OAM_H_RECTANGLE, + .size = 2, + .priority = 1 +}; + +static const struct OamData gOamData_832DC1C = { + .shape = ST_OAM_H_RECTANGLE, + .size = 3, + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_832DC24[] = { + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC2C[] = { + ANIMCMD_FRAME(32, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_832DC34[] = { + gSpriteAnim_832DC24, + gSpriteAnim_832DC2C +}; + +static const struct SpriteSheet gUnknown_0832DC3C = { + gUnknown_08DDC6E4, 0x800, 300 +}; + +static const struct SpritePalette gUnknown_0832DC44 = { + gUnknown_08DDB444, 2345 +}; + +static const union AnimCmd gSpriteAnim_832DC4C[] = { + ANIMCMD_FRAME(0, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC54[] = { + ANIMCMD_FRAME(8, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC5C[] = { + ANIMCMD_FRAME(16, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC64[] = { + ANIMCMD_FRAME(24, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC6C[] = { + ANIMCMD_FRAME(32, 5), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_832DC74[] = { + ANIMCMD_FRAME(40, 5), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_832DC7C[] = { + gSpriteAnim_832DC4C, + gSpriteAnim_832DC54, + gSpriteAnim_832DC5C, + gSpriteAnim_832DC64, + gSpriteAnim_832DC6C, + gSpriteAnim_832DC74 +}; + +static const struct SpriteTemplate gSpriteTemplate_832DC94 = +{ + .tileTag = 300, + .paletteTag = 2345, + .oam = &gOamData_832DC1C, + .anims = gSpriteAnimTable_832DC34, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const struct SpriteTemplate gSpriteTemplate_832DCAC = +{ + .tileTag = 200, + .paletteTag = 4925, + .oam = &gOamData_832DC14, + .anims = gSpriteAnimTable_832DC7C, + .images = NULL, + .affineAnims = gDummySpriteAffineAnimTable, + .callback = SpriteCallbackDummy, +}; + +static const u16 TradeScreenTextPalette[] = INCBIN_U16("graphics/trade/text.gbapal"); +static const struct SpritePalette gSpritePalette_TradeScreenText = +{ + TradeScreenTextPalette, 4925 +}; + +// This is used to determine the next mon to select when the D-Pad is +// pressed in a given direction. +// Note that the mons are laid out like this. +// 0-5 are the player's party and 6-11 are the trading partner's party. +// 12 is the cancel button. +// 0 1 6 7 +// 2 3 8 9 +// 4 5 10 11 +// 12 + +static const u8 gTradeNextSelectedMonTable[][4][6] = +{ + { + {4, 2, 12, 12, 0, 0}, + {2, 4, 12, 12, 0, 0}, + {7, 6, 1, 0, 0, 0}, + {1, 6, 7, 0, 0, 0} + }, + { + {5, 3, 12, 12, 0, 0}, + {3, 5, 12, 12, 0, 0}, + {0, 7, 6, 1, 0, 0}, + {6, 7, 0, 1, 0, 0} + }, + { + {0, 0, 0, 0, 0, 0}, + {4, 0, 0, 0, 0, 0}, + {9, 8, 7, 6, 0, 0}, + {3, 1, 0, 0, 0, 0} + }, + { + {1, 1, 1, 1, 0, 0}, + {5, 1, 1, 1, 0, 0}, + {2, 9, 8, 7, 0, 0}, + {8, 9, 6, 6, 0, 0} + }, + { + {2, 2, 2, 2, 0, 0}, + {0, 0, 0, 0, 0, 0}, + {11, 10, 9, 8, 7, 6}, + {5, 3, 1, 0, 0, 0} + }, + { + {3, 3, 3, 3, 0, 0}, + {1, 1, 1, 1, 0, 0}, + {4, 4, 4, 4, 0, 0}, + {10, 8, 6, 0, 0, 0} + }, + { + {10, 8, 12, 0, 0, 0}, + {8, 10, 12, 0, 0, 0}, + {1, 0, 0, 0, 0, 0}, + {7, 0, 1, 0, 0, 0} + }, + { + {12, 0, 0, 0, 0, 0}, + {9, 12, 0, 0, 0, 0}, + {6, 0, 0, 0, 0, 0}, + {0, 0, 0, 0, 0, 0} + }, + { + {6, 0, 0, 0, 0, 0}, + {10, 6, 0, 0, 0, 0}, + {3, 2, 1, 0, 0, 0}, + {9, 7, 0, 0, 0, 0} + }, + { + {7, 0, 0, 0, 0, 0}, + {11, 12, 0, 0, 0, 0}, + {8, 0, 0, 0, 0, 0}, + {2, 1, 0, 0, 0, 0} + }, + { + {8, 0, 0, 0, 0, 0}, + {6, 0, 0, 0, 0, 0}, + {5, 4, 3, 2, 1, 0}, + {11, 9, 7, 0, 0, 0} + }, + { + {9, 0, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0}, + {10, 0, 0, 0, 0, 0}, + {4, 2, 0, 0, 0, 0} + }, + { + {11, 9, 7, 6, 0, 0}, + {7, 6, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0}, + {12, 0, 0, 0, 0, 0} + } +}; + +static const u8 gTradeMonSpriteCoords[][2] = +{ + // Your party + {1, 5 }, + {8, 5 }, + {1, 10}, + {8, 10}, + {1, 15}, + {8, 15}, + + // Friend's party + {16, 5 }, + {23, 5 }, + {16, 10}, + {23, 10}, + {16, 15}, + {23, 15}, + + {23, 18} // CANCEL +}; + +static const u8 gTradeLevelDisplayCoords[][6][2] = { + { + // Your party + {5, 4}, + {12, 4}, + {5, 9}, + {12, 9}, + {5, 14}, + {12, 14}, + }, + { + // Friend's party + {20, 4}, + {27, 4}, + {20, 9}, + {27, 9}, + {20, 14}, + {27, 14} + } +}; + +static const u8 gTradeMonBoxCoords[][6][2] = { + { + // Your party + {1, 3}, + {8, 3}, + {1, 8}, + {8, 8}, + {1, 13}, + {8, 13}, + }, + { + // Friend's party + {16, 3}, + {23, 3}, + {16, 8}, + {23, 8}, + {16, 13}, + {23, 13} + } +}; + +static const u8 sUnref_0832DE6E[] = { + 0x00, 0x0e, + 0x0f, 0x1d, + 0x03, 0x05, + 0x03, 0x07, + 0x12, 0x05, + 0x12, 0x07, + 0x08, 0x07, + 0x16, 0x0c, + 0x08, 0x07, + 0x16, 0x0c, + 0x06, 0x07, + 0x18, 0x0c, + 0x06, 0x07, + 0x18, 0x0c, + 0x08, 0x07, + 0x16, 0x0c, + 0x07, 0x07, + 0x17, 0x0c +}; + +static const u8 *const gUnknown_0832DE94[] = +{ + gText_Cancel6, + gText_ChooseAPkmn, + gText_Summary3, + gText_Trade2, + gText_CancelTrade, + gJPText_832DB2E +}; + +static const struct MenuAction gUnknown_0832DEAC[] = { + {gText_Summary4, sub_807A000}, + {gText_Trade3, sub_807A024} +}; + +static const u8 *const gUnknown_0832DEBC[] = { + gText_CommunicationStandby6, + gText_TheTradeHasBeenCanceled, + gText_YourOnlyPkmnForBattle, + gText_OnlyPkmnForBattle, + gText_WaitingForYourFriend, + gText_YourFriendWantsToTrade, + gText_PkmnCantBeTradedNow, + gText_EggCantBeTradedNow, + gText_OtherTrainersPkmnCantBeTraded +}; + +static const u8 gUnknown_0832DEE0[] = { 0, 1, 2 }; + +static const struct BgTemplate gUnknown_0832DEE4[] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 5, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 6, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 7, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +static const struct WindowTemplate gUnknown_0832DEF4[] = +{ + { + .bg = 0, + .tilemapLeft = 4, + .tilemapTop = 7, + .width = 22, + .height = 4, + .paletteNum = 15, + .baseBlock = 30 + }, + { + .bg = 0, + .tilemapLeft = 19, + .tilemapTop = 15, + .width = 10, + .height = 4, + .paletteNum = 15, + .baseBlock = 118 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 158 + }, + { + .bg = 0, + .tilemapLeft = 7, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 174 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 190 + }, + { + .bg = 0, + .tilemapLeft = 7, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 206 + }, + { + .bg = 0, + .tilemapLeft = 0, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 222 + }, + { + .bg = 0, + .tilemapLeft = 7, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 238 + }, + { + .bg = 0, + .tilemapLeft = 15, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 254 + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 5, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 270 + }, + { + .bg = 0, + .tilemapLeft = 15, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 286 + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 10, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 302 + }, + { + .bg = 0, + .tilemapLeft = 15, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 318 + }, + { + .bg = 0, + .tilemapLeft = 22, + .tilemapTop = 15, + .width = 8, + .height = 2, + .paletteNum = 13, + .baseBlock = 334 + }, + { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 5, + .width = 14, + .height = 2, + .paletteNum = 13, + .baseBlock = 350 + }, + { + .bg = 0, + .tilemapLeft = 3, + .tilemapTop = 8, + .width = 11, + .height = 8, + .paletteNum = 15, + .baseBlock = 378 + }, + { + .bg = 0, + .tilemapLeft = 17, + .tilemapTop = 5, + .width = 14, + .height = 2, + .paletteNum = 15, + .baseBlock = 466 + }, + { + .bg = 0, + .tilemapLeft = 18, + .tilemapTop = 8, + .width = 11, + .height = 8, + .paletteNum = 15, + .baseBlock = 494 + }, + DUMMY_WIN_TEMPLATE, +}; + +static const struct WindowTemplate gUnknown_0832DF8C = +{ + .bg = 0, + .tilemapLeft = 23, + .tilemapTop = 13, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 582 +}; + +static const u8 gJPText_Shedinja[] = _("ヌケニン"); +static const u8 gUnknown_0832DF99[][2] = +{ + {4, 3}, + {19, 3}, + {0, 0} +}; + +static const u16 gTradeBallPalette[] = INCBIN_U16("graphics/trade/ball.gbapal"); +static const u8 gTradeBallTiles[] = INCBIN_U8("graphics/trade/ball.4bpp"); +static const u8 gUnknown_832E5C0[] = INCBIN_U8("graphics/trade/pokeball_symbol.8bpp"); +static const u16 gUnknown_0832FFC0[] = INCBIN_U16("graphics/trade/cable_closeup_map.bin"); +static const u16 gUnknown_083307C0[] = INCBIN_U16("graphics/trade/pokeball_symbol_map.bin"); +static const u16 sUnref_083308C0[] = INCBIN_U16("graphics/trade/unknown_3308C0.gbapal"); +static const u16 gUnknown_083308E0[] = INCBIN_U16("graphics/trade/gba.gbapal"); +static const u16 gUnref_08330900[] = INCBIN_U16("graphics/trade/shadow.gbapal"); +static const u16 gUnref_08330920[] = INCBIN_U16("graphics/trade/black.gbapal"); +static const u16 gUnknown_08330940[] = INCBIN_U16("graphics/trade/misc.gbapal"); +static const u8 gTradeGlow1Tiles[] = INCBIN_U8("graphics/trade/glow1.4bpp"); +static const u8 gTradeGlow2Tiles[] = INCBIN_U8("graphics/trade/glow2.4bpp"); +static const u8 gTradeCableEndTiles[] = INCBIN_U8("graphics/trade/cable_end.4bpp"); +static const u8 gTradeGBAScreenTiles[] = INCBIN_U8("graphics/trade/gba_screen.4bpp"); +const u16 gUnknown_08331F60[] = INCBIN_U16("graphics/trade/shadow_map.bin"); +static const u8 gUnknown_08332F60[] = INCBIN_U8("graphics/trade/gba_affine.8bpp"); +static const u8 sFiller_08335760[64] = {}; +static const u8 gUnknown_083357A0[] = INCBIN_U8("graphics/trade/gba_affine_map_cable.bin"); +static const u8 gUnknown_083358A0[] = INCBIN_U8("graphics/trade/gba_affine_map_wireless.bin"); +static const u16 gUnknown_083359A0[] = INCBIN_U16("graphics/trade/gba_map_wireless.bin"); +static const u16 gUnknown_083369A0[] = INCBIN_U16("graphics/trade/gba_map_cable.bin"); +static const u32 gUnknown_083379A0[] = INCBIN_U32("graphics/trade/unknown_3379A0.bin.lz"); +static const u16 gUnknown_08337AA0[] = INCBIN_U16("graphics/trade/wireless_signal_send.gbapal"); +static const u16 gUnknown_08337CA0[] = INCBIN_U16("graphics/trade/wireless_signal_receive.gbapal"); +static const u16 gUnknown_08337EA0[] = INCBIN_U16("graphics/trade/black.gbapal"); +static const u32 gUnknown_08337EC0[] = INCBIN_U32("graphics/trade/wireless_signal.4bpp.lz"); +static const u32 gUnknown_08338550[] = INCBIN_U32("graphics/trade/wireless_signal.bin.lz"); + +static const struct OamData gOamData_8338C44 = { + .affineMode = 1, + .size = 1 +}; + +static const union AnimCmd gSpriteAnim_8338C4C[] = { + ANIMCMD_FRAME( 0, 3), + ANIMCMD_FRAME( 4, 3), + ANIMCMD_FRAME( 8, 3), + ANIMCMD_FRAME(12, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(20, 3), + ANIMCMD_FRAME(24, 3), + ANIMCMD_FRAME(28, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(36, 3), + ANIMCMD_FRAME(40, 3), + ANIMCMD_FRAME(44, 3), + ANIMCMD_LOOP(1), + ANIMCMD_FRAME( 0, 3), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_8338C88[] = { + ANIMCMD_FRAME( 0, 3), + ANIMCMD_FRAME( 4, 3), + ANIMCMD_FRAME( 8, 3), + ANIMCMD_FRAME(12, 3), + ANIMCMD_FRAME(16, 3), + ANIMCMD_FRAME(20, 3), + ANIMCMD_FRAME(24, 3), + ANIMCMD_FRAME(28, 3), + ANIMCMD_FRAME(32, 3), + ANIMCMD_FRAME(36, 3), + ANIMCMD_FRAME(40, 3), + ANIMCMD_FRAME(44, 3), + ANIMCMD_LOOP(2), + ANIMCMD_FRAME( 0, 3), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338C88[] = { + gSpriteAnim_8338C4C, + gSpriteAnim_8338C88 +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338CCC[] = { + AFFINEANIMCMD_FRAME(0, 0, 0, 1), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338CDC[] = { + AFFINEANIMCMD_FRAME(-8, 0, 0, 20), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338CEC[] = { + AFFINEANIMCMD_FRAME(0x60, 0x100, 0, 0), + AFFINEANIMCMD_FRAME( 0, 0, 0, 5), + AFFINEANIMCMD_FRAME( 8, 0, 0, 20), + AFFINEANIMCMD_END +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D0C[] = { + gSpriteAffineAnim_8338CCC, + gSpriteAffineAnim_8338CDC, + gSpriteAffineAnim_8338CEC +}; + +static const struct SpriteSheet gUnknown_08338D18 = { + gTradeBallTiles, 0x600, 5557 +}; + +static const struct SpritePalette gUnknown_08338D20 = { + gTradeBallPalette, 5558 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338D28 = { + 5557, + 5558, + &gOamData_8338C44, + gSpriteAnimTable_8338C88, + NULL, + gSpriteAffineAnimTable_8338D0C, + sub_807E55C +}; + +static const struct OamData gOamData_8338D40 = { + .affineMode = 1, + .objMode = 1, + .size = 2, + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338D48[] = { + ANIMCMD_FRAME(0, 5, .hFlip = TRUE, .vFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338D50[] = { + gSpriteAnim_8338D48 +}; + +static const union AffineAnimCmd gSpriteAffineAnim_8338D54[] = { + AFFINEANIMCMD_FRAME(-10, -10, 0, 5), + AFFINEANIMCMD_FRAME(10, 10, 0, 5), + AFFINEANIMCMD_JUMP(0) +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338D6C[] = { + gSpriteAffineAnim_8338D54 +}; + +static const struct SpriteSheet gUnknown_08338D70 = { + gTradeGlow1Tiles, 0x200, 5550 +}; + +static const struct SpritePalette gUnknown_08338D78 = { + gUnknown_08330940, 5551 +}; + +static const struct SpritePalette gUnknown_08338D80 = { + gUnknown_083308E0, 5555 +}; + +static const struct SpriteTemplate gUnknown_08338D88 = { + 5550, + 5551, + &gOamData_8338D40, + gSpriteAnimTable_8338D50, + NULL, + gSpriteAffineAnimTable_8338D6C, + sub_807AA28 +}; + +static const struct OamData gOamData_8338DA0 = { + .shape = ST_OAM_V_RECTANGLE, + .size = 2, + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338DA8[] = { + ANIMCMD_FRAME(0, 5, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_8338DB0[] = { + ANIMCMD_FRAME(8, 5, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338DB8[] = { + gSpriteAnim_8338DA8, + gSpriteAnim_8338DB0 +}; + +static const struct SpriteSheet gUnknown_08338DC0 = { + gTradeGlow2Tiles, 0x300, 5552 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338DC8 = { + 5552, + 5551, + &gOamData_8338DA0, + gSpriteAnimTable_8338DB8, + NULL, + gDummySpriteAffineAnimTable, + sub_807AA7C +}; + +static const struct OamData gOamData_8338DE0 = { + .shape = ST_OAM_V_RECTANGLE, + .size = 2, + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338DE8[] = { + ANIMCMD_FRAME(0, 10), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338DF0[] = { + gSpriteAnim_8338DE8 +}; + +static const struct SpriteSheet gUnknown_08338DF4 = { + gTradeCableEndTiles, 0x100, 5554 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338DFC = { + 5554, + 5555, + &gOamData_8338DE0, + gSpriteAnimTable_8338DF0, + NULL, + gDummySpriteAffineAnimTable, + sub_807AABC +}; + +static const struct OamData gOamData_8338E14 = { + .shape = ST_OAM_H_RECTANGLE, + .size = 3, + .priority = 1 +}; + +static const union AnimCmd gSpriteAnim_8338E1C[] = { + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_LOOP(8), + ANIMCMD_END +}; + +static const union AnimCmd gSpriteAnim_8338E40[] = { + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(96, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(64, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME(32, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_FRAME( 0, 2, .vFlip = TRUE, .hFlip = TRUE), + ANIMCMD_LOOP(2), + ANIMCMD_END +}; + +static const union AnimCmd *const gSpriteAnimTable_8338E64[] = { + gSpriteAnim_8338E1C +}; + +static const union AnimCmd *const gSpriteAnimTable_8338E68[] = { + gSpriteAnim_8338E40 +}; + +static const struct SpriteSheet gUnknown_08338E6C = { + gTradeGBAScreenTiles, 0x1000, 5556 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338E74 = { + 5556, + 5555, + &gOamData_8338E14, + gSpriteAnimTable_8338E64, + NULL, + gDummySpriteAffineAnimTable, + sub_807AB04 +}; + +static const struct SpriteTemplate gSpriteTemplate_8338E8C = { + 5556, + 5555, + &gOamData_8338E14, + gSpriteAnimTable_8338E68, + NULL, + gDummySpriteAffineAnimTable, + sub_807AB04 +}; + +static const u16 gUnknown_08338EA4[] = INCBIN_U16("graphics/trade/unknown_338EA4.gbapal"); + +static const union AffineAnimCmd gSpriteAffineAnim_8338EBC[] = { + AFFINEANIMCMD_FRAME(-0x100, 0x100, 0, 0), + AFFINEANIMCMD_JUMP(0) +}; + +static const union AffineAnimCmd *const gSpriteAffineAnimTable_8338ECC[] = { + gSpriteAffineAnim_8338EBC +}; + +static const struct InGameTrade gIngameTrades[] = { + { + _("DOTS"), SPECIES_SEEDOT, + 5, 4, 5, 4, 4, 4, + TRUE, 38726, + 30, 5, 5, 5, 5, + 0x84, + ITEM_CHESTO_BERRY, -1, + _("KOBE"), MALE, 10, + SPECIES_RALTS + }, { + _("PLUSES"), SPECIES_PLUSLE, + 4, 4, 4, 5, 5, 4, + FALSE, 73996, + 5, 5, 30, 5, 5, + 0x6F, + ITEM_WOOD_MAIL, 0, + _("ROMAN"), MALE, 10, + SPECIES_VOLBEAT + }, { + _("SEASOR"), + SPECIES_HORSEA, + 5, 4, 4, 4, 5, 4, + FALSE, 46285, + 5, 5, 5, 5, 30, + 0x7F, + ITEM_WAVE_MAIL, 1, + _("SKYLAR"), MALE, 10, + SPECIES_BAGON + }, { + _("MEOWOW"), + SPECIES_MEOWTH, + 4, 5, 4, 5, 4, 4, + FALSE, 91481, + 5, 5, 5, 30, 5, + 0x8B, + ITEM_RETRO_MAIL, 2, + _("ISIS"), FEMALE, 10, + SPECIES_SKITTY + } +}; + +static const u16 gIngameTradeMail[][10] = { + { + EC_WORD_BE, + EC_WORD_NICE, + EC_WORD_TO, + EC_POKEMON(PLUSLE), + EC_WORD_EXCL, + EC_POKEMON(VOLBEAT), + EC_WORD_WILL, + EC_WORD_BE, + EC_WORD_FANTASTIC, + 0 + }, { + EC_WORD_I, + EC_WORD_WILL, + EC_WORD_MAKE, + EC_POKEMON(BAGON), + EC_WORD_TOUGH, + EC_WORD_PLEASE, + EC_WORD_TRAIN, + EC_POKEMON(HORSEA), + EC_WORD_WELL, + 0 + }, { + EC_WORD_THANK_YOU, + EC_WORD_FOR, + EC_POKEMON(SKITTY), + EC_POKEMON2(MEOWTH), + EC_WORD_CRIES, + EC_WORD_IN, + EC_WORD_A, + EC_WORD_CUTE, + EC_WORD_WAY, + 0 + } +}; + +static const struct WindowTemplate gUnknown_08338FFC[] = +{ + { + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 15, + .width = 26, + .height = 4, + .paletteNum = 0, + .baseBlock = 64 + }, + DUMMY_WIN_TEMPLATE +}; + +const struct WindowTemplate gUnknown_0833900C = +{ + .bg = 0, + .tilemapLeft = 21, + .tilemapTop = 9, + .width = 5, + .height = 4, + .paletteNum = 15, + .baseBlock = 188 +}; + +static const struct BgTemplate gUnknown_08339014[] = +{ + { + .bg = 0, + .charBaseIndex = 3, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 5, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 1, + .mapBaseIndex = 18, + .screenSize = 1, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 6, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + }, +}; + +static const s8 gTradeBallVerticalVelocityTable[] = { + 0, 0, 1, 0, + 1, 0, 1, 1, + 1, 1, 2, 2, + 2, 2, 3, 3, + 3, 3, 4, 4, + 4, 4, -4, -4, + -4, -3, -3, -3, + -3, -2, -2, -2, + -2, -1, -1, -1, + -1, 0, -1, 0, + -1, 0, 0, 0, + 0, 0, 1, 0, + 1, 0, 1, 1, + 1, 1, 2, 2, + 2, 2, 3, 3, + 3, 3, 4, 4, + 4, 4, -4, -3, + -3, -2, -2, -1, + -1, -1, 0, -1, + 0, 0, 0, 0, + 0, 0, 1, 0, + 1, 1, 1, 2, + 2, 3, 3, 4, + -4, -3, -2, -1, + -1, -1, 0, 0, + 0, 0, 1, 0, + 1, 1, 2, 3 +}; + +static const u8 gUnknown_08339090[][2] = +{ + {0, 1}, + {1, 1}, + {2, 1}, + {3, 1}, + {4, 1}, + {5, 2}, + {6, 2}, + {7, 2}, + {8, 2}, + {9, 2}, + {10, 3}, + {11, 3}, + {12, 3}, + {13, 4}, + {14, 5}, + {15, 2}, + {0, 1}, + {1, 1}, + {2, 1}, + {3, 1}, + {4, 1}, + {5, 2}, + {6, 2}, + {7, 2}, + {8, 2}, + {9, 2}, + {10, 3}, + {11, 3}, + {12, 3}, + {13, 4}, + {14, 5}, + {16, 1}, + {16, -1}, + {0, 0} +}; // external to this file extern const struct CompressedSpriteSheet gMonFrontPicTable[]; extern const struct MonCoords gMonFrontPicCoords[]; -bool32 sub_8077260(void); -void sub_80773D0(void); -void sub_807811C(void); -void sub_807A19C(u8); -bool8 shedinja_maker_maybe(void); -void sub_807A308(const u8 *, u8 *, u8); -bool8 sub_807A1F0(void); -void sub_807A320(u8); -void sub_8079BE0(u8); -void sub_8078388(void); -void sub_80782B8(u8); -void sub_807A468(u8); -void sub_807A53C(void); -void sub_8078C34(void); -void sub_807825C(void); -void sub_807A5B0(void); -void sub_80795AC(void); -void sub_807A0C4(void); -void sub_80796B4(u8); -void sub_8079E44(u8); -void sub_807967C(u8); -void sub_807A048(u16, u8); -void sub_8079F74(void); -u32 sub_807A5F4(struct Pokemon *, int, int); -void sub_8079F88(u8); -u32 sub_807A09C(void); -u8 sub_8079A3C(u8 *, bool8, u8); -void sub_8079AA4(u8 *, u8, u8); -void sub_8079C4C(u8, u8, u8, u8, u8, u8); -void sub_807B170(void); -void sub_807B154(void); -void sub_807BA94(void); -void sub_807B140(void); -void sub_807BAD8(void); -void sub_807EA2C(void); -void sub_807B62C(u8); -void sub_807B60C(void); -u8 sub_807BBC8(void); -u8 sub_807CFC8(void); -u8 sub_807BBEC(void); -void sub_807F1A8(u8, const u8 *, u8); -void sub_807E5D8(struct Sprite *); -void sub_807AAE0(struct Sprite *); -void sub_807E6AC(struct Sprite *); -void sub_807F14C(void); -void sub_807E784(void); -void c3_08054588(u8); -void c3_0805465C(u8); -void sub_807F39C(u8); -void sub_807EB50(void); -void sub_807F464(void); -void sub_807E64C(struct Sprite *); -void sub_807E974(struct MailStruct *mail, const struct InGameTrade *trade); -void sub_807EACC(void); -void c2_080543C4(void); -void sub_807F110(u8); - -bool8 sub_8077170(const void *a0, u32 a1) +static bool8 sub_8077170(const void *a0, u32 a1) { if (gUnknown_02022C2C == 29) { @@ -293,12 +1318,12 @@ bool8 sub_8077170(const void *a0, u32 a1) } } -void sub_80771AC(u8 a0) +static void sub_80771AC(u8 a0) { sub_800A4D8(a0); } -bool32 sub_80771BC(void) +static bool32 sub_80771BC(void) { if (gUnknown_02022C2C == 29) { @@ -317,12 +1342,12 @@ bool32 sub_80771BC(void) } } -u32 sub_8077200(void) +static u32 sub_8077200(void) { return GetBlockReceivedStatus(); } -void sub_8077210(void) +static void sub_8077210(void) { if (sub_8077260()) { @@ -334,7 +1359,7 @@ void sub_8077210(void) } } -void sub_8077234(u32 a0) +static void sub_8077234(u32 a0) { if (sub_8077260()) { @@ -346,7 +1371,7 @@ void sub_8077234(u32 a0) } } -bool32 sub_8077260(void) +static bool32 sub_8077260(void) { if (gWirelessCommType != 0 && gUnknown_02022C2C == 29) { @@ -358,17 +1383,17 @@ bool32 sub_8077260(void) } } -void sub_8077288(u8 unused) +static void sub_8077288(u8 unused) { sub_800ADF8(); } -bool32 IsLinkTaskFinished(void) +static bool32 IsLinkTaskFinished(void) { return sub_800A520(); } -void sub_80772A4(void) +static void sub_80772A4(void) { ResetSpriteData(); FreeAllSpritePalettes(); @@ -418,7 +1443,7 @@ void sub_80773AC(void) gEnemyPartyCount = 0; } -void sub_80773D0(void) +static void sub_80773D0(void) { int i; struct SpriteTemplate temp; @@ -544,10 +1569,10 @@ void sub_80773D0(void) for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) { struct Pokemon *mon = &gPlayerParty[i]; - gUnknown_0203229C->unk_28[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2), + gUnknown_0203229C->partyIcons[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2), sub_80D3014, - (gUnknown_0832DE24[i][0] * 8) + 14, - (gUnknown_0832DE24[i][1] * 8) - 12, + (gTradeMonSpriteCoords[i][0] * 8) + 14, + (gTradeMonSpriteCoords[i][1] * 8) - 12, 1, GetMonData(mon, MON_DATA_PERSONALITY), TRUE); @@ -556,10 +1581,10 @@ void sub_80773D0(void) for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++) { struct Pokemon *mon = &gEnemyParty[i]; - gUnknown_0203229C->unk_28[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + gUnknown_0203229C->partyIcons[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), sub_80D3014, - (gUnknown_0832DE24[i + PARTY_SIZE][0] * 8) + 14, - (gUnknown_0832DE24[i + PARTY_SIZE][1] * 8) - 12, + (gTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14, + (gTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12, 1, GetMonData(mon, MON_DATA_PERSONALITY), FALSE); @@ -568,11 +1593,11 @@ void sub_80773D0(void) break; case 8: LoadHeldItemIcons(); - sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->unk_28[0], 0); + sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 0); gMain.state++; break; case 9: - sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->unk_28[0], 1); + sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 1); gMain.state++; break; case 10: @@ -621,8 +1646,8 @@ void sub_80773D0(void) CreateSprite(&temp, (i * 32) + 24, 150, 1); } - gUnknown_0203229C->unk_34 = CreateSprite(&gSpriteTemplate_832DC94, gUnknown_0832DE24[0][0] * 8 + 32, gUnknown_0832DE24[0][1] * 8, 2); - gUnknown_0203229C->unk_35 = 0; + gUnknown_0203229C->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, gTradeMonSpriteCoords[0][0] * 8 + 32, gTradeMonSpriteCoords[0][1] * 8, 2); + gUnknown_0203229C->tradeMenuCursorPosition = 0; gMain.state++; rbox_fill_rectangle(0); break; @@ -639,7 +1664,8 @@ void sub_80773D0(void) sub_807A320(1); sub_8079BE0(1); gMain.state++; - case 16: // fallthrough + // fallthrough + case 16: sub_80782B8(0); gMain.state++; break; @@ -681,7 +1707,7 @@ void sub_80773D0(void) UpdatePaletteFade(); } -void sub_8077B74(void) +static void sub_8077B74(void) { int i; struct SpriteTemplate temp; @@ -730,10 +1756,10 @@ void sub_8077B74(void) for (i = 0; i < gUnknown_0203229C->partyCounts[0]; i++) { struct Pokemon *mon = &gPlayerParty[i]; - gUnknown_0203229C->unk_28[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + gUnknown_0203229C->partyIcons[0][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), sub_80D3014, - (gUnknown_0832DE24[i][0] * 8) + 14, - (gUnknown_0832DE24[i][1] * 8) - 12, + (gTradeMonSpriteCoords[i][0] * 8) + 14, + (gTradeMonSpriteCoords[i][1] * 8) - 12, 1, GetMonData(mon, MON_DATA_PERSONALITY), TRUE); @@ -742,10 +1768,10 @@ void sub_8077B74(void) for (i = 0; i < gUnknown_0203229C->partyCounts[1]; i++) { struct Pokemon *mon = &gEnemyParty[i]; - gUnknown_0203229C->unk_28[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), + gUnknown_0203229C->partyIcons[1][i] = CreateMonIcon(GetMonData(mon, MON_DATA_SPECIES2, NULL), sub_80D3014, - (gUnknown_0832DE24[i + PARTY_SIZE][0] * 8) + 14, - (gUnknown_0832DE24[i + PARTY_SIZE][1] * 8) - 12, + (gTradeMonSpriteCoords[i + PARTY_SIZE][0] * 8) + 14, + (gTradeMonSpriteCoords[i + PARTY_SIZE][1] * 8) - 12, 1, GetMonData(mon, MON_DATA_PERSONALITY), FALSE); @@ -754,11 +1780,11 @@ void sub_8077B74(void) break; case 8: LoadHeldItemIcons(); - sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->unk_28[0], 0); + sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 0); gMain.state++; break; case 9: - sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->unk_28[0], 1); + sub_81B5D4C(&gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->partyIcons[0], 1); gMain.state++; break; case 10: @@ -807,16 +1833,16 @@ void sub_8077B74(void) CreateSprite(&temp, (i * 32) + 24, 150, 1); } - if (gUnknown_0203229C->unk_35 < PARTY_SIZE) + if (gUnknown_0203229C->tradeMenuCursorPosition < PARTY_SIZE) { - gUnknown_0203229C->unk_35 = gUnknown_0203CF20; + gUnknown_0203229C->tradeMenuCursorPosition = gUnknown_0203CF20; } else { - gUnknown_0203229C->unk_35 = gUnknown_0203CF20 + PARTY_SIZE; + gUnknown_0203229C->tradeMenuCursorPosition = gUnknown_0203CF20 + PARTY_SIZE; } - gUnknown_0203229C->unk_34 = CreateSprite(&gSpriteTemplate_832DC94, gUnknown_0832DE24[gUnknown_0203229C->unk_35][0] * 8 + 32, gUnknown_0832DE24[gUnknown_0203229C->unk_35][1] * 8, 2); + gUnknown_0203229C->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, gTradeMonSpriteCoords[gUnknown_0203229C->tradeMenuCursorPosition][0] * 8 + 32, gTradeMonSpriteCoords[gUnknown_0203229C->tradeMenuCursorPosition][1] * 8, 2); gMain.state = 16; break; case 16: @@ -862,14 +1888,14 @@ void sub_8077B74(void) UpdatePaletteFade(); } -void sub_807811C(void) +static void sub_807811C(void) { LoadOam(); ProcessSpriteCopyRequests(); TransferPlttBuffer(); } -void sub_8078130(void) +static void sub_8078130(void) { if (++gUnknown_0203229C->unk_A8 > 15) { @@ -878,11 +1904,11 @@ void sub_8078130(void) } } -void sub_807816C(void) +static void sub_807816C(void) { if (!gPaletteFade.active) { - gUnknown_02032298[0] = gUnknown_0203229C->unk_35; + gUnknown_02032298[0] = gUnknown_0203229C->tradeMenuCursorPosition; gUnknown_02032298[1] = gUnknown_0203229C->unk_7E; if (gWirelessCommType != 0) @@ -897,7 +1923,7 @@ void sub_807816C(void) } } -void sub_80781C8(void) +static void sub_80781C8(void) { gMain.savedCallback = sub_80773AC; @@ -926,7 +1952,7 @@ void sub_80781C8(void) } } -void sub_807825C(void) +static void sub_807825C(void) { u8 temp; @@ -945,7 +1971,7 @@ void sub_807825C(void) UpdatePaletteFade(); } -void sub_80782B8(u8 a0) +static void sub_80782B8(u8 a0) { int i; @@ -976,7 +2002,7 @@ void sub_80782B8(u8 a0) } } -void sub_8078388(void) +static void sub_8078388(void) { int i; @@ -984,7 +2010,7 @@ void sub_8078388(void) { if (i < gUnknown_0203229C->partyCounts[0]) { - gSprites[gUnknown_0203229C->unk_28[0][i]].invisible = FALSE; + gSprites[gUnknown_0203229C->partyIcons[0][i]].invisible = FALSE; gUnknown_0203229C->unk_38[i] = TRUE; } else @@ -994,7 +2020,7 @@ void sub_8078388(void) if (i < gUnknown_0203229C->partyCounts[1]) { - gSprites[gUnknown_0203229C->unk_28[1][i]].invisible = FALSE; + gSprites[gUnknown_0203229C->partyIcons[1][i]].invisible = FALSE; gUnknown_0203229C->unk_38[i + PARTY_SIZE] = TRUE; } else @@ -1006,7 +2032,7 @@ void sub_8078388(void) gUnknown_0203229C->unk_44 = 1; } -void sub_8078438(u8 *dest, const u8 *src, u32 count) +static void sub_8078438(u8 *dest, const u8 *src, u32 count) { u32 i; @@ -1016,7 +2042,7 @@ void sub_8078438(u8 *dest, const u8 *src, u32 count) } } -bool8 shedinja_maker_maybe(void) +static bool8 shedinja_maker_maybe(void) { u8 id = GetMultiplayerId(); int i; @@ -1170,12 +2196,12 @@ bool8 shedinja_maker_maybe(void) return FALSE; } -void sub_80787B8(void) +static void sub_80787B8(void) { sub_807A308(gText_IsThisTradeOkay, (void *)(OBJ_VRAM0 + (gUnknown_0203229C->unk_72 * 32)), 24); } -void sub_80787E0(u8 a0, u8 a1) +static void sub_80787E0(u8 a0, u8 a1) { if (a1 & 1) { @@ -1219,7 +2245,7 @@ void sub_80787E0(u8 a0, u8 a1) } } -void sub_8078900(u8 a0, u8 a1) +static void sub_8078900(u8 a0, u8 a1) { if (a1 & 1) { @@ -1237,7 +2263,7 @@ void sub_8078900(u8 a0, u8 a1) case 0xDDDD: gUnknown_0203229C->unk_7E = gBlockRecvBuffer[0][1] + 6; rbox_fill_rectangle(0); - sub_807967C(gUnknown_0203229C->unk_35); + sub_807967C(gUnknown_0203229C->tradeMenuCursorPosition); sub_807967C(gUnknown_0203229C->unk_7E); gUnknown_0203229C->unk_6F = 7; break; @@ -1258,7 +2284,7 @@ void sub_8078900(u8 a0, u8 a1) } } -void sub_80789FC(void) +static void sub_80789FC(void) { if (gUnknown_0203229C->unk_78 && gUnknown_0203229C->unk_79) { @@ -1266,7 +2292,7 @@ void sub_80789FC(void) { gUnknown_0203229C->unk_6F = 6; gUnknown_0203229C->unk_80[0] = 0xDDDD; - gUnknown_0203229C->unk_80[1] = gUnknown_0203229C->unk_35; + gUnknown_0203229C->unk_80[1] = gUnknown_0203229C->tradeMenuCursorPosition; sub_807A048(5, 0); gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; } @@ -1326,19 +2352,19 @@ void sub_80789FC(void) } } -void sub_8078BFC(u16 *a0, u16 a1, u16 a2) +static void sub_8078BFC(u16 *a0, u16 a1, u16 a2) { a0[0] = a1; a0[1] = a2; sub_807A048(5, 0); } -void sub_8078C10(u16 a0, u16 a1) +static void sub_8078C10(u16 a0, u16 a1) { sub_8078BFC(gUnknown_0203229C->unk_80, a0, a1); } -void sub_8078C34(void) +static void sub_8078C34(void) { u8 id = GetMultiplayerId(); u8 unk; @@ -1361,16 +2387,16 @@ void sub_8078C34(void) } } -u8 sub_8078C6C(u8 a0, u8 a1) +static u8 sub_8078C6C(u8 a0, u8 a1) { int i; u8 ret = 0; for (i = 0; i < PARTY_SIZE; i++) { - if (gUnknown_0203229C->unk_38[gUnknown_0832DCEC[a0][a1][i]] == 1) + if (gUnknown_0203229C->unk_38[gTradeNextSelectedMonTable[a0][a1][i]] == 1) { - ret = gUnknown_0832DCEC[a0][a1][i]; + ret = gTradeNextSelectedMonTable[a0][a1][i]; break; } } @@ -1378,21 +2404,21 @@ u8 sub_8078C6C(u8 a0, u8 a1) return ret; } -void sub_8078CB8(u8 *a0, u8 a1) +static void sub_8078CB8(u8 *a0, u8 a1) { u8 unk = sub_8078C6C(*a0, a1); if (unk == 12) { - StartSpriteAnim(&gSprites[gUnknown_0203229C->unk_34], 1); - gSprites[gUnknown_0203229C->unk_34].pos1.x = 224; - gSprites[gUnknown_0203229C->unk_34].pos1.y = 160; + StartSpriteAnim(&gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx], 1); + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.x = 224; + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.y = 160; } else { - StartSpriteAnim(&gSprites[gUnknown_0203229C->unk_34], 0); - gSprites[gUnknown_0203229C->unk_34].pos1.x = gUnknown_0832DE24[unk][0] * 8 + 32; - gSprites[gUnknown_0203229C->unk_34].pos1.y = gUnknown_0832DE24[unk][1] * 8; + StartSpriteAnim(&gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx], 0); + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.x = gTradeMonSpriteCoords[unk][0] * 8 + 32; + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.y = gTradeMonSpriteCoords[unk][1] * 8; } if (*a0 != unk) @@ -1403,14 +2429,14 @@ void sub_8078CB8(u8 *a0, u8 a1) *a0 = unk; } -void sub_8078D78(void) +static void sub_8078D78(void) { sub_807A19C(0); gUnknown_0203229C->unk_6F = 100; if (GetMultiplayerId() == 1) { - sub_8078C10(0xAABB, gUnknown_0203229C->unk_35); + sub_8078C10(0xAABB, gUnknown_0203229C->tradeMenuCursorPosition); } else { @@ -1418,30 +2444,30 @@ void sub_8078D78(void) } } -void sub_8078DBC(void) +static void sub_8078DBC(void) { if (gMain.newAndRepeatedKeys & DPAD_UP) { - sub_8078CB8(&gUnknown_0203229C->unk_35, 0); + sub_8078CB8(&gUnknown_0203229C->tradeMenuCursorPosition, 0); } else if (gMain.newAndRepeatedKeys & DPAD_DOWN) { - sub_8078CB8(&gUnknown_0203229C->unk_35, 1); + sub_8078CB8(&gUnknown_0203229C->tradeMenuCursorPosition, 1); } else if (gMain.newAndRepeatedKeys & DPAD_LEFT) { - sub_8078CB8(&gUnknown_0203229C->unk_35, 2); + sub_8078CB8(&gUnknown_0203229C->tradeMenuCursorPosition, 2); } else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { - sub_8078CB8(&gUnknown_0203229C->unk_35, 3); + sub_8078CB8(&gUnknown_0203229C->tradeMenuCursorPosition, 3); } if (gMain.newKeys & A_BUTTON) { PlaySE(SE_SELECT); - if (gUnknown_0203229C->unk_35 < 6) + if (gUnknown_0203229C->tradeMenuCursorPosition < 6) { sub_8098858(1, 1, 14); FillWindowPixelBuffer(1, 0x11); @@ -1451,12 +2477,12 @@ void sub_8078DBC(void) CopyWindowToVram(1, 3); gUnknown_0203229C->unk_6F = 1; } - else if (gUnknown_0203229C->unk_35 < 12) + else if (gUnknown_0203229C->tradeMenuCursorPosition < 12) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gUnknown_0203229C->unk_6F = 2; } - else if (gUnknown_0203229C->unk_35 == 12) + else if (gUnknown_0203229C->tradeMenuCursorPosition == 12) { CreateYesNoMenu(&gUnknown_0832DF8C, 1, 14, 0); gUnknown_0203229C->unk_6F = 4; @@ -1465,15 +2491,15 @@ void sub_8078DBC(void) } } -void sub_8078EF8(void) +static void sub_8078EF8(void) { sub_8079F74(); gUnknown_0203229C->unk_6F = 0; - gSprites[gUnknown_0203229C->unk_34].invisible = FALSE; + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = FALSE; sub_807A308(gUnknown_0832DE94[1], (void *)(OBJ_VRAM0 + gUnknown_0203229C->unk_72 * 32), 24); } -void sub_8078F50(void) +static void sub_8078F50(void) { switch (Menu_ProcessInputNoWrap()) { @@ -1488,11 +2514,11 @@ void sub_8078F50(void) gUnknown_0203229C->unk_6F = 2; break; case 1: - switch (sub_807A5F4(gPlayerParty, gPlayerPartyCount, gUnknown_0203229C->unk_35)) + switch (sub_807A5F4(gPlayerParty, gPlayerPartyCount, gUnknown_0203229C->tradeMenuCursorPosition)) { case 0: sub_8078D78(); - gSprites[gUnknown_0203229C->unk_34].invisible = TRUE; + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = TRUE; break; case 1: sub_807A048(3, 3); @@ -1513,7 +2539,7 @@ void sub_8078F50(void) } } -void sub_8079034(void) +static void sub_8079034(void) { if ((gMain.newKeys & A_BUTTON) || (gMain.newKeys & B_BUTTON)) { @@ -1522,23 +2548,23 @@ void sub_8079034(void) } } -void sub_807905C(void) +static void sub_807905C(void) { if (!gPaletteFade.active) { - if (gUnknown_0203229C->unk_35 < PARTY_SIZE) + if (gUnknown_0203229C->tradeMenuCursorPosition < PARTY_SIZE) { - ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203229C->unk_35, gUnknown_0203229C->partyCounts[0] - 1, sub_8077B74); + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gPlayerParty, gUnknown_0203229C->tradeMenuCursorPosition, gUnknown_0203229C->partyCounts[0] - 1, sub_8077B74); } else { - ShowPokemonSummaryScreen(PSS_MODE_UNK1, gEnemyParty, gUnknown_0203229C->unk_35 - PARTY_SIZE, gUnknown_0203229C->partyCounts[1] - 1, sub_8077B74); + ShowPokemonSummaryScreen(PSS_MODE_UNK1, gEnemyParty, gUnknown_0203229C->tradeMenuCursorPosition - PARTY_SIZE, gUnknown_0203229C->partyCounts[1] - 1, sub_8077B74); } FreeAllWindowBuffers(); } } -u8 sub_80790D4(u8 *a0, u8 a1, u8 a2, u8 a3) +static u8 sub_80790D4(u8 *a0, u8 a1, u8 a2, u8 a3) { int i; u16 species; @@ -1579,7 +2605,7 @@ u8 sub_80790D4(u8 *a0, u8 a1, u8 a2, u8 a3) return res; } -bool32 sub_8079174(void) +static bool32 sub_8079174(void) { int i; u8 arr[12]; @@ -1589,7 +2615,7 @@ bool32 sub_8079174(void) arr[i] = gUnknown_0203229C->unk_45[0][i]; } - switch (sub_80790D4(arr, gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->unk_35, gUnknown_0203229C->unk_7E)) + switch (sub_80790D4(arr, gUnknown_0203229C->partyCounts[0], gUnknown_0203229C->tradeMenuCursorPosition, gUnknown_0203229C->unk_7E)) { case 0: sub_807A048(3, 3); @@ -1607,7 +2633,7 @@ bool32 sub_8079174(void) return FALSE; } -void sub_8079218(void) +static void sub_8079218(void) { switch (Menu_ProcessInputNoWrapClearOnChoose()) { @@ -1635,7 +2661,7 @@ void sub_8079218(void) } } -void sub_807929C(void) +static void sub_807929C(void) { int i; @@ -1646,14 +2672,14 @@ void sub_807929C(void) } } -void sub_80792E4(void) +static void sub_80792E4(void) { switch (Menu_ProcessInputNoWrapClearOnChoose()) { case 0: sub_807A19C(4); sub_8078C10(0xEEAA, 0); - gSprites[gUnknown_0203229C->unk_34].invisible = TRUE; + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = TRUE; gUnknown_0203229C->unk_6F = 100; sub_807929C(); break; @@ -1665,18 +2691,18 @@ void sub_80792E4(void) } } -void sub_807935C(void) +static void sub_807935C(void) { if (GetMultiplayerId() == 0) { rbox_fill_rectangle(0); - sub_807967C(gUnknown_0203229C->unk_35); + sub_807967C(gUnknown_0203229C->tradeMenuCursorPosition); sub_807967C(gUnknown_0203229C->unk_7E); } gUnknown_0203229C->unk_6F = 7; } -void sub_8079398(void) +static void sub_8079398(void) { if (gUnknown_0203229C->unk_74[0] == 5 && gUnknown_0203229C->unk_74[1] == 5) { @@ -1685,7 +2711,7 @@ void sub_8079398(void) } } -void sub_80793C4(void) +static void sub_80793C4(void) { gUnknown_0203229C->unk_A8++; @@ -1697,7 +2723,7 @@ void sub_80793C4(void) } } -void sub_8079408(void) +static void sub_8079408(void) { int i; @@ -1716,11 +2742,11 @@ void sub_8079408(void) sub_8079F88(0); sub_8079F88(1); gUnknown_0203229C->unk_6F = 0; - gSprites[gUnknown_0203229C->unk_34].invisible = FALSE; + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].invisible = FALSE; } } -void sub_8079490(void) +static void sub_8079490(void) { if (!gPaletteFade.active) { @@ -1737,7 +2763,7 @@ void sub_8079490(void) } } -void sub_80794CC(void) +static void sub_80794CC(void) { if (gWirelessCommType) { @@ -1762,7 +2788,7 @@ void sub_80794CC(void) } } -void sub_8079550(void) +static void sub_8079550(void) { if (!sub_801048C(FALSE) && sub_807A09C() == 0) { @@ -1771,7 +2797,7 @@ void sub_8079550(void) } } -void sub_807957C(void) +static void sub_807957C(void) { if (gMain.newKeys & A_BUTTON) { @@ -1780,7 +2806,7 @@ void sub_807957C(void) } } -void sub_80795AC(void) +static void sub_80795AC(void) { switch (gUnknown_0203229C->unk_6F) { @@ -1838,7 +2864,7 @@ void sub_80795AC(void) } } -void sub_807967C(u8 a0) +static void sub_807967C(u8 a0) { u8 whichTeam = a0 / PARTY_SIZE; @@ -1849,7 +2875,7 @@ void sub_807967C(u8 a0) } } -void sub_80796B4(u8 a0) +static void sub_80796B4(u8 a0) { s8 test; u8 sp14[20]; @@ -1871,7 +2897,7 @@ void sub_80796B4(u8 a0) case 1: for (i = 0; i < gUnknown_0203229C->partyCounts[a0]; i++) { - gSprites[gUnknown_0203229C->unk_28[0][i + (sp60 * 6)]].invisible = TRUE; + gSprites[gUnknown_0203229C->partyIcons[0][i + (sp60 * 6)]].invisible = TRUE; } for (i = 0; i < 6; i++) @@ -1879,13 +2905,13 @@ void sub_80796B4(u8 a0) ClearWindowTilemap(i + (a0 * 6 + 2)); } - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].invisible = FALSE; - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].data[0] = 20; - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].data[2] = (gUnknown_0832DE24[sp60 * 6][0] + gUnknown_0832DE24[sp60 * 6 + 1][0]) / 2 * 8 + 14; - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].data[4] = (gUnknown_0832DE24[sp60 * 6][1] * 8) - 12; - StoreSpriteCallbackInData6(&gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]], sub_80D3014); + gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].invisible = FALSE; + gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].data[0] = 20; + gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].data[2] = (gTradeMonSpriteCoords[sp60 * 6][0] + gTradeMonSpriteCoords[sp60 * 6 + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].data[4] = (gTradeMonSpriteCoords[sp60 * 6][1] * 8) - 12; + StoreSpriteCallbackInData6(&gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]], sub_80D3014); gUnknown_0203229C->unk_74[a0]++; - sub_80A6DEC(&gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]]); + sub_80A6DEC(&gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]]); CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(0); @@ -1896,7 +2922,7 @@ void sub_80796B4(u8 a0) } break; case 2: - if (gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].callback == sub_80D3014) + if (gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].callback == sub_80D3014) { gUnknown_0203229C->unk_74[a0] = 3; } @@ -1904,10 +2930,10 @@ void sub_80796B4(u8 a0) case 3: CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMovesBoxTilemap, sp60 * 15, 0, 15, 17, 0); CopyBgTilemapBufferToVram(1); - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos1.x = (gUnknown_0832DE24[sp60 * 6][0] + gUnknown_0832DE24[sp60 * 6 + 1][0]) / 2 * 8 + 14; - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos1.y = (gUnknown_0832DE24[sp60 * 6][1] * 8) - 12; - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos2.x = 0; - gSprites[gUnknown_0203229C->unk_28[0][r10 + (sp60 * 6)]].pos2.y = 0; + gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].pos1.x = (gTradeMonSpriteCoords[sp60 * 6][0] + gTradeMonSpriteCoords[sp60 * 6 + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].pos1.y = (gTradeMonSpriteCoords[sp60 * 6][1] * 8) - 12; + gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].pos2.x = 0; + gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].pos2.y = 0; test = sub_8079A3C(sp14, sp60, r10); AddTextPrinterParameterized3((a0 * 2) + 14, 0, (80 - test) / 2, 4, gUnknown_0832DEE0, 0, sp14); sub_8079AA4(sp28, sp60, r10); @@ -1925,7 +2951,7 @@ void sub_80796B4(u8 a0) } } -u8 sub_8079A3C(u8 *a0, bool8 a1, u8 a2) +static u8 sub_8079A3C(u8 *a0, bool8 a1, u8 a2) { u8 name[12]; @@ -1942,7 +2968,7 @@ u8 sub_8079A3C(u8 *a0, bool8 a1, u8 a2) return GetStringWidth(0, a0, GetFontAttribute(0, FONTATTR_LETTER_SPACING)); } -void sub_8079AA4(u8 *a0, u8 a1, u8 a2) +static void sub_8079AA4(u8 *a0, u8 a1, u8 a2) { u16 arr[4]; u16 i; @@ -1980,7 +3006,7 @@ void sub_8079AA4(u8 *a0, u8 a1, u8 a2) } } -void sub_8079B84(u8 a0, u8 a1, u8 *a2) +static void sub_8079B84(u8 a0, u8 a1, u8 *a2) { u8 xPos; a1 += (a0 * 6) + 2; @@ -1990,7 +3016,7 @@ void sub_8079B84(u8 a0, u8 a1, u8 *a2) CopyWindowToVram(a1, 3); } -void sub_8079BE0(u8 a0) +static void sub_8079BE0(u8 a0) { u8 i; u8 sp[20]; @@ -2005,7 +3031,7 @@ void sub_8079BE0(u8 a0) } } -void sub_8079C4C(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4, u8 a5) +static void sub_8079C4C(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4, u8 a5) { u8 r6; u32 r2; @@ -2071,22 +3097,20 @@ void sub_8079C4C(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4, u8 a5) gUnknown_0203229C->tilemapBuffer[(a3 - 1) * 32 + a2 + 1] = r2; } -extern const u8 gUnknown_0832DE3E[][6][2]; -extern const u8 gUnknown_0832DE56[][6][2]; // Very close but loop preamble not working. #ifdef NONMATCHING -void sub_8079E44(u8 whichParty) +static void sub_8079E44(u8 whichParty) { int i; for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++) { - sub_8079C4C(whichParty, i, gUnknown_0832DE3E[whichParty][i][0], gUnknown_0832DE3E[whichParty][i][1], gUnknown_0832DE56[whichParty][i][0], gUnknown_0832DE56[whichParty][i][1]); + sub_8079C4C(whichParty, i, gTradeLevelDisplayCoords[whichParty][i][0], gTradeLevelDisplayCoords[whichParty][i][1], gTradeMonBoxCoords[whichParty][i][0], gTradeMonBoxCoords[whichParty][i][1]); } } #else NAKED -void sub_8079E44(u8 whichParty) +static void sub_8079E44(u8 whichParty) { asm_unified("push {r4-r7,lr}\n\ sub sp, 0x8\n\ @@ -2102,10 +3126,10 @@ void sub_8079E44(u8 whichParty) bge _08079E94\n\ lsls r0, r6, 1\n\ adds r0, r6\n\ - ldr r1, =gUnknown_0832DE3E\n\ + ldr r1, =gTradeLevelDisplayCoords\n\ lsls r0, 2\n\ adds r5, r0, r1\n\ - ldr r1, =gUnknown_0832DE56\n\ + ldr r1, =gTradeMonBoxCoords\n\ adds r4, r0, r1\n\ _08079E6A:\n\ lsls r1, r7, 24\n\ @@ -2137,27 +3161,27 @@ _08079E94:\n\ } #endif // NONMATCHING -void sub_8079EA8(u8 a0) +static void sub_8079EA8(u8 a0) { int i; for (i = 0; i < gUnknown_0203229C->partyCounts[a0]; i++) { - gSprites[gUnknown_0203229C->unk_28[a0][i]].invisible = FALSE; - gSprites[gUnknown_0203229C->unk_28[a0][i]].pos1.x = gUnknown_0832DE24[(a0 * 6) + i][0] * 8 + 14; - gSprites[gUnknown_0203229C->unk_28[a0][i]].pos1.y = gUnknown_0832DE24[(a0 * 6) + i][1] * 8 - 12; - gSprites[gUnknown_0203229C->unk_28[a0][i]].pos2.x = 0; - gSprites[gUnknown_0203229C->unk_28[a0][i]].pos2.y = 0; + gSprites[gUnknown_0203229C->partyIcons[a0][i]].invisible = FALSE; + gSprites[gUnknown_0203229C->partyIcons[a0][i]].pos1.x = gTradeMonSpriteCoords[(a0 * 6) + i][0] * 8 + 14; + gSprites[gUnknown_0203229C->partyIcons[a0][i]].pos1.y = gTradeMonSpriteCoords[(a0 * 6) + i][1] * 8 - 12; + gSprites[gUnknown_0203229C->partyIcons[a0][i]].pos2.x = 0; + gSprites[gUnknown_0203229C->partyIcons[a0][i]].pos2.y = 0; } } -void sub_8079F74(void) +static void sub_8079F74(void) { rbox_fill_rectangle(1); sub_8079BE0(1); } -void sub_8079F88(u8 a0) +static void sub_8079F88(u8 a0) { CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0); CopyBgTilemapBufferToVram(1); @@ -2168,19 +3192,19 @@ void sub_8079F88(u8 a0) gUnknown_0203229C->unk_74[a0] = 0; } -void sub_807A000(void) +static void sub_807A000(u8 taskId) { FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); CopyBgTilemapBufferToVram(0); } -void sub_807A024(void) +static void sub_807A024(u8 taskId) { FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 30, 20); CopyBgTilemapBufferToVram(0); } -void sub_807A048(u16 a0, u8 a1) +static void sub_807A048(u16 a0, u8 a1) { int i; @@ -2196,7 +3220,7 @@ void sub_807A048(u16 a0, u8 a1) } } -u32 sub_807A09C(void) +static u32 sub_807A09C(void) { u32 acc = 0; int i; @@ -2209,7 +3233,7 @@ u32 sub_807A09C(void) return acc; } -void sub_807A0C4(void) +static void sub_807A0C4(void) { int i; @@ -2255,7 +3279,7 @@ void sub_807A0C4(void) } } -void sub_807A19C(u8 a0) +static void sub_807A19C(u8 a0) { FillWindowPixelBuffer(0, 0x11); AddTextPrinterParameterized(0, 1, gUnknown_0832DEBC[a0], 0, 1, TEXT_SPEED_FF, NULL); @@ -2264,7 +3288,7 @@ void sub_807A19C(u8 a0) CopyWindowToVram(0, 3); } -bool8 sub_807A1F0(void) +static bool8 sub_807A1F0(void) { struct SpriteSheet sheet; @@ -2309,12 +3333,12 @@ bool8 sub_807A1F0(void) return FALSE; } -void sub_807A308(const u8 *a0, u8 *a1, u8 unused) +static void sub_807A308(const u8 *a0, u8 *a1, u8 unused) { sub_80C6D80(a0, a1, 0, 0, 6); } -void sub_807A320(u8 who) +static void sub_807A320(u8 who) { int i; @@ -2363,7 +3387,7 @@ void sub_807A320(u8 who) } } -void sub_807A468(u8 who) +static void sub_807A468(u8 who) { u16 i, curHp, maxHp; @@ -2388,7 +3412,7 @@ void sub_807A468(u8 who) } } -void sub_807A53C(void) +static void sub_807A53C(void) { int i, j; @@ -2396,12 +3420,12 @@ void sub_807A53C(void) { for (j = 0; j < gUnknown_0203229C->partyCounts[i]; j++) { - sub_80D32C8(&gSprites[gUnknown_0203229C->unk_28[i][j]], 4 - gUnknown_0203229C->unk_5D[i][j]); + sub_80D32C8(&gSprites[gUnknown_0203229C->partyIcons[i][j]], 4 - gUnknown_0203229C->unk_5D[i][j]); } } } -void sub_807A5B0(void) +static void sub_807A5B0(void) { int i; @@ -2417,7 +3441,7 @@ void sub_807A5B0(void) } } -u32 sub_807A5F4(struct Pokemon *a0, int a1, int a2) +static u32 sub_807A5F4(struct Pokemon *a0, int a1, int a2) { int i, sum; struct LinkPlayer *player; @@ -2618,7 +3642,7 @@ _0807A7B6:\n\ } #endif // NONMATCHING -bool32 sub_807A7BC(u16 a0, u8 a1) +static bool32 sub_807A7BC(u16 a0, u8 a1) { if (a0 == SPECIES_DEOXYS || a0 == SPECIES_MEW) { @@ -2954,7 +3978,7 @@ _0807AA1A:\n\ } #endif // NONMATCHING -void sub_807AA28(struct Sprite *sprite) +static void sub_807AA28(struct Sprite *sprite) { if (++sprite->data[0] == 10) { @@ -2963,7 +3987,7 @@ void sub_807AA28(struct Sprite *sprite) } } -void sub_807AA4C(struct Sprite *sprite) +static void sub_807AA4C(struct Sprite *sprite) { if (!sprite->invisible && ++sprite->data[0] == 10) { @@ -2972,7 +3996,7 @@ void sub_807AA4C(struct Sprite *sprite) } } -void sub_807AA7C(struct Sprite *sprite) +static void sub_807AA7C(struct Sprite *sprite) { if (!sprite->data[1]) { @@ -2985,7 +4009,7 @@ void sub_807AA7C(struct Sprite *sprite) } } -void sub_807AABC(struct Sprite *sprite) +static void sub_807AABC(struct Sprite *sprite) { sprite->data[0]++; sprite->pos2.y++; @@ -2996,7 +4020,7 @@ void sub_807AABC(struct Sprite *sprite) } } -void sub_807AAE0(struct Sprite *sprite) +static void sub_807AAE0(struct Sprite *sprite) { sprite->data[0]++; sprite->pos2.y--; @@ -3007,7 +4031,7 @@ void sub_807AAE0(struct Sprite *sprite) } } -void sub_807AB04(struct Sprite *sprite) +static void sub_807AB04(struct Sprite *sprite) { if (++sprite->data[0] == 15) { @@ -3016,7 +4040,7 @@ void sub_807AB04(struct Sprite *sprite) } } -void sub_807AB28(void) +static void sub_807AB28(void) { struct BgAffineDstData affine; @@ -3031,7 +4055,7 @@ void sub_807AB28(void) SetGpuReg(REG_OFFSET_BG2Y_H, affine.dy >> 16); } -void sub_807ABCC(void) +static void sub_807ABCC(void) { u16 dispcnt; @@ -3050,7 +4074,7 @@ void sub_807ABCC(void) } } -void sub_807AC24(void) +static void sub_807AC24(void) { sub_807ABCC(); LoadOam(); @@ -3058,14 +4082,14 @@ void sub_807AC24(void) TransferPlttBuffer(); } -void sub_807AC3C(void) +static void sub_807AC3C(void) { gUnknown_020322A0->unk_8A = 0; gUnknown_020322A0->unk_88 = 0; gUnknown_020322A0->unk_89 = 0; } -void sub_807AC64(void) +static void sub_807AC64(void) { if (gUnknown_020322A0->unk_88 == gUnknown_020322A0->unk_89) { @@ -3088,7 +4112,7 @@ void sub_807AC64(void) gUnknown_020322A0->unk_89 = gUnknown_020322A0->unk_88; } -u32 sub_807ACDC(void) +static u32 sub_807ACDC(void) { if (gReceivedRemoteLinkPlayers != 0) { @@ -3098,7 +4122,7 @@ u32 sub_807ACDC(void) return 0; } -void sub_807ACFC(u8 a0, u8 a1) +static void sub_807ACFC(u8 a0, u8 a1) { int unk = 0; struct Pokemon *mon = NULL; @@ -3165,7 +4189,7 @@ void sub_807AE50(void) sub_807AC3C(); gMain.state++; gUnknown_020322A0->unk_8C = 0; - gUnknown_020322A0->unk_94 = 0; + gUnknown_020322A0->state = 0; gUnknown_020322A0->isLinkTrade = TRUE; gUnknown_020322A0->unk_D4 = 64; gUnknown_020322A0->unk_D6 = 64; @@ -3182,7 +4206,7 @@ void sub_807AE50(void) gUnknown_020322A0->unk_FA = 1; OpenLink(); gMain.state++; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; } else { @@ -3190,9 +4214,9 @@ void sub_807AE50(void) } break; case 2: - if (++gUnknown_020322A0->unk_64 > 60) + if (++gUnknown_020322A0->timer > 60) { - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; gMain.state++; } break; @@ -3201,7 +4225,7 @@ void sub_807AE50(void) { if (GetLinkPlayerCount_2() >= sub_800AA48()) { - if (++gUnknown_020322A0->unk_64 > 30) + if (++gUnknown_020322A0->timer > 30) { sub_800A620(); gMain.state++; @@ -3292,7 +4316,7 @@ void sub_807B154(void) CopyWindowToVram(0, 3); } -void sub_807B170(void) +static void sub_807B170(void) { SetGpuReg(REG_OFFSET_DISPCNT, 0); ResetBgsAndClearDma3BusyFlags(0); @@ -3315,7 +4339,7 @@ void sub_807B170(void) } // In-game trade init -void sub_807B270(void) +static void sub_807B270(void) { u8 name[11]; @@ -3338,7 +4362,7 @@ void sub_807B270(void) sub_807B170(); gUnknown_020322A0->isLinkTrade = FALSE; gUnknown_020322A0->unk_8C = 0; - gUnknown_020322A0->unk_94 = 0; + gUnknown_020322A0->state = 0; gUnknown_020322A0->unk_D4 = 64; gUnknown_020322A0->unk_D6 = 64; gUnknown_020322A0->unk_D8 = 0; @@ -3347,7 +4371,7 @@ void sub_807B270(void) gUnknown_020322A0->unk_DE = 80; gUnknown_020322A0->unk_E8 = 256; gUnknown_020322A0->unk_EC = 0; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; gMain.state = 5; break; case 5: @@ -3398,7 +4422,7 @@ void sub_807B270(void) UpdatePaletteFade(); } -void sub_807B464(u8 a0) +static void sub_807B464(u8 a0) { struct Pokemon *mon = &gPlayerParty[a0]; @@ -3412,7 +4436,7 @@ void sub_807B464(u8 a0) } } -void sub_807B4C4(void) +static void sub_807B4C4(void) { u8 mpId = GetMultiplayerId(); // Originally in Ruby but commented out @@ -3420,7 +4444,7 @@ void sub_807B4C4(void) EnableNationalPokedex();*/ } -void sub_807B4D0(u8 a0, u8 a1) +static void sub_807B4D0(u8 a0, u8 a1) { u8 friendship; u16 mailId1; @@ -3460,7 +4484,7 @@ void sub_807B4D0(u8 a0, u8 a1) } } -void sub_807B5B8(void) +static void sub_807B5B8(void) { switch (gUnknown_020322A0->unk_93) { @@ -3476,7 +4500,7 @@ void sub_807B5B8(void) } } -void sub_807B60C(void) +static void sub_807B60C(void) { sub_807BBC8(); RunTasks(); @@ -3486,7 +4510,7 @@ void sub_807B60C(void) UpdatePaletteFade(); } -void sub_807B62C(u8 a0) +static void sub_807B62C(u8 a0) { switch (a0) { @@ -3646,7 +4670,7 @@ void sub_807B62C(u8 a0) } } -void sub_807BA94(void) +static void sub_807BA94(void) { LoadSpriteSheet(&gUnknown_08338D70); LoadSpriteSheet(&gUnknown_08338DC0); @@ -3656,7 +4680,7 @@ void sub_807BA94(void) LoadSpritePalette(&gUnknown_08338D80); } -void sub_807BAD8(void) +static void sub_807BAD8(void) { /*Sets the variable strings printed on the *actual trading screen. For use in strings @@ -3685,7 +4709,7 @@ void sub_807BAD8(void) } } -u8 sub_807BBC8(void) +static u8 sub_807BBC8(void) { if (gUnknown_020322A0->unk_FA) { @@ -3697,18 +4721,18 @@ u8 sub_807BBC8(void) } } -bool8 sub_807BBEC(void) +static bool8 sub_807BBEC(void) { u16 evoTarget; - switch (gUnknown_020322A0->unk_94) + switch (gUnknown_020322A0->state) { case 0: gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = -180; gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[0]].y_offset; - gUnknown_020322A0->unk_94++; - gUnknown_020322A0->unk_F4 = GetCurrentMapMusic(); + gUnknown_020322A0->state++; + gUnknown_020322A0->cachedMapMusic = GetCurrentMapMusic(); PlayNewMapMusic(MUS_SHINKA); break; case 1: @@ -3721,7 +4745,7 @@ bool8 sub_807BBEC(void) { gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = 0; gUnknown_020322A0->bg2hofs = 0; - gUnknown_020322A0->unk_94 = 10; + gUnknown_020322A0->state = 10; } break; case 10: @@ -3733,14 +4757,14 @@ bool8 sub_807BBEC(void) PlayCry1(gUnknown_020322A0->tradeSpecies[0], 0); } - gUnknown_020322A0->unk_94 = 11; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->state = 11; + gUnknown_020322A0->timer = 0; break; case 11: - if (++gUnknown_020322A0->unk_64 == 80) + if (++gUnknown_020322A0->timer == 80) { gUnknown_020322A0->unk_D2 = sub_807671C(gUnknown_020322A0->pokePicSpriteIdxs[0], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1); sub_807F1A8(0, gStringVar4, 0); } @@ -3751,7 +4775,7 @@ bool8 sub_807BBEC(void) gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0); gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E5D8; DestroySprite(&gSprites[gUnknown_020322A0->unk_D2]); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 13: @@ -3759,7 +4783,7 @@ bool8 sub_807BBEC(void) break; case 14: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->unk_94 = 20; + gUnknown_020322A0->state = 20; break; case 20: if (!gPaletteFade.active) @@ -3767,17 +4791,17 @@ bool8 sub_807BBEC(void) sub_807B62C(4); FillWindowPixelBuffer(0, 0xFF); CopyWindowToVram(0, 3); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 21: BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 22: if (!gPaletteFade.active) { - gUnknown_020322A0->unk_94 = 23; + gUnknown_020322A0->state = 23; } break; case 23: @@ -3789,17 +4813,17 @@ bool8 sub_807BBEC(void) { sub_807B62C(1); gUnknown_020322A0->unk_EA = 0x80; - gUnknown_020322A0->unk_94++; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->state++; + gUnknown_020322A0->timer = 0; } gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; break; case 24: - if (++gUnknown_020322A0->unk_64 > 20) + if (++gUnknown_020322A0->timer > 20) { sub_807AB28(); gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 25: @@ -3810,13 +4834,13 @@ bool8 sub_807BBEC(void) BLDCNT_TGT2_BG1 | BLDCNT_TGT2_BG2); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(12, 4)); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 26: if (--gUnknown_020322A0->bg1vofs == 316) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } if (gUnknown_020322A0->bg1vofs == 328) { @@ -3827,12 +4851,12 @@ bool8 sub_807BBEC(void) gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 128, 80, 3); gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 128, 80, 0); StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 28: if ((gUnknown_020322A0->bg1vofs -= 2) == 166) { - gUnknown_020322A0->unk_94 = 200; + gUnknown_020322A0->state = 200; } SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | @@ -3844,12 +4868,12 @@ bool8 sub_807BBEC(void) gSprites[gUnknown_020322A0->unk_91].pos1.y -= 2; if (gSprites[gUnknown_020322A0->unk_90].pos1.y < -8) { - gUnknown_020322A0->unk_94 = 29; + gUnknown_020322A0->state = 29; } break; case 29: BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); - gUnknown_020322A0->unk_94 = 30; + gUnknown_020322A0->state = 30; break; case 30: if (!gPaletteFade.active) @@ -3857,20 +4881,20 @@ bool8 sub_807BBEC(void) DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); sub_807B62C(2); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 31: BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); gUnknown_020322A0->unk_90 = CreateSprite(&gSpriteTemplate_8338DC8, 111, 170, 0); gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 129, -10, 0); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 32: if (!gPaletteFade.active) { PlaySE(SE_TK_WARPOUT); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; @@ -3882,20 +4906,20 @@ bool8 sub_807BBEC(void) { gSprites[gUnknown_020322A0->unk_90].data[1] = 1; gSprites[gUnknown_020322A0->unk_91].data[1] = 1; - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 34: BlendPalettes(0x1, 16, RGB_WHITEALPHA); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 35: BlendPalettes(0x1, 0, RGB_WHITEALPHA); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 36: BlendPalettes(0x1, 16, RGB_WHITEALPHA); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 37: if (!IsMonSpriteNotFlipped(gUnknown_020322A0->tradeSpecies[0])) @@ -3916,7 +4940,7 @@ bool8 sub_807BBEC(void) gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = -32; gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = FALSE; - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 38: gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y -= 3; @@ -3929,7 +4953,7 @@ bool8 sub_807BBEC(void) { gSprites[gUnknown_020322A0->unk_90].data[1] = 0; gSprites[gUnknown_020322A0->unk_91].data[1] = 0; - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = TRUE; gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = TRUE; BlendPalettes(0x1, 0, RGB_WHITEALPHA); @@ -3941,7 +4965,7 @@ bool8 sub_807BBEC(void) if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -222) { BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); } @@ -3949,7 +4973,7 @@ bool8 sub_807BBEC(void) case 40: if (!gPaletteFade.active) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; sub_807B62C(1); gUnknown_020322A0->bg1vofs = 166; gUnknown_020322A0->unk_90 = CreateSprite(&gUnknown_08338D88, 128, -20, 3); @@ -3959,7 +4983,7 @@ bool8 sub_807BBEC(void) break; case 41: BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 42: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | @@ -3968,7 +4992,7 @@ bool8 sub_807BBEC(void) DISPCNT_OBJ_ON); if (!gPaletteFade.active) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 43: @@ -3976,33 +5000,33 @@ bool8 sub_807BBEC(void) gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; if (gSprites[gUnknown_020322A0->unk_90].pos2.y + gSprites[gUnknown_020322A0->unk_90].pos1.y == 64) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 44: if ((gUnknown_020322A0->bg1vofs += 2) > 316) { gUnknown_020322A0->bg1vofs = 316; - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 45: DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - gUnknown_020322A0->unk_94++; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->state++; + gUnknown_020322A0->timer = 0; break; case 46: - if (++gUnknown_020322A0->unk_64 == 10) + if (++gUnknown_020322A0->timer == 10) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 47: if (++gUnknown_020322A0->bg1vofs > 348) { gUnknown_020322A0->bg1vofs = 348; - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } if (gUnknown_020322A0->bg1vofs == 328 && gUnknown_020322A0->unk_FA) { @@ -4012,14 +5036,14 @@ bool8 sub_807BBEC(void) break; case 48: gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); - gUnknown_020322A0->unk_94 = 50; + gUnknown_020322A0->state = 50; break; case 50: if (gSprites[gUnknown_020322A0->unk_91].animEnded) { DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); sub_807B62C(6); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; PlaySE(SE_W028); } break; @@ -4031,13 +5055,13 @@ bool8 sub_807BBEC(void) else { gUnknown_020322A0->unk_EA = 0x400; - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; break; case 52: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->unk_94 = 60; + gUnknown_020322A0->state = 60; break; case 60: @@ -4046,13 +5070,13 @@ bool8 sub_807BBEC(void) sub_807B62C(5); sub_807B62C(7); gPaletteFade.bufferTransferDisabled = TRUE; - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 61: gPaletteFade.bufferTransferDisabled = FALSE; BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 62: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | @@ -4061,7 +5085,7 @@ bool8 sub_807BBEC(void) DISPCNT_OBJ_ON); if (!gPaletteFade.active) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 63: @@ -4071,18 +5095,18 @@ bool8 sub_807BBEC(void) StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_D3], 1); StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->unk_D3], 2); BlendPalettes(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA); - gUnknown_020322A0->unk_94++; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->state++; + gUnknown_020322A0->timer = 0; break; case 64: BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 65: if (gSprites[gUnknown_020322A0->unk_D3].callback == SpriteCallbackDummy) { HandleLoadSpecialPokePic_2(&gMonFrontPicTable[gUnknown_020322A0->tradeSpecies[1]], gMonSpritesGfxPtr->sprites[3], gUnknown_020322A0->tradeSpecies[1], gUnknown_020322A0->unk_68[1]); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 66: @@ -4094,7 +5118,7 @@ bool8 sub_807BBEC(void) CreatePokeballSpriteToReleaseMon(gUnknown_020322A0->pokePicSpriteIdxs[1], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, gUnknown_020322A0->tradeSpecies[1]); FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->unk_D3]); DestroySprite(&gSprites[gUnknown_020322A0->unk_D3]); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 67: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | @@ -4104,45 +5128,45 @@ bool8 sub_807BBEC(void) DISPCNT_OBJ_ON); StringExpandPlaceholders(gStringVar4, gText_XSentOverY); sub_807F1A8(0, gStringVar4, 0); - gUnknown_020322A0->unk_94 = 167; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->state = 167; + gUnknown_020322A0->timer = 0; break; // 167 and 267 are extra cases added in for animations case 167: - if (++gUnknown_020322A0->unk_64 > 60) + if (++gUnknown_020322A0->timer > 60) { - gUnknown_020322A0->unk_94 = 267; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->state = 267; + gUnknown_020322A0->timer = 0; } break; case 267: if (IsCryFinished()) { - gUnknown_020322A0->unk_94 = 68; + gUnknown_020322A0->state = 68; } break; case 68: - if (++gUnknown_020322A0->unk_64 == 10) + if (++gUnknown_020322A0->timer == 10) { PlayFanfare(MUS_FANFA5); } - if (gUnknown_020322A0->unk_64 == 250) + if (gUnknown_020322A0->timer == 250) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX); sub_807F1A8(0, gStringVar4, 0); - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; } break; case 69: - if (++gUnknown_020322A0->unk_64 == 60) + if (++gUnknown_020322A0->timer == 60) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 70: sub_807F14C(); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 71: if (gUnknown_020322A0->isLinkTrade) @@ -4151,7 +5175,7 @@ bool8 sub_807BBEC(void) } else if (gMain.newKeys & A_BUTTON) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 72: // Only if in-game trade @@ -4162,16 +5186,16 @@ bool8 sub_807BBEC(void) { TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]); } - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 73: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 74: if (!gPaletteFade.active) { - PlayNewMapMusic(gUnknown_020322A0->unk_F4); + PlayNewMapMusic(gUnknown_020322A0->cachedMapMusic); if (gUnknown_020322A0) { FreeAllWindowBuffers(); @@ -4189,18 +5213,18 @@ bool8 sub_807BBEC(void) return FALSE; } -bool8 sub_807CFC8(void) +static bool8 sub_807CFC8(void) { u16 evoTarget; - switch (gUnknown_020322A0->unk_94) + switch (gUnknown_020322A0->state) { case 0: gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = -180; gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y = gMonFrontPicCoords[gUnknown_020322A0->tradeSpecies[0]].y_offset; - gUnknown_020322A0->unk_94++; - gUnknown_020322A0->unk_F4 = GetCurrentMapMusic(); + gUnknown_020322A0->state++; + gUnknown_020322A0->cachedMapMusic = GetCurrentMapMusic(); PlayNewMapMusic(MUS_SHINKA); break; case 1: @@ -4213,7 +5237,7 @@ bool8 sub_807CFC8(void) { gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.x = 0; gUnknown_020322A0->bg2hofs = 0; - gUnknown_020322A0->unk_94 = 10; + gUnknown_020322A0->state = 10; } break; case 10: @@ -4225,14 +5249,14 @@ bool8 sub_807CFC8(void) PlayCry1(gUnknown_020322A0->tradeSpecies[0], 0); } - gUnknown_020322A0->unk_94 = 11; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->state = 11; + gUnknown_020322A0->timer = 0; break; case 11: - if (++gUnknown_020322A0->unk_64 == 80) + if (++gUnknown_020322A0->timer == 80) { gUnknown_020322A0->unk_D2 = sub_807671C(gUnknown_020322A0->pokePicSpriteIdxs[0], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].oam.paletteNum, 120, 32, 2, 1, 0x14, 0xfffff); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; StringExpandPlaceholders(gStringVar4, gText_ByeByeVar1); sub_807F1A8(0, gStringVar4, 0); } @@ -4243,7 +5267,7 @@ bool8 sub_807CFC8(void) gUnknown_020322A0->unk_D3 = CreateSprite(&gSpriteTemplate_8338D28, 120, 32, 0); gSprites[gUnknown_020322A0->unk_D3].callback = sub_807E5D8; DestroySprite(&gSprites[gUnknown_020322A0->unk_D2]); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 13: @@ -4251,7 +5275,7 @@ bool8 sub_807CFC8(void) break; case 14: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->unk_94 = 20; + gUnknown_020322A0->state = 20; break; case 20: if (!gPaletteFade.active) @@ -4259,17 +5283,17 @@ bool8 sub_807CFC8(void) sub_807B62C(4); FillWindowPixelBuffer(0, 0xFF); CopyWindowToVram(0, 3); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 21: BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 22: if (!gPaletteFade.active) { - gUnknown_020322A0->unk_94 = 23; + gUnknown_020322A0->state = 23; } break; case 23: @@ -4281,17 +5305,17 @@ bool8 sub_807CFC8(void) { sub_807B62C(1); gUnknown_020322A0->unk_EA = 0x80; - gUnknown_020322A0->unk_94 = 124; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->state = 124; + gUnknown_020322A0->timer = 0; } gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; break; case 124: - if (++gUnknown_020322A0->unk_64 > 20) + if (++gUnknown_020322A0->timer > 20) { sub_807B62C(3); gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E8C, 120, 80, 0); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 125: @@ -4304,19 +5328,19 @@ bool8 sub_807CFC8(void) BLDCNT_TGT2_BG2); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(16, 4)); CreateTask(c3_08054588, 5); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 126: if (!FuncIsActiveTask(c3_08054588)) { - gUnknown_020322A0->unk_94 = 26; + gUnknown_020322A0->state = 26; } break; case 26: if (--gUnknown_020322A0->bg1vofs == 316) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 27: @@ -4324,12 +5348,12 @@ bool8 sub_807CFC8(void) gSprites[gUnknown_020322A0->unk_90].callback = sub_807AA4C; gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 120, 80, 0); StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_91], 1); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 28: if ((gUnknown_020322A0->bg1vofs -= 3) == 166) { - gUnknown_020322A0->unk_94 = 200; + gUnknown_020322A0->state = 200; } SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_1 | DISPCNT_OBJ_1D_MAP | @@ -4341,12 +5365,12 @@ bool8 sub_807CFC8(void) gSprites[gUnknown_020322A0->unk_91].pos1.y -= 2; if (gSprites[gUnknown_020322A0->unk_90].pos1.y < -8) { - gUnknown_020322A0->unk_94 = 29; + gUnknown_020322A0->state = 29; } break; case 29: BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); - gUnknown_020322A0->unk_94 = 30; + gUnknown_020322A0->state = 30; break; case 30: if (!gPaletteFade.active) @@ -4354,20 +5378,20 @@ bool8 sub_807CFC8(void) DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); sub_807B62C(2); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 31: BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); gUnknown_020322A0->unk_90 = CreateSprite(&gSpriteTemplate_8338DC8, 111, 170, 0); gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338DC8, 129, -10, 0); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 32: if (!gPaletteFade.active) { PlaySE(SE_TK_WARPOUT); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } gSprites[gUnknown_020322A0->unk_90].pos2.y -= 3; gSprites[gUnknown_020322A0->unk_91].pos2.y += 3; @@ -4379,21 +5403,21 @@ bool8 sub_807CFC8(void) { gSprites[gUnknown_020322A0->unk_90].data[1] = 1; gSprites[gUnknown_020322A0->unk_91].data[1] = 1; - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; CreateTask(c3_0805465C, 5); } break; case 34: BlendPalettes(0x8, 16, RGB_WHITEALPHA); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 35: BlendPalettes(0x8, 16, RGB_WHITEALPHA); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 36: BlendPalettes(0x8, 16, RGB_WHITEALPHA); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 37: if (!IsMonSpriteNotFlipped(gUnknown_020322A0->tradeSpecies[0])) @@ -4414,7 +5438,7 @@ bool8 sub_807CFC8(void) gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].pos1.y = -32; gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = FALSE; gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = FALSE; - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 38: gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].pos2.y -= 3; @@ -4427,7 +5451,7 @@ bool8 sub_807CFC8(void) { gSprites[gUnknown_020322A0->unk_90].data[1] = 0; gSprites[gUnknown_020322A0->unk_91].data[1] = 0; - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; gSprites[gUnknown_020322A0->pokePicSpriteIdxs[0]].invisible = TRUE; gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].invisible = TRUE; CreateTask(sub_807F39C, 5); @@ -4439,7 +5463,7 @@ bool8 sub_807CFC8(void) if (gSprites[gUnknown_020322A0->unk_90].pos2.y <= -222) { BeginNormalPaletteFade(0xFFFFFFFF, -1, 0, 16, RGB_BLACK); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); } @@ -4447,7 +5471,7 @@ bool8 sub_807CFC8(void) case 40: if (!gPaletteFade.active) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; sub_807B62C(1); gUnknown_020322A0->bg1vofs = 166; sub_807B62C(3); @@ -4460,7 +5484,7 @@ bool8 sub_807CFC8(void) break; case 41: BeginNormalPaletteFade(0xFFFFFFFF, -1, 16, 0, RGB_BLACK); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 42: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | @@ -4469,7 +5493,7 @@ bool8 sub_807CFC8(void) DISPCNT_OBJ_ON); if (!gPaletteFade.active) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 43: @@ -4477,8 +5501,8 @@ bool8 sub_807CFC8(void) gSprites[gUnknown_020322A0->unk_91].pos2.y += 4; if (gSprites[gUnknown_020322A0->unk_90].pos2.y + gSprites[gUnknown_020322A0->unk_90].pos1.y == 64) { - gUnknown_020322A0->unk_94 = 144; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->state = 144; + gUnknown_020322A0->timer = 0; } break; case 144: @@ -4489,7 +5513,7 @@ bool8 sub_807CFC8(void) DISPCNT_OBJ_ON); gUnknown_020322A0->bg1vofs += 3; gUnknown_020322A0->bg2vofs += 3; - if (++gUnknown_020322A0->unk_64 == 10) + if (++gUnknown_020322A0->timer == 10) { u8 taskId = CreateTask(c3_08054588, 5); gTasks[taskId].data[2] = 1; @@ -4497,45 +5521,45 @@ bool8 sub_807CFC8(void) if (gUnknown_020322A0->bg1vofs > 316) { gUnknown_020322A0->bg1vofs = 316; - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 145: DestroySprite(&gSprites[gUnknown_020322A0->unk_90]); DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); - gUnknown_020322A0->unk_94++; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->state++; + gUnknown_020322A0->timer = 0; break; case 146: if (!FuncIsActiveTask(c3_08054588)) { - gUnknown_020322A0->unk_94 = 46; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->state = 46; + gUnknown_020322A0->timer = 0; } break; case 46: - if (++gUnknown_020322A0->unk_64 == 10) + if (++gUnknown_020322A0->timer == 10) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 47: if (++gUnknown_020322A0->bg1vofs > 348) { gUnknown_020322A0->bg1vofs = 348; - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 48: gUnknown_020322A0->unk_91 = CreateSprite(&gSpriteTemplate_8338E74, 120, 80, 0); - gUnknown_020322A0->unk_94 = 50; + gUnknown_020322A0->state = 50; break; case 50: if (gSprites[gUnknown_020322A0->unk_91].animEnded) { DestroySprite(&gSprites[gUnknown_020322A0->unk_91]); sub_807B62C(6); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; PlaySE(SE_W028); } break; @@ -4547,13 +5571,13 @@ bool8 sub_807CFC8(void) else { gUnknown_020322A0->unk_EA = 0x400; - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } gUnknown_020322A0->unk_E8 = 0x8000 / gUnknown_020322A0->unk_EA; break; case 52: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->unk_94 = 60; + gUnknown_020322A0->state = 60; break; case 60: if (!gPaletteFade.active) @@ -4561,13 +5585,13 @@ bool8 sub_807CFC8(void) sub_807B62C(5); sub_807B62C(7); gPaletteFade.bufferTransferDisabled = TRUE; - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 61: gPaletteFade.bufferTransferDisabled = FALSE; BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 62: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | @@ -4576,7 +5600,7 @@ bool8 sub_807CFC8(void) DISPCNT_OBJ_ON); if (!gPaletteFade.active) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 63: @@ -4586,18 +5610,18 @@ bool8 sub_807CFC8(void) StartSpriteAnim(&gSprites[gUnknown_020322A0->unk_D3], 1); StartSpriteAffineAnim(&gSprites[gUnknown_020322A0->unk_D3], 2); BlendPalettes(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 16, RGB_WHITEALPHA); - gUnknown_020322A0->unk_94++; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->state++; + gUnknown_020322A0->timer = 0; break; case 64: BeginNormalPaletteFade(1 << (16 + gSprites[gUnknown_020322A0->unk_D3].oam.paletteNum), 1, 16, 0, RGB_WHITEALPHA); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 65: if (gSprites[gUnknown_020322A0->unk_D3].callback == SpriteCallbackDummy) { HandleLoadSpecialPokePic_2(&gMonFrontPicTable[gUnknown_020322A0->tradeSpecies[1]], gMonSpritesGfxPtr->sprites[3], gUnknown_020322A0->tradeSpecies[1], gUnknown_020322A0->unk_68[1]); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 66: @@ -4609,7 +5633,7 @@ bool8 sub_807CFC8(void) CreatePokeballSpriteToReleaseMon(gUnknown_020322A0->pokePicSpriteIdxs[1], gSprites[gUnknown_020322A0->pokePicSpriteIdxs[1]].oam.paletteNum, 120, 84, 2, 1, 20, 0xFFFFF, gUnknown_020322A0->tradeSpecies[1]); FreeSpriteOamMatrix(&gSprites[gUnknown_020322A0->unk_D3]); DestroySprite(&gSprites[gUnknown_020322A0->unk_D3]); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 67: SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_MODE_0 | @@ -4619,45 +5643,45 @@ bool8 sub_807CFC8(void) DISPCNT_OBJ_ON); StringExpandPlaceholders(gStringVar4, gText_XSentOverY); sub_807F1A8(0, gStringVar4, 0); - gUnknown_020322A0->unk_94 = 167; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->state = 167; + gUnknown_020322A0->timer = 0; break; // 167 and 267 are extra cases added in for animations case 167: - if (++gUnknown_020322A0->unk_64 > 60) + if (++gUnknown_020322A0->timer > 60) { - gUnknown_020322A0->unk_94 = 267; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->state = 267; + gUnknown_020322A0->timer = 0; } break; case 267: if (IsCryFinished()) { - gUnknown_020322A0->unk_94 = 68; + gUnknown_020322A0->state = 68; } break; case 68: - if (++gUnknown_020322A0->unk_64 == 10) + if (++gUnknown_020322A0->timer == 10) { PlayFanfare(MUS_FANFA5); } - if (gUnknown_020322A0->unk_64 == 250) + if (gUnknown_020322A0->timer == 250) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; StringExpandPlaceholders(gStringVar4, gText_TakeGoodCareOfX); sub_807F1A8(0, gStringVar4, 0); - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; } break; case 69: - if (++gUnknown_020322A0->unk_64 == 60) + if (++gUnknown_020322A0->timer == 60) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 70: sub_807F14C(); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 71: if (gUnknown_020322A0->isLinkTrade) @@ -4666,7 +5690,7 @@ bool8 sub_807CFC8(void) } else if (gMain.newKeys & A_BUTTON) { - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; } break; case 72: // Only if in-game trade @@ -4677,16 +5701,16 @@ bool8 sub_807CFC8(void) { TradeEvolutionScene(&gPlayerParty[gUnknown_02032298[0]], evoTarget, gUnknown_020322A0->pokePicSpriteIdxs[1], gUnknown_02032298[0]); } - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 73: BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); - gUnknown_020322A0->unk_94++; + gUnknown_020322A0->state++; break; case 74: if (!gPaletteFade.active) { - PlayNewMapMusic(gUnknown_020322A0->unk_F4); + PlayNewMapMusic(gUnknown_020322A0->cachedMapMusic); if (gUnknown_020322A0) { FreeAllWindowBuffers(); @@ -4704,7 +5728,7 @@ bool8 sub_807CFC8(void) return FALSE; } -void c2_08053788(void) +static void c2_08053788(void) { u16 evoTarget; switch (gMain.state) @@ -4732,7 +5756,7 @@ void c2_08053788(void) UpdatePaletteFade(); } -void sub_807E4DC(void) +static void sub_807E4DC(void) { u8 blockReceivedStatus; sub_807ACDC(); @@ -4759,7 +5783,7 @@ void sub_807E4DC(void) } } -void sub_807E55C(struct Sprite *sprite) +static void sub_807E55C(struct Sprite *sprite) { sprite->pos1.y += sprite->data[0] / 10; sprite->data[5] += sprite->data[1]; @@ -4780,7 +5804,7 @@ void sub_807E55C(struct Sprite *sprite) } } -void sub_807E5D8(struct Sprite *sprite) +static void sub_807E5D8(struct Sprite *sprite) { sprite->pos2.y += gTradeBallVerticalVelocityTable[sprite->data[0]]; if (sprite->data[0] == 22) @@ -4794,7 +5818,7 @@ void sub_807E5D8(struct Sprite *sprite) } } -void sub_807E64C(struct Sprite *sprite) +static void sub_807E64C(struct Sprite *sprite) { if (sprite->data[1] == 20) StartSpriteAffineAnim(sprite, 1); @@ -4804,12 +5828,12 @@ void sub_807E64C(struct Sprite *sprite) if (++ sprite->data[0] == 23) { DestroySprite(sprite); - gUnknown_020322A0->unk_94 = 14; // Resume the master trade animation + gUnknown_020322A0->state = 14; // Resume the master trade animation } } } -void sub_807E6AC(struct Sprite *sprite) +static void sub_807E6AC(struct Sprite *sprite) { if (sprite->data[2] == 0) { @@ -4842,7 +5866,7 @@ u16 GetInGameTradeSpeciesInfo(void) return inGameTrade->playerSpecies; } -void sub_807E784(void) +static void sub_807E784(void) { u8 nickname[32]; const struct InGameTrade *inGameTrade = &gIngameTrades[gSpecialVar_0x8004]; @@ -4851,7 +5875,7 @@ void sub_807E784(void) StringCopy(gStringVar2, gSpeciesNames[inGameTrade->species]); } -void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade) +static void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade) { const struct InGameTrade *inGameTrade = &gIngameTrades[whichInGameTrade]; u8 level = GetMonData(&gPlayerParty[whichPlayerMon], MON_DATA_LEVEL); @@ -4899,7 +5923,7 @@ void _CreateInGameTradePokemon(u8 whichPlayerMon, u8 whichInGameTrade) CalculateMonStats(&gEnemyParty[0]); } -void sub_807E974(struct MailStruct *mail, const struct InGameTrade *trade) { +static void sub_807E974(struct MailStruct *mail, const struct InGameTrade *trade) { s32 i; for (i = 0; i < 9; i++) @@ -4930,7 +5954,7 @@ void CreateInGameTradePokemon(void) _CreateInGameTradePokemon(gSpecialVar_0x8005, gSpecialVar_0x8004); } -void sub_807EA2C(void) +static void sub_807EA2C(void) { if (sub_807BBC8() == TRUE) { @@ -4953,7 +5977,7 @@ void sub_807EA2C(void) UpdatePaletteFade(); } -void sub_807EACC(void) +static void sub_807EACC(void) { u8 mpId = sub_807ACDC(); if (sub_8077260()) @@ -4977,7 +6001,7 @@ void sub_807EACC(void) UpdatePaletteFade(); } -void sub_807EB50(void) +static void sub_807EB50(void) { switch (gMain.state) { @@ -4989,13 +6013,13 @@ void sub_807EB50(void) case 1: sub_8077288(0); gMain.state = 100; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; break; case 100: - if (++gUnknown_020322A0->unk_64 > 180) + if (++gUnknown_020322A0->timer > 180) { gMain.state = 101; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; } if (IsLinkTaskFinished()) { @@ -5023,10 +6047,10 @@ void sub_807EB50(void) sub_8076D5C(); sub_8153380(); gMain.state++; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; break; case 51: - if (++gUnknown_020322A0->unk_64 == 5) + if (++gUnknown_020322A0->timer == 5) { gMain.state++; } @@ -5039,38 +6063,38 @@ void sub_807EB50(void) } else { - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; gMain.state = 51; } break; case 4: sub_81533E0(); gMain.state = 40; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; break; case 40: - if (++gUnknown_020322A0->unk_64 > 50) + if (++gUnknown_020322A0->timer > 50) { if (GetMultiplayerId() == 0) { - gUnknown_020322A0->unk_64 = Random() % 30; + gUnknown_020322A0->timer = Random() % 30; } else { - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; } gMain.state = 41; } break; case 41: - if (gUnknown_020322A0->unk_64 == 0) + if (gUnknown_020322A0->timer == 0) { sub_8077288(1); gMain.state = 42; } else { - gUnknown_020322A0->unk_64--; + gUnknown_020322A0->timer--; } break; case 42: @@ -5081,7 +6105,7 @@ void sub_807EB50(void) } break; case 5: - if (++gUnknown_020322A0->unk_64 > 60) + if (++gUnknown_020322A0->timer > 60) { gMain.state++; sub_8077288(2); @@ -5140,7 +6164,7 @@ void sub_807EB50(void) UpdatePaletteFade(); } -void c2_080543C4(void) +static void c2_080543C4(void) { if (!gPaletteFade.active) { @@ -5167,7 +6191,7 @@ void DoInGameTradeScene(void) BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); } -void sub_807F110(u8 taskId) +static void sub_807F110(u8 taskId) { if (!gPaletteFade.active) { @@ -5177,7 +6201,7 @@ void sub_807F110(u8 taskId) } } -void sub_807F14C(void) +static void sub_807F14C(void) { u8 i; u8 numRibbons = 0; @@ -5204,7 +6228,7 @@ void sub_807F1A8(u8 windowId, const u8 *str, u8 speed) CopyWindowToVram(windowId, 3); } -void c3_08054588(u8 taskId) +static void c3_08054588(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -5243,7 +6267,7 @@ void c3_08054588(u8 taskId) } } -void c3_0805465C(u8 taskId) +static void c3_0805465C(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -5272,7 +6296,7 @@ void c3_0805465C(u8 taskId) } } -void sub_807F39C(u8 taskId) +static void sub_807F39C(u8 taskId) { s16 *data = gTasks[taskId].data; @@ -5305,7 +6329,7 @@ void sub_807F39C(u8 taskId) } } -void sub_807F464(void) +static void sub_807F464(void) { switch (gMain.state) { @@ -5317,7 +6341,7 @@ void sub_807F464(void) case 1: sub_8077288(0); gMain.state = 2; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; break; case 2: if (IsLinkTaskFinished()) @@ -5327,11 +6351,11 @@ void sub_807F464(void) sub_807F1A8(0, gStringVar4, 0); IncrementGameStat(GAME_STAT_POKEMON_TRADES); sub_8153380(); - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; } break; case 3: - if (++gUnknown_020322A0->unk_64 == 5) + if (++gUnknown_020322A0->timer == 5) { gMain.state = 4; } @@ -5343,38 +6367,38 @@ void sub_807F464(void) } else { - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; gMain.state = 3; } break; case 5: sub_81533E0(); gMain.state = 6; - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; break; case 6: - if (++gUnknown_020322A0->unk_64 > 10) + if (++gUnknown_020322A0->timer > 10) { if (GetMultiplayerId() == 0) { - gUnknown_020322A0->unk_64 = Random() % 30; + gUnknown_020322A0->timer = Random() % 30; } else { - gUnknown_020322A0->unk_64 = 0; + gUnknown_020322A0->timer = 0; } gMain.state = 7; } break; case 7: - if (gUnknown_020322A0->unk_64 == 0) + if (gUnknown_020322A0->timer == 0) { sub_8077288(1); gMain.state = 8; } else { - gUnknown_020322A0->unk_64--; + gUnknown_020322A0->timer--; } break; case 8: @@ -5385,7 +6409,7 @@ void sub_807F464(void) } break; case 9: - if (++gUnknown_020322A0->unk_64 > 60) + if (++gUnknown_020322A0->timer > 60) { gMain.state++; sub_8077288(2); diff --git a/sym_ewram.txt b/sym_ewram.txt index f99dd1ab38..afda52889a 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -111,25 +111,7 @@ gUnknown_02022D00: @ 2022D00 .include "src/random.o" .include "src/daycare.o" .include "src/load_save.o" - -gUnknown_02032184: @ 2032184 - .space 0x4 - -gUnknown_02032188: @ 2032188 - .space 0x38 - -gUnknown_020321C0: @ 20321C0 - .space 0xD8 - -gUnknown_02032298: @ 2032298 - .space 0x4 - -gUnknown_0203229C: @ 203229C - .space 0x4 - -gUnknown_020322A0: @ 20322A0 - .space 0x4 - + .include "src/trade.o" .include "src/berry_blender.o" .include "src/new_game.o" .include "src/overworld.o" @@ -138,11 +120,6 @@ gUnknown_020322A0: @ 20322A0 .include "src/field_player_avatar.o" .include "src/event_object_movement.o" .include "src/field_message_box.o" - - .align 2 -gUnknown_020375C0: @ 20375C0 - .space 0x4 - .include "src/scrcmd.o" .include "src/field_control_avatar.o" .include "src/event_data.o" @@ -152,7 +129,7 @@ gUnknown_020375C0: @ 20375C0 .include "src/sound.o" .include "src/battle_anim.o" .include "src/battle_anim_80A5C6C.o" - + .space 0xC .include "src/field_weather.o" .include "src/field_weather_effect.o" From ec780bb2098be75e591b212e85947f88c91d4e37 Mon Sep 17 00:00:00 2001 From: Diegoisawesome Date: Mon, 31 Dec 2018 02:22:21 -0600 Subject: [PATCH 48/53] Cleanup and documentation --- asm/contest_link_80F57C4.s | 8 +- asm/contest_link_80FC4F4.s | 36 +- asm/contest_link_81D9DE4.s | 10 +- asm/rom_8011DC0.s | 82 ++--- include/link.h | 2 +- src/battle_controller_player.c | 4 +- src/battle_controllers.c | 2 +- src/battle_main.c | 46 +-- src/battle_tower.c | 4 +- src/berry_blender.c | 16 +- src/cable_club.c | 4 +- src/contest.c | 4 +- src/field_screen_effect.c | 4 +- src/field_specials.c | 8 +- src/link.c | 2 +- src/link_rfu.c | 4 +- src/record_mixing.c | 2 +- src/rom_8011DC0.c | 12 +- src/save.c | 8 +- src/script_pokemon_util_80F87D8.c | 4 +- src/trade.c | 560 +++++++++++++----------------- 21 files changed, 382 insertions(+), 440 deletions(-) diff --git a/asm/contest_link_80F57C4.s b/asm/contest_link_80F57C4.s index b869adf1ba..21dffa7ef5 100644 --- a/asm/contest_link_80F57C4.s +++ b/asm/contest_link_80F57C4.s @@ -606,7 +606,7 @@ _080F5DE0: movs r0, 0x64 b _080F5E2C _080F5DF4: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080F5EBA @@ -616,7 +616,7 @@ _080F5DF4: strh r0, [r4, 0x8] b _080F5EBA _080F5E0A: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -741,7 +741,7 @@ sub_80F5F30: @ 80F5F30 push {r4,lr} lsls r0, 24 lsrs r4, r0, 24 - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080F5F60 @@ -5564,7 +5564,7 @@ sub_80F8714: @ 80F8714 ldrh r0, [r0] cmp r0, 0x1 bne _080F8748 - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080F877E diff --git a/asm/contest_link_80FC4F4.s b/asm/contest_link_80FC4F4.s index 5934c3623f..33207e246e 100644 --- a/asm/contest_link_80FC4F4.s +++ b/asm/contest_link_80FC4F4.s @@ -213,7 +213,7 @@ sub_80FC670: @ 80FC670 beq _080FC6A0 cmp r0, 0x1 beq _080FC6AE - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -223,7 +223,7 @@ _080FC698: b _080FC6B6 .pool _080FC6A0: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FC6B4 @@ -280,7 +280,7 @@ _080FC6FE: lsls r0, 24 cmp r0, 0 bne _080FC738 - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FC7F4 @@ -412,7 +412,7 @@ _080FC830: lsls r0, 24 cmp r0, 0 bne _080FC87A - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FC880 @@ -494,7 +494,7 @@ _080FC8DE: lsls r0, 24 cmp r0, 0 bne _080FC904 - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FC986 @@ -599,7 +599,7 @@ sub_80FC998: @ 80FC998 b _080FC9F0 .pool _080FC9C4: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FC9F0 @@ -653,7 +653,7 @@ sub_80FC9F8: @ 80FC9F8 b _080FCAB2 .pool _080FCA30: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FCAB2 @@ -763,7 +763,7 @@ _080FCAFC: .4byte _080FCC38 .4byte _080FCB6C _080FCB2C: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _080FCB38 @@ -810,7 +810,7 @@ _080FCB84: strh r0, [r2, 0x8] b _080FCC82 _080FCB90: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FCC82 @@ -833,7 +833,7 @@ _080FCBA4: b _080FCC50 .pool _080FCBCC: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FCC82 @@ -856,7 +856,7 @@ _080FCBE0: b _080FCC50 .pool _080FCC08: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FCC82 @@ -949,7 +949,7 @@ _080FCCB8: .4byte _080FCDF8 .4byte _080FCD30 _080FCCE8: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _080FCCF4 @@ -1000,7 +1000,7 @@ _080FCD48: strh r0, [r2, 0x8] b _080FCE42 _080FCD54: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FCE42 @@ -1027,7 +1027,7 @@ _080FCD6C: b _080FCE10 .pool _080FCD98: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FCE42 @@ -1047,7 +1047,7 @@ _080FCDB0: b _080FCE04 .pool _080FCDC8: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FCE42 @@ -1149,7 +1149,7 @@ _080FCE92: lsls r0, 24 cmp r0, 0 bne _080FCEB8 - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FCF2E @@ -1258,7 +1258,7 @@ sub_80FCF40: @ 80FCF40 b _080FCFBE .pool _080FCF80: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FCFBE @@ -1324,7 +1324,7 @@ sub_80FCFD0: @ 80FCFD0 b _080FD04E .pool _080FD010: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080FD04E diff --git a/asm/contest_link_81D9DE4.s b/asm/contest_link_81D9DE4.s index 3969be9a23..5a3393374b 100644 --- a/asm/contest_link_81D9DE4.s +++ b/asm/contest_link_81D9DE4.s @@ -434,7 +434,7 @@ sub_81DA160: @ 81DA160 b _081DA224 .pool _081DA1A4: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _081DA224 @@ -536,7 +536,7 @@ _081DA284: lsls r0, 24 cmp r0, 0 bne _081DA2CE - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _081DA2D4 @@ -613,7 +613,7 @@ sub_81DA2E8: @ 81DA2E8 b _081DA39E .pool _081DA338: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _081DA39E @@ -716,7 +716,7 @@ sub_81DA3B8: @ 81DA3B8 b _081DA46E .pool _081DA408: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _081DA46E @@ -816,7 +816,7 @@ _081DA4CC: lsls r0, 24 cmp r0, 0 bne _081DA4FA - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _081DA55C diff --git a/asm/rom_8011DC0.s b/asm/rom_8011DC0.s index b90c9701eb..13b7a5f379 100644 --- a/asm/rom_8011DC0.s +++ b/asm/rom_8011DC0.s @@ -8257,7 +8257,7 @@ _0801AF24: b _0801AF8A .pool _0801AF40: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801AFAE @@ -13680,7 +13680,7 @@ _0801DA72: beq _0801DB46 b _0801DB5E _0801DA7C: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801DB5E @@ -13713,7 +13713,7 @@ _0801DA7C: b _0801DB3E .pool _0801DAC8: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801DB5E @@ -13752,7 +13752,7 @@ _0801DB08: strh r0, [r4, 0x10] b _0801DB5E _0801DB1C: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801DB5E @@ -14364,7 +14364,7 @@ _0801DFCE: adds r0, 0x1 strh r0, [r1, 0x6] _0801DFE0: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E028 @@ -14389,7 +14389,7 @@ _0801DFE0: b _0801E028 .pool _0801E018: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E028 @@ -14838,7 +14838,7 @@ _0801E3AC: b _0801E458 .pool _0801E3D4: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E414 @@ -14978,7 +14978,7 @@ _0801E4E8: b _0801E59A .pool _0801E50C: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E5BC @@ -15013,7 +15013,7 @@ _0801E540: b _0801E59A .pool _0801E560: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E5BC @@ -15100,7 +15100,7 @@ _0801E604: lsls r0, 24 cmp r0, 0 bne _0801E662 - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E662 @@ -15212,7 +15212,7 @@ _0801E6F0: lsrs r0, 24 cmp r0, 0x1 beq _0801E75C - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E75C @@ -15304,7 +15304,7 @@ _0801E7AC: adds r0, 0x1 strh r0, [r1, 0x6] _0801E7C0: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 lsrs r0, 24 cmp r0, 0x1 @@ -15348,7 +15348,7 @@ _0801E812: b _0801E830 .pool _0801E820: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0801E830 @@ -20715,7 +20715,7 @@ _08021358: bl sub_8010434 b _0802143E _0802135E: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08021444 @@ -23804,7 +23804,7 @@ _08022CE4: bl sub_8010434 b _08022D06 _08022CEA: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _08022D06 @@ -24016,7 +24016,7 @@ _08022E6C: bl sub_8010434 b _08022E9C _08022E72: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08022EA2 @@ -24148,7 +24148,7 @@ _08022F74: bl sub_8010434 b _08023060 _08022F7A: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08023066 @@ -24170,7 +24170,7 @@ _08022F7A: bl SendBlock b _08023060 _08022FAA: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08023066 @@ -24300,7 +24300,7 @@ _080230A8: bl sub_8010434 b _080231A8 _080230BA: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080231AE @@ -24369,7 +24369,7 @@ _08023120: b _080231A8 .pool _08023150: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080231AE @@ -24395,7 +24395,7 @@ _08023172: bl sub_8010434 b _080231A8 _08023184: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080231AE @@ -24547,7 +24547,7 @@ _0802329C: bl sub_8010434 b _080232DC _080232BE: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080232E2 @@ -24591,7 +24591,7 @@ _08023302: beq _08023338 b _0802338C _0802330C: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08023392 @@ -24612,7 +24612,7 @@ _08023332: bl sub_8010434 b _0802338C _08023338: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08023392 @@ -25683,7 +25683,7 @@ _08023B7A: strh r0, [r4, 0x10] b _08023BB2 _08023B94: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08023BB8 @@ -25785,7 +25785,7 @@ _08023C2A: bl SetGpuReg b _08023C9C _08023C5C: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08023CA2 @@ -25884,7 +25884,7 @@ _08023D12: bl SendBlock b _0802402E _08023D2A: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 bne _08023D36 @@ -26227,7 +26227,7 @@ _08023FC4: bl SendBlock b _0802402E _08023FD0: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08024034 @@ -26451,7 +26451,7 @@ _080241A0: bl sub_8010434 b _08024218 _080241A6: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0802421E @@ -26630,7 +26630,7 @@ _08024300: bl sub_8010434 b _080243AC _08024306: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080243B2 @@ -26646,7 +26646,7 @@ _08024306: bl SendBlock b _080243AC _08024328: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080243B2 @@ -26914,7 +26914,7 @@ _08024522: bl sub_8010434 b _08024558 _08024528: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0802455E @@ -27814,7 +27814,7 @@ _08024C4C: bl sub_8010434 b _08024D20 _08024C5A: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08024D40 @@ -28075,7 +28075,7 @@ _08024E90: b _08024EF0 .pool _08024EA0: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08024F08 @@ -28116,7 +28116,7 @@ _08024EF0: strb r0, [r1, 0x10] b _08024F08 _08024EF8: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08024F08 @@ -28475,7 +28475,7 @@ _080251BA: strb r4, [r0, 0x8] b _08025202 _080251D0: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08025226 @@ -28560,7 +28560,7 @@ _08025252: ldr r1, [r5] b _080252CC _08025274: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08025316 @@ -28710,7 +28710,7 @@ _0802539C: b _08025448 .pool _080253BC: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _08025466 @@ -28900,7 +28900,7 @@ _0802553C: b _080255E8 .pool _08025564: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0802563C @@ -29391,7 +29391,7 @@ _0802593E: b _08025976 .pool _0802596C: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _080259E8 @@ -39683,7 +39683,7 @@ _0802AD3C: b _0802ADC0 .pool _0802AD68: - bl sub_800A520 + bl IsLinkTaskFinished lsls r0, 24 cmp r0, 0 beq _0802AE08 diff --git a/include/link.h b/include/link.h index f2463983ba..9552f062cc 100644 --- a/include/link.h +++ b/include/link.h @@ -240,7 +240,7 @@ void SerialCB(void); u8 GetLinkPlayerCount(void); bool32 InUnionRoom(void); void sub_800E0E8(void); -bool8 sub_800A520(void); +bool8 IsLinkTaskFinished(void); void CreateWirelessStatusIndicatorSprite(u8, u8); void sub_800ADF8(void); void sub_800B488(void); diff --git a/src/battle_controller_player.c b/src/battle_controller_player.c index e5f795266f..a007c7b303 100644 --- a/src/battle_controller_player.c +++ b/src/battle_controller_player.c @@ -869,7 +869,7 @@ static void sub_80586F8(void) } else { - if (sub_800A520()) + if (IsLinkTaskFinished()) { m4aSongNumStop(SE_HINSI); gMain.inBattle = 0; @@ -888,7 +888,7 @@ void sub_80587B0(void) { if (gBattleTypeFlags & BATTLE_TYPE_LINK) { - if (sub_800A520()) + if (IsLinkTaskFinished()) { if (gWirelessCommType == 0) sub_800AC34(); diff --git a/src/battle_controllers.c b/src/battle_controllers.c index 1b0ca6a734..385c971b04 100644 --- a/src/battle_controllers.c +++ b/src/battle_controllers.c @@ -800,7 +800,7 @@ static void Task_HandleSendLinkBuffersData(u8 taskId) } break; case 4: - if (sub_800A520()) + if (IsLinkTaskFinished()) { blockSize = gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_LO] | (gLinkBattleSendBuffer[gTasks[taskId].data[15] + LINK_BUFF_SIZE_HI] << 8); gTasks[taskId].data[13] = 1; diff --git a/src/battle_main.c b/src/battle_main.c index 9cd661d9e4..150c563e23 100644 --- a/src/battle_main.c +++ b/src/battle_main.c @@ -986,7 +986,7 @@ static void CB2_HandleStartBattle(void) { if (gReceivedRemoteLinkPlayers != 0) { - if (sub_800A520()) + if (IsLinkTaskFinished()) { *(&gBattleStruct->field_180) = 0; *(&gBattleStruct->field_181) = 3; @@ -1035,7 +1035,7 @@ static void CB2_HandleStartBattle(void) } break; case 3: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1050,7 +1050,7 @@ static void CB2_HandleStartBattle(void) } break; case 7: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 2, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1065,7 +1065,7 @@ static void CB2_HandleStartBattle(void) } break; case 11: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 4, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1107,7 +1107,7 @@ static void CB2_HandleStartBattle(void) } break; case 16: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), &gRecordedBattleRngSeed, sizeof(gRecordedBattleRngSeed)); gBattleCommunication[MULTIUSE_STATE]++; @@ -1194,7 +1194,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) GetBattleTowerTrainerLanguage(&language, gTrainerBattleOpponent_B); gLinkPlayers[3].language = language; - if (sub_800A520()) + if (IsLinkTaskFinished()) { *(&gBattleStruct->field_180) = 0; *(&gBattleStruct->field_181) = 3; @@ -1234,7 +1234,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) } break; case 3: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1258,7 +1258,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) } break; case 5: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 2, sizeof(struct Pokemon)); gBattleCommunication[MULTIUSE_STATE]++; @@ -1282,7 +1282,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) } break; case 7: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gEnemyParty, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1300,7 +1300,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) } break; case 9: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gEnemyParty + 2, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1318,7 +1318,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) } break; case 11: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gEnemyParty + 4, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1360,7 +1360,7 @@ static void CB2_HandleStartMultiPartnerBattle(void) } break; case 14: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), &gRecordedBattleRngSeed, sizeof(gRecordedBattleRngSeed)); gBattleCommunication[MULTIUSE_STATE]++; @@ -1440,7 +1440,7 @@ static void CB2_PreInitMultiBattle(void) switch (gBattleCommunication[MULTIUSE_STATE]) { case 0: - if (gReceivedRemoteLinkPlayers != 0 && sub_800A520()) + if (gReceivedRemoteLinkPlayers != 0 && IsLinkTaskFinished()) { gUnknown_02023058 = Alloc(sizeof(struct UnknownPokemonStruct4) * 3); sub_80379F8(0); @@ -1478,7 +1478,7 @@ static void CB2_PreInitMultiBattle(void) } break; case 2: - if (sub_800A520() && !gPaletteFade.active) + if (IsLinkTaskFinished() && !gPaletteFade.active) { gBattleCommunication[MULTIUSE_STATE]++; if (gWirelessCommType) @@ -1581,7 +1581,7 @@ static void CB2_HandleStartMultiBattle(void) { if (gReceivedRemoteLinkPlayers != 0) { - if (sub_800A520()) + if (IsLinkTaskFinished()) { *(&gBattleStruct->field_180) = 0; *(&gBattleStruct->field_181) = 3; @@ -1643,7 +1643,7 @@ static void CB2_HandleStartMultiBattle(void) break; // fall through case 3: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty, sizeof(struct Pokemon) * 2); gBattleCommunication[MULTIUSE_STATE]++; @@ -1706,7 +1706,7 @@ static void CB2_HandleStartMultiBattle(void) } break; case 5: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), gPlayerParty + 2, sizeof(struct Pokemon)); gBattleCommunication[MULTIUSE_STATE]++; @@ -1802,7 +1802,7 @@ static void CB2_HandleStartMultiBattle(void) } break; case 8: - if (sub_800A520()) + if (IsLinkTaskFinished()) { u32* ptr = (u32*)(&gBattleStruct->field_180); ptr[0] = gBattleTypeFlags; @@ -2361,7 +2361,7 @@ static void sub_8038F34(void) gBattleCommunication[MULTIUSE_STATE]++; break; case 6: - if (sub_800A520() == TRUE) + if (IsLinkTaskFinished() == TRUE) { sub_800ADF8(); BattlePutTextOnWindow(gText_LinkStandby3, 0); @@ -2371,7 +2371,7 @@ static void sub_8038F34(void) case 7: if (!IsTextPrinterActive(0)) { - if (sub_800A520() == TRUE) + if (IsLinkTaskFinished() == TRUE) gBattleCommunication[MULTIUSE_STATE]++; } break; @@ -2546,7 +2546,7 @@ static void sub_803939C(void) } break; case 6: - if (sub_800A520() == TRUE) + if (IsLinkTaskFinished() == TRUE) { HandleBattleWindow(0x18, 8, 0x1D, 0xD, WINDOW_CLEAR); if (gMain.field_439_x4) @@ -2596,7 +2596,7 @@ static void sub_803939C(void) } break; case 11: - if (sub_800A520() == TRUE && !IsTextPrinterActive(0) && --gBattleCommunication[1] == 0) + if (IsLinkTaskFinished() == TRUE && !IsTextPrinterActive(0) && --gBattleCommunication[1] == 0) { if (gMain.field_439_x4) { @@ -2612,7 +2612,7 @@ static void sub_803939C(void) { if (gMain.field_439_x4) { - if (sub_800A520() == TRUE) + if (IsLinkTaskFinished() == TRUE) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, RGB_BLACK); gBattleCommunication[1] = 0x20; diff --git a/src/battle_tower.c b/src/battle_tower.c index 5ff396a9ee..78d4c5a9b3 100644 --- a/src/battle_tower.c +++ b/src/battle_tower.c @@ -2799,7 +2799,7 @@ static void sub_8164B74(void) if (battleMode == FRONTIER_MODE_LINK_MULTIS) { challengeNum = gSaveBlock2Ptr->frontier.towerWinStreaks[battleMode][lvlMode] / 7; - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), &challengeNum, sizeof(challengeNum)); gSpecialVar_Result = 1; @@ -2836,7 +2836,7 @@ static void sub_8164B74(void) } break; case 2: - if (sub_800A520()) + if (IsLinkTaskFinished()) { SendBlock(bitmask_all_link_players_but_self(), &gSaveBlock2Ptr->frontier.field_CB4, sizeof(gSaveBlock2Ptr->frontier.field_CB4)); gSpecialVar_Result = 3; diff --git a/src/berry_blender.c b/src/berry_blender.c index 1ffdb1c38f..ea9c6c4ff0 100644 --- a/src/berry_blender.c +++ b/src/berry_blender.c @@ -1240,7 +1240,7 @@ static void sub_8080018(void) sBerryBlenderData->framesToWait = 0; break; case 9: - if (sub_800A520()) + if (IsLinkTaskFinished()) { ResetBlockReceivedFlags(); if (GetMultiplayerId() == 0) @@ -1297,7 +1297,7 @@ static void sub_8080018(void) } break; case 13: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sBerryBlenderData->mainState++; sub_8082CB4(&sBerryBlenderData->bgAffineSrc); @@ -1342,7 +1342,7 @@ static void sub_8080018(void) sBerryBlenderData->mainState++; break; case 20: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sub_800A418(); sBerryBlenderData->mainState++; @@ -2412,7 +2412,7 @@ static void CB2_HandleBlenderEndGame(void) { sBerryBlenderData->gameEndState++; } - else if (sub_800A520()) + else if (IsLinkTaskFinished()) { if (gReceivedRemoteLinkPlayers != 0 && gWirelessCommType) { @@ -2593,7 +2593,7 @@ static bool8 LinkPlayAgainHandleSaving(void) sBerryBlenderData->framesToWait = 0; break; case 1: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sBerryBlenderData->field_1A0++; gSoftResetDisabled = TRUE; @@ -2612,7 +2612,7 @@ static bool8 LinkPlayAgainHandleSaving(void) } break; case 4: - if (sub_800A520()) + if (IsLinkTaskFinished()) { if (sub_8153474()) { @@ -2687,7 +2687,7 @@ static void CB2_HandlePlayerLinkPlayAgainChoice(void) sBerryBlenderData->gameEndState++; break; case 6: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sBerryBlenderData->framesToWait = 0; sBerryBlenderData->gameEndState++; @@ -2706,7 +2706,7 @@ static void CB2_HandlePlayerLinkPlayAgainChoice(void) sub_800ADF8(); break; case 9: - if (sub_800A520()) + if (IsLinkTaskFinished()) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 0x10, 0); sBerryBlenderData->gameEndState++; diff --git a/src/cable_club.c b/src/cable_club.c index 56154d5bfe..fd5094ec7e 100644 --- a/src/cable_club.c +++ b/src/cable_club.c @@ -898,7 +898,7 @@ static void sub_80B33BC(u8 taskId) data[0] = 6; break; case 6: - if (sub_800A520()) + if (IsLinkTaskFinished()) { data[0] = 7; } @@ -1123,7 +1123,7 @@ static void sub_80B3894(u8 taskId) data[0]++; break; case 3: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sub_8013F78(); DestroyTask(taskId); diff --git a/src/contest.c b/src/contest.c index 7845dce457..a14ac1326b 100644 --- a/src/contest.c +++ b/src/contest.c @@ -473,14 +473,14 @@ void sub_80D7CB4(u8 taskId) gTasks[taskId].data[0]++; // fallthrough case 1: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sub_800ADF8(); gTasks[taskId].data[0]++; } return; case 2: - if (sub_800A520() != TRUE) + if (IsLinkTaskFinished() != TRUE) return; gTasks[taskId].data[0]++; break; diff --git a/src/field_screen_effect.c b/src/field_screen_effect.c index b0572b393a..e05c2cc2af 100644 --- a/src/field_screen_effect.c +++ b/src/field_screen_effect.c @@ -215,7 +215,7 @@ static void sub_80AF234(u8 taskId) task->data[0]++; break; case 1: - if (!sub_800A520()) + if (!IsLinkTaskFinished()) { if (++task->data[1] > 1800) sub_8011170(0x6000); @@ -248,7 +248,7 @@ void sub_80AF2B4(u8 taskId) task->data[0]++; break; case 1: - if (sub_800A520()) + if (IsLinkTaskFinished()) { task->data[0]++; } diff --git a/src/field_specials.c b/src/field_specials.c index 5e1c86dfe2..3a1d8a5563 100644 --- a/src/field_specials.c +++ b/src/field_specials.c @@ -3616,7 +3616,7 @@ static void sub_813B57C(u8 taskId) } break; case 1: - if (sub_800A520() == TRUE) + if (IsLinkTaskFinished() == TRUE) { if (GetMultiplayerId() == 0) { @@ -3657,7 +3657,7 @@ static void sub_813B57C(u8 taskId) } break; case 3: - if (sub_800A520() == TRUE) + if (IsLinkTaskFinished() == TRUE) { if (GetMultiplayerId() != 0) { @@ -3709,14 +3709,14 @@ static void sub_813B57C(u8 taskId) } break; case 7: - if (sub_800A520() == 1) + if (IsLinkTaskFinished() == 1) { sub_800ADF8(); gTasks[taskId].data[0]++; } break; case 8: - if (sub_800A520() == 1) + if (IsLinkTaskFinished() == 1) { gTasks[taskId].data[0]++; } diff --git a/src/link.c b/src/link.c index 79df699efb..69373f7737 100644 --- a/src/link.c +++ b/src/link.c @@ -1080,7 +1080,7 @@ bool8 sub_800A4D8(u8 a0) return FALSE; } -bool8 sub_800A520(void) +bool8 IsLinkTaskFinished(void) { if (gWirelessCommType == TRUE) { diff --git a/src/link_rfu.c b/src/link_rfu.c index 5f4beadeef..0625e4af45 100644 --- a/src/link_rfu.c +++ b/src/link_rfu.c @@ -4123,7 +4123,7 @@ void sub_8010AAC(u8 taskId) gTasks[taskId].data[0]++; break; case 5: - if (sub_800A520() && GetBlockReceivedStatus() & 1) + if (IsLinkTaskFinished() && GetBlockReceivedStatus() & 1) { CpuFill16(0, gBlockRecvBuffer, sizeof(struct UnkRfuStruct_8010A14)); ResetBlockReceivedFlag(0); @@ -4162,7 +4162,7 @@ void sub_8010D0C(u8 taskId) } break; case 1: - if (sub_800A520()) + if (IsLinkTaskFinished()) gTasks[taskId].data[0]++; break; case 2: diff --git a/src/record_mixing.c b/src/record_mixing.c index 2b497c82b8..20e3ef5771 100644 --- a/src/record_mixing.c +++ b/src/record_mixing.c @@ -1530,7 +1530,7 @@ static void sub_80E7FF8(u8 taskId) task->data[0] ++; break; case 9: - if (sub_800A520()) + if (IsLinkTaskFinished()) DestroyTask(taskId); break; } diff --git a/src/rom_8011DC0.c b/src/rom_8011DC0.c index 066f7695c7..7363265abf 100644 --- a/src/rom_8011DC0.c +++ b/src/rom_8011DC0.c @@ -1838,7 +1838,7 @@ void sub_8014790(u8 taskId) } break; case 3: - if (sub_800A520()) + if (IsLinkTaskFinished()) { DestroyTask(taskId); sub_80149D8(); @@ -2095,7 +2095,7 @@ void sub_8014A40(u8 taskId) data->state++; break; case 17: - if (sub_800A520()) + if (IsLinkTaskFinished()) DestroyTask(taskId); break; } @@ -2264,7 +2264,7 @@ void sub_8014F48(u8 taskId) sub_800ADF8(); break; case 12: - if (sub_800A520()) + if (IsLinkTaskFinished()) DestroyTask(taskId); break; } @@ -2443,7 +2443,7 @@ void sub_80152F4(u8 taskId) sub_800ADF8(); break; case 14: - if (sub_800A520()) + if (IsLinkTaskFinished()) DestroyTask(taskId); break; } @@ -2836,7 +2836,7 @@ void sub_80156E0(u8 taskId) } break; case 41: - if (sub_800A520()) + if (IsLinkTaskFinished()) { if (GetMultiplayerId() == 0) { @@ -3033,7 +3033,7 @@ void sub_80156E0(u8 taskId) data->state = 15; break; case 15: - if (sub_800A520()) + if (IsLinkTaskFinished()) data->state = 16; break; case 16: diff --git a/src/save.c b/src/save.c index 905f075fb2..e8f4a96dac 100644 --- a/src/save.c +++ b/src/save.c @@ -77,7 +77,7 @@ extern void DoSaveFailedScreen(u8); // save_failed_screen extern bool32 ProgramFlashSectorAndVerify(u8 sector, u8 *data); extern void save_serialize_map(void); extern void sub_800ADF8(void); -extern bool8 sub_800A520(void); +extern bool8 IsLinkTaskFinished(void); // iwram common u16 gLastWrittenSector; @@ -914,7 +914,7 @@ void sub_8153688(u8 taskId) taskData[0] = 2; break; case 2: - if (sub_800A520()) + if (IsLinkTaskFinished()) { if (taskData[2] == 0) save_serialize_map(); @@ -951,7 +951,7 @@ void sub_8153688(u8 taskId) taskData[0] = 8; break; case 8: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sub_8153408(); taskData[0] = 9; @@ -962,7 +962,7 @@ void sub_8153688(u8 taskId) taskData[0] = 10; break; case 10: - if (sub_800A520()) + if (IsLinkTaskFinished()) taskData[0]++; break; case 11: diff --git a/src/script_pokemon_util_80F87D8.c b/src/script_pokemon_util_80F87D8.c index 2611c5c6da..b65557fe77 100755 --- a/src/script_pokemon_util_80F87D8.c +++ b/src/script_pokemon_util_80F87D8.c @@ -451,7 +451,7 @@ static void sub_80F9088(u8 taskId) switch (gTasks[taskId].data[0]) { case 0: - if (sub_800A520()) + if (IsLinkTaskFinished()) { sub_800ADF8(); gTasks[taskId].data[0]++; @@ -461,7 +461,7 @@ static void sub_80F9088(u8 taskId) gTasks[taskId].data[0]++; break; default: - if (sub_800A520() == 1) + if (IsLinkTaskFinished() == 1) { EnableBothScriptContexts(); DestroyTask(taskId); diff --git a/src/trade.c b/src/trade.c index 3b0d0c4682..9f29c2d694 100644 --- a/src/trade.c +++ b/src/trade.c @@ -77,7 +77,7 @@ static EWRAM_DATA struct { /*0x0034*/ u8 tradeMenuCursorSpriteIdx; /*0x0035*/ u8 tradeMenuCursorPosition; /*0x0036*/ u8 partyCounts[2]; - /*0x0038*/ u8 unk_38[12]; + /*0x0038*/ bool8 tradeMenuOptionsActive[12]; /*0x0044*/ u8 unk_44; /*0x0045*/ u8 unk_45[2][PARTY_SIZE]; /*0x0051*/ u8 unk_51[2][PARTY_SIZE]; @@ -97,8 +97,7 @@ static EWRAM_DATA struct { /*0x007C*/ u8 filler_7C[0x7E - 0x7C]; /*0x007E*/ u8 unk_7E; /*0x007F*/ u8 filler_7F; - /*0x0080*/ u16 unk_80[2]; - /*0x0084*/ u8 filler_84[0xA8 - 0x84]; + /*0x0080*/ u16 linkData[20]; /*0x00A8*/ u8 unk_A8; /*0x00A9*/ u8 unk_A9[11]; /*0x00B4*/ u8 filler_B4[0x8D0-0xB4]; @@ -166,7 +165,7 @@ static void sub_8078C34(void); static void sub_80795AC(void); static void sub_807967C(u8); static void sub_80796B4(u8); -static u8 sub_8079A3C(u8 *, bool8, u8); +static u8 sub_8079A3C(u8 *, u8, u8); static void sub_8079AA4(u8 *, u8, u8); static void sub_8079BE0(u8); static void sub_8079C4C(u8, u8, u8, u8, u8, u8); @@ -195,7 +194,7 @@ static void sub_807B170(void); static void sub_807B60C(void); static void sub_807B62C(u8); static void sub_807BA94(void); -static void sub_807BAD8(void); +static void SetTradeSceneStrings(void); static u8 sub_807BBC8(void); static u8 sub_807BBEC(void); static u8 sub_807CFC8(void); @@ -1338,11 +1337,11 @@ static bool32 sub_80771BC(void) } else { - return sub_800A520(); + return IsLinkTaskFinished(); } } -static u32 sub_8077200(void) +static u32 _GetBlockReceivedStatus(void) { return GetBlockReceivedStatus(); } @@ -1373,7 +1372,7 @@ static void sub_8077234(u32 a0) static bool32 sub_8077260(void) { - if (gWirelessCommType != 0 && gUnknown_02022C2C == 29) + if (gWirelessCommType && gUnknown_02022C2C == 29) { return TRUE; } @@ -1388,9 +1387,9 @@ static void sub_8077288(u8 unused) sub_800ADF8(); } -static bool32 IsLinkTaskFinished(void) +static bool32 _IsLinkTaskFinished(void) { - return sub_800A520(); + return IsLinkTaskFinished(); } static void sub_80772A4(void) @@ -1475,12 +1474,12 @@ static void sub_80773D0(void) sub_807A19C(0); ShowBg(0); - if (gReceivedRemoteLinkPlayers == 0) + if (!gReceivedRemoteLinkPlayers) { gLinkType = 0x1122; gUnknown_0203229C->unk_A8 = 0; - if (gWirelessCommType != 0) + if (gWirelessCommType) { sub_800B488(); OpenLink(); @@ -1524,13 +1523,13 @@ static void sub_80773D0(void) } break; case 4: - if (gReceivedRemoteLinkPlayers == 1 && IsLinkPlayerDataExchangeComplete() == 1) + if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE) { sub_8011BD0(); CalculatePlayerPartyCount(); gMain.state++; gUnknown_0203229C->unk_A8 = 0; - if (gWirelessCommType != 0) + if (gWirelessCommType) { sub_801048C(TRUE); sub_800ADF8(); @@ -1538,7 +1537,7 @@ static void sub_80773D0(void) } break; case 5: - if (gWirelessCommType != 0) + if (gWirelessCommType) { if (sub_8010500()) { @@ -1735,7 +1734,7 @@ static void sub_8077B74(void) gMain.state++; break; case 5: - if (gWirelessCommType != 0) + if (gWirelessCommType) { sub_800E0E8(); CreateWirelessStatusIndicatorSprite(0, 0); @@ -1834,13 +1833,9 @@ static void sub_8077B74(void) } if (gUnknown_0203229C->tradeMenuCursorPosition < PARTY_SIZE) - { gUnknown_0203229C->tradeMenuCursorPosition = gUnknown_0203CF20; - } else - { gUnknown_0203229C->tradeMenuCursorPosition = gUnknown_0203CF20 + PARTY_SIZE; - } gUnknown_0203229C->tradeMenuCursorSpriteIdx = CreateSprite(&gSpriteTemplate_832DC94, gTradeMonSpriteCoords[gUnknown_0203229C->tradeMenuCursorPosition][0] * 8 + 32, gTradeMonSpriteCoords[gUnknown_0203229C->tradeMenuCursorPosition][1] * 8, 2); gMain.state = 16; @@ -1911,7 +1906,7 @@ static void sub_807816C(void) gUnknown_02032298[0] = gUnknown_0203229C->tradeMenuCursorPosition; gUnknown_02032298[1] = gUnknown_0203229C->unk_7E; - if (gWirelessCommType != 0) + if (gWirelessCommType) { gUnknown_0203229C->unk_6F = 16; } @@ -1927,7 +1922,7 @@ static void sub_80781C8(void) { gMain.savedCallback = sub_80773AC; - if (gWirelessCommType != 0) + if (gWirelessCommType) { if (sub_8010500()) { @@ -1941,7 +1936,7 @@ static void sub_80781C8(void) } else { - if (gReceivedRemoteLinkPlayers == 0) + if (!gReceivedRemoteLinkPlayers) { Free(gUnknown_02032184); FreeAllWindowBuffers(); @@ -2011,29 +2006,32 @@ static void sub_8078388(void) if (i < gUnknown_0203229C->partyCounts[0]) { gSprites[gUnknown_0203229C->partyIcons[0][i]].invisible = FALSE; - gUnknown_0203229C->unk_38[i] = TRUE; + gUnknown_0203229C->tradeMenuOptionsActive[i] = TRUE; } else { - gUnknown_0203229C->unk_38[i] = FALSE; + gUnknown_0203229C->tradeMenuOptionsActive[i] = FALSE; } if (i < gUnknown_0203229C->partyCounts[1]) { gSprites[gUnknown_0203229C->partyIcons[1][i]].invisible = FALSE; - gUnknown_0203229C->unk_38[i + PARTY_SIZE] = TRUE; + gUnknown_0203229C->tradeMenuOptionsActive[i + PARTY_SIZE] = TRUE; } else { - gUnknown_0203229C->unk_38[i + PARTY_SIZE] = FALSE; + gUnknown_0203229C->tradeMenuOptionsActive[i + PARTY_SIZE] = FALSE; } } gUnknown_0203229C->unk_44 = 1; } -static void sub_8078438(u8 *dest, const u8 *src, u32 count) +// why not just use memcpy? +static void Trade_Memcpy(void *dataDest, const void *dataSrc, u32 count) { + u8 *dest = dataDest; + const u8 *src = dataSrc; u32 i; for (i = 0; i < count; i++) @@ -2051,14 +2049,14 @@ static bool8 shedinja_maker_maybe(void) switch (gUnknown_0203229C->unk_69) { case 0: - sub_8078438(gBlockSendBuffer, (void *)&gPlayerParty[0], 200); + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[0], 2 * sizeof(struct Pokemon)); gUnknown_0203229C->unk_69++; gUnknown_0203229C->unk_A8 = 0; break; case 1: if (sub_80771BC()) { - if (!sub_8077200()) + if (_GetBlockReceivedStatus() == 0) { gUnknown_0203229C->unk_69++; } @@ -2077,15 +2075,15 @@ static bool8 shedinja_maker_maybe(void) gUnknown_0203229C->unk_69++; break; case 4: - if (sub_8077200() == 3) + if (_GetBlockReceivedStatus() == 3) { - sub_8078438((void *)&gEnemyParty[0], (void *)gBlockRecvBuffer[id ^ 1], 200); + Trade_Memcpy(&gEnemyParty[0], gBlockRecvBuffer[id ^ 1], 2 * sizeof(struct Pokemon)); sub_8077210(); gUnknown_0203229C->unk_69++; } break; case 5: - sub_8078438(gBlockSendBuffer, (void *)&gPlayerParty[2], 200); + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[2], 2 * sizeof(struct Pokemon)); gUnknown_0203229C->unk_69++; break; case 7: @@ -2096,15 +2094,15 @@ static bool8 shedinja_maker_maybe(void) gUnknown_0203229C->unk_69++; break; case 8: - if (sub_8077200() == 3) + if (_GetBlockReceivedStatus() == 3) { - sub_8078438((void *)&gEnemyParty[2], (void *)gBlockRecvBuffer[id ^ 1], 200); + Trade_Memcpy(&gEnemyParty[2], gBlockRecvBuffer[id ^ 1], 200); sub_8077210(); gUnknown_0203229C->unk_69++; } break; case 9: - sub_8078438(gBlockSendBuffer, (void *)&gPlayerParty[4], 200); + Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[4], 200); gUnknown_0203229C->unk_69++; break; case 11: @@ -2115,15 +2113,15 @@ static bool8 shedinja_maker_maybe(void) gUnknown_0203229C->unk_69++; break; case 12: - if (sub_8077200() == 3) + if (_GetBlockReceivedStatus() == 3) { - sub_8078438((void *)&gEnemyParty[4], (void *)gBlockRecvBuffer[id ^ 1], 200); + Trade_Memcpy(&gEnemyParty[4], gBlockRecvBuffer[id ^ 1], 200); sub_8077210(); gUnknown_0203229C->unk_69++; } break; case 13: - sub_8078438(gBlockSendBuffer, (void *)gSaveBlock1Ptr->mail, 220); + Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->mail, 220); gUnknown_0203229C->unk_69++; break; case 15: @@ -2134,15 +2132,15 @@ static bool8 shedinja_maker_maybe(void) gUnknown_0203229C->unk_69++; break; case 16: - if (sub_8077200() == 3) + if (_GetBlockReceivedStatus() == 3) { - sub_8078438((void *)gUnknown_020321C0, (void *)gBlockRecvBuffer[id ^ 1], 216); + Trade_Memcpy(gUnknown_020321C0, gBlockRecvBuffer[id ^ 1], 216); sub_8077210(); gUnknown_0203229C->unk_69++; } break; case 17: - sub_8078438(gBlockSendBuffer, gSaveBlock1Ptr->giftRibbons, 11); + Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->giftRibbons, 11); gUnknown_0203229C->unk_69++; break; case 19: @@ -2153,9 +2151,9 @@ static bool8 shedinja_maker_maybe(void) gUnknown_0203229C->unk_69++; break; case 20: - if (sub_8077200() == 3) + if (_GetBlockReceivedStatus() == 3) { - sub_8078438(gUnknown_0203229C->unk_A9, (void *)gBlockRecvBuffer[id ^ 1], 11); + Trade_Memcpy(gUnknown_0203229C->unk_A9, gBlockRecvBuffer[id ^ 1], 11); sub_8077210(); gUnknown_0203229C->unk_69++; } @@ -2279,9 +2277,7 @@ static void sub_8078900(u8 a0, u8 a1) } if (a1 & 2) - { sub_8077234(1); - } } static void sub_80789FC(void) @@ -2291,16 +2287,16 @@ static void sub_80789FC(void) if (gUnknown_0203229C->unk_78 == 1 && gUnknown_0203229C->unk_79 == 1) { gUnknown_0203229C->unk_6F = 6; - gUnknown_0203229C->unk_80[0] = 0xDDDD; - gUnknown_0203229C->unk_80[1] = gUnknown_0203229C->tradeMenuCursorPosition; + gUnknown_0203229C->linkData[0] = 0xDDDD; + gUnknown_0203229C->linkData[1] = gUnknown_0203229C->tradeMenuCursorPosition; sub_807A048(5, 0); gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; } else if (gUnknown_0203229C->unk_78 == 1 && gUnknown_0203229C->unk_79 == 2) { sub_807A19C(1); - gUnknown_0203229C->unk_80[0] = 0xEECC; - gUnknown_0203229C->unk_80[1] = 0; + gUnknown_0203229C->linkData[0] = 0xEECC; + gUnknown_0203229C->linkData[1] = 0; sub_807A048(5, 0); gUnknown_0203229C->unk_7A = gUnknown_0203229C->unk_7B = 0; gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; @@ -2309,8 +2305,8 @@ static void sub_80789FC(void) else if (gUnknown_0203229C->unk_78 == 2 && gUnknown_0203229C->unk_79 == 1) { sub_807A19C(5); - gUnknown_0203229C->unk_80[0] = 0xDDEE; - gUnknown_0203229C->unk_80[1] = 0; + gUnknown_0203229C->linkData[0] = 0xDDEE; + gUnknown_0203229C->linkData[1] = 0; sub_807A048(5, 0); gUnknown_0203229C->unk_7A = gUnknown_0203229C->unk_7B = 0; gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; @@ -2318,8 +2314,8 @@ static void sub_80789FC(void) } else if (gUnknown_0203229C->unk_78 == 2 && gUnknown_0203229C->unk_79 == 2) { - gUnknown_0203229C->unk_80[0] = 0xEEBB; - gUnknown_0203229C->unk_80[1] = 0; + gUnknown_0203229C->linkData[0] = 0xEEBB; + gUnknown_0203229C->linkData[1] = 0; sub_807A048(5, 0); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gUnknown_0203229C->unk_78 = gUnknown_0203229C->unk_79 = 0; @@ -2331,8 +2327,8 @@ static void sub_80789FC(void) { if (gUnknown_0203229C->unk_7A == 1 && gUnknown_0203229C->unk_7B == 1) { - gUnknown_0203229C->unk_80[0] = 0xCCDD; - gUnknown_0203229C->unk_80[1] = 0; + gUnknown_0203229C->linkData[0] = 0xCCDD; + gUnknown_0203229C->linkData[1] = 0; sub_807A048(5, 0); gUnknown_0203229C->unk_7A = 0; gUnknown_0203229C->unk_7B = 0; @@ -2342,8 +2338,8 @@ static void sub_80789FC(void) if (gUnknown_0203229C->unk_7A == 2 || gUnknown_0203229C->unk_7B == 2) { sub_807A19C(1); - gUnknown_0203229C->unk_80[0] = 0xDDEE; - gUnknown_0203229C->unk_80[1] = 0; + gUnknown_0203229C->linkData[0] = 0xDDEE; + gUnknown_0203229C->linkData[1] = 0; sub_807A048(5, 0); gUnknown_0203229C->unk_7A = 0; gUnknown_0203229C->unk_7B = 0; @@ -2361,54 +2357,48 @@ static void sub_8078BFC(u16 *a0, u16 a1, u16 a2) static void sub_8078C10(u16 a0, u16 a1) { - sub_8078BFC(gUnknown_0203229C->unk_80, a0, a1); + sub_8078BFC(gUnknown_0203229C->linkData, a0, a1); } static void sub_8078C34(void) { - u8 id = GetMultiplayerId(); - u8 unk; + u8 mpId = GetMultiplayerId(); + u8 status; - if ((unk = sub_8077200())) + if ((status = _GetBlockReceivedStatus())) { - if (id == 0) - { - sub_80787E0(id, unk); - } + if (mpId == 0) + sub_80787E0(mpId, status); else - { - sub_8078900(id, unk); - } + sub_8078900(mpId, status); } - if (id == 0) - { + if (mpId == 0) sub_80789FC(); - } } -static u8 sub_8078C6C(u8 a0, u8 a1) +static u8 sub_8078C6C(u8 oldPosition, u8 direction) { int i; - u8 ret = 0; + u8 newPosition = 0; for (i = 0; i < PARTY_SIZE; i++) { - if (gUnknown_0203229C->unk_38[gTradeNextSelectedMonTable[a0][a1][i]] == 1) + if (gUnknown_0203229C->tradeMenuOptionsActive[gTradeNextSelectedMonTable[oldPosition][direction][i]] == TRUE) { - ret = gTradeNextSelectedMonTable[a0][a1][i]; + newPosition = gTradeNextSelectedMonTable[oldPosition][direction][i]; break; } } - return ret; + return newPosition; } -static void sub_8078CB8(u8 *a0, u8 a1) +static void TradeMenuMoveCursor(u8 *tradeMenuCursorPosition, u8 direction) { - u8 unk = sub_8078C6C(*a0, a1); + u8 newPosition = sub_8078C6C(*tradeMenuCursorPosition, direction); - if (unk == 12) + if (newPosition == 12) // CANCEL { StartSpriteAnim(&gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx], 1); gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.x = 224; @@ -2417,16 +2407,16 @@ static void sub_8078CB8(u8 *a0, u8 a1) else { StartSpriteAnim(&gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx], 0); - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.x = gTradeMonSpriteCoords[unk][0] * 8 + 32; - gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.y = gTradeMonSpriteCoords[unk][1] * 8; + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.x = gTradeMonSpriteCoords[newPosition][0] * 8 + 32; + gSprites[gUnknown_0203229C->tradeMenuCursorSpriteIdx].pos1.y = gTradeMonSpriteCoords[newPosition][1] * 8; } - if (*a0 != unk) + if (*tradeMenuCursorPosition != newPosition) { PlaySE(SE_SELECT); } - *a0 = unk; + *tradeMenuCursorPosition = newPosition; } static void sub_8078D78(void) @@ -2448,19 +2438,19 @@ static void sub_8078DBC(void) { if (gMain.newAndRepeatedKeys & DPAD_UP) { - sub_8078CB8(&gUnknown_0203229C->tradeMenuCursorPosition, 0); + TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 0); } else if (gMain.newAndRepeatedKeys & DPAD_DOWN) { - sub_8078CB8(&gUnknown_0203229C->tradeMenuCursorPosition, 1); + TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 1); } else if (gMain.newAndRepeatedKeys & DPAD_LEFT) { - sub_8078CB8(&gUnknown_0203229C->tradeMenuCursorPosition, 2); + TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 2); } else if (gMain.newAndRepeatedKeys & DPAD_RIGHT) { - sub_8078CB8(&gUnknown_0203229C->tradeMenuCursorPosition, 3); + TradeMenuMoveCursor(&gUnknown_0203229C->tradeMenuCursorPosition, 3); } if (gMain.newKeys & A_BUTTON) @@ -2652,9 +2642,7 @@ static void sub_8079218(void) case MENU_B_PRESSED: sub_807A048(3, 1); if (sub_80771BC()) - { sub_8078C10(0xBBCC, 0); - } gUnknown_0203229C->unk_6F = 100; PutWindowTilemap(17); break; @@ -2711,7 +2699,7 @@ static void sub_8079398(void) } } -static void sub_80793C4(void) +static void DisplayMessageAndContinueTask(void) { gUnknown_0203229C->unk_A8++; @@ -2778,7 +2766,7 @@ static void sub_80794CC(void) } else { - if (gReceivedRemoteLinkPlayers == 0) + if (!gReceivedRemoteLinkPlayers) { Free(gUnknown_02032184); Free(gUnknown_0203229C); @@ -2850,7 +2838,7 @@ static void sub_80795AC(void) sub_80781C8(); break; case 14: - sub_80793C4(); + DisplayMessageAndContinueTask(); break; case 15: sub_8079034(); @@ -2866,38 +2854,37 @@ static void sub_80795AC(void) static void sub_807967C(u8 a0) { - u8 whichTeam = a0 / PARTY_SIZE; + u8 whichParty = a0 / PARTY_SIZE; - if (gUnknown_0203229C->unk_74[whichTeam] == 0) + if (gUnknown_0203229C->unk_74[whichParty] == 0) { - gUnknown_0203229C->unk_74[whichTeam] = 1; - gUnknown_0203229C->unk_76[whichTeam] = a0; + gUnknown_0203229C->unk_74[whichParty] = 1; + gUnknown_0203229C->unk_76[whichParty] = a0; } } static void sub_80796B4(u8 a0) { - s8 test; - u8 sp14[20]; - u8 sp28[56]; + s8 nameStringWidth; + u8 nickname[20]; + u8 movesString[56]; u8 i; - u8 r8; - u8 r10; - u8 sp60; - u8 var = gUnknown_0203229C->unk_76[a0]; + u8 partyIdx; + u8 whichParty; + u8 monIdx = gUnknown_0203229C->unk_76[a0]; - sp60 = 1; - if (gUnknown_0203229C->unk_76[a0] < 6) - sp60 = 0; - r10 = var % 6; - test = 0; + whichParty = 1; + if (gUnknown_0203229C->unk_76[a0] < PARTY_SIZE) + whichParty = 0; + partyIdx = monIdx % PARTY_SIZE; + nameStringWidth = 0; switch (gUnknown_0203229C->unk_74[a0]) { case 1: for (i = 0; i < gUnknown_0203229C->partyCounts[a0]; i++) { - gSprites[gUnknown_0203229C->partyIcons[0][i + (sp60 * 6)]].invisible = TRUE; + gSprites[gUnknown_0203229C->partyIcons[0][i + (whichParty * PARTY_SIZE)]].invisible = TRUE; } for (i = 0; i < 6; i++) @@ -2905,39 +2892,35 @@ static void sub_80796B4(u8 a0) ClearWindowTilemap(i + (a0 * 6 + 2)); } - gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].invisible = FALSE; - gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].data[0] = 20; - gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].data[2] = (gTradeMonSpriteCoords[sp60 * 6][0] + gTradeMonSpriteCoords[sp60 * 6 + 1][0]) / 2 * 8 + 14; - gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].data[4] = (gTradeMonSpriteCoords[sp60 * 6][1] * 8) - 12; - StoreSpriteCallbackInData6(&gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]], sub_80D3014); + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].invisible = FALSE; + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[0] = 20; + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[2] = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + gTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].data[4] = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12; + StoreSpriteCallbackInData6(&gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]], sub_80D3014); gUnknown_0203229C->unk_74[a0]++; - sub_80A6DEC(&gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]]); + sub_80A6DEC(&gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]]); CopyToBgTilemapBufferRect_ChangePalette(1, gTradePartyBoxTilemap, a0 * 15, 0, 15, 17, 0); CopyBgTilemapBufferToVram(1); CopyBgTilemapBufferToVram(0); - if (!sp60) - { + if (whichParty == 0) sub_8079F74(); - } break; case 2: - if (gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].callback == sub_80D3014) - { + if (gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].callback == sub_80D3014) gUnknown_0203229C->unk_74[a0] = 3; - } break; case 3: - CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMovesBoxTilemap, sp60 * 15, 0, 15, 17, 0); + CopyToBgTilemapBufferRect_ChangePalette(1, gTradeMovesBoxTilemap, whichParty * 15, 0, 15, 17, 0); CopyBgTilemapBufferToVram(1); - gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].pos1.x = (gTradeMonSpriteCoords[sp60 * 6][0] + gTradeMonSpriteCoords[sp60 * 6 + 1][0]) / 2 * 8 + 14; - gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].pos1.y = (gTradeMonSpriteCoords[sp60 * 6][1] * 8) - 12; - gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].pos2.x = 0; - gSprites[gUnknown_0203229C->partyIcons[0][r10 + (sp60 * 6)]].pos2.y = 0; - test = sub_8079A3C(sp14, sp60, r10); - AddTextPrinterParameterized3((a0 * 2) + 14, 0, (80 - test) / 2, 4, gUnknown_0832DEE0, 0, sp14); - sub_8079AA4(sp28, sp60, r10); - AddTextPrinterParameterized4((a0 * 2) + 15, 1, 0, 0, 0, 0, gUnknown_0832DEE0, 0, sp28); + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.x = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][0] + gTradeMonSpriteCoords[whichParty * PARTY_SIZE + 1][0]) / 2 * 8 + 14; + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos1.y = (gTradeMonSpriteCoords[whichParty * PARTY_SIZE][1] * 8) - 12; + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos2.x = 0; + gSprites[gUnknown_0203229C->partyIcons[0][partyIdx + (whichParty * PARTY_SIZE)]].pos2.y = 0; + nameStringWidth = sub_8079A3C(nickname, whichParty, partyIdx); + AddTextPrinterParameterized3((a0 * 2) + 14, 0, (80 - nameStringWidth) / 2, 4, gUnknown_0832DEE0, 0, nickname); + sub_8079AA4(movesString, whichParty, partyIdx); + AddTextPrinterParameterized4((a0 * 2) + 15, 1, 0, 0, 0, 0, gUnknown_0832DEE0, 0, movesString); PutWindowTilemap((a0 * 2) + 14); CopyWindowToVram((a0 * 2) + 14, 3); PutWindowTilemap((a0 * 2) + 15); @@ -2945,27 +2928,23 @@ static void sub_80796B4(u8 a0) gUnknown_0203229C->unk_74[a0]++; break; case 4: - sub_8079C4C(a0, r10, gUnknown_0832DF99[a0][0] + 4, gUnknown_0832DF99[a0][1] + 1, gUnknown_0832DF99[a0][0], gUnknown_0832DF99[a0][1]); + sub_8079C4C(a0, partyIdx, gUnknown_0832DF99[a0][0] + 4, gUnknown_0832DF99[a0][1] + 1, gUnknown_0832DF99[a0][0], gUnknown_0832DF99[a0][1]); gUnknown_0203229C->unk_74[a0]++; break; } } -static u8 sub_8079A3C(u8 *a0, bool8 a1, u8 a2) +static u8 sub_8079A3C(u8 *str, u8 whichParty, u8 monIdx) { - u8 name[12]; + u8 nickname[12]; - if (!a1) - { - GetMonData(&gPlayerParty[a2], MON_DATA_NICKNAME, name); - } + if (whichParty == 0) + GetMonData(&gPlayerParty[monIdx], MON_DATA_NICKNAME, nickname); else - { - GetMonData(&gEnemyParty[a2], MON_DATA_NICKNAME, name); - } + GetMonData(&gEnemyParty[monIdx], MON_DATA_NICKNAME, nickname); - StringCopy10(a0, name); - return GetStringWidth(0, a0, GetFontAttribute(0, FONTATTR_LETTER_SPACING)); + StringCopy10(str, nickname); + return GetStringWidth(0, str, GetFontAttribute(0, FONTATTR_LETTER_SPACING)); } static void sub_8079AA4(u8 *a0, u8 a1, u8 a2) @@ -3006,57 +2985,52 @@ static void sub_8079AA4(u8 *a0, u8 a1, u8 a2) } } -static void sub_8079B84(u8 a0, u8 a1, u8 *a2) +static void sub_8079B84(u8 whichParty, u8 windowId, u8 *str) { u8 xPos; - a1 += (a0 * 6) + 2; - xPos = GetStringCenterAlignXOffset(0, a2, 64); - AddTextPrinterParameterized3(a1, 0, xPos, 4, gUnknown_0832DEE0, 0, a2); - PutWindowTilemap(a1); - CopyWindowToVram(a1, 3); + windowId += (whichParty * PARTY_SIZE) + 2; + xPos = GetStringCenterAlignXOffset(0, str, 64); + AddTextPrinterParameterized3(windowId, 0, xPos, 4, gUnknown_0832DEE0, 0, str); + PutWindowTilemap(windowId); + CopyWindowToVram(windowId, 3); } -static void sub_8079BE0(u8 a0) +static void sub_8079BE0(u8 whichParty) { u8 i; u8 sp[20]; u8 sp14[32]; - struct Pokemon *mons = a0 == 0 ? gPlayerParty : gEnemyParty; + struct Pokemon *mons = whichParty == 0 ? gPlayerParty : gEnemyParty; - for (i = 0; i < gUnknown_0203229C->partyCounts[a0]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++) { GetMonData(&mons[i], MON_DATA_NICKNAME, sp); StringCopy10(sp14, sp); - sub_8079B84(a0, i, sp14); + sub_8079B84(whichParty, i, sp14); } } -static void sub_8079C4C(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4, u8 a5) +static void sub_8079C4C(u8 whichParty, u8 monIdx, u8 a2, u8 a3, u8 a4, u8 a5) { - u8 r6; + u8 level; u32 r2; u8 gender; - u8 name[12]; + u8 nickname[12]; CopyToBgTilemapBufferRect_ChangePalette(1, gUnknown_08DDD704, a4, a5, 6, 3, 0); CopyBgTilemapBufferToVram(1); - if (a0 == 0) - { - r6 = GetMonData(&gPlayerParty[a1], MON_DATA_LEVEL, NULL); - } + if (whichParty == 0) + level = GetMonData(&gPlayerParty[monIdx], MON_DATA_LEVEL, NULL); else - { - r6 = GetMonData(&gEnemyParty[a1], MON_DATA_LEVEL, NULL); - } + level = GetMonData(&gEnemyParty[monIdx], MON_DATA_LEVEL, NULL); - if (gUnknown_0203229C->unk_51[a0][a1] == 0) + if (gUnknown_0203229C->unk_51[whichParty][monIdx] == 0) { - if (r6 / 10 != 0) - { - gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32)] = (r6 / 10) + 0x60; - } - gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) + 1] = (r6 % 10) + 0x70; + if (level / 10 != 0) + gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32)] = (level / 10) + 0x60; + + gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) + 1] = (level % 10) + 0x70; } else { @@ -3064,30 +3038,30 @@ static void sub_8079C4C(u8 a0, u8 a1, u8 a2, u8 a3, u8 a4, u8 a5) gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 31] = gUnknown_0203229C->tilemapBuffer[a2 + (a3 * 32) - 36] | 0x400; } - if (gUnknown_0203229C->unk_51[a0][a1] != 0) + if (gUnknown_0203229C->unk_51[whichParty][monIdx] != 0) { r2 = 0x480; } else { - if (a0 == 0) + if (whichParty == 0) { - gender = GetMonGender(&gPlayerParty[a1]); - GetMonData(&gPlayerParty[a1], MON_DATA_NICKNAME, name); + gender = GetMonGender(&gPlayerParty[monIdx]); + GetMonData(&gPlayerParty[monIdx], MON_DATA_NICKNAME, nickname); } else { - gender = GetMonGender(&gEnemyParty[a1]); - GetMonData(&gEnemyParty[a1], MON_DATA_NICKNAME, name); + gender = GetMonGender(&gEnemyParty[monIdx]); + GetMonData(&gEnemyParty[monIdx], MON_DATA_NICKNAME, nickname); } switch (gender) { case MON_MALE: - r2 = !NameHasGenderSymbol(name, MON_MALE) ? 0x84 : 0x83; + r2 = !NameHasGenderSymbol(nickname, MON_MALE) ? 0x84 : 0x83; break; case MON_FEMALE: - r2 = !NameHasGenderSymbol(name, MON_FEMALE) ? 0x85 : 0x83; + r2 = !NameHasGenderSymbol(nickname, MON_FEMALE) ? 0x85 : 0x83; break; default: r2 = 0x83; @@ -3161,17 +3135,17 @@ _08079E94:\n\ } #endif // NONMATCHING -static void sub_8079EA8(u8 a0) +static void sub_8079EA8(u8 whichParty) { int i; - for (i = 0; i < gUnknown_0203229C->partyCounts[a0]; i++) + for (i = 0; i < gUnknown_0203229C->partyCounts[whichParty]; i++) { - gSprites[gUnknown_0203229C->partyIcons[a0][i]].invisible = FALSE; - gSprites[gUnknown_0203229C->partyIcons[a0][i]].pos1.x = gTradeMonSpriteCoords[(a0 * 6) + i][0] * 8 + 14; - gSprites[gUnknown_0203229C->partyIcons[a0][i]].pos1.y = gTradeMonSpriteCoords[(a0 * 6) + i][1] * 8 - 12; - gSprites[gUnknown_0203229C->partyIcons[a0][i]].pos2.x = 0; - gSprites[gUnknown_0203229C->partyIcons[a0][i]].pos2.y = 0; + gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].invisible = FALSE; + gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos1.x = gTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][0] * 8 + 14; + gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos1.y = gTradeMonSpriteCoords[(whichParty * PARTY_SIZE) + i][1] * 8 - 12; + gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos2.x = 0; + gSprites[gUnknown_0203229C->partyIcons[whichParty][i]].pos2.y = 0; } } @@ -3250,7 +3224,7 @@ static void sub_807A0C4(void) switch (gUnknown_0203229C->unk_8D0[i].unk_4) { case 0: - sub_8077170(gUnknown_0203229C->unk_80, 20); + sub_8077170(gUnknown_0203229C->linkData, 20); break; case 1: sub_807A19C(0); @@ -3434,14 +3408,12 @@ static void sub_807A5B0(void) if (gSaveBlock1Ptr->giftRibbons[i] == 0 && gUnknown_0203229C->unk_A9[i] != 0) { if (gUnknown_0203229C->unk_A9[i] < 64) - { gSaveBlock1Ptr->giftRibbons[i] = gUnknown_0203229C->unk_A9[i]; - } } } } -static u32 sub_807A5F4(struct Pokemon *a0, int a1, int a2) +static u32 sub_807A5F4(struct Pokemon *monList, int a1, int monIdx) { int i, sum; struct LinkPlayer *player; @@ -3450,18 +3422,18 @@ static u32 sub_807A5F4(struct Pokemon *a0, int a1, int a2) for (i = 0; i < a1; i++) { - species2[i] = GetMonData(&a0[i], MON_DATA_SPECIES2); - species[i] = GetMonData(&a0[i], MON_DATA_SPECIES); + species2[i] = GetMonData(&monList[i], MON_DATA_SPECIES2); + species[i] = GetMonData(&monList[i], MON_DATA_SPECIES); } if (!IsNationalPokedexEnabled()) { - if (species2[a2] == SPECIES_EGG) + if (species2[monIdx] == SPECIES_EGG) { return 3; } - if (!IsSpeciesInHoennDex(species2[a2])) + if (!IsSpeciesInHoennDex(species2[monIdx])) { return 2; } @@ -3473,21 +3445,21 @@ static u32 sub_807A5F4(struct Pokemon *a0, int a1, int a2) { if ((player->name[10] & 0xF) == 0) { - if (species2[a2] == SPECIES_EGG) + if (species2[monIdx] == SPECIES_EGG) { return 5; } - if (!IsSpeciesInHoennDex(species2[a2])) + if (!IsSpeciesInHoennDex(species2[monIdx])) { return 4; } } } - if (species[a2] == SPECIES_DEOXYS || species[a2] == SPECIES_MEW) + if (species[monIdx] == SPECIES_DEOXYS || species[monIdx] == SPECIES_MEW) { - if (!GetMonData(&a0[a2], MON_DATA_OBEDIENCE)) + if (!GetMonData(&monList[monIdx], MON_DATA_OBEDIENCE)) { return 4; } @@ -3503,7 +3475,7 @@ static u32 sub_807A5F4(struct Pokemon *a0, int a1, int a2) for (sum = 0, i = 0; i < a1; i++) { - if (i != a2) + if (i != monIdx) { sum += species2[i]; } @@ -3525,7 +3497,7 @@ s32 sub_807A728(void) s32 val; u16 version; - if (gReceivedRemoteLinkPlayers != 0) + if (gReceivedRemoteLinkPlayers) { val = 0; version = (gLinkPlayers[GetMultiplayerId() ^ 1].version & 0xFF); @@ -3642,19 +3614,17 @@ _0807A7B6:\n\ } #endif // NONMATCHING -static bool32 sub_807A7BC(u16 a0, u8 a1) +static bool32 IsDeoxysOrMewUntradable(u16 species, bool8 isObedientBitSet) { - if (a0 == SPECIES_DEOXYS || a0 == SPECIES_MEW) + if (species == SPECIES_DEOXYS || species == SPECIES_MEW) { - if (!a1) - { + if (!isObedientBitSet) return TRUE; - } } return FALSE; } -int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 a2, u16 a3, u8 a4, u16 a5, u8 a6) +int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuStruct_02022B14Substruct a1, u16 species1, u16 species2, u8 type, u16 species3, u8 isObedientBitSet) { u8 r9 = a0.unk_01_0; u8 r2 = a0.unk_00_7; @@ -3674,50 +3644,50 @@ int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuS } } - if (sub_807A7BC(a5, a6)) + if (IsDeoxysOrMewUntradable(species3, isObedientBitSet)) { return 4; } - if (a3 == SPECIES_EGG) + if (species2 == SPECIES_EGG) { - if (a2 != a3) + if (species1 != species2) { return 2; } } else { - if (gBaseStats[a2].type1 != a4 && gBaseStats[a2].type2 != a4) + if (gBaseStats[species1].type1 != type && gBaseStats[species1].type2 != type) { return 1; } } - if (a2 == SPECIES_EGG && a2 != a3) + if (species1 == SPECIES_EGG && species1 != species2) { return 3; } if (!r9) { - if (a2 == SPECIES_EGG) + if (species1 == SPECIES_EGG) { return 6; } - if (!IsSpeciesInHoennDex(a2)) + if (!IsSpeciesInHoennDex(species1)) { return 4; } - if (!IsSpeciesInHoennDex(a3)) + if (!IsSpeciesInHoennDex(species2)) { return 5; } } - if (!r10 && !IsSpeciesInHoennDex(a2)) + if (!r10 && !IsSpeciesInHoennDex(species1)) { return 7; } @@ -3725,11 +3695,11 @@ int sub_807A7E0(struct UnkLinkRfuStruct_02022B14Substruct a0, struct UnkLinkRfuS return 0; } -int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16 a1, u16 a2, u8 a3) +int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16 species, u16 a2, u8 a3) { u8 unk = a0.unk_01_0; - if (sub_807A7BC(a2, a3)) + if (IsDeoxysOrMewUntradable(a2, a3)) { return 1; } @@ -3739,12 +3709,12 @@ int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16 a1, u16 a2, u8 return 0; } - if (a1 == SPECIES_EGG) + if (species == SPECIES_EGG) { return 2; } - if (IsSpeciesInHoennDex(a1)) + if (IsSpeciesInHoennDex(species)) { return 0; } @@ -3754,17 +3724,17 @@ int sub_807A8D0(struct UnkLinkRfuStruct_02022B14Substruct a0, u16 a1, u16 a2, u8 // r6/r7 flip. Ugh. #ifdef NONMATCHING -int sub_807A918(struct Pokemon *a0, u16 a1) +int sub_807A918(struct Pokemon *mon, u16 monIdx) { int i, version, versions, unk, unk2; - int arr[PARTY_SIZE]; + int speciesArray[PARTY_SIZE]; for (i = 0; i < gPlayerPartyCount; i++) { - arr[i] = GetMonData(&a0[i], MON_DATA_SPECIES2); - if (arr[i] == SPECIES_EGG) + speciesArray[i] = GetMonData(&mon[i], MON_DATA_SPECIES2); + if (speciesArray[i] == SPECIES_EGG) { - arr[i] = 0; + speciesArray[i] = 0; } } @@ -3800,12 +3770,12 @@ int sub_807A918(struct Pokemon *a0, u16 a1) if (unk == 0) { - if (!IsSpeciesInHoennDex(arr[a1])) + if (!IsSpeciesInHoennDex(speciesArray[monIdx])) { return 2; } - if (arr[a1] == SPECIES_NONE) + if (speciesArray[monIdx] == SPECIES_NONE) { return 3; } @@ -3814,9 +3784,9 @@ int sub_807A918(struct Pokemon *a0, u16 a1) unk2 = 0; for (i = 0; i < gPlayerPartyCount; i++) { - if (a1 != i) + if (monIdx != i) { - unk2 += arr[i]; + unk2 += speciesArray[i]; } } @@ -3831,7 +3801,7 @@ int sub_807A918(struct Pokemon *a0, u16 a1) } #else NAKED -int sub_807A918(struct Pokemon *a0, u16 a1) +int sub_807A918(struct Pokemon *mon, u16 a1) { asm_unified("push {r4-r7,lr}\n\ mov r7, r8\n\ @@ -4001,9 +3971,7 @@ static void sub_807AA7C(struct Sprite *sprite) if (!sprite->data[1]) { if (++sprite->data[0] == 12) - { sprite->data[0] = 0; - } LoadPalette(&gUnknown_08338EA4[sprite->data[0]], (sprite->oam.paletteNum + 16) * 16 + 4, 2); } @@ -4015,9 +3983,7 @@ static void sub_807AABC(struct Sprite *sprite) sprite->pos2.y++; if (sprite->data[0] == 10) - { DestroySprite(sprite); - } } static void sub_807AAE0(struct Sprite *sprite) @@ -4026,9 +3992,7 @@ static void sub_807AAE0(struct Sprite *sprite) sprite->pos2.y--; if (sprite->data[0] == 10) - { DestroySprite(sprite); - } } static void sub_807AB04(struct Sprite *sprite) @@ -4063,7 +4027,7 @@ static void sub_807ABCC(void) SetGpuReg(REG_OFFSET_BG1HOFS, gUnknown_020322A0->bg1hofs); dispcnt = GetGpuReg(REG_OFFSET_DISPCNT); - if (!(dispcnt & (DISPCNT_MODE_1 | DISPCNT_MODE_2 | DISPCNT_MODE_3 | DISPCNT_MODE_4 | DISPCNT_MODE_5))) + if ((dispcnt & 7) == DISPCNT_MODE_0) { SetGpuReg(REG_OFFSET_BG2VOFS, gUnknown_020322A0->bg2vofs); SetGpuReg(REG_OFFSET_BG2HOFS, gUnknown_020322A0->bg2hofs); @@ -4092,13 +4056,9 @@ static void sub_807AC3C(void) static void sub_807AC64(void) { if (gUnknown_020322A0->unk_88 == gUnknown_020322A0->unk_89) - { gUnknown_020322A0->unk_8A++; - } else - { gUnknown_020322A0->unk_8A = 0; - } if (gUnknown_020322A0->unk_8A > 300) { @@ -4114,31 +4074,28 @@ static void sub_807AC64(void) static u32 sub_807ACDC(void) { - if (gReceivedRemoteLinkPlayers != 0) - { + if (gReceivedRemoteLinkPlayers) return GetMultiplayerId(); - } - return 0; } -static void sub_807ACFC(u8 a0, u8 a1) +static void sub_807ACFC(u8 whichParty, u8 a1) { - int unk = 0; + int pos = 0; struct Pokemon *mon = NULL; u16 species; u32 personality; - if (a0 == 0) + if (whichParty == 0) { mon = &gPlayerParty[gUnknown_02032298[0]]; - unk = 1; + pos = 1; } - if (a0 == 1) + if (whichParty == 1) { mon = &gEnemyParty[gUnknown_02032298[1] % PARTY_SIZE]; - unk = 3; + pos = 3; } switch (a1) @@ -4147,24 +4104,20 @@ static void sub_807ACFC(u8 a0, u8 a1) species = GetMonData(mon, MON_DATA_SPECIES2); personality = GetMonData(mon, MON_DATA_PERSONALITY); - if (a0 == 0) - { + if (whichParty == 0) HandleLoadSpecialPokePic_2(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[1], species, personality); - } else - { - HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[a0 * 2 + 1], species, personality); - } + HandleLoadSpecialPokePic_DontHandleDeoxys(&gMonFrontPicTable[species], gMonSpritesGfxPtr->sprites[whichParty * 2 + 1], species, personality); LoadCompressedSpritePalette(GetMonSpritePalStruct(mon)); - gUnknown_020322A0->tradeSpecies[a0] = species; - gUnknown_020322A0->unk_68[a0] = personality; + gUnknown_020322A0->tradeSpecies[whichParty] = species; + gUnknown_020322A0->unk_68[whichParty] = personality; break; case 1: - SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, unk); - gUnknown_020322A0->pokePicSpriteIdxs[a0] = CreateSprite(&gMultiuseSpriteTemplate, 120, 60, 6); - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[a0]].invisible = TRUE; - gSprites[gUnknown_020322A0->pokePicSpriteIdxs[a0]].callback = SpriteCallbackDummy; + SetMultiuseSpriteTemplateToPokemon(GetMonSpritePalStruct(mon)->tag, pos); + gUnknown_020322A0->pokePicSpriteIdxs[whichParty] = CreateSprite(&gMultiuseSpriteTemplate, 120, 60, 6); + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[whichParty]].invisible = TRUE; + gSprites[gUnknown_020322A0->pokePicSpriteIdxs[whichParty]].callback = SpriteCallbackDummy; break; } } @@ -4174,7 +4127,7 @@ void sub_807AE50(void) switch (gMain.state) { case 0: - if (gReceivedRemoteLinkPlayers == 0) + if (!gReceivedRemoteLinkPlayers) { gLinkType = 0x1144; CloseLink(); @@ -4201,7 +4154,7 @@ void sub_807AE50(void) gUnknown_020322A0->unk_EC = 0; break; case 1: - if (gReceivedRemoteLinkPlayers == 0) + if (!gReceivedRemoteLinkPlayers) { gUnknown_020322A0->unk_FA = 1; OpenLink(); @@ -4243,10 +4196,8 @@ void sub_807AE50(void) break; case 4: sub_807AC64(); - if (gReceivedRemoteLinkPlayers == 1 && IsLinkPlayerDataExchangeComplete() == TRUE) - { + if (gReceivedRemoteLinkPlayers == TRUE && IsLinkPlayerDataExchangeComplete() == TRUE) gMain.state++; - } break; case 5: gUnknown_020322A0->unk_72 = 0; @@ -4281,7 +4232,7 @@ void sub_807AE50(void) break; case 11: sub_807B140(); - sub_807BAD8(); + SetTradeSceneStrings(); gMain.state++; break; case 12: @@ -4341,7 +4292,7 @@ static void sub_807B170(void) // In-game trade init static void sub_807B270(void) { - u8 name[11]; + u8 otName[11]; switch (gMain.state) { @@ -4349,8 +4300,8 @@ static void sub_807B270(void) gUnknown_02032298[0] = gSpecialVar_0x8005; gUnknown_02032298[1] = 6; StringCopy(gLinkPlayers[0].name, gSaveBlock2Ptr->playerName); - GetMonData(&gEnemyParty[0], MON_DATA_OT_NAME, name); - StringCopy(gLinkPlayers[1].name, name); + GetMonData(&gEnemyParty[0], MON_DATA_OT_NAME, otName); + StringCopy(gLinkPlayers[1].name, otName); gLinkPlayers[0].language = LANGUAGE_ENGLISH; gLinkPlayers[1].language = GetMonData(&gEnemyParty[0], MON_DATA_LANGUAGE); gUnknown_020322A0 = AllocZeroed(sizeof(*gUnknown_020322A0)); @@ -4407,7 +4358,7 @@ static void sub_807B270(void) case 11: sub_807B62C(5); sub_807B62C(0); - sub_807BAD8(); + SetTradeSceneStrings(); gMain.state++; break; case 12: @@ -4422,9 +4373,9 @@ static void sub_807B270(void) UpdatePaletteFade(); } -static void sub_807B464(u8 a0) +static void sub_807B464(u8 partyIdx) { - struct Pokemon *mon = &gPlayerParty[a0]; + struct Pokemon *mon = &gPlayerParty[partyIdx]; if (!GetMonData(mon, MON_DATA_IS_EGG)) { @@ -4447,41 +4398,31 @@ static void sub_807B4C4(void) static void sub_807B4D0(u8 a0, u8 a1) { u8 friendship; - u16 mailId1; - u16 mailId2; - struct Pokemon *mon1 = &gPlayerParty[a0]; - struct Pokemon *mon2; - mailId1 = GetMonData(mon1, MON_DATA_MAIL); - mon2 = &gEnemyParty[a1]; - mailId2 = GetMonData(mon2, MON_DATA_MAIL); + struct Pokemon *playerMon = &gPlayerParty[a0]; + u16 playerMail = GetMonData(playerMon, MON_DATA_MAIL); - if (mailId1 != 0xFF) - { - ClearMailStruct(&gSaveBlock1Ptr->mail[mailId1]); - } + struct Pokemon *partnerMon = &gEnemyParty[a1]; + u16 partnerMail = GetMonData(partnerMon, MON_DATA_MAIL); - gUnknown_020322A0->mon = *mon1; - *mon1 = *mon2; - *mon2 = gUnknown_020322A0->mon; + if (playerMail != 0xFF) + ClearMailStruct(&gSaveBlock1Ptr->mail[playerMail]); + + // This is where the actual trade happens!! + gUnknown_020322A0->mon = *playerMon; + *playerMon = *partnerMon; + *partnerMon = gUnknown_020322A0->mon; friendship = 70; - if (!GetMonData(mon1, MON_DATA_IS_EGG)) - { - SetMonData(mon1, MON_DATA_FRIENDSHIP, &friendship); - } + if (!GetMonData(playerMon, MON_DATA_IS_EGG)) + SetMonData(playerMon, MON_DATA_FRIENDSHIP, &friendship); - if (mailId2 != 0xFF) - { - GiveMailToMon2(mon1, &gUnknown_020321C0[mailId2]); - } + if (partnerMail != 0xFF) + GiveMailToMon2(playerMon, &gUnknown_020321C0[partnerMail]); sub_807B464(a0); - - if (gReceivedRemoteLinkPlayers != 0) - { + if (gReceivedRemoteLinkPlayers) sub_807B4C4(); - } } static void sub_807B5B8(void) @@ -4489,11 +4430,12 @@ static void sub_807B5B8(void) switch (gUnknown_020322A0->unk_93) { case 1: - if (sub_800A520()) + if (IsLinkTaskFinished()) { Trade_SendData(gUnknown_020322A0); gUnknown_020322A0->unk_93++; } + // fallthrough case 2: gUnknown_020322A0->unk_93 = 0; break; @@ -4680,7 +4622,7 @@ static void sub_807BA94(void) LoadSpritePalette(&gUnknown_08338D80); } -static void sub_807BAD8(void) +static void SetTradeSceneStrings(void) { /*Sets the variable strings printed on the *actual trading screen. For use in strings @@ -6021,13 +5963,13 @@ static void sub_807EB50(void) gMain.state = 101; gUnknown_020322A0->timer = 0; } - if (IsLinkTaskFinished()) + if (_IsLinkTaskFinished()) { gMain.state = 2; } break; case 101: - if (IsLinkTaskFinished()) + if (_IsLinkTaskFinished()) { gMain.state = 2; } @@ -6098,7 +6040,7 @@ static void sub_807EB50(void) } break; case 42: - if (IsLinkTaskFinished()) + if (_IsLinkTaskFinished()) { sub_8153408(); gMain.state = 5; @@ -6112,7 +6054,7 @@ static void sub_807EB50(void) } break; case 6: - if (IsLinkTaskFinished()) + if (_IsLinkTaskFinished()) { BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); gMain.state ++; @@ -6142,7 +6084,7 @@ static void sub_807EB50(void) case 9: if (gWirelessCommType && gMain.savedCallback == sub_80773AC) { - if (IsLinkTaskFinished()) + if (_IsLinkTaskFinished()) { gSoftResetDisabled = FALSE; SetMainCallback2(c2_080543C4); @@ -6344,7 +6286,7 @@ static void sub_807F464(void) gUnknown_020322A0->timer = 0; break; case 2: - if (IsLinkTaskFinished()) + if (_IsLinkTaskFinished()) { gMain.state = 3; StringExpandPlaceholders(gStringVar4, gText_SavingDontTurnOffPower); @@ -6402,7 +6344,7 @@ static void sub_807F464(void) } break; case 8: - if (IsLinkTaskFinished()) + if (_IsLinkTaskFinished()) { sub_8153408(); gMain.state = 9; @@ -6416,7 +6358,7 @@ static void sub_807F464(void) } break; case 10: - if (IsLinkTaskFinished()) + if (_IsLinkTaskFinished()) { FadeOutBGM(3); BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); @@ -6431,7 +6373,7 @@ static void sub_807F464(void) } break; case 12: - if (IsLinkTaskFinished()) + if (_IsLinkTaskFinished()) { gSoftResetDisabled = FALSE; SetMainCallback2(c2_080543C4); From 7c57699fa5205aa7bb3d639a6b8d4680bc03d8dc Mon Sep 17 00:00:00 2001 From: nullableVoidPtr <30564701+nullableVoidPtr@users.noreply.github.com> Date: Tue, 1 Jan 2019 00:38:49 +0800 Subject: [PATCH 49/53] Remove sed from ld_script, replace with INCLUDEs --- Makefile | 2 +- ld_script.sed | 14 -------------- ld_script.txt | 6 +++--- 3 files changed, 4 insertions(+), 18 deletions(-) delete mode 100644 ld_script.sed diff --git a/Makefile b/Makefile index 9027fad8a8..8f632008bc 100644 --- a/Makefile +++ b/Makefile @@ -178,7 +178,7 @@ $(OBJ_DIR)/sym_ewram.ld: sym_ewram.txt $(RAMSCRGEN) ewram_data $< ENGLISH > $@ $(OBJ_DIR)/ld_script.ld: ld_script.txt $(OBJ_DIR)/sym_bss.ld $(OBJ_DIR)/sym_common.ld $(OBJ_DIR)/sym_ewram.ld - cd $(OBJ_DIR) && sed -f ../../ld_script.sed ../../$< | sed "s#tools/#../../tools/#g" > ld_script.ld + cd $(OBJ_DIR) && sed "s#tools/#../../tools/#g" ../../ld_script.txt > ld_script.ld $(ELF): $(OBJ_DIR)/ld_script.ld $(OBJS) cd $(OBJ_DIR) && $(LD) $(LDFLAGS) -T ld_script.ld -o ../../$@ $(OBJS_REL) $(LIB) diff --git a/ld_script.sed b/ld_script.sed deleted file mode 100644 index b91542b6f8..0000000000 --- a/ld_script.sed +++ /dev/null @@ -1,14 +0,0 @@ -// { - r sym_ewram.ld - d -} - -// { - r sym_bss.ld - d -} - -// { - r sym_common.ld - d -} diff --git a/ld_script.txt b/ld_script.txt index c0810850ee..660c1d60d1 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -13,7 +13,7 @@ SECTIONS { . = 0x1C000; - + INCLUDE "sym_ewram.ld" . = 0x40000; } @@ -24,13 +24,13 @@ SECTIONS { ALIGN(4) { /* .bss starts at 0x3000000 */ - + INCLUDE "sym_bss.ld" /* .bss.code starts at 0x3001AA8 */ src/m4a_2.o(.bss.code); /* COMMON starts at 0x30022A8 */ - + INCLUDE "sym_common.ld" *libc.a:sbrkr.o(COMMON); end = .; . = 0x8000; From fb2d1591c1698e1553601c64da389a48f48b3cd1 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 31 Dec 2018 11:01:37 -0600 Subject: [PATCH 50/53] Document more battle anim effects --- data/battle_anim_scripts.s | 196 ++++---- graphics/battle_anims/sprites/effect.pal | 27 -- include/battle_anim.h | 3 +- include/graphics.h | 6 +- src/battle_anim_80A5C6C.c | 2 +- src/battle_anim_8170478.c | 2 +- src/battle_anim_effects_3.c | 548 +++++++++++++---------- src/battle_anim_utility_funcs.c | 7 +- src/graphics.c | 6 +- 9 files changed, 431 insertions(+), 366 deletions(-) delete mode 100644 graphics/battle_anims/sprites/effect.pal diff --git a/data/battle_anim_scripts.s b/data/battle_anim_scripts.s index ef16a15e81..e7a7e89b6c 100644 --- a/data/battle_anim_scripts.s +++ b/data/battle_anim_scripts.s @@ -1252,12 +1252,12 @@ Move_REVERSAL: createvisualtask sub_8115A04, 2, 31, 3, 2, 0, 10, RGB_WHITE delay 10 playsewithpan SE_W179, SOUND_PAN_ATTACKER - createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 0 - createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 42 - createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 84 - createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 126 - createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 168 - createsprite gBattleAnimSpriteTemplate_85CE5D8, ANIM_ATTACKER, 2, 26, 210 + createsprite gReversalOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 0 + createsprite gReversalOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 42 + createsprite gReversalOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 84 + createsprite gReversalOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 126 + createsprite gReversalOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 168 + createsprite gReversalOrbSpriteTemplate, ANIM_ATTACKER, 2, 26, 210 waitforvisualfinish delay 20 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 6, 4 @@ -1751,7 +1751,7 @@ Frustration_Strong: createsprite gAngerMarkSpriteTemplate, ANIM_ATTACKER, 2, 0, 20, -28 waitforvisualfinish delay 5 - createvisualtask sub_815C3A8, 5 + createvisualtask AnimTask_StrongFrustrationGrowAndShrink, 5 delay 7 playsewithpan SE_W004, SOUND_PAN_TARGET createsprite gBasicHitSplatSpriteTemplate, ANIM_ATTACKER, 3, 0, 8, 1, 1 @@ -1785,7 +1785,7 @@ Frustration_Medium: createvisualtask AnimTask_ShakeMon2, 2, ANIM_TARGET, 3, 0, 6, 1 goto Frustration_Continue Frustration_Weak: - createsprite gUnknown_085CE4D0, ANIM_ATTACKER, 2, 20, -28 + createsprite gWeakFrustrationAngerMarkSpriteTemplate, ANIM_ATTACKER, 2, 20, -28 waitforvisualfinish delay 10 createsprite gHorizontalLungeSpriteTemplate, ANIM_ATTACKER, 2, 10, 2 @@ -1815,26 +1815,26 @@ Move_SAFEGUARD: Move_PAIN_SPLIT: loadspritegfx ANIM_TAG_PAIN_SPLIT - createsprite gUnknown_085CE590, ANIM_ATTACKER, 2, -8, -42, 0 - createsprite gUnknown_085CE590, ANIM_TARGET, 2, -8, -42, 1 + createsprite gPainSplitProjectileSpriteTemplate, ANIM_ATTACKER, 2, -8, -42, ANIM_ATTACKER + createsprite gPainSplitProjectileSpriteTemplate, ANIM_TARGET, 2, -8, -42, ANIM_TARGET delay 10 playsewithpan SE_W207B, 0 - createvisualtask sub_815CA20, 2, 0, 0 - createvisualtask sub_815CA20, 2, 1, 0 + createvisualtask AnimTask_PainSplitMovement, 2, ANIM_ATTACKER, 0 + createvisualtask AnimTask_PainSplitMovement, 2, ANIM_TARGET, 0 waitforvisualfinish - createsprite gUnknown_085CE590, ANIM_ATTACKER, 2, -24, -42, 0 - createsprite gUnknown_085CE590, ANIM_TARGET, 2, -24, -42, 1 + createsprite gPainSplitProjectileSpriteTemplate, ANIM_ATTACKER, 2, -24, -42, ANIM_ATTACKER + createsprite gPainSplitProjectileSpriteTemplate, ANIM_TARGET, 2, -24, -42, ANIM_TARGET delay 10 playsewithpan SE_W207B, 0 - createvisualtask sub_815CA20, 2, 0, 1 - createvisualtask sub_815CA20, 2, 1, 1 + createvisualtask AnimTask_PainSplitMovement, 2, ANIM_ATTACKER, 1 + createvisualtask AnimTask_PainSplitMovement, 2, ANIM_TARGET, 1 waitforvisualfinish - createsprite gUnknown_085CE590, ANIM_ATTACKER, 2, 8, -42, 0 - createsprite gUnknown_085CE590, ANIM_TARGET, 2, 8, -42, 1 + createsprite gPainSplitProjectileSpriteTemplate, ANIM_ATTACKER, 2, 8, -42, ANIM_ATTACKER + createsprite gPainSplitProjectileSpriteTemplate, ANIM_TARGET, 2, 8, -42, ANIM_TARGET delay 10 playsewithpan SE_W207B, 0 - createvisualtask sub_815CA20, 2, 0, 2 - createvisualtask sub_815CA20, 2, 1, 2 + createvisualtask AnimTask_PainSplitMovement, 2, ANIM_ATTACKER, 2 + createvisualtask AnimTask_PainSplitMovement, 2, ANIM_TARGET, 2 end Move_VICE_GRIP: @@ -2888,7 +2888,7 @@ Move_KINESIS: Move_GLARE: loadspritegfx ANIM_TAG_SMALL_RED_EYE loadspritegfx ANIM_TAG_EYE_SPARKLE - createvisualtask sub_815E114, 5, 0 + createvisualtask AnimTask_GlareEyeDots, 5, 0 playsewithpan SE_W060B, SOUND_PAN_ATTACKER waitforvisualfinish createvisualtask sub_8116620, 5, 1, 0, 0, 16, RGB_BLACK @@ -2905,7 +2905,7 @@ Move_GLARE: Move_BARRAGE: loadspritegfx ANIM_TAG_RED_BALL - createvisualtask sub_815E47C, 3 + createvisualtask AnimTask_BarrageBall, 3 playsewithpan SE_W207, SOUND_PAN_ATTACKER delay 24 createsprite gBattleAnimSpriteTemplate_85972D8, ANIM_ATTACKER, 2, 8, 1, 40, 1 @@ -2996,7 +2996,7 @@ Move_SPLASH: Move_ACID_ARMOR: monbg ANIM_ATTACKER setalpha 15, 0 - createvisualtask sub_815D240, 2, 0 + createvisualtask AnimTask_AcidArmor, 2, ANIM_ATTACKER playsewithpan SE_W151, SOUND_PAN_ATTACKER waitforvisualfinish blendoff @@ -3096,7 +3096,7 @@ Move_FLAIL: loadspritegfx ANIM_TAG_IMPACT monbg ANIM_TARGET setalpha 12, 8 - createvisualtask sub_815C770, 2, 0 + createvisualtask AnimTask_FlailMovement, 2, ANIM_ATTACKER loopsewithpan SE_W029, SOUND_PAN_ATTACKER, 8, 2 waitforvisualfinish createsprite gUnknown_085973A0, ANIM_TARGET, 3, 1, 3 @@ -3219,7 +3219,7 @@ EndureEffect: Move_CHARM: loadspritegfx ANIM_TAG_MAGENTA_HEART - createvisualtask sub_815C478, 5, 0, 2, 0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20 playsewithpan SE_W204, SOUND_PAN_ATTACKER delay 15 @@ -3529,18 +3529,18 @@ Move_MEMENTO: Move_FACADE: loadspritegfx ANIM_TAG_SWEAT_DROP - createvisualtask sub_815DCA4, 2, 0, 3 - createvisualtask sub_815DF0C, 2, 0, 72 + createvisualtask AnimTask_SquishAndSweatDroplets, 2, ANIM_ATTACKER, 3 + createvisualtask AnimTask_FacadeColorBlend, 2, ANIM_ATTACKER, 72 loopsewithpan SE_W207, SOUND_PAN_ATTACKER, 24, 3 end Move_SMELLING_SALT: loadspritegfx ANIM_TAG_TAG_HAND loadspritegfx ANIM_TAG_SMELLINGSALT_EFFECT - createsprite gUnknown_085CE864, ANIM_TARGET, 2, 1, 0, 2 - createsprite gUnknown_085CE864, ANIM_TARGET, 2, 1, 1, 2 + createsprite gSmellingSaltsHandSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 0, 2 + createsprite gSmellingSaltsHandSpriteTemplate, ANIM_TARGET, 2, ANIM_TARGET, 1, 2 delay 32 - createvisualtask AnimTask_SmellingSaltSquish, 3, ANIM_TARGET, 2 + createvisualtask AnimTask_SmellingSaltsSquish, 3, ANIM_TARGET, 2 loopsewithpan SE_W003, SOUND_PAN_TARGET, 12, 2 waitforvisualfinish delay 4 @@ -3633,18 +3633,18 @@ Move_HELPING_HAND: Move_ASSIST: loadspritegfx ANIM_TAG_PAW_PRINT - createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, 112, -16, 140, 128, 36 + createsprite gAssistPawprintSpriteTemplate, ANIM_ATTACKER, 50, 112, -16, 140, 128, 36 delay 2 - createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, 208, 128, -16, 48, 36 + createsprite gAssistPawprintSpriteTemplate, ANIM_ATTACKER, 50, 208, 128, -16, 48, 36 playsewithpan SE_W010, 0 delay 2 - createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, -16, 112, 256, -16, 36 + createsprite gAssistPawprintSpriteTemplate, ANIM_ATTACKER, 50, -16, 112, 256, -16, 36 playsewithpan SE_W010, 0 delay 2 - createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, 108, 128, 84, -16, 36 + createsprite gAssistPawprintSpriteTemplate, ANIM_ATTACKER, 50, 108, 128, 84, -16, 36 playsewithpan SE_W010, 0 delay 2 - createsprite gUnknown_085CE804, ANIM_ATTACKER, 50, -16, 56, 256, 56, 36 + createsprite gAssistPawprintSpriteTemplate, ANIM_ATTACKER, 50, -16, 56, 256, 56, 36 playsewithpan SE_W010, 0 end @@ -3764,24 +3764,24 @@ BrickBreakShatteredWall: Move_YAWN: loadspritegfx ANIM_TAG_PINK_CLOUD - createvisualtask sub_815D64C, 2, 0 + createvisualtask AnimTask_DeepInhale, 2, ANIM_ATTACKER playsewithpan SE_W281, SOUND_PAN_ATTACKER waitforvisualfinish - createsprite gUnknown_085CE68C, ANIM_TARGET, 5, 2 + createsprite gYawnCloudSpriteTemplate, ANIM_TARGET, 5, 2 playsewithpan SE_W255, SOUND_PAN_ATTACKER delay 4 - createsprite gUnknown_085CE68C, ANIM_TARGET, 5, 1 + createsprite gYawnCloudSpriteTemplate, ANIM_TARGET, 5, 1 delay 4 - createsprite gUnknown_085CE68C, ANIM_TARGET, 5, 0 + createsprite gYawnCloudSpriteTemplate, ANIM_TARGET, 5, 0 waitforvisualfinish - createvisualtask sub_815D64C, 2, 1 + createvisualtask AnimTask_DeepInhale, 2, ANIM_TARGET playsewithpan SE_W281, SOUND_PAN_TARGET end Move_ENDEAVOR: loadspritegfx ANIM_TAG_SWEAT_DROP loadspritegfx ANIM_TAG_IMPACT - createvisualtask sub_815DCA4, 2, 0, 2 + createvisualtask AnimTask_SquishAndSweatDroplets, 2, ANIM_ATTACKER, 2 loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 24, 2 createvisualtask AnimTask_BlendMonInAndOut, 5, ANIM_ATTACKER, RGB(31, 21, 0), 12, 1, 2 delay 6 @@ -4171,7 +4171,7 @@ Move_FAKE_TEARS: loadspritegfx ANIM_TAG_MUSIC_NOTES createvisualtask AnimTask_BlendParticle, 5, ANIM_TAG_SMALL_BUBBLES, 0, 4, 4, RGB(12, 11, 31) waitforvisualfinish - createvisualtask sub_815C478, 5, 0, 2, 1 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 1 loopsewithpan SE_W039, SOUND_PAN_ATTACKER, 12, 4 delay 8 createsprite gUnknown_085970E8, ANIM_ATTACKER, 2, 0, 0 @@ -4275,7 +4275,7 @@ Move_TICKLE: delay 20 createvisualtask AnimTask_SwayMon, 3, 0, 6, 1280, 3, ANIM_ATTACKER delay 12 - createvisualtask sub_815C478, 3, 1, 6, 2 + createvisualtask AnimTask_RockMonBackAndForth, 3, ANIM_TARGET, 6, 2 loopsewithpan SE_W039, SOUND_PAN_TARGET, 8, 8 waitforvisualfinish end @@ -4371,7 +4371,7 @@ Move_BLOCK: Move_HOWL: loadspritegfx ANIM_TAG_NOISE_LINE - createvisualtask sub_815D64C, 2, 0 + createvisualtask AnimTask_DeepInhale, 2, 0 delay 12 call RoarEffect createvisualtask sub_8158D8C, 2, 0, 3 @@ -4392,7 +4392,7 @@ Move_BULK_UP: Move_COVET: loadspritegfx ANIM_TAG_MAGENTA_HEART loadspritegfx ANIM_TAG_ITEM_BAG - createvisualtask sub_815C478, 5, 0, 2, 0 + createvisualtask AnimTask_RockMonBackAndForth, 5, ANIM_ATTACKER, 2, 0 createsprite gUnknown_08593970, ANIM_ATTACKER, 3, 0, 20 playsewithpan SE_W204, SOUND_PAN_ATTACKER delay 15 @@ -4973,13 +4973,13 @@ Move_ROAR: end RoarEffect: - createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, -8, 0 - createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, 0, 2 - createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, 8, 1 + createsprite gRoarNoiseLineSpriteTemplate, ANIM_ATTACKER, 2, 24, -8, 0 + createsprite gRoarNoiseLineSpriteTemplate, ANIM_ATTACKER, 2, 24, 0, 2 + createsprite gRoarNoiseLineSpriteTemplate, ANIM_ATTACKER, 2, 24, 8, 1 delay 15 - createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, -8, 0 - createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, 0, 2 - createsprite gUnknown_085CE7D4, ANIM_ATTACKER, 2, 24, 8, 1 + createsprite gRoarNoiseLineSpriteTemplate, ANIM_ATTACKER, 2, 24, -8, 0 + createsprite gRoarNoiseLineSpriteTemplate, ANIM_ATTACKER, 2, 24, 0, 2 + createsprite gRoarNoiseLineSpriteTemplate, ANIM_ATTACKER, 2, 24, 8, 1 return Move_GROWL: @@ -8312,38 +8312,38 @@ MorningSun1: Move_SWEET_SCENT: loadspritegfx ANIM_TAG_PINK_PETAL playsewithpan SE_W230, SOUND_PAN_ATTACKER - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 100, 0, 100 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 100, 0, 100 delay 25 setpan 0 call SweetScentEffect - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 55, 0 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 55, 0 setpan SOUND_PAN_TARGET createvisualtask sub_8115A04, 2, 20, 1, 5, 5, 13, RGB(31, 21, 21) call SweetScentEffect waitforvisualfinish end SweetScentEffect: - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 70, 1, 64 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 70, 1, 64 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 60, 0, 64 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 60, 0, 64 delay 5 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 80, 1, 64 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 80, 1, 64 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 58, 0, 120 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 58, 0, 120 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 100, 0, 120 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 100, 0, 120 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 90, 0, 64 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 90, 0, 64 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 48, 0, 64 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 48, 0, 64 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 95, 1, 80 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 95, 1, 80 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 100, 0, 120 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 100, 0, 120 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 75, 1, 64 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 75, 1, 64 delay 2 - createsprite gUnknown_085CE544, ANIM_ATTACKER, 2, 85, 0, 120 + createsprite gSweetScentPetalSpriteTemplate, ANIM_ATTACKER, 2, 85, 0, 120 delay 2 return @@ -8404,32 +8404,32 @@ Move_FLATTER: createvisualtask sub_815ABEC, 2 createvisualtask sub_8116960, 2, 248, 3, 0, 10, 0 waitforvisualfinish - createsprite gUnknown_085CE5C0, ANIM_TARGET, 2, 0, -8, 80 + createsprite gFlatterSpotlightSpriteTemplate, ANIM_TARGET, 2, 0, -8, 80 delay 0 createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 5, 2, ANIM_TARGET delay 10 createsprite gVerticalDipSpriteTemplate, ANIM_ATTACKER, 2, 5, 2, ANIM_TARGET delay 0 createvisualtask sub_8159210, 5, 229, SOUND_PAN_ATTACKER - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 - call Flatter1 + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti + call CreateFlatterConfetti delay 5 createvisualtask sub_8159210, 5, 229, SOUND_PAN_TARGET waitforvisualfinish @@ -8437,9 +8437,9 @@ Move_FLATTER: waitforvisualfinish createvisualtask sub_815AC8C, 2 end -Flatter1: - createsprite gUnknown_085CE5A8, ANIM_ATTACKER, 40, 0 - createsprite gUnknown_085CE5A8, ANIM_ATTACKER, 40, 1 +CreateFlatterConfetti: + createsprite gFlatterConfettiSpriteTemplate, ANIM_ATTACKER, 40, ANIM_ATTACKER + createsprite gFlatterConfettiSpriteTemplate, ANIM_ATTACKER, 40, ANIM_TARGET return Move_ROLE_PLAY: @@ -8449,7 +8449,7 @@ Move_ROLE_PLAY: waitforvisualfinish playsewithpan SE_W161, SOUND_PAN_ATTACKER waitplaysewithpan SE_W197, SOUND_PAN_ATTACKER, 30 - createvisualtask sub_815CED8, 2 + createvisualtask AnimTask_RolePlaySilhouette, 2 waitforvisualfinish clearmonbg ANIM_ATK_PARTNER createvisualtask sub_8116620, 10, 4, 2, 16, 0, RGB_WHITE @@ -10450,31 +10450,31 @@ General_SmokeballEscape: setalpha 12, 4 delay 0 playsewithpan SE_BOWA2, SOUND_PAN_TARGET - createsprite gUnknown_085CE734, ANIM_TARGET, 0, 0, 32, 28, 30 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_TARGET, 0, 0, 32, 28, 30 delay 4 playsewithpan SE_BOWA2, SOUND_PAN_TARGET - createsprite gUnknown_085CE734, ANIM_ATTACKER, 127, 2, 12, 20, 30 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 127, 2, 12, 20, 30 delay 12 playsewithpan SE_BOWA2, SOUND_PAN_TARGET - createsprite gUnknown_085CE734, ANIM_ATTACKER, 126, 2, -28, 4, 30 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 126, 2, -28, 4, 30 delay 12 playsewithpan SE_BOWA2, SOUND_PAN_TARGET - createsprite gUnknown_085CE734, ANIM_ATTACKER, 124, 2, 14, -20, 30 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 124, 2, 14, -20, 30 delay 4 playsewithpan SE_BOWA2, SOUND_PAN_TARGET createvisualtask sub_81136E8, 2, 2 - createsprite gUnknown_085CE734, ANIM_ATTACKER, 123, 3, 4, 4, 30 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 123, 3, 4, 4, 30 delay 14 playsewithpan SE_BOWA2, SOUND_PAN_TARGET - createsprite gUnknown_085CE734, ANIM_ATTACKER, 122, 3, -14, 18, 46 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 122, 3, -14, 18, 46 delay 0 - createsprite gUnknown_085CE734, ANIM_ATTACKER, 121, 3, 14, -14, 46 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 121, 3, 14, -14, 46 delay 0 - createsprite gUnknown_085CE734, ANIM_ATTACKER, 120, 3, -12, -10, 46 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 120, 3, -12, -10, 46 delay 0 - createsprite gUnknown_085CE734, ANIM_ATTACKER, 119, 3, 14, 14, 46 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 119, 3, 14, 14, 46 delay 0 - createsprite gUnknown_085CE734, ANIM_ATTACKER, 118, 3, 0, 0, 46 + createsprite gSmokeBallEscapeCloudSpriteTemplate, ANIM_ATTACKER, 118, 3, 0, 0, 46 waitforvisualfinish clearmonbg ANIM_ATTACKER invisible ANIM_ATTACKER diff --git a/graphics/battle_anims/sprites/effect.pal b/graphics/battle_anims/sprites/effect.pal deleted file mode 100644 index 3dcf4cff6d..0000000000 --- a/graphics/battle_anims/sprites/effect.pal +++ /dev/null @@ -1,27 +0,0 @@ -JASC-PAL -0100 -24 -230 205 8 -230 172 41 -222 148 65 -222 115 90 -213 82 123 -213 57 148 -205 24 172 -205 0 205 -205 0 189 -205 0 164 -205 0 131 -205 0 106 -213 0 82 -213 0 49 -213 0 24 -222 0 0 -222 8 0 -222 41 0 -222 74 0 -222 98 0 -230 131 0 -230 156 0 -230 189 0 -238 222 0 diff --git a/include/battle_anim.h b/include/battle_anim.h index 4723fb0d50..713bf6fce1 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -147,8 +147,7 @@ void sub_80A78AC(struct Sprite *sprite); void sub_80A6BFC(struct UnknownAnimStruct2 *unk, u8 unused); u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10); void sub_80A749C(struct Sprite *sprite); -void sub_80A6814(u8 taskId); -void sub_80A6DEC(struct Sprite *sprite); +void DestroyAnimVisualTaskAndDisableBlend(u8 taskId); void DestroySpriteAndFreeResources_(struct Sprite *sprite); void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId); diff --git a/include/graphics.h b/include/graphics.h index 8a54ba5360..ad2b39260a 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4630,9 +4630,9 @@ extern const u32 gBattleAnimSpritePalette_241[]; extern const u32 gBattleAnimSpritePalette_242[]; extern const u32 gBattleAnimSpritePalette_243[]; extern const u32 gBattleAnimSpritePalette_244[]; -extern const u32 gUnknown_08C2DC68[]; -extern const u32 gUnknown_08C2DDA4[]; -extern const u32 gUnknown_08C2DDC4[]; +extern const u32 gCureBubblesGfx[]; +extern const u32 gCureBubblesPal[]; +extern const u32 gCureBubblesTilemap[]; extern const u32 gBattleAnimSpritePalette_245[]; extern const u32 gBattleAnimSpritePalette_248[]; extern const u32 gBattleAnimSpritePalette_249[]; diff --git a/src/battle_anim_80A5C6C.c b/src/battle_anim_80A5C6C.c index 92815b56ca..0800e67a0d 100644 --- a/src/battle_anim_80A5C6C.c +++ b/src/battle_anim_80A5C6C.c @@ -703,7 +703,7 @@ void sub_80A67F4(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_80A6814(u8 taskId) +void DestroyAnimVisualTaskAndDisableBlend(u8 taskId) { SetGpuReg(REG_OFFSET_BLDCNT, 0); SetGpuReg(REG_OFFSET_BLDALPHA, 0); diff --git a/src/battle_anim_8170478.c b/src/battle_anim_8170478.c index 5b7a4ec1ce..7d899fb09d 100755 --- a/src/battle_anim_8170478.c +++ b/src/battle_anim_8170478.c @@ -428,7 +428,7 @@ void unref_sub_8170478(u8 taskId) sub_80A6B30(&unknownStruct); sub_80A6D48(unknownStruct.bgId, gUnknown_08C2EA9C); sub_80A6CC0(unknownStruct.bgId, gUnknown_08C2EA50, unknownStruct.tilesOffset); - LoadCompressedPalette(gUnknown_08C2DDA4, unknownStruct.unk8 << 4, 32); + LoadCompressedPalette(gCureBubblesPal, unknownStruct.unk8 << 4, 32); gBattle_BG1_X = -gSprites[spriteId3].pos1.x + 32; gBattle_BG1_Y = -gSprites[spriteId3].pos1.y - 32; diff --git a/src/battle_anim_effects_3.c b/src/battle_anim_effects_3.c index 018cc48e46..a8b7d6d6a2 100755 --- a/src/battle_anim_effects_3.c +++ b/src/battle_anim_effects_3.c @@ -49,19 +49,19 @@ void sub_815B49C(struct Sprite *); void AnimMiniTwinklingStar(struct Sprite *); void sub_815B70C(struct Sprite *); void sub_815BE04(struct Sprite *); -void sub_815C400(struct Sprite *); -void sub_815C6B0(struct Sprite *); -void sub_815C95C(struct Sprite *); -void sub_815CB88(struct Sprite *); -void sub_815CC94(struct Sprite *); -void sub_815CDB4(struct Sprite *); -void sub_815D7B4(struct Sprite *); -void sub_815D870(struct Sprite *); +void AnimWeakFrustrationAngerMark(struct Sprite *); +void AnimSweetScentPetal(struct Sprite *); +void AnimPainSplitProjectile(struct Sprite *); +void AnimFlatterConfetti(struct Sprite *); +void AnimFlatterSpotlight(struct Sprite *); +void AnimReversalOrb(struct Sprite *); +void AnimYawnCloud(struct Sprite *); +void AnimSmokeBallEscapeCloud(struct Sprite *); void sub_815DEBC(struct Sprite *); -void sub_815E01C(struct Sprite *); -void sub_815E404(struct Sprite *); -void sub_815E444(struct Sprite *); -void sub_815E6D8(struct Sprite *); +void AnimRoarNoiseLine(struct Sprite *); +void AnimGlareEyeDot(struct Sprite *); +void AnimAssistPawprint(struct Sprite *); +void AnimSmellingSaltsHand(struct Sprite *); void AnimSmellingSaltExclamation(struct Sprite *); void AnimHelpingHandClap(struct Sprite *); void AnimForesightMagnifyingGlass(struct Sprite *); @@ -94,25 +94,26 @@ static void sub_815B5D0(struct Sprite *); static void sub_815BF44(struct Sprite *); static void sub_815BFF4(struct Sprite *); static void sub_815C050(struct Sprite *); -static void sub_815C548(u8); -static void sub_815C700(struct Sprite *); -static void sub_815C7C4(u8); -static void sub_815CC34(struct Sprite *); -static void sub_815CD0C(struct Sprite *); -static void sub_815CDFC(struct Sprite *); -static void sub_815D1BC(u8); -static void sub_815D398(u8); -static void sub_815D694(u8); -static void sub_815D804(struct Sprite *); -static void sub_815DD48(u8); -static void sub_815DDE0(u8, bool8); -static void sub_815DF64(u8); -static void sub_815E0DC(struct Sprite *); -static void sub_815E20C(u8); -static void sub_815E34C(s16, s16, s16, s16, u8, u8, s16 *, s16 *); -static void sub_815E5CC(u8); +static void AnimTask_RockMonBackAndForthStep(u8); +static void AnimSweetScentPetalStep(struct Sprite *); +static void AnimTask_FlailMovementStep(u8); +static void AnimFlatterConfettiStep(struct Sprite *); +static void AnimFlatterSpotlightStep(struct Sprite *); +static void AnimReversalOrbStep(struct Sprite *); +static void AnimTask_RolePlaySilhouetteStep1(u8); +static void AnimTask_RolePlaySilhouetteStep2(u8); +static void AnimTask_AcidArmorStep(u8); +static void AnimTask_DeepInhaleStep(u8); +static void AnimYawnCloudStep(struct Sprite *); +static void AnimTask_SquishAndSweatDropletsStep(u8); +static void CreateSweatDroplets(u8, bool8); +static void AnimTask_FacadeColorBlendStep(u8); +static void AnimRoarNoiseLineStep(struct Sprite *); +static void AnimTask_GlareEyeDotsStep(u8); +static void GetGlareEyeDotCoords(s16, s16, s16, s16, u8, u8, s16 *, s16 *); +static void AnimTask_BarrageBallStep(u8); static void sub_815E784(struct Sprite *); -static void AnimTask_SmellingSaltSquishStep(u8); +static void AnimTask_SmellingSaltsSquishStep(u8); static void AnimSmellingSaltExclamationStep(struct Sprite *); static void AnimHelpingHandClapStep(struct Sprite *); static void AnimTask_HelpingHandAttackerMovementStep(u8); @@ -653,7 +654,7 @@ const u8 gUnknown_085CE4A8[] = 50, }; -const union AffineAnimCmd gUnknown_085CE4B0[] = +const union AffineAnimCmd gStrongFrustrationAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0, -15, 0, 7), AFFINEANIMCMD_FRAME(0, 15, 0, 7), @@ -661,7 +662,7 @@ const union AffineAnimCmd gUnknown_085CE4B0[] = AFFINEANIMCMD_END, }; -const struct SpriteTemplate gUnknown_085CE4D0 = +const struct SpriteTemplate gWeakFrustrationAngerMarkSpriteTemplate = { .tileTag = ANIM_TAG_ANGER, .paletteTag = ANIM_TAG_ANGER, @@ -669,10 +670,10 @@ const struct SpriteTemplate gUnknown_085CE4D0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815C400, + .callback = AnimWeakFrustrationAngerMark, }; -const union AnimCmd gUnknown_085CE4E8[] = +const union AnimCmd gSweetScentPetalAnimCmds1[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_FRAME(1, 8), @@ -685,7 +686,7 @@ const union AnimCmd gUnknown_085CE4E8[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_085CE50C[] = +const union AnimCmd gSweetScentPetalAnimCmds2[] = { ANIMCMD_FRAME(0, 8, .hFlip = TRUE), ANIMCMD_FRAME(1, 8, .hFlip = TRUE), @@ -698,33 +699,33 @@ const union AnimCmd gUnknown_085CE50C[] = ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_085CE530[] = +const union AnimCmd gSweetScentPetalAnimCmds3[] = { ANIMCMD_FRAME(0, 8), ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085CE538[] = +const union AnimCmd *const gSweetScentPetalAnimCmdTable[] = { - gUnknown_085CE4E8, - gUnknown_085CE50C, - gUnknown_085CE530, + gSweetScentPetalAnimCmds1, + gSweetScentPetalAnimCmds2, + gSweetScentPetalAnimCmds3, }; -const struct SpriteTemplate gUnknown_085CE544 = +const struct SpriteTemplate gSweetScentPetalSpriteTemplate = { .tileTag = ANIM_TAG_PINK_PETAL, .paletteTag = ANIM_TAG_PINK_PETAL, .oam = &gUnknown_08524904, - .anims = gUnknown_085CE538, + .anims = gSweetScentPetalAnimCmdTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815C6B0, + .callback = AnimSweetScentPetal, }; const u16 gUnknown_085CE55C[] = INCBIN_U16("graphics/unknown/unknown_85CE55C.gbapal"); -const union AnimCmd gUnknown_085CE57C[] = +const union AnimCmd gPainSplitAnimCmds[] = { ANIMCMD_FRAME(0, 5), ANIMCMD_FRAME(4, 9), @@ -732,23 +733,23 @@ const union AnimCmd gUnknown_085CE57C[] = ANIMCMD_END, }; -const union AnimCmd *const gUnknown_085CE58C[] = +const union AnimCmd *const gPainSplitAnimCmdTable[] = { - gUnknown_085CE57C, + gPainSplitAnimCmds, }; -const struct SpriteTemplate gUnknown_085CE590 = +const struct SpriteTemplate gPainSplitProjectileSpriteTemplate = { .tileTag = ANIM_TAG_PAIN_SPLIT, .paletteTag = ANIM_TAG_PAIN_SPLIT, .oam = &gUnknown_0852490C, - .anims = gUnknown_085CE58C, + .anims = gPainSplitAnimCmdTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815C95C, + .callback = AnimPainSplitProjectile, }; -const struct SpriteTemplate gUnknown_085CE5A8 = +const struct SpriteTemplate gFlatterConfettiSpriteTemplate = { .tileTag = ANIM_TAG_CONFETTI, .paletteTag = ANIM_TAG_CONFETTI, @@ -756,10 +757,10 @@ const struct SpriteTemplate gUnknown_085CE5A8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815CB88, + .callback = AnimFlatterConfetti, }; -const struct SpriteTemplate gUnknown_085CE5C0 = +const struct SpriteTemplate gFlatterSpotlightSpriteTemplate = { .tileTag = ANIM_TAG_SPOTLIGHT, .paletteTag = ANIM_TAG_SPOTLIGHT, @@ -767,10 +768,10 @@ const struct SpriteTemplate gUnknown_085CE5C0 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gUnknown_085CE224, - .callback = sub_815CC94, + .callback = AnimFlatterSpotlight, }; -const struct SpriteTemplate gBattleAnimSpriteTemplate_85CE5D8 = +const struct SpriteTemplate gReversalOrbSpriteTemplate = { .tileTag = ANIM_TAG_BLUE_ORB, .paletteTag = ANIM_TAG_BLUE_ORB, @@ -778,10 +779,10 @@ const struct SpriteTemplate gBattleAnimSpriteTemplate_85CE5D8 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815CDB4, + .callback = AnimReversalOrb, }; -const union AffineAnimCmd gUnknown_085CE5F0[] = +const union AffineAnimCmd gDeepInhaleAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(16, 0, 0, 4), AFFINEANIMCMD_FRAME(0, -3, 0, 16), @@ -791,7 +792,7 @@ const union AffineAnimCmd gUnknown_085CE5F0[] = AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085CE620[] = +const union AffineAnimCmd gYawnCloudAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), AFFINEANIMCMD_FRAME(-8, -8, 0, 8), @@ -799,7 +800,7 @@ const union AffineAnimCmd gUnknown_085CE620[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_085CE640[] = +const union AffineAnimCmd gYawnCloudAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0), AFFINEANIMCMD_FRAME(8, 8, 0, 8), @@ -807,7 +808,7 @@ const union AffineAnimCmd gUnknown_085CE640[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_085CE660[] = +const union AffineAnimCmd gYawnCloudAffineAnimCmds3[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(8, 8, 0, 8), @@ -815,25 +816,25 @@ const union AffineAnimCmd gUnknown_085CE660[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_085CE680[] = +const union AffineAnimCmd *const gYawnCloudAffineAnimTable[] = { - gUnknown_085CE620, - gUnknown_085CE640, - gUnknown_085CE660, + gYawnCloudAffineAnimCmds1, + gYawnCloudAffineAnimCmds2, + gYawnCloudAffineAnimCmds3, }; -const struct SpriteTemplate gUnknown_085CE68C = +const struct SpriteTemplate gYawnCloudSpriteTemplate = { .tileTag = ANIM_TAG_PINK_CLOUD, .paletteTag = ANIM_TAG_PINK_CLOUD, .oam = &gUnknown_08524974, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE680, - .callback = sub_815D7B4, + .affineAnims = gYawnCloudAffineAnimTable, + .callback = AnimYawnCloud, }; -const union AffineAnimCmd gUnknown_085CE6A4[] = +const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0x80, 0x80, 0, 0), AFFINEANIMCMD_FRAME(-4, -6, 0, 16), @@ -841,7 +842,7 @@ const union AffineAnimCmd gUnknown_085CE6A4[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_085CE6C4[] = +const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0xC0, 0xC0, 0, 0), AFFINEANIMCMD_FRAME(4, 6, 0, 16), @@ -849,7 +850,7 @@ const union AffineAnimCmd gUnknown_085CE6C4[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_085CE6E4[] = +const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds3[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(4, 6, 0, 16), @@ -857,7 +858,7 @@ const union AffineAnimCmd gUnknown_085CE6E4[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd gUnknown_085CE704[] = +const union AffineAnimCmd gSmokeBallEscapeCloudAffineAnimCmds4[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, 0, 0), AFFINEANIMCMD_FRAME(8, 10, 0, 30), @@ -865,26 +866,26 @@ const union AffineAnimCmd gUnknown_085CE704[] = AFFINEANIMCMD_JUMP(0), }; -const union AffineAnimCmd *const gUnknown_085CE724[] = +const union AffineAnimCmd *const gSmokeBallEscapeCloudAffineAnimTable[] = { - gUnknown_085CE6A4, - gUnknown_085CE6C4, - gUnknown_085CE6E4, - gUnknown_085CE704, + gSmokeBallEscapeCloudAffineAnimCmds1, + gSmokeBallEscapeCloudAffineAnimCmds2, + gSmokeBallEscapeCloudAffineAnimCmds3, + gSmokeBallEscapeCloudAffineAnimCmds4, }; -const struct SpriteTemplate gUnknown_085CE734 = +const struct SpriteTemplate gSmokeBallEscapeCloudSpriteTemplate = { .tileTag = ANIM_TAG_PINK_CLOUD, .paletteTag = ANIM_TAG_PINK_CLOUD, .oam = &gUnknown_085249D4, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE724, - .callback = sub_815D870, + .affineAnims = gSmokeBallEscapeCloudAffineAnimTable, + .callback = AnimSmokeBallEscapeCloud, }; -const union AffineAnimCmd gUnknown_085CE74C[] = +const union AffineAnimCmd gFacadeSquishAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(-16, 16, 0, 6), AFFINEANIMCMD_FRAME(16, -16, 0, 12), @@ -892,7 +893,7 @@ const union AffineAnimCmd gUnknown_085CE74C[] = AFFINEANIMCMD_END, }; -const struct SpriteTemplate gUnknown_085CE76C = +const struct SpriteTemplate gFacadeSweatDrop = { .tileTag = ANIM_TAG_SWEAT_DROP, .paletteTag = ANIM_TAG_SWEAT_DROP, @@ -903,40 +904,65 @@ const struct SpriteTemplate gUnknown_085CE76C = .callback = sub_815DEBC, }; -const u16 gUnknown_085CE784[] = INCBIN_U16("graphics/battle_anims/sprites/effect.gbapal"); +const u16 gFacadeBlendColors[] = { + RGB(28, 25, 1), + RGB(28, 21, 5), + RGB(27, 18, 8), + RGB(27, 14, 11), + RGB(26, 10, 15), + RGB(26, 7, 18), + RGB(25, 3, 21), + RGB(25, 0, 25), + RGB(25, 0, 23), + RGB(25, 0, 20), + RGB(25, 0, 16), + RGB(25, 0, 13), + RGB(26, 0, 10), + RGB(26, 0, 6), + RGB(26, 0, 3), + RGB(27, 0, 0), + RGB(27, 1, 0), + RGB(27, 5, 0), + RGB(27, 9, 0), + RGB(27, 12, 0), + RGB(28, 16, 0), + RGB(28, 19, 0), + RGB(28, 23, 0), + RGB(29, 27, 0), +}; -const union AnimCmd gUnknown_085CE7B4[] = +const union AnimCmd gRoarNoiseLineAnimCmds1[] = { ANIMCMD_FRAME(0, 3), ANIMCMD_FRAME(16, 3), ANIMCMD_JUMP(0), }; -const union AnimCmd gUnknown_085CE7C0[] = +const union AnimCmd gRoarNoiseLineAnimCmds2[] = { ANIMCMD_FRAME(32, 3), ANIMCMD_FRAME(48, 3), ANIMCMD_JUMP(0), }; -const union AnimCmd *const gUnknown_085CE7CC[] = +const union AnimCmd *const gRoarNoiseLineAnimTable[] = { - gUnknown_085CE7B4, - gUnknown_085CE7C0, + gRoarNoiseLineAnimCmds1, + gRoarNoiseLineAnimCmds2, }; -const struct SpriteTemplate gUnknown_085CE7D4 = +const struct SpriteTemplate gRoarNoiseLineSpriteTemplate = { .tileTag = ANIM_TAG_NOISE_LINE, .paletteTag = ANIM_TAG_NOISE_LINE, .oam = &gUnknown_08524914, - .anims = gUnknown_085CE7CC, + .anims = gRoarNoiseLineAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815E01C, + .callback = AnimRoarNoiseLine, }; -const struct SpriteTemplate gUnknown_085CE7EC = +const struct SpriteTemplate gGlareEyeDotSpriteTemplate = { .tileTag = ANIM_TAG_SMALL_RED_EYE, .paletteTag = ANIM_TAG_SMALL_RED_EYE, @@ -944,10 +970,10 @@ const struct SpriteTemplate gUnknown_085CE7EC = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815E404, + .callback = AnimGlareEyeDot, }; -const struct SpriteTemplate gUnknown_085CE804 = +const struct SpriteTemplate gAssistPawprintSpriteTemplate = { .tileTag = ANIM_TAG_PAW_PRINT, .paletteTag = ANIM_TAG_PAW_PRINT, @@ -955,40 +981,40 @@ const struct SpriteTemplate gUnknown_085CE804 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815E444, + .callback = AnimAssistPawprint, }; -const union AffineAnimCmd gUnknown_085CE81C[] = +const union AffineAnimCmd gBarrageBallAffineAnimCmds1[] = { AFFINEANIMCMD_FRAME(0, 0, -4, 24), AFFINEANIMCMD_END, }; -const union AffineAnimCmd gUnknown_085CE82C[] = +const union AffineAnimCmd gBarrageBallAffineAnimCmds2[] = { AFFINEANIMCMD_FRAME(0x100, 0x100, -64, 0), AFFINEANIMCMD_FRAME(0, 0, 4, 24), AFFINEANIMCMD_END, }; -const union AffineAnimCmd *const gUnknown_085CE844[] = +const union AffineAnimCmd *const gBarrageBallAffineAnimTable[] = { - gUnknown_085CE81C, - gUnknown_085CE82C, + gBarrageBallAffineAnimCmds1, + gBarrageBallAffineAnimCmds2, }; -const struct SpriteTemplate gUnknown_085CE84C = +const struct SpriteTemplate gBarrageBallSpriteTemplate = { .tileTag = ANIM_TAG_RED_BALL, .paletteTag = ANIM_TAG_RED_BALL, .oam = &gUnknown_08524974, .anims = gDummySpriteAnimTable, .images = NULL, - .affineAnims = gUnknown_085CE844, + .affineAnims = gBarrageBallAffineAnimTable, .callback = SpriteCallbackDummy, }; -const struct SpriteTemplate gUnknown_085CE864 = +const struct SpriteTemplate gSmellingSaltsHandSpriteTemplate = { .tileTag = ANIM_TAG_TAG_HAND, .paletteTag = ANIM_TAG_TAG_HAND, @@ -996,10 +1022,10 @@ const struct SpriteTemplate gUnknown_085CE864 = .anims = gDummySpriteAnimTable, .images = NULL, .affineAnims = gDummySpriteAffineAnimTable, - .callback = sub_815E6D8, + .callback = AnimSmellingSaltsHand, }; -const union AffineAnimCmd gSmellingSaltSquishAffineAnimCmds[] = +const union AffineAnimCmd gSmellingSaltsSquishAffineAnimCmds[] = { AFFINEANIMCMD_FRAME(0, -16, 0, 6), AFFINEANIMCMD_FRAME(0, 16, 0, 6), @@ -2643,11 +2669,13 @@ void sub_815C0A4(u8 taskId) } } -void sub_815C3A8(u8 taskId) +// Briefly vertically grows and shrinks the attacking mon's sprite. +// No args. +void AnimTask_StrongFrustrationGrowAndShrink(u8 taskId) { if (gTasks[taskId].data[0] == 0) { - PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(0), gUnknown_085CE4B0); + PrepareAffineAnimInTaskData(&gTasks[taskId], GetAnimBattlerSpriteId(ANIM_ATTACKER), gStrongFrustrationAffineAnimCmds); gTasks[taskId].data[0]++; } else @@ -2657,7 +2685,10 @@ void sub_815C3A8(u8 taskId) } } -void sub_815C400(struct Sprite *sprite) +// Animates an anger mark near the mon's head. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +void AnimWeakFrustrationAngerMark(struct Sprite *sprite) { if (sprite->data[0] == 0) { @@ -2680,7 +2711,11 @@ void sub_815C400(struct Sprite *sprite) } } -void sub_815C478(u8 taskId) +// Rocks the mon back and forth. This is done on a pivot so it is done via rotation. +// arg 0: which battler +// arg 1: number of rocks +// arg 2: rotation speed increase +void AnimTask_RockMonBackAndForth(u8 taskId) { u8 side; struct Task *task = &gTasks[taskId]; @@ -2705,7 +2740,7 @@ void sub_815C478(u8 taskId) task->data[6] = gBattleAnimArgs[1] - 1; task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - if (!gBattleAnimArgs[0]) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) side = GetBattlerSide(gBattleAnimAttacker); else side = GetBattlerSide(gBattleAnimTarget); @@ -2717,10 +2752,10 @@ void sub_815C478(u8 taskId) } PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL); - task->func = sub_815C548; + task->func = AnimTask_RockMonBackAndForthStep; } -static void sub_815C548(u8 taskId) +static void AnimTask_RockMonBackAndForthStep(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -2774,7 +2809,11 @@ static void sub_815C548(u8 taskId) } } -void sub_815C6B0(struct Sprite *sprite) +// Floats a petal across the screen towards the target mon's side. +// arg 0: initial y pixel offset +// arg 1: sprite anim num +// arg 2: unused +void AnimSweetScentPetal(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) { @@ -2789,10 +2828,10 @@ void sub_815C6B0(struct Sprite *sprite) sprite->data[2] = gBattleAnimArgs[2]; StartSpriteAnim(sprite, gBattleAnimArgs[1]); - sprite->callback = sub_815C700; + sprite->callback = AnimSweetScentPetalStep; } -static void sub_815C700(struct Sprite *sprite) +static void AnimSweetScentPetalStep(struct Sprite *sprite) { sprite->data[0] += 3; if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) @@ -2817,7 +2856,9 @@ static void sub_815C700(struct Sprite *sprite) } } -void sub_815C770(u8 taskId) +// Moves the mon sprite in a flailing back-and-forth motion. +// arg 0: which battler +void AnimTask_FlailMovement(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -2831,10 +2872,10 @@ void sub_815C770(u8 taskId) task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); PrepareBattlerSpriteForRotScale(task->data[15], ST_OAM_OBJ_NORMAL); - task->func = sub_815C7C4; + task->func = AnimTask_FlailMovementStep; } -static void sub_815C7C4(u8 taskId) +static void AnimTask_FlailMovementStep(u8 taskId) { int temp; struct Task *task = &gTasks[taskId]; @@ -2905,14 +2946,18 @@ static void sub_815C7C4(u8 taskId) } } -void sub_815C95C(struct Sprite *sprite) +// Makes a spark-like projectile fall on top of the mon. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: which battler +void AnimPainSplitProjectile(struct Sprite *sprite) { if (!sprite->data[0]) { - if (!gBattleAnimArgs[2]) + if (gBattleAnimArgs[2] == ANIM_ATTACKER) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); } sprite->pos1.x += gBattleAnimArgs[0]; @@ -2939,13 +2984,16 @@ void sub_815C95C(struct Sprite *sprite) } } -void sub_815CA20(u8 taskId) +// Performs one of several affine transformations on the mon sprite. +// arg 0: which battler +// arg 1: which transformation +void AnimTask_PainSplitMovement(u8 taskId) { u8 spriteId; if (gTasks[taskId].data[0] == 0) { - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) gTasks[taskId].data[11] = gBattleAnimAttacker; else gTasks[taskId].data[11] = gBattleAnimTarget; @@ -2996,7 +3044,9 @@ void sub_815CA20(u8 taskId) } } -void sub_815CB88(struct Sprite *sprite) +// Move a piece of confetti in a slightly-random speed across the screen. +// arg 0: which battler the confetti starts from +void AnimFlatterConfetti(struct Sprite *sprite) { u8 tileOffset; int rand1; @@ -3018,16 +3068,16 @@ void sub_815CB88(struct Sprite *sprite) sprite->data[1] = 0x480 - rand2; sprite->data[2] = gBattleAnimArgs[0]; - if (sprite->data[2] == 0) + if (sprite->data[2] == ANIM_ATTACKER) sprite->pos1.x = -8; else sprite->pos1.x = 248; sprite->pos1.y = 104; - sprite->callback = sub_815CC34; + sprite->callback = AnimFlatterConfettiStep; } -static void sub_815CC34(struct Sprite *sprite) +static void AnimFlatterConfettiStep(struct Sprite *sprite) { if (sprite->data[2] == 0) { @@ -3049,7 +3099,11 @@ static void sub_815CC34(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_815CC94(struct Sprite *sprite) +// Uses a spotlight sprite as a light mask to illuminate the target mon. The spotlight grows and shrinks. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: duration of fully-opened spotlight +void AnimFlatterSpotlight(struct Sprite *sprite) { SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ); SetGpuRegBits(REG_OFFSET_DISPCNT, DISPCNT_OBJWIN_ON); @@ -3062,10 +3116,10 @@ void sub_815CC94(struct Sprite *sprite) InitSpritePosToAnimTarget(sprite, FALSE); sprite->oam.objMode = ST_OAM_OBJ_WINDOW; sprite->invisible = 1; - sprite->callback = sub_815CD0C; + sprite->callback = AnimFlatterSpotlightStep; } -static void sub_815CD0C(struct Sprite *sprite) +static void AnimFlatterSpotlightStep(struct Sprite *sprite) { switch (sprite->data[1]) { @@ -3090,23 +3144,26 @@ static void sub_815CD0C(struct Sprite *sprite) break; case 3: SetGpuReg(REG_OFFSET_WINOUT, WINOUT_WIN01_BG_ALL | WINOUT_WIN01_OBJ | WINOUT_WIN01_CLR | WINOUT_WINOBJ_BG_ALL | WINOUT_WINOBJ_OBJ | WINOUT_WINOBJ_CLR); - SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON); + SetGpuReg(REG_OFFSET_DISPCNT, GetGpuReg(REG_OFFSET_DISPCNT) ^ DISPCNT_OBJWIN_ON); DestroyAnimSprite(sprite); break; } } -void sub_815CDB4(struct Sprite *sprite) +// Spins an orb around the attacking mon, while its path radius grows and shrinks. +// arg 0: duration +// arg 1: initial wave offset +void AnimReversalOrb(struct Sprite *sprite) { - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); sprite->data[0] = gBattleAnimArgs[0]; sprite->data[1] = gBattleAnimArgs[1]; - sprite->callback = sub_815CDFC; + sprite->callback = AnimReversalOrbStep; sprite->callback(sprite); } -static void sub_815CDFC(struct Sprite *sprite) +static void AnimReversalOrbStep(struct Sprite *sprite) { sprite->pos2.x = Sin(sprite->data[1], sprite->data[2] >> 8); sprite->pos2.y = Cos(sprite->data[1], sprite->data[3] >> 8); @@ -3138,9 +3195,8 @@ static void sub_815CDFC(struct Sprite *sprite) } } -extern void sub_815D160(u8); - -void sub_815CED8(u8 taskId) +// Copies the target mon's sprite, and makes a white silhouette that shrinks away. +void AnimTask_RolePlaySilhouette(u8 taskId) { u8 isBackPic; u32 personality; @@ -3211,16 +3267,16 @@ void sub_815CED8(u8 taskId) gSprites[spriteId].oam.priority = priority; gSprites[spriteId].oam.objMode = ST_OAM_OBJ_BLEND; - FillPalette(RGB(31, 31, 31), (gSprites[spriteId].oam.paletteNum << 4) + 0x100, 32); + FillPalette(RGB_WHITE, (gSprites[spriteId].oam.paletteNum << 4) + 0x100, 32); gSprites[spriteId].oam.priority = priority; SetGpuReg(REG_OFFSET_BLDCNT, BLDCNT_EFFECT_BLEND | BLDCNT_TGT2_ALL); SetGpuReg(REG_OFFSET_BLDALPHA, BLDALPHA_BLEND(gTasks[taskId].data[1], 16 - gTasks[taskId].data[1])); gTasks[taskId].data[0] = spriteId; - gTasks[taskId].func = sub_815D160; + gTasks[taskId].func = AnimTask_RolePlaySilhouetteStep1; } -void sub_815D160(u8 taskId) +static void AnimTask_RolePlaySilhouetteStep1(u8 taskId) { if (gTasks[taskId].data[10]++ > 1) { @@ -3231,12 +3287,12 @@ void sub_815D160(u8 taskId) { gTasks[taskId].data[10] = 256; gTasks[taskId].data[11] = 256; - gTasks[taskId].func = sub_815D1BC; + gTasks[taskId].func = AnimTask_RolePlaySilhouetteStep2; } } } -static void sub_815D1BC(u8 taskId) +static void AnimTask_RolePlaySilhouetteStep2(u8 taskId) { u8 spriteId = gTasks[taskId].data[0]; gTasks[taskId].data[10] -= 16; @@ -3247,11 +3303,13 @@ static void sub_815D1BC(u8 taskId) { sub_80A749C(&gSprites[spriteId]); DestroySpriteAndFreeResources_(&gSprites[spriteId]); - gTasks[taskId].func = sub_80A6814; + gTasks[taskId].func = DestroyAnimVisualTaskAndDisableBlend; } } -void sub_815D240(u8 taskId) +// Performs a wavy transformation on the mon's sprite, and fades out. +// arg 0: which battler +void AnimTask_AcidArmor(u8 taskId) { u8 battler; u16 bgX, bgY; @@ -3259,7 +3317,7 @@ void sub_815D240(u8 taskId) struct ScanlineEffectParams scanlineParams; struct Task *task = &gTasks[taskId]; - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) battler = gBattleAnimAttacker; else battler = gBattleAnimTarget; @@ -3310,10 +3368,10 @@ void sub_815D240(u8 taskId) scanlineParams.initState = 1; scanlineParams.unused9 = 0; ScanlineEffect_SetParams(scanlineParams); - task->func = sub_815D398; + task->func = AnimTask_AcidArmorStep; } -static void sub_815D398(u8 taskId) +static void AnimTask_AcidArmorStep(u8 taskId) { struct Task *task; s16 var1; @@ -3427,16 +3485,18 @@ static void sub_815D398(u8 taskId) } } -void sub_815D64C(u8 taskId) +// Runs an affine animation that makes it look like the mon is inhaling deeply. +// arg 0: which battler +void AnimTask_DeepInhale(u8 taskId) { struct Task *task = &gTasks[taskId]; task->data[0] = 0; task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - PrepareAffineAnimInTaskData(&gTasks[taskId], task->data[15], gUnknown_085CE5F0); - task->func = sub_815D694; + PrepareAffineAnimInTaskData(&gTasks[taskId], task->data[15], gDeepInhaleAffineAnimCmds); + task->func = AnimTask_DeepInhaleStep; } -static void sub_815D694(u8 taskId) +static void AnimTask_DeepInhaleStep(u8 taskId) { u16 var0; @@ -3465,17 +3525,17 @@ static void sub_815D694(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_815D72C(struct Sprite *sprite, s16 b, s16 c, s16 d, s16 e, u16 f) +static void InitYawnCloudPosition(struct Sprite *sprite, s16 startX, s16 startY, s16 destX, s16 destY, u16 duration) { - sprite->pos1.x = b; - sprite->pos1.y = c; - sprite->data[4] = b << 4; - sprite->data[5] = c << 4; - sprite->data[6] = ((d - b) << 4) / f; - sprite->data[7] = ((e - c) << 4) / f; + sprite->pos1.x = startX; + sprite->pos1.y = startY; + sprite->data[4] = startX << 4; + sprite->data[5] = startY << 4; + sprite->data[6] = ((destX - startX) << 4) / duration; + sprite->data[7] = ((destY - startY) << 4) / duration; } -void sub_815D794(struct Sprite *sprite) +static void UpdateYawnCloudPosition(struct Sprite *sprite) { sprite->data[4] += sprite->data[6]; sprite->data[5] += sprite->data[7]; @@ -3483,25 +3543,27 @@ void sub_815D794(struct Sprite *sprite) sprite->pos1.y = sprite->data[5] >> 4; } -void sub_815D7B4(struct Sprite *sprite) +// Drifts a cloud in a wavy path towards the target mon. +// arg 0: which affine anim +void AnimYawnCloud(struct Sprite *sprite) { - s16 x = sprite->pos1.x; - s16 y = sprite->pos1.y; + s16 destX = sprite->pos1.x; + s16 destY = sprite->pos1.y; SetSpriteCoordsToAnimAttackerCoords(sprite); StartSpriteAffineAnim(sprite, gBattleAnimArgs[0]); - sub_815D72C(sprite, sprite->pos1.x, sprite->pos1.y, x, y, 64); + InitYawnCloudPosition(sprite, sprite->pos1.x, sprite->pos1.y, destX, destY, 64); sprite->data[0] = 0; - sprite->callback = sub_815D804; + sprite->callback = AnimYawnCloudStep; } -static void sub_815D804(struct Sprite *sprite) +static void AnimYawnCloudStep(struct Sprite *sprite) { int index; sprite->data[0]++; index = (sprite->data[0] * 8) & 0xFF; - sub_815D794(sprite); + UpdateYawnCloudPosition(sprite); sprite->pos2.y = Sin(index, 8); if (sprite->data[0] > 58) { @@ -3516,15 +3578,20 @@ static void sub_815D804(struct Sprite *sprite) } } -void sub_815D870(struct Sprite *sprite) +// Animates a cloud coming from the smoke ball. +// arg 0: ? +// arg 1: initial x pixel offset +// arg 2: initial y pixel offset +// arg 3: ? +void AnimSmokeBallEscapeCloud(struct Sprite *sprite) { sprite->data[0] = gBattleAnimArgs[3]; StartSpriteAffineAnim(sprite, gBattleAnimArgs[0]); if (GetBattlerSide(gBattleAnimTarget) != B_SIDE_PLAYER) gBattleAnimArgs[1] = -gBattleAnimArgs[1]; - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + gBattleAnimArgs[1]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) + gBattleAnimArgs[2]; + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + gBattleAnimArgs[1]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) + gBattleAnimArgs[2]; sprite->callback = sub_810E2C8; } @@ -3665,7 +3732,10 @@ void sub_815DB90(u8 taskId) gTasks[taskId].func = sub_815DA20; } -void sub_815DCA4(u8 taskId) +// Squishes the mon vertically and emits sweat droplets a few times. +// arg 0: battler +// arg 1: num squishes +void AnimTask_SquishAndSweatDroplets(u8 taskId) { u8 battler; struct Task *task = &gTasks[taskId]; @@ -3677,31 +3747,32 @@ void sub_815DCA4(u8 taskId) task->data[1] = 0; task->data[2] = 0; task->data[3] = gBattleAnimArgs[1]; - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) battler = gBattleAnimAttacker; else battler = gBattleAnimTarget; - task->data[4] = GetBattlerSpriteCoord(battler, 0); - task->data[5] = GetBattlerSpriteCoord(battler, 1); + task->data[4] = GetBattlerSpriteCoord(battler, BATTLER_COORD_X); + task->data[5] = GetBattlerSpriteCoord(battler, BATTLER_COORD_Y); task->data[6] = GetBattlerSpriteSubpriority(battler); task->data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - PrepareAffineAnimInTaskData(task, task->data[15], gUnknown_085CE74C); - task->func = sub_815DD48; + PrepareAffineAnimInTaskData(task, task->data[15], gFacadeSquishAffineAnimCmds); + task->func = AnimTask_SquishAndSweatDropletsStep; } -static void sub_815DD48(u8 taskId) +static void AnimTask_SquishAndSweatDropletsStep(u8 taskId) { struct Task *task = &gTasks[taskId]; switch (task->data[0]) { case 0: - if (++task->data[1] == 6) - sub_815DDE0(taskId, TRUE); + task->data[1]++; + if (task->data[1] == 6) + CreateSweatDroplets(taskId, TRUE); if (task->data[1] == 18) - sub_815DDE0(taskId, FALSE); + CreateSweatDroplets(taskId, FALSE); if (!RunAffineAnimFromTaskData(task)) { @@ -3712,7 +3783,7 @@ static void sub_815DD48(u8 taskId) else { task->data[1] = 0; - PrepareAffineAnimInTaskData(task, task->data[15], gUnknown_085CE74C); + PrepareAffineAnimInTaskData(task, task->data[15], gFacadeSquishAffineAnimCmds); } } break; @@ -3723,7 +3794,7 @@ static void sub_815DD48(u8 taskId) } } -static void sub_815DDE0(u8 taskId, bool8 arg1) +static void CreateSweatDroplets(u8 taskId, bool8 arg1) { u8 i; s8 xOffset, yOffset; @@ -3752,7 +3823,7 @@ static void sub_815DDE0(u8 taskId, bool8 arg1) for (i = 0; i < 4; i++) { - u8 spriteId = CreateSprite(&gUnknown_085CE76C, xCoords[i], yCoords[i & 1], task->data[6] - 5); + u8 spriteId = CreateSprite(&gFacadeSweatDrop, xCoords[i], yCoords[i & 1], task->data[6] - 5); if (spriteId != MAX_SPRITES) { gSprites[spriteId].data[0] = 0; @@ -3776,7 +3847,10 @@ void sub_815DEBC(struct Sprite *sprite) } } -void sub_815DF0C(u8 taskId) +// Blends the mon sprite's color with a rotating set of colors. +// arg 0: battler +// arg 1: duration +void AnimTask_FacadeColorBlend(u8 taskId) { u8 spriteId; @@ -3784,14 +3858,14 @@ void sub_815DF0C(u8 taskId) gTasks[taskId].data[1] = gBattleAnimArgs[1]; spriteId = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); gTasks[taskId].data[2] = 0x100 + gSprites[spriteId].oam.paletteNum * 16; - gTasks[taskId].func = sub_815DF64; + gTasks[taskId].func = AnimTask_FacadeColorBlendStep; } -static void sub_815DF64(u8 taskId) +static void AnimTask_FacadeColorBlendStep(u8 taskId) { if (gTasks[taskId].data[1]) { - BlendPalette(gTasks[taskId].data[2], 16, 8, gUnknown_085CE784[gTasks[taskId].data[0]]); + BlendPalette(gTasks[taskId].data[2], 16, 8, gFacadeBlendColors[gTasks[taskId].data[0]]); if (++gTasks[taskId].data[0] > 23) gTasks[taskId].data[0] = 0; @@ -3815,33 +3889,37 @@ void sub_815DFCC(u8 taskId) 10, 2, 30, - gUnknown_08C2DC68, - gUnknown_08C2DDC4, - gUnknown_08C2DDA4); + gCureBubblesGfx, + gCureBubblesTilemap, + gCureBubblesPal); } -void sub_815E01C(struct Sprite *sprite) +// Moves a noise line from the mon. +// arg 0: initial x pixel offset +// arg 1: initial y pixel offset +// arg 2: which direction (0 = upward, 1 = downward, 2 = horizontal) +void AnimRoarNoiseLine(struct Sprite *sprite) { if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) gBattleAnimArgs[0] = -gBattleAnimArgs[0]; - sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, 0) + gBattleAnimArgs[0]; - sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, 1) + gBattleAnimArgs[1]; + sprite->pos1.x = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X) + gBattleAnimArgs[0]; + sprite->pos1.y = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y) + gBattleAnimArgs[1]; if (gBattleAnimArgs[2] == 0) { - sprite->data[0] = 640; - sprite->data[1] = -640; + sprite->data[0] = 0x280; + sprite->data[1] = -0x280; } else if (gBattleAnimArgs[2] == 1) { sprite->vFlip = 1; - sprite->data[0] = 640; - sprite->data[1] = 640; + sprite->data[0] = 0x280; + sprite->data[1] = 0x280; } else { StartSpriteAnim(sprite, 1); - sprite->data[0] = 640; + sprite->data[0] = 0x280; } if (GetBattlerSide(gBattleAnimAttacker) != B_SIDE_PLAYER) @@ -3850,10 +3928,10 @@ void sub_815E01C(struct Sprite *sprite) sprite->hFlip = 1; } - sprite->callback = sub_815E0DC; + sprite->callback = AnimRoarNoiseLineStep; } -static void sub_815E0DC(struct Sprite *sprite) +static void AnimRoarNoiseLineStep(struct Sprite *sprite) { sprite->data[6] += sprite->data[0]; sprite->data[7] += sprite->data[1]; @@ -3863,7 +3941,9 @@ static void sub_815E0DC(struct Sprite *sprite) DestroyAnimSprite(sprite); } -void sub_815E114(u8 taskId) +// Makes a series of dots in a trail from the attacker to the target. +// arg 0: unused +void AnimTask_GlareEyeDots(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -3881,17 +3961,17 @@ void sub_815E114(u8 taskId) } if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_PLAYER) - task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) + GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 4; + task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) + GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 4; else - task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2) - GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 4; + task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2) - GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 4; - task->data[12] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3) - GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 4; - task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, 3); - task->func = sub_815E20C; + task->data[12] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET) - GetBattlerSpriteCoordAttr(gBattleAnimAttacker, BATTLER_COORD_ATTR_HEIGHT) / 4; + task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); + task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET); + task->func = AnimTask_GlareEyeDotsStep; } -static void sub_815E20C(u8 taskId) +static void AnimTask_GlareEyeDotsStep(u8 taskId) { u8 i; s16 x, y; @@ -3903,7 +3983,7 @@ static void sub_815E20C(u8 taskId) if (++task->data[1] > 3) { task->data[1] = 0; - sub_815E34C( + GetGlareEyeDotCoords( task->data[11], task->data[12], task->data[13], @@ -3915,7 +3995,7 @@ static void sub_815E20C(u8 taskId) for (i = 0; i < 2; i++) { - u8 spriteId = CreateSprite(&gUnknown_085CE7EC, x, y, 35); + u8 spriteId = CreateSprite(&gGlareEyeDotSpriteTemplate, x, y, 35); if (spriteId != MAX_SPRITES) { if (task->data[7] == 0) @@ -3959,7 +4039,7 @@ static void sub_815E20C(u8 taskId) } } -static void sub_815E34C(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u8 arg4, u8 arg5, s16 *x, s16 *y) +static void GetGlareEyeDotCoords(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u8 arg4, u8 arg5, s16 *x, s16 *y) { int x2; int y2; @@ -3985,7 +4065,7 @@ static void sub_815E34C(s16 arg0, s16 arg1, s16 arg2, s16 arg3, u8 arg4, u8 arg5 *y = y2 >> 8; } -void sub_815E404(struct Sprite *sprite) +void AnimGlareEyeDot(struct Sprite *sprite) { if (++sprite->data[0] > 36) { @@ -3994,7 +4074,13 @@ void sub_815E404(struct Sprite *sprite) } } -void sub_815E444(struct Sprite *sprite) +// Moves a pawprint in a straight line. +// arg 0: initial x position +// arg 1: initial y position +// arg 2: destination x position +// arg 3: destination y position +// arg 4: duration +void AnimAssistPawprint(struct Sprite *sprite) { sprite->pos1.x = gBattleAnimArgs[0]; sprite->pos1.y = gBattleAnimArgs[1]; @@ -4005,15 +4091,17 @@ void sub_815E444(struct Sprite *sprite) sprite->callback = InitAndRunAnimFastLinearTranslation; } -void sub_815E47C(u8 taskId) +// Moves a ball in an arc twoards the target, and rotates the ball while arcing. +// No args. +void AnimTask_BarrageBall(u8 taskId) { struct Task *task = &gTasks[taskId]; - task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, 2); - task->data[12] = GetBattlerSpriteCoord(gBattleAnimAttacker, 3); - task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, 2); - task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, 3) + GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT) / 4; - task->data[15] = CreateSprite(&gUnknown_085CE84C, task->data[11], task->data[12], GetBattlerSpriteSubpriority(gBattleAnimTarget) - 5); + task->data[11] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_X_2); + task->data[12] = GetBattlerSpriteCoord(gBattleAnimAttacker, BATTLER_COORD_Y_PIC_OFFSET); + task->data[13] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_X_2); + task->data[14] = GetBattlerSpriteCoord(gBattleAnimTarget, BATTLER_COORD_Y_PIC_OFFSET) + GetBattlerSpriteCoordAttr(gBattleAnimTarget, BATTLER_COORD_ATTR_HEIGHT) / 4; + task->data[15] = CreateSprite(&gBarrageBallSpriteTemplate, task->data[11], task->data[12], GetBattlerSpriteSubpriority(gBattleAnimTarget) - 5); if (task->data[15] != MAX_SPRITES) { gSprites[task->data[15]].data[0] = 16; @@ -4024,7 +4112,7 @@ void sub_815E47C(u8 taskId) if (GetBattlerSide(gBattleAnimAttacker) == B_SIDE_OPPONENT) StartSpriteAffineAnim(&gSprites[task->data[15]], 1); - task->func = sub_815E5CC; + task->func = AnimTask_BarrageBallStep; } else { @@ -4032,7 +4120,7 @@ void sub_815E47C(u8 taskId) } } -static void sub_815E5CC(u8 taskId) +static void AnimTask_BarrageBallStep(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -4075,11 +4163,15 @@ static void sub_815E5CC(u8 taskId) } } -void sub_815E6D8(struct Sprite *sprite) +// Moves a hand back and forth in a squishing motion. +// arg 0: which battler +// arg 1: horizontal flip +// arg 2: num squishes +void AnimSmellingSaltsHand(struct Sprite *sprite) { u8 battler; - if (gBattleAnimArgs[0] == 0) + if (gBattleAnimArgs[0] == ANIM_ATTACKER) battler = gBattleAnimAttacker; else battler = gBattleAnimTarget; @@ -4150,7 +4242,7 @@ static void sub_815E784(struct Sprite *sprite) // Squishes the mon horizontally a few times. // arg 0: which mon // arg 1: number of squishes -void AnimTask_SmellingSaltSquish(u8 taskId) +void AnimTask_SmellingSaltsSquish(u8 taskId) { if (gBattleAnimArgs[0] == ANIM_ATTACKER) { @@ -4160,12 +4252,12 @@ void AnimTask_SmellingSaltSquish(u8 taskId) { gTasks[taskId].data[0] = gBattleAnimArgs[1]; gTasks[taskId].data[15] = GetAnimBattlerSpriteId(gBattleAnimArgs[0]); - PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gSmellingSaltSquishAffineAnimCmds); - gTasks[taskId].func = AnimTask_SmellingSaltSquishStep; + PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gSmellingSaltsSquishAffineAnimCmds); + gTasks[taskId].func = AnimTask_SmellingSaltsSquishStep; } } -static void AnimTask_SmellingSaltSquishStep(u8 taskId) +static void AnimTask_SmellingSaltsSquishStep(u8 taskId) { struct Task *task = &gTasks[taskId]; @@ -4183,7 +4275,7 @@ static void AnimTask_SmellingSaltSquishStep(u8 taskId) gSprites[task->data[15]].pos2.x = 0; if (--task->data[0]) { - PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gSmellingSaltSquishAffineAnimCmds); + PrepareAffineAnimInTaskData(&gTasks[taskId], gTasks[taskId].data[15], gSmellingSaltsSquishAffineAnimCmds); task->data[1] = 0; task->data[2] = 0; } diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index c9d9bb99c2..3fb366d364 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -767,7 +767,8 @@ void sub_81177E4(u8 taskId) DestroyAnimVisualTask(taskId); } -void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *arg8, const u32 *arg9, const u32 *palette) + +void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u8 *gfx, const u8 *tilemap, const u16 *palette) { u16 species; u8 spriteId, spriteId2; @@ -818,8 +819,8 @@ void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, spriteId2 = sub_80A89C8(battler2, gBattlerSpriteIds[battler2], species); sub_80A6B30(&unknownStruct); - sub_80A6D60(&unknownStruct, arg9, 0); - sub_80A6CC0(unknownStruct.bgId, arg8, unknownStruct.tilesOffset); + sub_80A6D60(&unknownStruct, tilemap, 0); + sub_80A6CC0(unknownStruct.bgId, gfx, unknownStruct.tilesOffset); LoadCompressedPalette(palette, unknownStruct.unk8 << 4, 32); gBattle_BG1_X = 0; diff --git a/src/graphics.c b/src/graphics.c index b2de074bc1..39b248212c 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -897,9 +897,9 @@ const u32 gBattleStatMask6_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat6 const u32 gBattleStatMask7_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat7.gbapal.lz"); const u32 gBattleStatMask8_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat8.gbapal.lz"); -const u32 gUnknown_08C2DC68[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.4bpp.lz"); -const u32 gUnknown_08C2DDA4[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); -const u32 gUnknown_08C2DDC4[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.bin.lz"); +const u32 gCureBubblesGfx[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.4bpp.lz"); +const u32 gCureBubblesPal[] = INCBIN_U16("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); +const u32 gCureBubblesTilemap[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.bin.lz"); const u32 gBattleAnimSpritePalette_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.gbapal.lz"); const u32 gBattleAnimSpriteSheet_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.4bpp.lz"); From b6ee970e7ab68ea456cdfae9b80a164acbb5e60b Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 31 Dec 2018 11:16:45 -0600 Subject: [PATCH 51/53] Minor berry.c cleanup --- include/berry.h | 2 +- src/berry.c | 18 +++++++----------- src/item_use.c | 2 +- 3 files changed, 9 insertions(+), 13 deletions(-) diff --git a/include/berry.h b/include/berry.h index bef56ae414..ee581b9c18 100644 --- a/include/berry.h +++ b/include/berry.h @@ -46,7 +46,7 @@ bool32 IsEnigmaBerryValid(void); const struct Berry *GetBerryInfo(u8 berry); struct BerryTree *GetBerryTreeInfo(u8 id); bool32 EventObjectInteractionWaterBerryTree(void); -bool8 IsPlayerFacingPlantedBerryTree(void); +bool8 IsPlayerFacingEmptyBerryTreePatch(void); bool8 TryToWaterBerryTree(void); void ClearBerryTrees(void); void BerryTreeTimeUpdate(s32 minutes); diff --git a/src/berry.c b/src/berry.c index 24ed370c3e..bd596db7f7 100644 --- a/src/berry.c +++ b/src/berry.c @@ -857,11 +857,10 @@ const struct UnkStruct_0858AB24 gUnknown_0858AB24[] = { const struct BerryTree gBlankBerryTree = {}; -//.text // unused void ClearEnigmaBerries(void) { - CpuFill16(0, &gSaveBlock1Ptr->enigmaBerry, 52); + CpuFill16(0, &gSaveBlock1Ptr->enigmaBerry, sizeof(gSaveBlock1Ptr->enigmaBerry)); } void SetEnigmaBerry(u8 *src) @@ -869,7 +868,7 @@ void SetEnigmaBerry(u8 *src) u32 i; u8 *dest = (u8*)&gSaveBlock1Ptr->enigmaBerry; - for (i = 0; i < 52; i++) + for (i = 0; i < sizeof(gSaveBlock1Ptr->enigmaBerry); i++) dest[i] = src[i]; } @@ -881,10 +880,8 @@ static u32 GetEnigmaBerryChecksum(struct EnigmaBerry *enigmaBerry) dest = (u8*)enigmaBerry; checksum = 0; - for (i = 0; i < 52 - sizeof(gSaveBlock1Ptr->enigmaBerry.checksum); i++) - { + for (i = 0; i < sizeof(gSaveBlock1Ptr->enigmaBerry) - sizeof(gSaveBlock1Ptr->enigmaBerry.checksum); i++) checksum += dest[i]; - } return checksum; } @@ -941,10 +938,10 @@ bool32 EventObjectInteractionWaterBerryTree(void) return TRUE; } -bool8 IsPlayerFacingPlantedBerryTree(void) +bool8 IsPlayerFacingEmptyBerryTreePatch(void) { if (GetEventObjectScriptPointerPlayerFacing() == BerryTreeScript - && GetStageByBerryTreeId(EventObjectGetBerryTreeId(gSelectedEventObject)) == 0) + && GetStageByBerryTreeId(EventObjectGetBerryTreeId(gSelectedEventObject)) == BERRY_STAGE_NO_BERRY) return TRUE; else return FALSE; @@ -1046,10 +1043,9 @@ void PlantBerryTree(u8 id, u8 berry, u8 stage, bool8 sparkle) tree->berryYield = CalcBerryYield(tree); tree->minutesUntilNextStage *= 4; } + if (!sparkle) - { tree->growthSparkle = TRUE; - } } void RemoveBerryTree(u8 id) @@ -1072,7 +1068,7 @@ u8 ItemIdToBerryType(u16 item) u16 berry = item - FIRST_BERRY_INDEX; if (berry > LAST_BERRY_INDEX - FIRST_BERRY_INDEX) - return 1; + return ITEM_TO_BERRY(FIRST_BERRY_INDEX); else return ITEM_TO_BERRY(item); } diff --git a/src/item_use.c b/src/item_use.c index 91fdc81c8a..6a7f6cec05 100755 --- a/src/item_use.c +++ b/src/item_use.c @@ -666,7 +666,7 @@ void ItemUseOutOfBattle_PowderJar(u8 taskId) void sub_80FDD10(u8 taskId) { - if (IsPlayerFacingPlantedBerryTree() == TRUE) + if (IsPlayerFacingEmptyBerryTreePatch() == TRUE) { gUnknown_0203A0F4 = sub_80FDD74; gFieldCallback = MapPostLoadHook_UseItem; From 05b1d2ea942190975ae8d12adae9dd30c953e587 Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 31 Dec 2018 12:22:27 -0600 Subject: [PATCH 52/53] Document field_tasks.c --- include/secret_base.h | 2 +- src/field_tasks.c | 256 +++++++++++++++++++----------------------- src/secret_base.c | 2 +- 3 files changed, 119 insertions(+), 141 deletions(-) diff --git a/include/secret_base.h b/include/secret_base.h index 524dde4738..4b44d46786 100644 --- a/include/secret_base.h +++ b/include/secret_base.h @@ -15,7 +15,7 @@ const u8 *GetSecretBaseTrainerLoseText(void); void sub_80E8EE0(struct MapEvents const *events); void sub_80E9238(u8 flagIn); bool8 CurrentMapIsSecretBase(void); -void sub_80EA3E4(u8 taskId); +void SecretBasePerStepCallback(u8 taskId); bool8 sub_80E9680(void); void sub_80EB498(void); void sub_80EB56C(void); diff --git a/src/field_tasks.c b/src/field_tasks.c index 7a7f491206..22b8697d8d 100644 --- a/src/field_tasks.c +++ b/src/field_tasks.c @@ -20,61 +20,60 @@ #include "constants/songs.h" #include "constants/vars.h" -struct MetatileOffset +struct PacifidlogMetatileOffsets { s8 x; s8 y; u16 tileId; }; -// this file's functions static void DummyPerStepCallback(u8 taskId); -static void PerStepCallback_8069F64(u8 taskId); -static void PerStepCallback_8069AA0(u8 taskId); -static void PerStepCallback_8069864(u8 taskId); -static void PerStepCallback_8069DD4(u8 taskId); -static void PerStepCallback_806A07C(u8 taskId); +static void AshGrassPerStepCallback(u8 taskId); +static void FortreeBridgePerStepCallback(u8 taskId); +static void PacifidlogBridgePerStepCallback(u8 taskId); +static void SootopolisGymIcePerStepCallback(u8 taskId); +static void CrackedFloorPerStepCallback(u8 taskId); static void Task_MuddySlope(u8 taskId); -// const rom data -static void (*const gUnknown_08510348[])(u8) = +static const TaskFunc sPerStepCallbacks[] = { DummyPerStepCallback, - PerStepCallback_8069F64, - PerStepCallback_8069AA0, - PerStepCallback_8069864, - PerStepCallback_8069DD4, + AshGrassPerStepCallback, + FortreeBridgePerStepCallback, + PacifidlogBridgePerStepCallback, + SootopolisGymIcePerStepCallback, EndTruckSequence, - sub_80EA3E4, - PerStepCallback_806A07C + SecretBasePerStepCallback, + CrackedFloorPerStepCallback }; // they are in pairs but declared as 1D array -static const struct MetatileOffset gUnknown_08510368[] = +static const struct PacifidlogMetatileOffsets sHalfSubmergedBridgeMetatileOffsets[] = { - { 0, 0,0x259}, { 0, 1,0x261}, - { 0, -1,0x259}, { 0, 0,0x261}, - { 0, 0,0x252}, { 1, 0,0x253}, - { -1, 0,0x252}, { 0, 0,0x253} + { 0, 0, 0x259}, { 0, 1, 0x261}, + { 0, -1, 0x259}, { 0, 0, 0x261}, + { 0, 0, 0x252}, { 1, 0, 0x253}, + { -1, 0, 0x252}, { 0, 0, 0x253} }; -static const struct MetatileOffset gUnknown_08510388[] = +static const struct PacifidlogMetatileOffsets sFullySubmergedBridgeMetatileOffsets[] = { - { 0, 0,0x25A}, { 0, 1,0x262}, - { 0, -1,0x25A}, { 0, 0,0x262}, - { 0, 0,0x254}, { 1, 0,0x255}, - { -1, 0,0x254}, { 0, 0,0x255} + { 0, 0, 0x25A}, { 0, 1, 0x262}, + { 0, -1, 0x25A}, { 0, 0, 0x262}, + { 0, 0, 0x254}, { 1, 0, 0x255}, + { -1, 0, 0x254}, { 0, 0, 0x255} }; -static const struct MetatileOffset gUnknown_085103A8[] = +static const struct PacifidlogMetatileOffsets sFloatingBridgeMetatileOffsets[] = { - { 0, 0,0x258}, { 0, 1,0x260}, - { 0, -1,0x258}, { 0, 0,0x260}, - { 0, 0,0x250}, { 1, 0,0x251}, - { -1, 0,0x250}, { 0, 0,0x251} + { 0, 0, 0x258}, { 0, 1, 0x260}, + { 0, -1, 0x258}, { 0, 0, 0x260}, + { 0, 0, 0x250}, { 1, 0, 0x251}, + { -1, 0, 0x250}, { 0, 0, 0x251} }; -static const u16 gUnknown_085103C8[] = +// Each element corresponds to a y coordinate row in the sootopolis gym 1F map. +static const u16 sSootopolisGymIceRowVars[] = { 0, 0, @@ -104,13 +103,12 @@ static const u16 gUnknown_085103C8[] = 0 }; -static const u16 gUnknown_085103FC[] = {0xe8, 0xeb, 0xea, 0xe9}; +static const u16 sMuddySlopeMetatiles[] = {0xe8, 0xeb, 0xea, 0xe9}; -// code static void Task_RunPerStepCallback(u8 taskId) { int idx = gTasks[taskId].data[0]; - gUnknown_08510348[idx](taskId); + sPerStepCallbacks[idx](taskId); } #define tState data[0] @@ -159,14 +157,12 @@ void SetUpFieldTasks(void) u8 taskId = CreateTask(Task_RunPerStepCallback, 0x50); gTasks[taskId].data[0] = 0; } + if (!FuncIsActiveTask(Task_MuddySlope)) - { CreateTask(Task_MuddySlope, 0x50); - } + if (!FuncIsActiveTask(Task_RunTimeBasedEvents)) - { CreateTask(Task_RunTimeBasedEvents, 0x50); - } } void ActivatePerStepCallback(u8 callbackId) @@ -180,7 +176,7 @@ void ActivatePerStepCallback(u8 callbackId) for (i = 0; i < 16; i++) data[i] = 0; - if (callbackId >= ARRAY_COUNT(gUnknown_08510348)) + if (callbackId >= ARRAY_COUNT(sPerStepCallbacks)) { data[0] = 0; } @@ -215,7 +211,7 @@ static void DummyPerStepCallback(u8 taskId) } -static const struct MetatileOffset *sub_809DA30(const struct MetatileOffset *offsets, u16 metatileBehavior) +static const struct PacifidlogMetatileOffsets *GetPacifidlogBridgeMetatileOffsets(const struct PacifidlogMetatileOffsets *offsets, u16 metatileBehavior) { if (MetatileBehavior_IsPacifilogVerticalLog1(metatileBehavior)) return &offsets[0 * 2]; @@ -229,38 +225,37 @@ static const struct MetatileOffset *sub_809DA30(const struct MetatileOffset *off return NULL; } -static void sub_809DA88(const struct MetatileOffset *offsets, s16 x, s16 y, bool32 flag) +static void SetPacifidlogBridgeMetatiles(const struct PacifidlogMetatileOffsets *offsets, s16 x, s16 y, bool32 redrawMap) { - offsets = sub_809DA30(offsets, MapGridGetMetatileBehaviorAt(x, y)); - - if (offsets != NULL) + offsets = GetPacifidlogBridgeMetatileOffsets(offsets, MapGridGetMetatileBehaviorAt(x, y)); + if (offsets) { MapGridSetMetatileIdAt(x + offsets[0].x, y + offsets[0].y, offsets[0].tileId); - if (flag) + if (redrawMap) CurrentMapDrawMetatileAt(x + offsets[0].x, y + offsets[0].y); MapGridSetMetatileIdAt(x + offsets[1].x, y + offsets[1].y, offsets[1].tileId); - if (flag) + if (redrawMap) CurrentMapDrawMetatileAt(x + offsets[1].x, y + offsets[1].y); } } -static void sub_809DB10(s16 x, s16 y, bool32 flag) +static void UpdateHalfSubmergedBridgeMetatiles(s16 x, s16 y, bool32 redrawMap) { - sub_809DA88(gUnknown_08510368, x, y, flag); + SetPacifidlogBridgeMetatiles(sHalfSubmergedBridgeMetatileOffsets, x, y, redrawMap); } -static void sub_809DB34(s16 x, s16 y, bool32 flag) +static void UpdateFullySubmergedBridgeMetatiles(s16 x, s16 y, bool32 redrawMap) { - sub_809DA88(gUnknown_08510388, x, y, flag); + SetPacifidlogBridgeMetatiles(sFullySubmergedBridgeMetatileOffsets, x, y, redrawMap); } -static void sub_809DB58(s16 x, s16 y, bool32 flag) +static void UpdateFloatingBridgeMetatiles(s16 x, s16 y, bool32 redrawMap) { - sub_809DA88(gUnknown_085103A8, x, y, flag); + SetPacifidlogBridgeMetatiles(sFloatingBridgeMetatileOffsets, x, y, redrawMap); } -static bool32 sub_809DB7C(s16 x1, s16 y1, s16 x2, s16 y2) +static bool32 StandingOnNewPacifidlogBridge(s16 x1, s16 y1, s16 x2, s16 y2) { u16 metatileBehavior = MapGridGetMetatileBehaviorAt(x2, y2); @@ -287,7 +282,7 @@ static bool32 sub_809DB7C(s16 x1, s16 y1, s16 x2, s16 y2) return TRUE; } -static bool32 sub_809DC18(s16 x1, s16 y1, s16 x2, s16 y2) +static bool32 StandingOnSamePacifidlogBridge(s16 x1, s16 y1, s16 x2, s16 y2) { u16 metatileBehavior = MapGridGetMetatileBehaviorAt(x1, y1); @@ -314,7 +309,7 @@ static bool32 sub_809DC18(s16 x1, s16 y1, s16 x2, s16 y2) return TRUE; } -static void PerStepCallback_8069864(u8 taskId) +static void PacifidlogBridgePerStepCallback(u8 taskId) { s16 *data; s16 x, y; @@ -325,16 +320,16 @@ static void PerStepCallback_8069864(u8 taskId) case 0: data[2] = x; data[3] = y; - sub_809DB34(x, y, TRUE); + UpdateFullySubmergedBridgeMetatiles(x, y, TRUE); data[1] = 1; break; case 1: if (x != data[2] || y != data[3]) { - if (sub_809DB7C(x, y, data[2], data[3])) + if (StandingOnNewPacifidlogBridge(x, y, data[2], data[3])) { - sub_809DB10(data[2], data[3], TRUE); - sub_809DB58(data[2], data[3], FALSE); + UpdateHalfSubmergedBridgeMetatiles(data[2], data[3], TRUE); + UpdateFloatingBridgeMetatiles(data[2], data[3], FALSE); data[4] = data[2]; data[5] = data[3]; data[1] = 2; @@ -345,38 +340,37 @@ static void PerStepCallback_8069864(u8 taskId) data[4] = -1; data[5] = -1; } - if (sub_809DC18(x, y, data[2], data[3])) + + if (StandingOnSamePacifidlogBridge(x, y, data[2], data[3])) { - sub_809DB10(x, y, TRUE); + UpdateHalfSubmergedBridgeMetatiles(x, y, TRUE); data[1] = 2; data[6] = 8; } + data[2] = x; data[3] = y; if (MetatileBehavior_IsPacifidlogLog(MapGridGetMetatileBehaviorAt(x, y))) - { PlaySE(SE_MIZU); - } } break; case 2: if ((--data[6]) == 0) { - sub_809DB34(x, y, TRUE); + UpdateFullySubmergedBridgeMetatiles(x, y, TRUE); if (data[4] != -1 && data[5] != -1) - { - sub_809DB58(data[4], data[5], TRUE); - } + UpdateFloatingBridgeMetatiles(data[4], data[5], TRUE); + data[1] = 1; } break; } } -static void sub_809DE28(s16 x, s16 y) +static void SetLoweredForetreeBridgeMetatile(s16 x, s16 y) { u8 z = PlayerGetZCoord(); - if (!(z & 0x01)) + if (!(z & 1)) { switch (MapGridGetMetatileIdAt(x, y)) { @@ -390,10 +384,10 @@ static void sub_809DE28(s16 x, s16 y) } } -static void sub_809DE8C(s16 x, s16 y) +static void SetNormalFortreeBridgeMetatile(s16 x, s16 y) { u8 z = PlayerGetZCoord(); - if (!(z & 0x01)) + if (!(z & 1)) { switch (MapGridGetMetatileIdAt(x, y)) { @@ -407,7 +401,7 @@ static void sub_809DE8C(s16 x, s16 y) } } -static void PerStepCallback_8069AA0(u8 taskId) +static void FortreeBridgePerStepCallback(u8 taskId) { bool8 isFortreeBridgeCur; bool8 isFortreeBridgePrev; @@ -424,7 +418,7 @@ static void PerStepCallback_8069AA0(u8 taskId) data[3] = y; if (MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x, y))) { - sub_809DE28(x, y); + SetLoweredForetreeBridgeMetatile(x, y); CurrentMapDrawMetatileAt(x, y); } data[1] = 1; @@ -433,36 +427,33 @@ static void PerStepCallback_8069AA0(u8 taskId) x2 = data[2]; y2 = data[3]; if (x == x2 && y == y2) - { break; - } + isFortreeBridgeCur = MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x, y)); isFortreeBridgePrev = MetatileBehavior_IsFortreeBridge(MapGridGetMetatileBehaviorAt(x2, y2)); z = PlayerGetZCoord(); flag = 0; if ((u8)(z & 1) == 0) - { flag = 1; - } + if (flag && (isFortreeBridgeCur == 1 || isFortreeBridgePrev == 1)) - { PlaySE(SE_HASHI); - } + if (isFortreeBridgePrev) { - sub_809DE8C(x2, y2); + SetNormalFortreeBridgeMetatile(x2, y2); CurrentMapDrawMetatileAt(x2, y2); - sub_809DE28(x, y); + SetLoweredForetreeBridgeMetatile(x, y); CurrentMapDrawMetatileAt(x, y); } + data[4] = x2; data[5] = y2; data[2] = x; data[3] = y; if (!isFortreeBridgePrev) - { break; - } + data[6] = 16; data[1] = 2; // fallthrough @@ -479,9 +470,9 @@ static void PerStepCallback_8069AA0(u8 taskId) case 3: break; case 4: - sub_809DE28(x2, y2); + SetLoweredForetreeBridgeMetatile(x2, y2); CurrentMapDrawMetatileAt(x2, y2); - sub_809DE8C(x2, y2); + SetNormalFortreeBridgeMetatile(x2, y2); case 5: case 6: case 7: @@ -495,28 +486,28 @@ static void PerStepCallback_8069AA0(u8 taskId) } } -static bool32 sub_809E108(s16 x, s16 y) +static bool32 CoordInIcePuzzleRegion(s16 x, s16 y) { - if ((u16)(x - 3) < 11 && (u16)(y - 6) < 14 && gUnknown_085103C8[y]) + if ((u16)(x - 3) < 11 && (u16)(y - 6) < 14 && sSootopolisGymIceRowVars[y]) return TRUE; else return FALSE; } -static void sub_809E14C(s16 x, s16 y) +static void MarkIcePuzzleCoordVisited(s16 x, s16 y) { - if (sub_809E108(x, y)) - *GetVarPointer(gUnknown_085103C8[y]) |= (1 << (x - 3)); + if (CoordInIcePuzzleRegion(x, y)) + *GetVarPointer(sSootopolisGymIceRowVars[y]) |= (1 << (x - 3)); } -static bool32 sub_809E184(s16 x, s16 y) +static bool32 IsIcePuzzleCoordVisited(s16 x, s16 y) { u32 var; - if (!sub_809E108(x, y)) + if (!CoordInIcePuzzleRegion(x, y)) return FALSE; - var = VarGet(gUnknown_085103C8[y]) << 16; - if (((1 << 16) << (x - 3)) & var) // TODO: fix that if + var = VarGet(sSootopolisGymIceRowVars[y]) << 16; + if ((0x10000 << (x - 3)) & var) // TODO: fix that if return TRUE; else return FALSE; @@ -531,19 +522,17 @@ void SetSootopolisGymCrackedIceMetatiles(void) { for (y = 0; y < height; y++) { - if (sub_809E184(x, y) == TRUE) - { + if (IsIcePuzzleCoordVisited(x, y) == TRUE) MapGridSetMetatileIdAt(x + 7, y + 7, 0x20e); - } } } } -static void PerStepCallback_8069DD4(u8 taskId) +static void SootopolisGymIcePerStepCallback(u8 taskId) { s16 x, y; u16 tileBehavior; - u16 *var; + u16 *iceStepCount; s16 *data = gTasks[taskId].data; switch (data[1]) { @@ -560,10 +549,10 @@ static void PerStepCallback_8069DD4(u8 taskId) data[2] = x; data[3] = y; tileBehavior = MapGridGetMetatileBehaviorAt(x, y); - var = GetVarPointer(VAR_ICE_STEP_COUNT); + iceStepCount = GetVarPointer(VAR_ICE_STEP_COUNT); if (MetatileBehavior_IsThinIce(tileBehavior) == TRUE) { - (*var)++; + (*iceStepCount)++; data[6] = 4; data[1] = 2; data[4] = x; @@ -571,7 +560,7 @@ static void PerStepCallback_8069DD4(u8 taskId) } else if (MetatileBehavior_IsCrackedIce(tileBehavior) == TRUE) { - *var = 0; + *iceStepCount = 0; data[6] = 4; data[1] = 3; data[4] = x; @@ -591,7 +580,7 @@ static void PerStepCallback_8069DD4(u8 taskId) PlaySE(SE_RU_BARI); MapGridSetMetatileIdAt(x, y, 0x20e); CurrentMapDrawMetatileAt(x, y); - sub_809E14C(x - 7, y - 7); + MarkIcePuzzleCoordVisited(x - 7, y - 7); data[1] = 1; } break; @@ -613,10 +602,10 @@ static void PerStepCallback_8069DD4(u8 taskId) } } -static void PerStepCallback_8069F64(u8 taskId) +static void AshGrassPerStepCallback(u8 taskId) { s16 x, y; - u16 *var; + u16 *ashGatherCount; s16 *data = gTasks[taskId].data; PlayerGetDestCoords(&x, &y); if (x != data[1] || y != data[2]) @@ -626,32 +615,27 @@ static void PerStepCallback_8069F64(u8 taskId) if (MetatileBehavior_IsAshGrass(MapGridGetMetatileBehaviorAt(x, y))) { if (MapGridGetMetatileIdAt(x, y) == 0x20a) - { StartAshFieldEffect(x, y, 0x212, 4); - } else - { StartAshFieldEffect(x, y, 0x206, 4); - } + if (CheckBagHasItem(ITEM_SOOT_SACK, 1)) { - var = GetVarPointer(VAR_ASH_GATHER_COUNT); - if (*var < 9999) - { - (*var)++; - } + ashGatherCount = GetVarPointer(VAR_ASH_GATHER_COUNT); + if (*ashGatherCount < 9999) + (*ashGatherCount)++; } } } } -static void sub_809E490(s16 x, s16 y) +static void SetCrackedFloorHoleMetatile(s16 x, s16 y) { MapGridSetMetatileIdAt(x, y, MapGridGetMetatileIdAt(x, y) == 0x22f ? 0x206 : 0x237); CurrentMapDrawMetatileAt(x, y); } -static void PerStepCallback_806A07C(u8 taskId) +static void CrackedFloorPerStepCallback(u8 taskId) { s16 x, y; u16 behavior; @@ -659,17 +643,14 @@ static void PerStepCallback_806A07C(u8 taskId) PlayerGetDestCoords(&x, &y); behavior = MapGridGetMetatileBehaviorAt(x, y); if (data[4] != 0 && (--data[4]) == 0) - { - sub_809E490(data[5], data[6]); - } + SetCrackedFloorHoleMetatile(data[5], data[6]); + if (data[7] != 0 && (--data[7]) == 0) - { - sub_809E490(data[8], data[9]); - } + SetCrackedFloorHoleMetatile(data[8], data[9]); + if (MetatileBehavior_IsCrackedFloorHole(behavior)) - { VarSet(VAR_ICE_STEP_COUNT, 0); // this var does double duty - } + if ((x != data[2] || y != data[3])) { data[2] = x; @@ -677,9 +658,8 @@ static void PerStepCallback_806A07C(u8 taskId) if (MetatileBehavior_IsCrackedFloor(behavior)) { if (GetPlayerSpeed() != 4) - { VarSet(VAR_ICE_STEP_COUNT, 0); // this var does double duty - } + if (data[4] == 0) { data[4] = 3; @@ -696,17 +676,14 @@ static void PerStepCallback_806A07C(u8 taskId) } } -static void sub_809E5DC(s16 *data, s16 x, s16 y) +static void SetMuddySlopeMetatile(s16 *data, s16 x, s16 y) { u16 tile; if ((--data[0]) == 0) - { tile = 0xe8; - } else - { - tile = gUnknown_085103FC[data[0] / 8]; - } + tile = sMuddySlopeMetatiles[data[0] / 8]; + MapGridSetMetatileIdAt(x, y, tile); CurrentMapDrawMetatileAt(x, y); MapGridSetMetatileIdAt(x, y, 0xe8); @@ -716,14 +693,14 @@ static void Task_MuddySlope(u8 taskId) { s16 x, y, x2, y2; int i; - u16 mapIndices; + u16 mapId; s16 *data = gTasks[taskId].data; PlayerGetDestCoords(&x, &y); - mapIndices = (gSaveBlock1Ptr->location.mapGroup << 8) | gSaveBlock1Ptr->location.mapNum; + mapId = (gSaveBlock1Ptr->location.mapGroup << 8) | gSaveBlock1Ptr->location.mapNum; switch (data[1]) { case 0: - data[0] = mapIndices; + data[0] = mapId; data[2] = x; data[3] = y; data[1] = 1; @@ -739,7 +716,7 @@ static void Task_MuddySlope(u8 taskId) data[3] = y; if (MetatileBehavior_IsMuddySlope(MapGridGetMetatileBehaviorAt(x, y))) { - for (i=4; i<14; i+=3) + for (i = 4; i < 14; i += 3) { if (data[i] == 0) { @@ -753,9 +730,9 @@ static void Task_MuddySlope(u8 taskId) } break; } - if (gCamera.active && mapIndices != data[0]) + if (gCamera.active && mapId != data[0]) { - data[0] = mapIndices; + data[0] = mapId; x2 = gCamera.x; y2 = gCamera.y; } @@ -764,13 +741,14 @@ static void Task_MuddySlope(u8 taskId) x2 = 0; y2 = 0; } + for (i = 4; i < 14; i += 3) { if (data[i]) { data[i + 1] -= x2; data[i + 2] -= y2; - sub_809E5DC(&data[i], data[i + 1], data[i + 2]); + SetMuddySlopeMetatile(&data[i], data[i + 1], data[i + 2]); } } } diff --git a/src/secret_base.c b/src/secret_base.c index 1f3f9b46a7..dbb3c9be42 100644 --- a/src/secret_base.c +++ b/src/secret_base.c @@ -1170,7 +1170,7 @@ void sub_80EA354(void) gSpecialVar_Result = gSaveBlock1Ptr->secretBases[secretBaseRecordId].sbr_field_1_5; } -void sub_80EA3E4(u8 taskId) +void SecretBasePerStepCallback(u8 taskId) { s16 x; s16 y; From a0ff38d0be4f618822d96cc7833e7c331ee78b5f Mon Sep 17 00:00:00 2001 From: Marcus Huderle Date: Mon, 31 Dec 2018 12:36:41 -0600 Subject: [PATCH 53/53] Fix build --- include/battle_anim.h | 1 + src/battle_anim_utility_funcs.c | 2 +- src/graphics.c | 6 +++--- 3 files changed, 5 insertions(+), 4 deletions(-) diff --git a/include/battle_anim.h b/include/battle_anim.h index 713bf6fce1..fc0f603eb0 100644 --- a/include/battle_anim.h +++ b/include/battle_anim.h @@ -147,6 +147,7 @@ void sub_80A78AC(struct Sprite *sprite); void sub_80A6BFC(struct UnknownAnimStruct2 *unk, u8 unused); u8 sub_80A8394(u16 species, bool8 isBackpic, u8 a3, s16 x, s16 y, u8 subpriority, u32 personality, u32 trainerId, u32 battlerId, u32 a10); void sub_80A749C(struct Sprite *sprite); +void sub_80A6DEC(struct Sprite *sprite); void DestroyAnimVisualTaskAndDisableBlend(u8 taskId); void DestroySpriteAndFreeResources_(struct Sprite *sprite); void SetBattlerSpriteYOffsetFromOtherYScale(u8 spriteId, u8 otherSpriteId); diff --git a/src/battle_anim_utility_funcs.c b/src/battle_anim_utility_funcs.c index 3fb366d364..ba7cbd3aaf 100644 --- a/src/battle_anim_utility_funcs.c +++ b/src/battle_anim_utility_funcs.c @@ -768,7 +768,7 @@ void sub_81177E4(u8 taskId) } -void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u8 *gfx, const u8 *tilemap, const u16 *palette) +void sub_8117854(u8 taskId, int unused, u16 arg2, u8 battler1, u8 arg4, u8 arg5, u8 arg6, u8 arg7, const u32 *gfx, const u32 *tilemap, const u32 *palette) { u16 species; u8 spriteId, spriteId2; diff --git a/src/graphics.c b/src/graphics.c index 39b248212c..10efd50437 100644 --- a/src/graphics.c +++ b/src/graphics.c @@ -897,9 +897,9 @@ const u32 gBattleStatMask6_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat6 const u32 gBattleStatMask7_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat7.gbapal.lz"); const u32 gBattleStatMask8_Pal[] = INCBIN_U32("graphics/battle_anims/masks/stat8.gbapal.lz"); -const u32 gCureBubblesGfx[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.4bpp.lz"); -const u32 gCureBubblesPal[] = INCBIN_U16("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); -const u32 gCureBubblesTilemap[] = INCBIN_U8("graphics/battle_anims/masks/cure_bubbles.bin.lz"); +const u32 gCureBubblesGfx[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.4bpp.lz"); +const u32 gCureBubblesPal[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.gbapal.lz"); +const u32 gCureBubblesTilemap[] = INCBIN_U32("graphics/battle_anims/masks/cure_bubbles.bin.lz"); const u32 gBattleAnimSpritePalette_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.gbapal.lz"); const u32 gBattleAnimSpriteSheet_245[] = INCBIN_U32("graphics/battle_anims/sprites/245.4bpp.lz");