diff options
148 files changed, 4456 insertions, 4013 deletions
diff --git a/asm/battle_interface.s b/asm/battle_interface.s index 671487d57..7a0e37966 100644 --- a/asm/battle_interface.s +++ b/asm/battle_interface.s @@ -1701,7 +1701,7 @@ sub_80487F8: @ 80487F8 lsls r0, 24 mov r4, sp adds r4, 0x16 - ldr r1, _080488B8 @ =gUnknown_8463E60 + ldr r1, _080488B8 @ =gNatureNames lsrs r0, 22 adds r0, r1 ldr r1, [r0] @@ -1746,7 +1746,7 @@ _080488A8: _080488AC: .4byte gUnknown_826052C _080488B0: .4byte gSprites _080488B4: .4byte gMonSpritesGfxPtr -_080488B8: .4byte gUnknown_8463E60 +_080488B8: .4byte gNatureNames _080488BC: adds r0, r1, 0 subs r0, 0x4B diff --git a/asm/item_menu.s b/asm/item_menu.s index 3f662656e..06ac697bc 100644 --- a/asm/item_menu.s +++ b/asm/item_menu.s @@ -5484,7 +5484,7 @@ sub_810A9D4: @ 810A9D4 mov r2, r8 ldrh r1, [r2, 0x10] movs r2, 0x2 - bl sub_809C09C + bl RecordItemPurchase mov r3, r8 ldrb r0, [r3] ldr r4, _0810AAE4 @ =gUnknown_203ACFC diff --git a/asm/pokemon_summary_screen.s b/asm/pokemon_summary_screen.s index 38e61a00c..45eba1df8 100644 --- a/asm/pokemon_summary_screen.s +++ b/asm/pokemon_summary_screen.s @@ -5755,7 +5755,7 @@ sub_8137578: @ 8137578 bl GetNature lsls r0, 24 lsrs r6, r0, 24 - ldr r1, _081375F0 @ =gUnknown_8463E60 + ldr r1, _081375F0 @ =gNatureNames lsls r0, r6, 2 adds r0, r1 ldr r1, [r0] @@ -5796,7 +5796,7 @@ _081375B2: .align 2, 0 _081375E8: .4byte gUnknown_203B140 _081375EC: .4byte 0x00003290 -_081375F0: .4byte gUnknown_8463E60 +_081375F0: .4byte gNatureNames _081375F4: ldr r0, [r7] ldr r1, _08137614 @ =0x00003024 @@ -5952,7 +5952,7 @@ sub_8137724: @ 8137724 bl GetNature lsls r0, 24 lsrs r6, r0, 24 - ldr r1, _081377A8 @ =gUnknown_8463E60 + ldr r1, _081377A8 @ =gNatureNames lsls r0, r6, 2 adds r0, r1 ldr r1, [r0] @@ -5997,7 +5997,7 @@ _08137790: .align 2, 0 _081377A0: .4byte gUnknown_203B140 _081377A4: .4byte 0x00003290 -_081377A8: .4byte gUnknown_8463E60 +_081377A8: .4byte gNatureNames _081377AC: cmp r5, 0xFF bne _081377D0 diff --git a/asm/shop.s b/asm/shop.s deleted file mode 100644 index ca92ff4b7..000000000 --- a/asm/shop.s +++ /dev/null @@ -1,3563 +0,0 @@ - .include "asm/macros.inc" - .include "constants/constants.inc" - - .syntax unified - - .text - - thumb_func_start sub_809AAB0 -sub_809AAB0: @ 809AAB0 - push {r4-r6,lr} - sub sp, 0xC - lsls r0, 24 - lsrs r0, 24 - bl sub_809AB7C - ldr r4, _0809AAE8 @ =gUnknown_2039934 - movs r1, 0xF - ands r1, r0 - ldrb r2, [r4, 0x16] - movs r0, 0x10 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r4, 0x16] - movs r0, 0 - strh r0, [r4, 0xC] - bl ContextNpcGetTextColor - lsls r0, 24 - cmp r0, 0 - bne _0809AAF0 - ldrh r0, [r4, 0x16] - ldr r1, _0809AAEC @ =0xfffffe0f - ands r1, r0 - movs r0, 0x40 - b _0809AAF8 - .align 2, 0 -_0809AAE8: .4byte gUnknown_2039934 -_0809AAEC: .4byte 0xfffffe0f -_0809AAF0: - ldrh r0, [r4, 0x16] - ldr r1, _0809AB68 @ =0xfffffe0f - ands r1, r0 - movs r0, 0x50 -_0809AAF8: - orrs r1, r0 - strh r1, [r4, 0x16] - ldr r4, _0809AB6C @ =gUnknown_2039950 - ldr r0, _0809AB70 @ =gUnknown_83DF0BC - bl AddWindow - strb r0, [r4] - ldrb r0, [r4] - movs r1, 0 - bl SetStdWindowBorderStyle - movs r0, 0x2 - movs r1, 0 - bl GetMenuCursorDimensionByFont - adds r2, r0, 0 - lsls r2, 24 - lsrs r2, 24 - ldrb r0, [r4] - movs r6, 0x10 - str r6, [sp] - movs r5, 0x3 - str r5, [sp, 0x4] - ldr r1, _0809AB74 @ =gUnknown_83DF09C - str r1, [sp, 0x8] - movs r1, 0x2 - movs r3, 0x2 - bl PrintTextArray - ldrb r0, [r4] - str r6, [sp] - str r5, [sp, 0x4] - movs r1, 0 - str r1, [sp, 0x8] - movs r1, 0x2 - movs r2, 0 - movs r3, 0x2 - bl Menu_InitCursor - ldrb r0, [r4] - bl PutWindowTilemap - ldrb r0, [r4] - movs r1, 0x1 - bl CopyWindowToVram - ldr r0, _0809AB78 @ =sub_809AC10 - movs r1, 0x8 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - add sp, 0xC - pop {r4-r6} - pop {r1} - bx r1 - .align 2, 0 -_0809AB68: .4byte 0xfffffe0f -_0809AB6C: .4byte gUnknown_2039950 -_0809AB70: .4byte gUnknown_83DF0BC -_0809AB74: .4byte gUnknown_83DF09C -_0809AB78: .4byte sub_809AC10 - thumb_func_end sub_809AAB0 - - thumb_func_start sub_809AB7C -sub_809AB7C: @ 809AB7C - push {r4,r5,lr} - cmp r0, 0 - beq _0809AB8C - lsls r0, 24 - lsrs r0, 24 - b _0809ABCE -_0809AB88: - movs r0, 0x1 - b _0809ABCE -_0809AB8C: - movs r4, 0 - ldr r1, _0809ABD4 @ =gUnknown_2039934 - ldrh r0, [r1, 0x10] - cmp r4, r0 - bcs _0809ABCC - ldr r0, [r1, 0x4] - ldrh r0, [r0] - cmp r0, 0 - beq _0809ABCC - adds r5, r1, 0 -_0809ABA0: - ldr r1, [r5, 0x4] - lsls r0, r4, 1 - adds r0, r1 - ldrh r0, [r0] - bl ItemId_GetPocket - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x4 - beq _0809AB88 - adds r0, r4, 0x1 - lsls r0, 16 - lsrs r4, r0, 16 - ldrh r0, [r5, 0x10] - cmp r4, r0 - bcs _0809ABCC - ldr r0, [r5, 0x4] - lsls r1, r4, 1 - adds r1, r0 - ldrh r0, [r1] - cmp r0, 0 - bne _0809ABA0 -_0809ABCC: - movs r0, 0 -_0809ABCE: - pop {r4,r5} - pop {r1} - bx r1 - .align 2, 0 -_0809ABD4: .4byte gUnknown_2039934 - thumb_func_end sub_809AB7C - - thumb_func_start sub_809ABD8 -sub_809ABD8: @ 809ABD8 - push {lr} - adds r1, r0, 0 - ldr r2, _0809AC00 @ =gUnknown_2039934 - str r1, [r2, 0x4] - movs r0, 0 - strh r0, [r2, 0x10] - ldrh r0, [r1] - cmp r0, 0 - beq _0809ABFC -_0809ABEA: - ldrh r0, [r2, 0x10] - adds r0, 0x1 - strh r0, [r2, 0x10] - ldrh r0, [r2, 0x10] - lsls r0, 1 - adds r0, r1 - ldrh r0, [r0] - cmp r0, 0 - bne _0809ABEA -_0809ABFC: - pop {r0} - bx r0 - .align 2, 0 -_0809AC00: .4byte gUnknown_2039934 - thumb_func_end sub_809ABD8 - - thumb_func_start sub_809AC04 -sub_809AC04: @ 809AC04 - ldr r1, _0809AC0C @ =gUnknown_2039934 - str r0, [r1] - bx lr - .align 2, 0 -_0809AC0C: .4byte gUnknown_2039934 - thumb_func_end sub_809AC04 - - thumb_func_start sub_809AC10 -sub_809AC10: @ 809AC10 - push {r4,r5,lr} - lsls r0, 24 - lsrs r4, r0, 24 - adds r5, r4, 0 - bl Menu_ProcessInputNoWrapAround - lsls r0, 24 - asrs r1, r0, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _0809AC52 - adds r0, 0x1 - cmp r1, r0 - bne _0809AC3C - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_809ACF8 - b _0809AC52 -_0809AC3C: - ldr r4, _0809AC58 @ =gUnknown_83DF09C - bl Menu_GetCursorPos - lsls r0, 24 - lsrs r0, 21 - adds r4, 0x4 - adds r0, r4 - ldr r1, [r0] - adds r0, r5, 0 - bl _call_via_r1 -_0809AC52: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809AC58: .4byte gUnknown_83DF09C - thumb_func_end sub_809AC10 - - thumb_func_start sub_809AC5C -sub_809AC5C: @ 809AC5C - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, _0809AC8C @ =sub_809AE14 - adds r0, r4, 0 - movs r1, 0xE - bl SetWordTaskArg - movs r0, 0x1 - movs r1, 0 - bl fade_screen - ldr r1, _0809AC90 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809AC94 @ =sub_809AD40 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809AC8C: .4byte sub_809AE14 -_0809AC90: .4byte gTasks -_0809AC94: .4byte sub_809AD40 - thumb_func_end sub_809AC5C - - thumb_func_start sub_809AC98 -sub_809AC98: @ 809AC98 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r2, _0809ACC8 @ =sub_809ACD4 - adds r0, r4, 0 - movs r1, 0xE - bl SetWordTaskArg - movs r0, 0x1 - movs r1, 0 - bl fade_screen - ldr r1, _0809ACCC @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809ACD0 @ =sub_809AD40 - str r1, [r0] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809ACC8: .4byte sub_809ACD4 -_0809ACCC: .4byte gTasks -_0809ACD0: .4byte sub_809AD40 - thumb_func_end sub_809AC98 - - thumb_func_start sub_809ACD4 -sub_809ACD4: @ 809ACD4 - push {lr} - ldr r2, _0809ACEC @ =CB2_ReturnToField - movs r0, 0x2 - movs r1, 0x3 - bl GoToBagMenu - ldr r1, _0809ACF0 @ =gFieldCallback - ldr r0, _0809ACF4 @ =sub_809AD74 - str r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0809ACEC: .4byte CB2_ReturnToField -_0809ACF0: .4byte gFieldCallback -_0809ACF4: .4byte sub_809AD74 - thumb_func_end sub_809ACD4 - - thumb_func_start sub_809ACF8 -sub_809ACF8: @ 809ACF8 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - bl sub_809AD24 - bl sub_809C138 - adds r0, r4, 0 - bl DestroyTask - ldr r0, _0809AD20 @ =gUnknown_2039934 - ldr r0, [r0] - cmp r0, 0 - beq _0809AD1A - bl _call_via_r0 -_0809AD1A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809AD20: .4byte gUnknown_2039934 - thumb_func_end sub_809ACF8 - - thumb_func_start sub_809AD24 -sub_809AD24: @ 809AD24 - push {r4,lr} - ldr r4, _0809AD3C @ =gUnknown_2039950 - ldrb r0, [r4] - movs r1, 0x2 - bl ClearStdWindowAndFrameToTransparent - ldrb r0, [r4] - bl RemoveWindow - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809AD3C: .4byte gUnknown_2039950 - thumb_func_end sub_809AD24 - - thumb_func_start sub_809AD40 -sub_809AD40: @ 809AD40 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0809AD70 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0809AD68 - adds r0, r4, 0 - movs r1, 0xE - bl GetWordTaskArg - bl SetMainCallback2 - bl FreeAllWindowBuffers - adds r0, r4, 0 - bl DestroyTask -_0809AD68: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809AD70: .4byte gPaletteFade - thumb_func_end sub_809AD40 - - thumb_func_start sub_809AD74 -sub_809AD74: @ 809AD74 - push {lr} - bl sub_807DC00 - ldr r0, _0809AD88 @ =sub_809AD8C - movs r1, 0x8 - bl CreateTask - pop {r0} - bx r0 - .align 2, 0 -_0809AD88: .4byte sub_809AD8C - thumb_func_end sub_809AD74 - - thumb_func_start sub_809AD8C -sub_809AD8C: @ 809AD8C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - bl IsWeatherNotFadingIn - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809ADB2 - bl sub_809B56C - adds r1, r0, 0 - lsls r1, 24 - lsrs r1, 24 - ldr r2, _0809ADB8 @ =gUnknown_841689E - ldr r3, _0809ADBC @ =sub_809ADC0 - adds r0, r4, 0 - bl DisplayItemMessageOnField -_0809ADB2: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809ADB8: .4byte gUnknown_841689E -_0809ADBC: .4byte sub_809ADC0 - thumb_func_end sub_809AD8C - - thumb_func_start sub_809ADC0 -sub_809ADC0: @ 809ADC0 - push {r4,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0809ADE0 @ =gUnknown_2039934 - ldrb r0, [r0, 0x16] - lsls r0, 28 - lsrs r0, 28 - bl sub_809AAB0 - adds r0, r4, 0 - bl DestroyTask - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809ADE0: .4byte gUnknown_2039934 - thumb_func_end sub_809ADC0 - - thumb_func_start sub_809ADE4 -sub_809ADE4: @ 809ADE4 - push {lr} - bl RunTasks - bl AnimateSprites - bl BuildOamBuffer - bl UpdatePaletteFade - bl DoScheduledBgTilemapCopiesToVram - pop {r0} - bx r0 - thumb_func_end sub_809ADE4 - - thumb_func_start sub_809AE00 -sub_809AE00: @ 809AE00 - push {lr} - bl LoadOam - bl ProcessSpriteCopyRequests - bl TransferPlttBuffer - pop {r0} - bx r0 - thumb_func_end sub_809AE00 - - thumb_func_start sub_809AE14 -sub_809AE14: @ 809AE14 - push {r4,r5,lr} - sub sp, 0xC - ldr r0, _0809AE90 @ =gMain - movs r1, 0x87 - lsls r1, 3 - adds r5, r0, r1 - ldrb r4, [r5] - cmp r4, 0 - beq _0809AEAC - cmp r4, 0x1 - bne _0809AE2C - b _0809AF54 -_0809AE2C: - ldr r0, _0809AE94 @ =gUnknown_2039934 - movs r5, 0 - strh r5, [r0, 0xC] - strh r5, [r0, 0xE] - bl sub_809B15C - bl sub_809B690 - ldr r0, _0809AE98 @ =sub_809BBC0 - movs r1, 0x8 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r0, _0809AE9C @ =gMultiuseListMenuTemplate - movs r1, 0 - movs r2, 0 - bl ListMenuInit - ldr r2, _0809AEA0 @ =gTasks - lsls r1, r4, 2 - adds r1, r4 - lsls r1, 3 - adds r1, r2 - lsls r0, 24 - lsrs r0, 24 - strh r0, [r1, 0x16] - movs r4, 0x1 - negs r4, r4 - adds r0, r4, 0 - movs r1, 0x10 - movs r2, 0 - bl BlendPalettes - str r5, [sp] - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x10 - movs r3, 0 - bl BeginNormalPaletteFade - ldr r0, _0809AEA4 @ =sub_809AE00 - bl SetVBlankCallback - ldr r0, _0809AEA8 @ =sub_809ADE4 - bl SetMainCallback2 - b _0809AF64 - .align 2, 0 -_0809AE90: .4byte gMain -_0809AE94: .4byte gUnknown_2039934 -_0809AE98: .4byte sub_809BBC0 -_0809AE9C: .4byte gMultiuseListMenuTemplate -_0809AEA0: .4byte gTasks -_0809AEA4: .4byte sub_809AE00 -_0809AEA8: .4byte sub_809ADE4 -_0809AEAC: - bl SetVBlankHBlankCallbacksToNull - str r4, [sp, 0x8] - movs r1, 0xE0 - lsls r1, 19 - ldr r2, _0809AF4C @ =0x01000100 - add r0, sp, 0x8 - bl CpuFastSet - bl ScanlineEffect_Stop - bl ResetTempTileDataBuffers - bl FreeAllSpritePalettes - bl ResetPaletteFade - bl ResetSpriteData - bl ResetTasks - bl ClearScheduledBgCopiesToVram - bl ResetItemMenuIconState - bl sub_809AF6C - lsls r0, 24 - cmp r0, 0 - beq _0809AF64 - bl sub_809B188 - lsls r0, 24 - cmp r0, 0 - beq _0809AF64 - bl sub_809AFD0 - movs r4, 0x20 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x2 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - str r4, [sp] - str r4, [sp, 0x4] - movs r0, 0x3 - movs r1, 0 - movs r2, 0 - movs r3, 0 - bl FillBgTilemapBufferRect_Palette0 - ldr r0, _0809AF50 @ =gUnknown_2039934 - ldrb r0, [r0, 0x16] - lsls r0, 28 - lsrs r0, 28 - bl BuyMenuInitWindows - bl sub_809B080 - b _0809AF5E - .align 2, 0 -_0809AF4C: .4byte 0x01000100 -_0809AF50: .4byte gUnknown_2039934 -_0809AF54: - bl FreeTempTileDataBuffersIfPossible - lsls r0, 24 - cmp r0, 0 - bne _0809AF64 -_0809AF5E: - ldrb r0, [r5] - adds r0, 0x1 - strb r0, [r5] -_0809AF64: - add sp, 0xC - pop {r4,r5} - pop {r0} - bx r0 - thumb_func_end sub_809AE14 - - thumb_func_start sub_809AF6C -sub_809AF6C: @ 809AF6C - push {r4,r5,lr} - ldr r4, _0809AFB0 @ =gUnknown_2039954 - movs r5, 0x80 - lsls r5, 4 - adds r0, r5, 0 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0809AFC0 - ldr r4, _0809AFB4 @ =gUnknown_2039958 - adds r0, r5, 0 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0809AFC0 - ldr r4, _0809AFB8 @ =gUnknown_203995C - adds r0, r5, 0 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0809AFC0 - ldr r4, _0809AFBC @ =gUnknown_2039960 - adds r0, r5, 0 - bl Alloc - str r0, [r4] - cmp r0, 0 - beq _0809AFC0 - movs r0, 0x1 - b _0809AFCA - .align 2, 0 -_0809AFB0: .4byte gUnknown_2039954 -_0809AFB4: .4byte gUnknown_2039958 -_0809AFB8: .4byte gUnknown_203995C -_0809AFBC: .4byte gUnknown_2039960 -_0809AFC0: - bl sub_809B604 - bl sub_809B670 - movs r0, 0 -_0809AFCA: - pop {r4,r5} - pop {r1} - bx r1 - thumb_func_end sub_809AF6C - - thumb_func_start sub_809AFD0 -sub_809AFD0: @ 809AFD0 - push {lr} - movs r0, 0 - bl ResetBgsAndClearDma3BusyFlags - ldr r1, _0809B070 @ =gUnknown_83DF0C4 - movs r0, 0 - movs r2, 0x4 - bl InitBgsFromTemplates - ldr r0, _0809B074 @ =gUnknown_2039958 - ldr r1, [r0] - movs r0, 0x1 - bl SetBgTilemapBuffer - ldr r0, _0809B078 @ =gUnknown_2039960 - ldr r1, [r0] - movs r0, 0x2 - bl SetBgTilemapBuffer - ldr r0, _0809B07C @ =gUnknown_203995C - ldr r1, [r0] - movs r0, 0x3 - bl SetBgTilemapBuffer - movs r0, 0x10 - movs r1, 0 - bl SetGpuReg - movs r0, 0x12 - movs r1, 0 - bl SetGpuReg - movs r0, 0x14 - movs r1, 0 - bl SetGpuReg - movs r0, 0x16 - movs r1, 0 - bl SetGpuReg - movs r0, 0x18 - movs r1, 0 - bl SetGpuReg - movs r0, 0x1A - movs r1, 0 - bl SetGpuReg - movs r0, 0x1C - movs r1, 0 - bl SetGpuReg - movs r0, 0x1E - movs r1, 0 - bl SetGpuReg - movs r0, 0x50 - movs r1, 0 - bl SetGpuReg - movs r1, 0x82 - lsls r1, 5 - movs r0, 0 - bl SetGpuReg - movs r0, 0 - bl ShowBg - movs r0, 0x1 - bl ShowBg - movs r0, 0x2 - bl ShowBg - movs r0, 0x3 - bl ShowBg - pop {r0} - bx r0 - .align 2, 0 -_0809B070: .4byte gUnknown_83DF0C4 -_0809B074: .4byte gUnknown_2039958 -_0809B078: .4byte gUnknown_2039960 -_0809B07C: .4byte gUnknown_203995C - thumb_func_end sub_809AFD0 - - thumb_func_start sub_809B080 -sub_809B080: @ 809B080 - push {r4,lr} - sub sp, 0x4 - ldr r1, _0809B0B0 @ =gUnknown_8E85DC8 - movs r2, 0x90 - lsls r2, 3 - movs r3, 0xF7 - lsls r3, 2 - movs r0, 0 - str r0, [sp] - movs r0, 0x1 - bl DecompressAndCopyTileDataToVram - ldr r0, _0809B0B4 @ =gUnknown_2039934 - ldrb r1, [r0, 0x16] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - beq _0809B0C0 - ldr r0, _0809B0B8 @ =gUnknown_8E85EFC - ldr r1, _0809B0BC @ =gUnknown_2039954 - ldr r1, [r1] - bl LZDecompressWram - b _0809B0CA - .align 2, 0 -_0809B0B0: .4byte gUnknown_8E85DC8 -_0809B0B4: .4byte gUnknown_2039934 -_0809B0B8: .4byte gUnknown_8E85EFC -_0809B0BC: .4byte gUnknown_2039954 -_0809B0C0: - ldr r0, _0809B100 @ =gUnknown_8E86038 - ldr r1, _0809B104 @ =gUnknown_2039954 - ldr r1, [r1] - bl LZDecompressWram -_0809B0CA: - movs r0, 0x40 - bl Alloc - adds r4, r0, 0 - ldr r0, _0809B108 @ =gUnknown_8E86170 - adds r1, r4, 0 - bl LZDecompressWram - adds r0, r4, 0 - movs r1, 0xB0 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - adds r0, 0x20 - movs r1, 0x60 - movs r2, 0x20 - bl LoadPalette - adds r0, r4, 0 - bl Free - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809B100: .4byte gUnknown_8E86038 -_0809B104: .4byte gUnknown_2039954 -_0809B108: .4byte gUnknown_8E86170 - thumb_func_end sub_809B080 - - thumb_func_start sub_809B10C -sub_809B10C: @ 809B10C - push {lr} - sub sp, 0x8 - movs r2, 0x6 - cmp r0, 0 - bne _0809B118 - movs r2, 0xB -_0809B118: - ldr r0, _0809B138 @ =gUnknown_2039934 - ldrb r1, [r0, 0x16] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - beq _0809B13C - movs r0, 0x6 - str r0, [sp] - str r2, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0xE - movs r3, 0x1E - bl SetBgTilemapPalette - b _0809B14E - .align 2, 0 -_0809B138: .4byte gUnknown_2039934 -_0809B13C: - movs r0, 0x8 - str r0, [sp] - str r2, [sp, 0x4] - movs r0, 0x1 - movs r1, 0 - movs r2, 0xC - movs r3, 0x1E - bl SetBgTilemapPalette -_0809B14E: - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - add sp, 0x8 - pop {r0} - bx r0 - thumb_func_end sub_809B10C - - thumb_func_start sub_809B15C -sub_809B15C: @ 809B15C - push {lr} - bl sub_809B764 - bl sub_809BAFC - bl BuyMenuDrawMoneyBox - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x1 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x2 - bl ScheduleBgCopyTilemapToVram - movs r0, 0x3 - bl ScheduleBgCopyTilemapToVram - pop {r0} - bx r0 - thumb_func_end sub_809B15C - - thumb_func_start sub_809B188 -sub_809B188: @ 809B188 - push {r4-r7,lr} - ldr r7, _0809B1C0 @ =gUnknown_2039964 - ldr r4, _0809B1C4 @ =gUnknown_2039934 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - lsls r0, 3 - bl Alloc - str r0, [r7] - cmp r0, 0 - beq _0809B1B2 - ldr r5, _0809B1C8 @ =gUnknown_2039968 - ldrh r0, [r4, 0x10] - adds r0, 0x1 - movs r1, 0xD - muls r0, r1 - bl Alloc - str r0, [r5] - cmp r0, 0 - bne _0809B1CC -_0809B1B2: - bl sub_809B604 - bl sub_809B670 - movs r0, 0 - b _0809B2F0 - .align 2, 0 -_0809B1C0: .4byte gUnknown_2039964 -_0809B1C4: .4byte gUnknown_2039934 -_0809B1C8: .4byte gUnknown_2039968 -_0809B1CC: - movs r6, 0 - b _0809B1F2 -_0809B1D0: - lsls r1, r6, 3 - ldr r0, [r7] - adds r0, r1 - ldr r2, [r4, 0x4] - lsls r1, r6, 1 - adds r1, r2 - ldrh r1, [r1] - movs r2, 0xD - adds r3, r6, 0 - muls r3, r2 - ldr r2, [r5] - adds r2, r3 - bl sub_809B300 - adds r0, r6, 0x1 - lsls r0, 16 - lsrs r6, r0, 16 -_0809B1F2: - ldrh r0, [r4, 0x10] - cmp r6, r0 - bcc _0809B1D0 - ldr r5, _0809B2C8 @ =gUnknown_2039968 - movs r0, 0xD - adds r4, r6, 0 - muls r4, r0 - ldr r0, [r5] - adds r0, r4 - ldr r1, _0809B2CC @ =gFameCheckerText_Cancel - bl StringCopy - ldr r0, _0809B2D0 @ =gUnknown_2039964 - ldr r2, [r0] - lsls r1, r6, 3 - adds r1, r2 - ldr r0, [r5] - adds r0, r4 - str r0, [r1] - movs r0, 0x2 - negs r0, r0 - str r0, [r1, 0x4] - ldr r5, _0809B2D4 @ =gMultiuseListMenuTemplate - str r2, [r5] - ldr r6, _0809B2D8 @ =gUnknown_2039934 - ldrh r0, [r6, 0x10] - adds r0, 0x1 - movs r1, 0 - strh r0, [r5, 0xC] - movs r0, 0x4 - strb r0, [r5, 0x10] - strb r1, [r5, 0x11] - movs r0, 0x9 - strb r0, [r5, 0x12] - movs r0, 0x1 - strb r0, [r5, 0x13] - ldrb r1, [r5, 0x16] - subs r0, 0x9 - ands r0, r1 - movs r1, 0x39 - negs r1, r1 - ands r0, r1 - movs r1, 0x10 - orrs r0, r1 - strb r0, [r5, 0x16] - ldrb r2, [r5, 0x14] - movs r1, 0x10 - negs r1, r1 - adds r0, r1, 0 - ands r0, r2 - movs r3, 0x2 - orrs r0, r3 - strb r0, [r5, 0x14] - ldrb r2, [r5, 0x17] - movs r0, 0x40 - negs r0, r0 - ands r0, r2 - orrs r0, r3 - strb r0, [r5, 0x17] - ldrb r0, [r5, 0x15] - ands r1, r0 - strb r1, [r5, 0x15] - movs r0, 0x2 - movs r1, 0x5 - bl GetFontAttribute - lsls r0, 4 - ldrb r2, [r5, 0x14] - movs r4, 0xF - adds r1, r4, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x14] - movs r0, 0x2 - movs r1, 0x7 - bl GetFontAttribute - lsls r0, 4 - ldrb r2, [r5, 0x15] - adds r1, r4, 0 - ands r1, r2 - orrs r1, r0 - strb r1, [r5, 0x15] - ldr r0, _0809B2DC @ =sub_809B320 - str r0, [r5, 0x4] - ldr r0, _0809B2E0 @ =sub_809B408 - str r0, [r5, 0x8] - ldrb r2, [r5, 0x16] - movs r1, 0x3F - adds r0, r1, 0 - ands r0, r2 - strb r0, [r5, 0x16] - ldrb r0, [r5, 0x17] - ands r1, r0 - strb r1, [r5, 0x17] - ldrb r0, [r6, 0x16] - ands r4, r0 - movs r1, 0x6 - cmp r4, 0x1 - bne _0809B2BC - movs r1, 0x5 -_0809B2BC: - ldrh r0, [r6, 0x10] - adds r0, 0x1 - cmp r0, r1 - ble _0809B2E4 - strh r1, [r5, 0xE] - b _0809B2E6 - .align 2, 0 -_0809B2C8: .4byte gUnknown_2039968 -_0809B2CC: .4byte gFameCheckerText_Cancel -_0809B2D0: .4byte gUnknown_2039964 -_0809B2D4: .4byte gMultiuseListMenuTemplate -_0809B2D8: .4byte gUnknown_2039934 -_0809B2DC: .4byte sub_809B320 -_0809B2E0: .4byte sub_809B408 -_0809B2E4: - strh r0, [r5, 0xE] -_0809B2E6: - ldr r0, _0809B2F8 @ =gUnknown_2039934 - ldr r1, _0809B2FC @ =gMultiuseListMenuTemplate - ldrh r1, [r1, 0xE] - strh r1, [r0, 0x12] - movs r0, 0x1 -_0809B2F0: - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0809B2F8: .4byte gUnknown_2039934 -_0809B2FC: .4byte gMultiuseListMenuTemplate - thumb_func_end sub_809B188 - - thumb_func_start sub_809B300 -sub_809B300: @ 809B300 - push {r4-r6,lr} - adds r4, r0, 0 - adds r5, r1, 0 - adds r6, r2, 0 - lsls r5, 16 - lsrs r5, 16 - adds r0, r5, 0 - adds r1, r6, 0 - bl CopyItemName - str r6, [r4] - str r5, [r4, 0x4] - pop {r4-r6} - pop {r0} - bx r0 - thumb_func_end sub_809B300 - - thumb_func_start sub_809B320 -sub_809B320: @ 809B320 - push {r4-r7,lr} - sub sp, 0x14 - adds r5, r0, 0 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0x1 - beq _0809B334 - movs r0, 0x5 - bl PlaySE -_0809B334: - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _0809B348 - lsls r0, r5, 16 - lsrs r0, 16 - bl ItemId_GetDescription - adds r7, r0, 0 - b _0809B34A -_0809B348: - ldr r7, _0809B384 @ =gUnknown_8416757 -_0809B34A: - movs r0, 0x5 - movs r1, 0 - bl FillWindowPixelBuffer - ldr r6, _0809B388 @ =gUnknown_2039934 - ldrb r0, [r6, 0x16] - movs r4, 0xF - ands r4, r0 - cmp r4, 0x1 - beq _0809B3D8 - ldrb r1, [r6, 0x17] - lsls r1, 29 - lsrs r1, 30 - movs r0, 0x1 - eors r0, r1 - bl DestroyItemMenuIcon - movs r0, 0x2 - negs r0, r0 - cmp r5, r0 - beq _0809B38C - lsls r0, r5, 16 - lsrs r0, 16 - ldrb r1, [r6, 0x17] - lsls r1, 29 - lsrs r1, 30 - bl CreateItemMenuIcon - b _0809B398 - .align 2, 0 -_0809B384: .4byte gUnknown_8416757 -_0809B388: .4byte gUnknown_2039934 -_0809B38C: - ldr r0, _0809B3D0 @ =0x00000177 - ldrb r1, [r6, 0x17] - lsls r1, 29 - lsrs r1, 30 - bl CreateItemMenuIcon -_0809B398: - ldr r3, _0809B3D4 @ =gUnknown_2039934 - ldrb r2, [r3, 0x17] - lsls r0, r2, 29 - lsrs r0, 30 - movs r1, 0x1 - eors r1, r0 - lsls r1, 1 - movs r0, 0x7 - negs r0, r0 - ands r0, r2 - orrs r0, r1 - strb r0, [r3, 0x17] - movs r0, 0x3 - str r0, [sp] - movs r0, 0x2 - str r0, [sp, 0x4] - movs r0, 0x1 - str r0, [sp, 0x8] - movs r0, 0 - str r0, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x5 - movs r1, 0x2 - adds r2, r7, 0 - movs r3, 0 - bl BuyMenuPrint - b _0809B400 - .align 2, 0 -_0809B3D0: .4byte 0x00000177 -_0809B3D4: .4byte gUnknown_2039934 -_0809B3D8: - movs r0, 0x6 - movs r1, 0 - bl FillWindowPixelBuffer - adds r0, r5, 0 - bl sub_809B494 - movs r0, 0x3 - str r0, [sp] - str r4, [sp, 0x4] - movs r0, 0 - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r0, [sp, 0x10] - movs r0, 0x5 - movs r1, 0x2 - adds r2, r7, 0 - movs r3, 0x2 - bl BuyMenuPrint -_0809B400: - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809B320 - - thumb_func_start sub_809B408 -sub_809B408: @ 809B408 - push {r4-r6,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r6, r0, 24 - lsls r2, 24 - lsrs r5, r2, 24 - movs r0, 0x2 - negs r0, r0 - cmp r1, r0 - beq _0809B480 - ldr r4, _0809B488 @ =gStringVar1 - lsls r0, r1, 16 - lsrs r0, 16 - bl itemid_get_market_price - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - movs r2, 0 - movs r3, 0x4 - bl ConvertIntToDecimalStringN - adds r0, r4, 0 - bl StringLength - lsls r0, 16 - lsrs r0, 16 - movs r1, 0x4 - subs r1, r0 - ldr r2, _0809B48C @ =gStringVar4 - adds r0, r1, 0 - subs r1, 0x1 - cmp r0, 0 - beq _0809B45C - movs r3, 0 -_0809B450: - strb r3, [r2] - adds r2, 0x1 - adds r0, r1, 0 - subs r1, 0x1 - cmp r0, 0 - bne _0809B450 -_0809B45C: - ldr r1, _0809B490 @ =gText_PokedollarVar1 - adds r0, r2, 0 - bl StringExpandPlaceholders - ldr r2, _0809B48C @ =gStringVar4 - str r5, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r0, 0x1 - str r0, [sp, 0x10] - adds r0, r6, 0 - movs r1, 0 - movs r3, 0x69 - bl BuyMenuPrint -_0809B480: - add sp, 0x14 - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809B488: .4byte gStringVar1 -_0809B48C: .4byte gStringVar4 -_0809B490: .4byte gText_PokedollarVar1 - thumb_func_end sub_809B408 - - thumb_func_start sub_809B494 -sub_809B494: @ 809B494 - push {r4-r7,lr} - sub sp, 0x14 - adds r7, r0, 0 - movs r0, 0x2 - negs r0, r0 - cmp r7, r0 - beq _0809B528 - ldr r4, _0809B514 @ =gStringVar1 - ldr r0, _0809B518 @ =0xfffffee0 - adds r1, r7, r0 - adds r0, r4, 0 - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r5, _0809B51C @ =gStringVar4 - ldr r1, _0809B520 @ =gOtherText_UnkF9_08_Clear_01 - adds r0, r5, 0 - bl StringCopy - adds r0, r5, 0 - adds r1, r4, 0 - bl StringAppend - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r6, 0x1 - str r6, [sp, 0x10] - movs r0, 0x6 - movs r1, 0 - adds r2, r5, 0 - movs r3, 0 - bl BuyMenuPrint - lsls r0, r7, 16 - lsrs r0, 16 - bl ItemIdToBattleMoveId - lsls r0, 16 - lsrs r0, 16 - movs r1, 0xD - muls r1, r0 - ldr r0, _0809B524 @ =gMoveNames - adds r1, r0 - adds r0, r5, 0 - bl StringCopy - movs r0, 0x10 - str r0, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r6, [sp, 0x10] - movs r0, 0x6 - movs r1, 0x2 - adds r2, r5, 0 - movs r3, 0 - bl BuyMenuPrint - b _0809B55C - .align 2, 0 -_0809B514: .4byte gStringVar1 -_0809B518: .4byte 0xfffffee0 -_0809B51C: .4byte gStringVar4 -_0809B520: .4byte gOtherText_UnkF9_08_Clear_01 -_0809B524: .4byte gMoveNames -_0809B528: - ldr r2, _0809B564 @ =gText_ThreeHyphens - movs r4, 0 - str r4, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - movs r0, 0xFF - str r0, [sp, 0xC] - movs r5, 0x1 - str r5, [sp, 0x10] - movs r0, 0x6 - movs r1, 0 - movs r3, 0 - bl BuyMenuPrint - ldr r2, _0809B568 @ =gUnknown_8416217 - movs r0, 0x10 - str r0, [sp] - str r4, [sp, 0x4] - str r4, [sp, 0x8] - str r4, [sp, 0xC] - str r5, [sp, 0x10] - movs r0, 0x6 - movs r1, 0x2 - movs r3, 0 - bl BuyMenuPrint -_0809B55C: - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809B564: .4byte gText_ThreeHyphens -_0809B568: .4byte gUnknown_8416217 - thumb_func_end sub_809B494 - - thumb_func_start sub_809B56C -sub_809B56C: @ 809B56C - ldr r0, _0809B578 @ =gUnknown_2039934 - ldrh r0, [r0, 0x16] - lsls r0, 23 - lsrs r0, 27 - bx lr - .align 2, 0 -_0809B578: .4byte gUnknown_2039934 - thumb_func_end sub_809B56C - - thumb_func_start sub_809B57C -sub_809B57C: @ 809B57C - push {r4,lr} - adds r4, r1, 0 - lsls r0, 24 - lsrs r0, 24 - lsls r4, 24 - lsrs r4, 24 - bl ListMenuGetYCoordForPrintingArrowCursor - lsls r0, 24 - lsrs r0, 24 - adds r1, r4, 0 - bl sub_809B59C - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809B57C - - thumb_func_start sub_809B59C -sub_809B59C: @ 809B59C - push {r4,r5,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r5, r0, 24 - lsls r1, 24 - lsrs r1, 24 - cmp r1, 0xFF - bne _0809B5E0 - movs r0, 0x2 - movs r1, 0 - bl GetFontAttribute - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x2 - movs r1, 0x1 - bl GetFontAttribute - lsls r0, 24 - lsrs r0, 24 - str r4, [sp] - str r0, [sp, 0x4] - movs r0, 0x4 - movs r1, 0 - movs r2, 0x1 - adds r3, r5, 0 - bl FillWindowPixelRect - movs r0, 0x4 - movs r1, 0x2 - bl CopyWindowToVram - b _0809B5F8 -_0809B5E0: - ldr r2, _0809B600 @ =gFameCheckerText_ListMenuCursor - str r5, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - str r1, [sp, 0x10] - movs r0, 0x4 - movs r1, 0x2 - movs r3, 0x1 - bl BuyMenuPrint -_0809B5F8: - add sp, 0x14 - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809B600: .4byte gFameCheckerText_ListMenuCursor - thumb_func_end sub_809B59C - - thumb_func_start sub_809B604 -sub_809B604: @ 809B604 - push {lr} - ldr r0, _0809B658 @ =gUnknown_2039954 - ldr r0, [r0] - cmp r0, 0 - beq _0809B612 - bl Free -_0809B612: - ldr r0, _0809B65C @ =gUnknown_2039958 - ldr r0, [r0] - cmp r0, 0 - beq _0809B61E - bl Free -_0809B61E: - ldr r0, _0809B660 @ =gUnknown_203995C - ldr r0, [r0] - cmp r0, 0 - beq _0809B62A - bl Free -_0809B62A: - ldr r0, _0809B664 @ =gUnknown_2039960 - ldr r0, [r0] - cmp r0, 0 - beq _0809B636 - bl Free -_0809B636: - ldr r0, _0809B668 @ =gUnknown_2039964 - ldr r0, [r0] - cmp r0, 0 - beq _0809B642 - bl Free -_0809B642: - ldr r0, _0809B66C @ =gUnknown_2039968 - ldr r0, [r0] - cmp r0, 0 - beq _0809B64E - bl Free -_0809B64E: - bl FreeAllWindowBuffers - pop {r0} - bx r0 - .align 2, 0 -_0809B658: .4byte gUnknown_2039954 -_0809B65C: .4byte gUnknown_2039958 -_0809B660: .4byte gUnknown_203995C -_0809B664: .4byte gUnknown_2039960 -_0809B668: .4byte gUnknown_2039964 -_0809B66C: .4byte gUnknown_2039968 - thumb_func_end sub_809B604 - - thumb_func_start sub_809B670 -sub_809B670: @ 809B670 - push {lr} - ldr r0, _0809B684 @ =gFieldCallback - ldr r1, _0809B688 @ =sub_809AD74 - str r1, [r0] - ldr r0, _0809B68C @ =CB2_ReturnToField - bl SetMainCallback2 - pop {r0} - bx r0 - .align 2, 0 -_0809B684: .4byte gFieldCallback -_0809B688: .4byte sub_809AD74 -_0809B68C: .4byte CB2_ReturnToField - thumb_func_end sub_809B670 - - thumb_func_start sub_809B690 -sub_809B690: @ 809B690 - push {r4,lr} - sub sp, 0x10 - ldr r4, _0809B6C0 @ =gUnknown_2039934 - ldrb r1, [r4, 0x16] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - beq _0809B6C4 - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0x12] - subs r0, r1 - adds r0, 0x1 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r0, 0xE - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xA0 - movs r2, 0x8 - movs r3, 0x68 - b _0809B6E2 - .align 2, 0 -_0809B6C0: .4byte gUnknown_2039934 -_0809B6C4: - ldrh r0, [r4, 0x10] - ldrh r1, [r4, 0x12] - subs r0, r1 - adds r0, 0x1 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r0, 0xE - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0xA0 - movs r2, 0x8 - movs r3, 0x58 -_0809B6E2: - bl AddScrollIndicatorArrowPairParameterized - lsls r0, 3 - ldrb r2, [r4, 0x17] - movs r1, 0x7 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x17] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809B690 - - thumb_func_start sub_809B6FC -sub_809B6FC: @ 809B6FC - push {r4,lr} - sub sp, 0x10 - ldr r4, _0809B738 @ =gUnknown_2039934 - movs r0, 0x1 - strh r0, [r4, 0x18] - movs r0, 0x2 - str r0, [sp] - movs r0, 0x6E - str r0, [sp, 0x4] - str r0, [sp, 0x8] - adds r0, r4, 0 - adds r0, 0x18 - str r0, [sp, 0xC] - movs r0, 0x2 - movs r1, 0x98 - movs r2, 0x48 - movs r3, 0x68 - bl AddScrollIndicatorArrowPairParameterized - lsls r0, 3 - ldrb r2, [r4, 0x17] - movs r1, 0x7 - ands r1, r2 - orrs r1, r0 - strb r1, [r4, 0x17] - add sp, 0x10 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809B738: .4byte gUnknown_2039934 - thumb_func_end sub_809B6FC - - thumb_func_start sub_809B73C -sub_809B73C: @ 809B73C - push {r4,lr} - ldr r4, _0809B760 @ =gUnknown_2039934 - ldrb r1, [r4, 0x17] - movs r0, 0xF8 - ands r0, r1 - cmp r0, 0xF8 - beq _0809B758 - lsrs r0, r1, 3 - bl RemoveScrollIndicatorArrowPair - ldrb r0, [r4, 0x17] - movs r1, 0xF8 - orrs r0, r1 - strb r0, [r4, 0x17] -_0809B758: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809B760: .4byte gUnknown_2039934 - thumb_func_end sub_809B73C - - thumb_func_start sub_809B764 -sub_809B764: @ 809B764 - push {lr} - bl sub_809B92C - bl sub_809BA40 - bl sub_809B778 - pop {r0} - bx r0 - thumb_func_end sub_809B764 - - thumb_func_start sub_809B778 -sub_809B778: @ 809B778 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x4 - ldr r0, _0809B804 @ =gMapHeader - ldr r0, [r0] - mov r9, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - mov r1, sp - mov r0, sp - ldrh r0, [r0] - subs r0, 0x2 - strh r0, [r1] - ldrh r0, [r4] - subs r0, 0x3 - strh r0, [r4] - movs r1, 0 - mov r10, r4 -_0809B7AA: - movs r4, 0 - lsls r1, 16 - mov r8, r1 - asrs r7, r1, 16 -_0809B7B2: - mov r0, sp - movs r1, 0 - ldrsh r0, [r0, r1] - lsls r4, 16 - asrs r6, r4, 16 - adds r0, r6 - mov r2, r10 - movs r3, 0 - ldrsh r1, [r2, r3] - adds r1, r7 - bl MapGridGetMetatileIdAt - lsls r0, 16 - lsrs r5, r0, 16 - mov r0, sp - ldrh r0, [r0] - adds r0, r6, r0 - lsls r0, 16 - asrs r0, 16 - mov r2, r10 - ldrh r1, [r2] - adds r1, r7, r1 - lsls r1, 16 - asrs r1, 16 - bl MapGridGetMetatileLayerTypeAt - lsls r0, 24 - lsrs r3, r0, 24 - ldr r0, _0809B808 @ =0x0000027f - cmp r5, r0 - bhi _0809B80C - mov r1, r9 - ldr r0, [r1, 0x10] - lsls r1, r5, 4 - ldr r2, [r0, 0xC] - adds r2, r1 - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_809B850 - b _0809B822 - .align 2, 0 -_0809B804: .4byte gMapHeader -_0809B808: .4byte 0x0000027f -_0809B80C: - mov r2, r9 - ldr r0, [r2, 0x14] - ldr r2, _0809B84C @ =0xfffffd80 - adds r1, r5, r2 - lsls r1, 4 - ldr r2, [r0, 0xC] - adds r2, r1 - adds r0, r6, 0 - adds r1, r7, 0 - bl sub_809B850 -_0809B822: - movs r3, 0x80 - lsls r3, 9 - adds r0, r4, r3 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x4 - ble _0809B7B2 - adds r0, r3, 0 - add r0, r8 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, 0x9 - ble _0809B7AA - add sp, 0x4 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809B84C: .4byte 0xfffffd80 - thumb_func_end sub_809B778 - - thumb_func_start sub_809B850 -sub_809B850: @ 809B850 - push {r4-r6,lr} - adds r6, r2, 0 - lsls r3, 24 - lsrs r3, 24 - adds r2, r3, 0 - lsls r0, 17 - lsrs r5, r0, 16 - lsls r1, 22 - movs r0, 0x80 - lsls r0, 15 - adds r1, r0 - lsrs r1, 16 - cmp r3, 0x1 - beq _0809B8A0 - cmp r3, 0x1 - bgt _0809B876 - cmp r3, 0 - beq _0809B87C - b _0809B8F6 -_0809B876: - cmp r2, 0x2 - beq _0809B8D0 - b _0809B8F6 -_0809B87C: - ldr r0, _0809B898 @ =gUnknown_2039960 - ldr r0, [r0] - lsls r5, 16 - asrs r5, 16 - lsls r4, r1, 16 - asrs r4, 16 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl sub_809B904 - ldr r0, _0809B89C @ =gUnknown_2039958 - b _0809B8B8 - .align 2, 0 -_0809B898: .4byte gUnknown_2039960 -_0809B89C: .4byte gUnknown_2039958 -_0809B8A0: - ldr r0, _0809B8C8 @ =gUnknown_203995C - ldr r0, [r0] - lsls r5, 16 - asrs r5, 16 - lsls r4, r1, 16 - asrs r4, 16 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl sub_809B904 - ldr r0, _0809B8CC @ =gUnknown_2039960 -_0809B8B8: - ldr r0, [r0] - adds r3, r6, 0 - adds r3, 0x8 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_809B904 - b _0809B8F6 - .align 2, 0 -_0809B8C8: .4byte gUnknown_203995C -_0809B8CC: .4byte gUnknown_2039960 -_0809B8D0: - ldr r0, _0809B8FC @ =gUnknown_203995C - ldr r0, [r0] - lsls r5, 16 - asrs r5, 16 - lsls r4, r1, 16 - asrs r4, 16 - adds r1, r5, 0 - adds r2, r4, 0 - adds r3, r6, 0 - bl sub_809B904 - ldr r0, _0809B900 @ =gUnknown_2039958 - ldr r0, [r0] - adds r3, r6, 0 - adds r3, 0x8 - adds r1, r5, 0 - adds r2, r4, 0 - bl sub_809B904 -_0809B8F6: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809B8FC: .4byte gUnknown_203995C -_0809B900: .4byte gUnknown_2039958 - thumb_func_end sub_809B850 - - thumb_func_start sub_809B904 -sub_809B904: @ 809B904 - lsls r1, 16 - asrs r1, 16 - lsls r2, 16 - asrs r2, 16 - adds r1, r2 - lsls r1, 1 - adds r1, r0 - ldrh r0, [r3] - strh r0, [r1] - ldrh r0, [r3, 0x2] - strh r0, [r1, 0x2] - adds r2, r1, 0 - adds r2, 0x40 - ldrh r0, [r3, 0x4] - strh r0, [r2] - adds r1, 0x42 - ldrh r0, [r3, 0x6] - strh r0, [r1] - bx lr - thumb_func_end sub_809B904 - - thumb_func_start sub_809B92C -sub_809B92C: @ 809B92C - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x8 - movs r0, 0 - mov r9, r0 - mov r4, sp - adds r4, 0x2 - mov r0, sp - adds r1, r4, 0 - bl GetXYCoordsOneStepInFrontOfPlayer - bl PlayerGetZCoord - lsls r0, 24 - lsrs r0, 24 - str r0, [sp, 0x4] - movs r5, 0 - ldr r2, _0809B9DC @ =gUnknown_20398B4 - movs r1, 0x10 -_0809B958: - lsls r0, r5, 3 - adds r0, r2 - strh r1, [r0] - adds r0, r5, 0x1 - lsls r0, 24 - lsrs r5, r0, 24 - cmp r5, 0xF - bls _0809B958 - movs r5, 0 - ldr r6, _0809B9E0 @ =gUnknown_20398BA - subs r1, r6, 0x6 - mov r8, r1 -_0809B970: - movs r4, 0 - adds r2, r5, 0x1 - mov r10, r2 -_0809B976: - mov r1, sp - ldr r3, _0809B9E4 @ =0x0000fffd - adds r0, r3, 0 - ldrh r1, [r1] - adds r0, r1 - adds r0, r4 - lsls r0, 16 - lsrs r0, 16 - ldr r2, _0809B9E8 @ =0x0000fffe - adds r1, r2, 0 - mov r3, sp - ldrh r3, [r3, 0x2] - adds r1, r3 - adds r1, r5 - lsls r1, 16 - lsrs r1, 16 - ldr r2, [sp, 0x4] - bl GetFieldObjectIdByXYZ - lsls r0, 24 - lsrs r3, r0, 24 - cmp r3, 0x10 - beq _0809BA1C - mov r0, r9 - lsls r2, r0, 3 - mov r1, r8 - adds r0, r2, r1 - movs r7, 0 - strh r3, [r0] - mov r0, r8 - adds r0, 0x2 - adds r0, r2, r0 - strh r4, [r0] - ldr r1, _0809B9EC @ =gUnknown_20398B8 - adds r0, r2, r1 - strh r5, [r0] - ldr r1, _0809B9F0 @ =gMapObjects - lsls r0, r3, 3 - adds r0, r3 - lsls r0, 2 - adds r0, r1 - ldrb r0, [r0, 0x18] - lsls r0, 28 - lsrs r0, 28 - cmp r0, 0x2 - beq _0809BA00 - cmp r0, 0x2 - bgt _0809B9F4 - cmp r0, 0x1 - beq _0809B9FA - b _0809BA0C - .align 2, 0 -_0809B9DC: .4byte gUnknown_20398B4 -_0809B9E0: .4byte gUnknown_20398BA -_0809B9E4: .4byte 0x0000fffd -_0809B9E8: .4byte 0x0000fffe -_0809B9EC: .4byte gUnknown_20398B8 -_0809B9F0: .4byte gMapObjects -_0809B9F4: - cmp r0, 0x3 - beq _0809BA06 - b _0809BA0C -_0809B9FA: - adds r0, r2, r6 - strh r7, [r0] - b _0809BA12 -_0809BA00: - adds r1, r2, r6 - movs r0, 0x1 - b _0809BA10 -_0809BA06: - adds r1, r2, r6 - movs r0, 0x2 - b _0809BA10 -_0809BA0C: - adds r1, r2, r6 - movs r0, 0x3 -_0809BA10: - strh r0, [r1] -_0809BA12: - mov r0, r9 - adds r0, 0x1 - lsls r0, 24 - lsrs r0, 24 - mov r9, r0 -_0809BA1C: - adds r0, r4, 0x1 - lsls r0, 24 - lsrs r4, r0, 24 - cmp r4, 0x6 - bls _0809B976 - mov r2, r10 - lsls r0, r2, 24 - lsrs r5, r0, 24 - cmp r5, 0x4 - bls _0809B970 - add sp, 0x8 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809B92C - - thumb_func_start sub_809BA40 -sub_809BA40: @ 809BA40 - push {r4-r7,lr} - mov r7, r9 - mov r6, r8 - push {r6,r7} - sub sp, 0x4 - movs r6, 0 - ldr r7, _0809BAE8 @ =gUnknown_20398B4 - ldr r0, _0809BAEC @ =gMapObjects - mov r8, r0 - adds r1, r7, 0x6 - mov r9, r1 -_0809BA56: - lsls r5, r6, 3 - adds r4, r5, r7 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x10 - beq _0809BACE - adds r1, r0, 0 - lsls r0, r1, 3 - adds r0, r1 - lsls r0, 2 - add r0, r8 - ldrb r0, [r0, 0x5] - bl GetFieldObjectGraphicsInfo - movs r1, 0 - ldrsh r2, [r4, r1] - lsls r1, r2, 3 - adds r1, r2 - lsls r1, 2 - add r1, r8 - ldrb r4, [r1, 0x5] - adds r1, r7, 0x2 - adds r1, r5, r1 - ldrh r2, [r1] - lsls r2, 20 - ldr r1, _0809BAF0 @ =0xfff80000 - adds r2, r1 - asrs r2, 16 - adds r1, r7, 0x4 - adds r1, r5, r1 - ldrh r3, [r1] - lsls r3, 4 - movs r1, 0xA - ldrsh r0, [r0, r1] - lsrs r1, r0, 31 - adds r0, r1 - asrs r0, 1 - subs r0, 0x30 - subs r3, r0 - lsls r3, 16 - asrs r3, 16 - movs r0, 0x2 - str r0, [sp] - adds r0, r4, 0 - ldr r1, _0809BAF4 @ =SpriteCallbackDummy - bl AddPseudoEventObject - lsls r0, 24 - lsrs r0, 24 - lsls r2, r0, 4 - adds r2, r0 - lsls r2, 2 - ldr r0, _0809BAF8 @ =gSprites - adds r2, r0 - mov r1, r9 - adds r0, r5, r1 - ldrb r1, [r0] - adds r0, r2, 0 - bl StartSpriteAnim -_0809BACE: - adds r0, r6, 0x1 - lsls r0, 24 - lsrs r6, r0, 24 - cmp r6, 0xF - bls _0809BA56 - add sp, 0x4 - pop {r3,r4} - mov r8, r3 - mov r9, r4 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809BAE8: .4byte gUnknown_20398B4 -_0809BAEC: .4byte gMapObjects -_0809BAF0: .4byte 0xfff80000 -_0809BAF4: .4byte SpriteCallbackDummy -_0809BAF8: .4byte gSprites - thumb_func_end sub_809BA40 - - thumb_func_start sub_809BAFC -sub_809BAFC: @ 809BAFC - push {r4-r6,lr} - ldr r0, _0809BB34 @ =gUnknown_2039958 - ldr r4, [r0] - ldr r0, _0809BB38 @ =gUnknown_2039954 - ldr r3, [r0] - movs r1, 0 - ldr r0, _0809BB3C @ =0x0000b3dc - adds r6, r0, 0 - ldr r5, _0809BB40 @ =0x000003ff -_0809BB0E: - lsls r0, r1, 16 - asrs r2, r0, 16 - lsls r1, r2, 1 - adds r0, r1, r3 - ldrh r0, [r0] - cmp r0, 0 - beq _0809BB22 - adds r1, r4 - adds r0, r6 - strh r0, [r1] -_0809BB22: - adds r0, r2, 0x1 - lsls r0, 16 - lsrs r1, r0, 16 - asrs r0, 16 - cmp r0, r5 - ble _0809BB0E - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809BB34: .4byte gUnknown_2039958 -_0809BB38: .4byte gUnknown_2039954 -_0809BB3C: .4byte 0x0000b3dc -_0809BB40: .4byte 0x000003ff - thumb_func_end sub_809BAFC - - thumb_func_start sub_809BB44 -sub_809BB44: @ 809BB44 - push {r4,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r0, 24 - lsls r4, r0, 2 - adds r4, r0 - lsls r4, 3 - ldr r0, _0809BBAC @ =gTasks+0x8 - adds r4, r0 - movs r0, 0x3 - movs r1, 0x11 - bl FillWindowPixelBuffer - ldr r0, _0809BBB0 @ =gUnknown_2039934 - ldr r3, [r0, 0x8] - movs r0, 0xFF - str r0, [sp] - movs r0, 0x3 - movs r1, 0x36 - movs r2, 0xA - bl PrintMoneyAmount - ldr r0, _0809BBB4 @ =gStringVar1 - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r2, 0x2 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r4, _0809BBB8 @ =gStringVar4 - ldr r1, _0809BBBC @ =gText_TimesStrVar1 - adds r0, r4, 0 - bl StringExpandPlaceholders - movs r0, 0xA - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - movs r0, 0x1 - str r0, [sp, 0x10] - movs r0, 0x3 - movs r1, 0 - adds r2, r4, 0 - movs r3, 0x2 - bl BuyMenuPrint - add sp, 0x14 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809BBAC: .4byte gTasks+0x8 -_0809BBB0: .4byte gUnknown_2039934 -_0809BBB4: .4byte gStringVar1 -_0809BBB8: .4byte gStringVar4 -_0809BBBC: .4byte gText_TimesStrVar1 - thumb_func_end sub_809BB44 - - thumb_func_start sub_809BBC0 -sub_809BBC0: @ 809BBC0 - push {r4-r7,lr} - lsls r0, 24 - lsrs r6, r0, 24 - lsls r0, r6, 2 - adds r0, r6 - lsls r0, 3 - ldr r1, _0809BC00 @ =gTasks+0x8 - adds r5, r0, r1 - ldr r0, _0809BC04 @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0809BC8E - ldrb r0, [r5, 0xE] - bl ListMenu_ProcessInput - adds r4, r0, 0 - ldrb r0, [r5, 0xE] - ldr r7, _0809BC08 @ =gUnknown_2039942 - subs r2, r7, 0x2 - adds r1, r7, 0 - bl ListMenuGetScrollAndRow - movs r0, 0x2 - negs r0, r0 - cmp r4, r0 - beq _0809BC0C - adds r0, 0x1 - cmp r4, r0 - bne _0809BC1A - b _0809BC8E - .align 2, 0 -_0809BC00: .4byte gTasks+0x8 -_0809BC04: .4byte gPaletteFade -_0809BC08: .4byte gUnknown_2039942 -_0809BC0C: - movs r0, 0x5 - bl PlaySE - adds r0, r6, 0 - bl sub_809C004 - b _0809BC8E -_0809BC1A: - movs r0, 0x5 - bl PlaySE - strh r4, [r5, 0xA] - movs r0, 0x5 - bl ClearWindowTilemap - bl sub_809B73C - ldrb r0, [r5, 0xE] - movs r1, 0x2 - bl sub_809B57C - movs r0, 0x1 - bl sub_809B10C - lsls r0, r4, 16 - lsrs r4, r0, 16 - adds r0, r4, 0 - bl itemid_get_market_price - adds r1, r0, 0 - adds r0, r7, 0 - subs r0, 0xE - lsls r1, 16 - lsrs r1, 16 - str r1, [r0, 0x8] - ldr r0, _0809BC70 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r2, 0xA4 - lsls r2, 2 - adds r0, r2 - bl IsEnoughMoney - lsls r0, 24 - cmp r0, 0 - bne _0809BC7C - ldr r1, _0809BC74 @ =gUnknown_8416842 - ldr r2, _0809BC78 @ =sub_809BF98 - adds r0, r6, 0 - bl BuyMenuDisplayMessage - b _0809BC8E - .align 2, 0 -_0809BC70: .4byte gSaveBlock1Ptr -_0809BC74: .4byte gUnknown_8416842 -_0809BC78: .4byte sub_809BF98 -_0809BC7C: - ldr r1, _0809BC94 @ =gStringVar1 - adds r0, r4, 0 - bl CopyItemName - ldr r1, _0809BC98 @ =gUnknown_8416766 - ldr r2, _0809BC9C @ =sub_809BCA0 - adds r0, r6, 0 - bl BuyMenuDisplayMessage -_0809BC8E: - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809BC94: .4byte gStringVar1 -_0809BC98: .4byte gUnknown_8416766 -_0809BC9C: .4byte sub_809BCA0 - thumb_func_end sub_809BBC0 - - thumb_func_start sub_809BCA0 -sub_809BCA0: @ 809BCA0 - push {r4-r7,lr} - sub sp, 0x14 - lsls r0, 24 - lsrs r7, r0, 24 - lsls r5, r7, 2 - adds r5, r7 - lsls r5, 3 - ldr r0, _0809BD40 @ =gTasks+0x8 - adds r5, r0 - ldrh r0, [r5, 0xA] - bl BagGetQuantityByItemId - adds r4, r0, 0 - lsls r4, 16 - lsrs r4, 16 - movs r0, 0x1 - movs r1, 0 - bl BuyMenuQuantityBoxThinBorder - ldr r0, _0809BD44 @ =gStringVar1 - adds r1, r4, 0 - movs r2, 0x1 - movs r3, 0x3 - bl ConvertIntToDecimalStringN - ldr r6, _0809BD48 @ =gStringVar4 - ldr r1, _0809BD4C @ =gUnknown_8416749 - adds r0, r6, 0 - bl StringExpandPlaceholders - movs r0, 0x2 - str r0, [sp] - movs r0, 0 - str r0, [sp, 0x4] - str r0, [sp, 0x8] - str r0, [sp, 0xC] - movs r4, 0x1 - str r4, [sp, 0x10] - movs r0, 0x1 - movs r1, 0x2 - adds r2, r6, 0 - movs r3, 0 - bl BuyMenuPrint - strh r4, [r5, 0x2] - movs r0, 0x3 - movs r1, 0 - bl BuyMenuQuantityBoxNormalBorder - adds r0, r7, 0 - bl sub_809BB44 - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - ldr r0, _0809BD50 @ =gSaveBlock1Ptr - ldr r0, [r0] - movs r1, 0xA4 - lsls r1, 2 - adds r0, r1 - bl GetMoney - adds r4, r0, 0 - ldrh r0, [r5, 0xA] - bl itemid_get_market_price - adds r1, r0, 0 - lsls r1, 16 - lsrs r1, 16 - adds r0, r4, 0 - bl __udivsi3 - lsls r0, 16 - lsrs r2, r0, 16 - cmp r2, 0x63 - bls _0809BD58 - ldr r1, _0809BD54 @ =gUnknown_2039934 - movs r0, 0x63 - b _0809BD5E - .align 2, 0 -_0809BD40: .4byte gTasks+0x8 -_0809BD44: .4byte gStringVar1 -_0809BD48: .4byte gStringVar4 -_0809BD4C: .4byte gUnknown_8416749 -_0809BD50: .4byte gSaveBlock1Ptr -_0809BD54: .4byte gUnknown_2039934 -_0809BD58: - ldr r1, _0809BD80 @ =gUnknown_2039934 - lsls r0, r2, 24 - lsrs r0, 24 -_0809BD5E: - strh r0, [r1, 0x14] - cmp r2, 0x1 - beq _0809BD68 - bl sub_809B6FC -_0809BD68: - ldr r0, _0809BD84 @ =gTasks - lsls r1, r7, 2 - adds r1, r7 - lsls r1, 3 - adds r1, r0 - ldr r0, _0809BD88 @ =sub_809BD8C - str r0, [r1] - add sp, 0x14 - pop {r4-r7} - pop {r0} - bx r0 - .align 2, 0 -_0809BD80: .4byte gUnknown_2039934 -_0809BD84: .4byte gTasks -_0809BD88: .4byte sub_809BD8C - thumb_func_end sub_809BCA0 - - thumb_func_start sub_809BD8C -sub_809BD8C: @ 809BD8C - push {r4-r7,lr} - lsls r0, 24 - lsrs r5, r0, 24 - adds r7, r5, 0 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0809BDCC @ =gTasks+0x8 - adds r4, r0, r1 - adds r0, r4, 0x2 - ldr r6, _0809BDD0 @ =gUnknown_2039934 - ldrh r1, [r6, 0x14] - bl AdjustQuantityAccordingToDPadInput - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809BDD4 - ldrh r0, [r4, 0xA] - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 16 - movs r2, 0x2 - ldrsh r1, [r4, r2] - muls r0, r1 - str r0, [r6, 0x8] - adds r0, r5, 0 - bl sub_809BB44 - b _0809BE88 - .align 2, 0 -_0809BDCC: .4byte gTasks+0x8 -_0809BDD0: .4byte gUnknown_2039934 -_0809BDD4: - ldr r0, _0809BE3C @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - beq _0809BE54 - movs r0, 0x5 - bl PlaySE - bl sub_809B73C - movs r0, 0x3 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - movs r0, 0x1 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - movs r0, 0x3 - bl ClearWindowTilemap - movs r0, 0x1 - bl ClearWindowTilemap - movs r0, 0x4 - bl PutWindowTilemap - ldrh r0, [r4, 0xA] - ldr r1, _0809BE40 @ =gStringVar1 - bl CopyItemName - ldr r0, _0809BE44 @ =gStringVar2 - movs r2, 0x2 - ldrsh r1, [r4, r2] - movs r2, 0 - movs r3, 0x2 - bl ConvertIntToDecimalStringN - ldr r0, _0809BE48 @ =gStringVar3 - ldr r1, [r6, 0x8] - movs r2, 0 - movs r3, 0x8 - bl ConvertIntToDecimalStringN - ldr r1, _0809BE4C @ =gUnknown_841678E - ldr r2, _0809BE50 @ =sub_809BE90 - adds r0, r5, 0 - bl BuyMenuDisplayMessage - b _0809BE88 - .align 2, 0 -_0809BE3C: .4byte gMain -_0809BE40: .4byte gStringVar1 -_0809BE44: .4byte gStringVar2 -_0809BE48: .4byte gStringVar3 -_0809BE4C: .4byte gUnknown_841678E -_0809BE50: .4byte sub_809BE90 -_0809BE54: - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809BE88 - movs r0, 0x5 - bl PlaySE - bl sub_809B73C - movs r0, 0x3 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - movs r0, 0x1 - movs r1, 0 - bl ClearStdWindowAndFrameToTransparent - movs r0, 0x3 - bl ClearWindowTilemap - movs r0, 0x1 - bl ClearWindowTilemap - adds r0, r7, 0 - bl sub_809BF98 -_0809BE88: - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809BD8C - - thumb_func_start sub_809BE90 -sub_809BE90: @ 809BE90 - push {lr} - lsls r0, 24 - lsrs r0, 24 - ldr r1, _0809BEA0 @ =gUnknown_83DF0B4 - bl BuyMenuConfirmPurchase - pop {r0} - bx r0 - .align 2, 0 -_0809BEA0: .4byte gUnknown_83DF0B4 - thumb_func_end sub_809BE90 - - thumb_func_start sub_809BEA4 -sub_809BEA4: @ 809BEA4 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0809BEE8 @ =gTasks+0x8 - adds r4, r0, r1 - movs r0, 0x4 - bl PutWindowTilemap - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x2] - bl AddBagItem - lsls r0, 24 - lsrs r0, 24 - cmp r0, 0x1 - bne _0809BEF4 - ldr r1, _0809BEEC @ =gUnknown_84167E7 - ldr r2, _0809BEF0 @ =sub_809BF0C - adds r0, r5, 0 - bl BuyMenuDisplayMessage - adds r0, r5, 0 - bl nullsub_52 - ldrh r0, [r4, 0xA] - ldrh r1, [r4, 0x2] - movs r2, 0x1 - bl sub_809C09C - b _0809BEFE - .align 2, 0 -_0809BEE8: .4byte gTasks+0x8 -_0809BEEC: .4byte gUnknown_84167E7 -_0809BEF0: .4byte sub_809BF0C -_0809BEF4: - ldr r1, _0809BF04 @ =gUnknown_8416861 - ldr r2, _0809BF08 @ =sub_809BF98 - adds r0, r5, 0 - bl BuyMenuDisplayMessage -_0809BEFE: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809BF04: .4byte gUnknown_8416861 -_0809BF08: .4byte sub_809BF98 - thumb_func_end sub_809BEA4 - - thumb_func_start sub_809BF0C -sub_809BF0C: @ 809BF0C - push {r4-r6,lr} - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - movs r0, 0x26 - bl IncrementGameStat - ldr r6, _0809BF58 @ =gSaveBlock1Ptr - ldr r0, [r6] - movs r5, 0xA4 - lsls r5, 2 - adds r0, r5 - ldr r1, _0809BF5C @ =gUnknown_2039934 - ldr r1, [r1, 0x8] - bl RemoveMoney - movs r0, 0xF8 - bl PlaySE - ldr r0, [r6] - adds r0, r5 - bl GetMoney - adds r1, r0, 0 - movs r0, 0 - movs r2, 0 - bl PrintMoneyAmountInMoneyBox - ldr r1, _0809BF60 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809BF64 @ =sub_809BF68 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809BF58: .4byte gSaveBlock1Ptr -_0809BF5C: .4byte gUnknown_2039934 -_0809BF60: .4byte gTasks -_0809BF64: .4byte sub_809BF68 - thumb_func_end sub_809BF0C - - thumb_func_start sub_809BF68 -sub_809BF68: @ 809BF68 - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - ldr r0, _0809BF94 @ =gMain - ldrh r1, [r0, 0x2E] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0809BF82 - movs r0, 0x2 - ands r0, r1 - cmp r0, 0 - beq _0809BF8E -_0809BF82: - movs r0, 0x5 - bl PlaySE - adds r0, r4, 0 - bl sub_809BF98 -_0809BF8E: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809BF94: .4byte gMain - thumb_func_end sub_809BF68 - - thumb_func_start sub_809BF98 -sub_809BF98: @ 809BF98 - push {r4-r6,lr} - lsls r0, 24 - lsrs r0, 24 - lsls r1, r0, 2 - adds r1, r0 - lsls r5, r1, 3 - ldr r6, _0809BFF8 @ =gTasks+0x8 - adds r4, r5, r6 - movs r0, 0x2 - movs r1, 0 - bl ClearDialogWindowAndFrameToTransparent - ldrb r0, [r4, 0xE] - movs r1, 0x1 - bl sub_809B57C - movs r0, 0 - bl sub_809B10C - movs r0, 0x4 - bl PutWindowTilemap - movs r0, 0x5 - bl PutWindowTilemap - ldr r0, _0809BFFC @ =gUnknown_2039934 - ldrb r1, [r0, 0x16] - movs r0, 0xF - ands r0, r1 - cmp r0, 0x1 - bne _0809BFDC - movs r0, 0x6 - bl PutWindowTilemap -_0809BFDC: - movs r0, 0 - bl ScheduleBgCopyTilemapToVram - bl sub_809B690 - adds r0, r6, 0 - subs r0, 0x8 - adds r0, r5, r0 - ldr r1, _0809C000 @ =sub_809BBC0 - str r1, [r0] - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809BFF8: .4byte gTasks+0x8 -_0809BFFC: .4byte gUnknown_2039934 -_0809C000: .4byte sub_809BBC0 - thumb_func_end sub_809BF98 - - thumb_func_start sub_809C004 -sub_809C004: @ 809C004 - push {r4,lr} - sub sp, 0x4 - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - ldr r1, _0809C03C @ =gFieldCallback - ldr r0, _0809C040 @ =sub_809AD74 - str r0, [r1] - movs r0, 0x1 - negs r0, r0 - movs r1, 0 - str r1, [sp] - movs r2, 0 - movs r3, 0x10 - bl BeginNormalPaletteFade - ldr r1, _0809C044 @ =gTasks - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - adds r0, r1 - ldr r1, _0809C048 @ =sub_809C04C - str r1, [r0] - add sp, 0x4 - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809C03C: .4byte gFieldCallback -_0809C040: .4byte sub_809AD74 -_0809C044: .4byte gTasks -_0809C048: .4byte sub_809C04C - thumb_func_end sub_809C004 - - thumb_func_start sub_809C04C -sub_809C04C: @ 809C04C - push {r4,lr} - lsls r0, 24 - lsrs r4, r0, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0809C088 @ =gTasks+0x8 - adds r2, r0, r1 - ldr r0, _0809C08C @ =gPaletteFade - ldrb r1, [r0, 0x7] - movs r0, 0x80 - ands r0, r1 - cmp r0, 0 - bne _0809C082 - ldrb r0, [r2, 0xE] - movs r1, 0 - movs r2, 0 - bl DestroyListMenuTask - bl sub_809B604 - ldr r0, _0809C090 @ =CB2_ReturnToField - bl SetMainCallback2 - adds r0, r4, 0 - bl DestroyTask -_0809C082: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809C088: .4byte gTasks+0x8 -_0809C08C: .4byte gPaletteFade -_0809C090: .4byte CB2_ReturnToField - thumb_func_end sub_809C04C - - thumb_func_start nullsub_52 -nullsub_52: @ 809C094 - bx lr - thumb_func_end nullsub_52 - - thumb_func_start nullsub_53 -nullsub_53: @ 809C098 - bx lr - thumb_func_end nullsub_53 - - thumb_func_start sub_809C09C -sub_809C09C: @ 809C09C - push {r4-r6,lr} - lsls r0, 16 - lsrs r3, r0, 16 - lsls r1, 16 - lsrs r6, r1, 16 - lsls r2, 24 - lsrs r5, r2, 24 - ldr r1, _0809C0B8 @ =gUnknown_203996C - ldrb r2, [r1, 0xA] - cmp r2, r5 - bne _0809C0BC - adds r4, r1, 0 - b _0809C0D4 - .align 2, 0 -_0809C0B8: .4byte gUnknown_203996C -_0809C0BC: - ldrb r0, [r1, 0x16] - cmp r0, r5 - bne _0809C0C8 - adds r4, r1, 0 - adds r4, 0xC - b _0809C0D4 -_0809C0C8: - adds r4, r1, 0 - adds r4, 0xC - cmp r2, 0 - bne _0809C0D2 - adds r4, r1, 0 -_0809C0D2: - strb r5, [r4, 0xA] -_0809C0D4: - ldrh r0, [r4, 0x4] - cmp r0, 0 - beq _0809C0DE - movs r0, 0x1 - strb r0, [r4, 0x9] -_0809C0DE: - strh r3, [r4, 0x4] - ldrh r1, [r4, 0x6] - ldr r0, _0809C128 @ =0x000003e6 - cmp r1, r0 - bhi _0809C0F8 - adds r0, r6, r1 - strh r0, [r4, 0x6] - lsls r0, 16 - lsrs r0, 16 - ldr r1, _0809C12C @ =0x000003e7 - cmp r0, r1 - bls _0809C0F8 - strh r1, [r4, 0x6] -_0809C0F8: - ldr r1, [r4] - ldr r0, _0809C130 @ =0x000f423e - cmp r1, r0 - bhi _0809C120 - adds r0, r3, 0 - bl itemid_get_market_price - lsls r0, 16 - lsrs r0, 16 - subs r1, r5, 0x1 - asrs r0, r1 - adds r1, r0, 0 - muls r1, r6 - ldr r0, [r4] - adds r0, r1 - str r0, [r4] - ldr r1, _0809C134 @ =0x000f423f - cmp r0, r1 - bls _0809C120 - str r1, [r4] -_0809C120: - pop {r4-r6} - pop {r0} - bx r0 - .align 2, 0 -_0809C128: .4byte 0x000003e6 -_0809C12C: .4byte 0x000003e7 -_0809C130: .4byte 0x000f423e -_0809C134: .4byte 0x000f423f - thumb_func_end sub_809C09C - - thumb_func_start sub_809C138 -sub_809C138: @ 809C138 - push {r4,lr} - ldr r4, _0809C160 @ =gUnknown_203996C - ldrb r0, [r4, 0xA] - cmp r0, 0 - beq _0809C14A - adds r0, 0x24 - adds r1, r4, 0 - bl sub_8113550 -_0809C14A: - ldrb r0, [r4, 0x16] - cmp r0, 0 - beq _0809C15A - adds r0, 0x24 - adds r1, r4, 0 - adds r1, 0xC - bl sub_8113550 -_0809C15A: - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809C160: .4byte gUnknown_203996C - thumb_func_end sub_809C138 - - thumb_func_start CreatePokemartMenu -CreatePokemartMenu: @ 809C164 - push {r4,lr} - bl sub_809ABD8 - movs r0, 0 - bl sub_809AAB0 - ldr r0, _0809C194 @ =EnableBothScriptContexts - bl sub_809AC04 - bl nullsub_53 - ldr r4, _0809C198 @ =gUnknown_203996C - adds r0, r4, 0 - movs r1, 0 - movs r2, 0x18 - bl memset - ldr r0, _0809C19C @ =gMapHeader - ldrb r0, [r0, 0x14] - strb r0, [r4, 0x8] - strb r0, [r4, 0x14] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809C194: .4byte EnableBothScriptContexts -_0809C198: .4byte gUnknown_203996C -_0809C19C: .4byte gMapHeader - thumb_func_end CreatePokemartMenu - - thumb_func_start CreateDecorationShop1Menu -CreateDecorationShop1Menu: @ 809C1A0 - push {lr} - bl sub_809ABD8 - movs r0, 0x2 - bl sub_809AAB0 - ldr r0, _0809C1B8 @ =EnableBothScriptContexts - bl sub_809AC04 - pop {r0} - bx r0 - .align 2, 0 -_0809C1B8: .4byte EnableBothScriptContexts - thumb_func_end CreateDecorationShop1Menu - - thumb_func_start CreateDecorationShop2Menu -CreateDecorationShop2Menu: @ 809C1BC - push {lr} - bl sub_809ABD8 - movs r0, 0x3 - bl sub_809AAB0 - ldr r0, _0809C1D4 @ =EnableBothScriptContexts - bl sub_809AC04 - pop {r0} - bx r0 - .align 2, 0 -_0809C1D4: .4byte EnableBothScriptContexts - thumb_func_end CreateDecorationShop2Menu - - thumb_func_start sub_809C1D8 -sub_809C1D8: @ 809C1D8 - push {r4-r7,lr} - mov r7, r10 - mov r6, r9 - mov r5, r8 - push {r5-r7} - sub sp, 0x10 - mov r9, r1 - lsls r0, 24 - lsrs r0, 24 - lsls r2, 16 - lsrs r2, 16 - mov r10, r2 - ldr r2, _0809C26C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r1, r2 - ldrh r0, [r1, 0x10] - subs r0, 0x1 - lsls r0, 16 - lsrs r5, r0, 16 - ldrh r0, [r1, 0x12] - subs r0, 0x1 - lsls r0, 16 - lsrs r3, r0, 16 - ldrh r4, [r1, 0xA] - movs r2, 0xC - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0809C29C - movs r2, 0 - lsls r5, 16 - str r5, [sp, 0xC] - lsls r0, r3, 16 - lsls r1, r4, 16 - asrs r0, 16 - str r0, [sp] - asrs r1, 16 - str r1, [sp, 0x4] - lsls r0, r1, 1 - mov r1, r9 - adds r7, r0, r1 -_0809C22C: - movs r4, 0 - lsls r2, 16 - mov r8, r2 - asrs r0, r2, 16 - ldr r2, [sp] - adds r6, r2, r0 -_0809C238: - ldr r0, [sp, 0xC] - asrs r1, r0, 16 - lsls r4, 16 - asrs r0, r4, 16 - adds r5, r1, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - movs r2, 0 - ldrsh r1, [r7, r2] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bne _0809C280 - ldr r0, [sp, 0x4] - cmp r0, 0x2 - beq _0809C270 - ldrh r0, [r7, 0x2] - mov r2, r10 - orrs r2, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridSetMetatileIdAt - b _0809C280 - .align 2, 0 -_0809C26C: .4byte gTasks -_0809C270: - mov r1, r9 - ldrh r0, [r1] - mov r2, r10 - orrs r2, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridSetMetatileIdAt -_0809C280: - movs r2, 0x80 - lsls r2, 9 - adds r0, r4, r2 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0809C238 - adds r0, r2, 0 - add r0, r8 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0809C22C - b _0809C324 -_0809C29C: - movs r2, 0 - lsls r5, 16 - str r5, [sp, 0xC] - lsls r0, r3, 16 - lsls r1, r4, 16 - asrs r0, 16 - str r0, [sp, 0x8] - asrs r7, r1, 16 -_0809C2AC: - movs r4, 0 - lsls r2, 16 - mov r8, r2 - asrs r0, r2, 16 - ldr r1, [sp, 0x8] - adds r6, r1, r0 -_0809C2B8: - ldr r2, [sp, 0xC] - asrs r1, r2, 16 - lsls r4, 16 - asrs r0, r4, 16 - adds r5, r1, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridGetMetatileIdAt - movs r1, 0x2 - subs r1, r7 - lsls r1, 1 - add r1, r9 - movs r2, 0 - ldrsh r1, [r1, r2] - lsls r0, 16 - asrs r0, 16 - cmp r1, r0 - bne _0809C30A - cmp r7, 0x2 - beq _0809C2FA - movs r0, 0x1 - subs r0, r7 - lsls r0, 1 - add r0, r9 - ldrh r0, [r0] - mov r2, r10 - orrs r2, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridSetMetatileIdAt - b _0809C30A -_0809C2FA: - mov r1, r9 - ldrh r0, [r1, 0x4] - mov r2, r10 - orrs r2, r0 - adds r0, r5, 0 - adds r1, r6, 0 - bl MapGridSetMetatileIdAt -_0809C30A: - movs r2, 0x80 - lsls r2, 9 - adds r0, r4, r2 - lsrs r4, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0809C2B8 - adds r0, r2, 0 - add r0, r8 - lsrs r2, r0, 16 - asrs r0, 16 - cmp r0, 0x2 - ble _0809C2AC -_0809C324: - add sp, 0x10 - pop {r3-r5} - mov r8, r3 - mov r9, r4 - mov r10, r5 - pop {r4-r7} - pop {r0} - bx r0 - thumb_func_end sub_809C1D8 - - thumb_func_start sub_809C334 -sub_809C334: @ 809C334 - push {r4,r5,lr} - lsls r0, 24 - lsrs r3, r0, 24 - lsls r0, r3, 2 - adds r0, r3 - lsls r0, 3 - ldr r1, _0809C35C @ =gTasks+0x8 - adds r4, r0, r1 - movs r0, 0x1 - strh r0, [r4, 0x6] - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0x6 - bhi _0809C3CE - lsls r0, 2 - ldr r1, _0809C360 @ =_0809C364 - adds r0, r1 - ldr r0, [r0] - mov pc, r0 - .align 2, 0 -_0809C35C: .4byte gTasks+0x8 -_0809C360: .4byte _0809C364 - .align 2, 0 -_0809C364: - .4byte _0809C380 - .4byte _0809C388 - .4byte _0809C390 - .4byte _0809C398 - .4byte _0809C3A0 - .4byte _0809C3B4 - .4byte _0809C3C4 -_0809C380: - ldr r1, _0809C384 @ =gUnknown_83DF0D4 - b _0809C3B6 - .align 2, 0 -_0809C384: .4byte gUnknown_83DF0D4 -_0809C388: - ldr r1, _0809C38C @ =gUnknown_83DF0DA - b _0809C3B6 - .align 2, 0 -_0809C38C: .4byte gUnknown_83DF0DA -_0809C390: - ldr r1, _0809C394 @ =gUnknown_83DF0E0 - b _0809C3A2 - .align 2, 0 -_0809C394: .4byte gUnknown_83DF0E0 -_0809C398: - ldr r1, _0809C39C @ =gUnknown_83DF0E6 - b _0809C3B6 - .align 2, 0 -_0809C39C: .4byte gUnknown_83DF0E6 -_0809C3A0: - ldr r1, _0809C3B0 @ =gUnknown_83DF0EC -_0809C3A2: - movs r2, 0xC0 - lsls r2, 4 - adds r0, r3, 0 - bl sub_809C1D8 - b _0809C3CE - .align 2, 0 -_0809C3B0: .4byte gUnknown_83DF0EC -_0809C3B4: - ldr r1, _0809C3C0 @ =gUnknown_83DF0F2 -_0809C3B6: - adds r0, r3, 0 - movs r2, 0 - bl sub_809C1D8 - b _0809C3CE - .align 2, 0 -_0809C3C0: .4byte gUnknown_83DF0F2 -_0809C3C4: - ldr r1, _0809C3F8 @ =gUnknown_83DF0F8 - adds r0, r3, 0 - movs r2, 0 - bl sub_809C1D8 -_0809C3CE: - ldrh r0, [r4] - adds r0, 0x1 - movs r1, 0x7 - ands r0, r1 - strh r0, [r4] - adds r5, r0, 0 - cmp r5, 0 - bne _0809C3F2 - bl DrawWholeMapView - movs r1, 0x2 - ldrsh r0, [r4, r1] - adds r0, 0x1 - movs r1, 0x3 - bl __modsi3 - strh r0, [r4, 0x2] - strh r5, [r4, 0x6] -_0809C3F2: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809C3F8: .4byte gUnknown_83DF0F8 - thumb_func_end sub_809C334 - - thumb_func_start sub_809C3FC -sub_809C3FC: @ 809C3FC - push {r4-r7,lr} - adds r5, r0, 0 - lsls r5, 16 - lsrs r5, 16 - ldr r6, _0809C440 @ =sub_809C334 - adds r0, r6, 0 - movs r1, 0 - bl CreateTask - adds r4, r0, 0 - lsls r4, 24 - lsrs r4, 24 - lsls r0, r4, 2 - adds r0, r4 - lsls r0, 3 - ldr r1, _0809C444 @ =gTasks+0x8 - adds r7, r0, r1 - adds r0, r7, 0 - adds r0, 0x8 - adds r1, r7, 0 - adds r1, 0xA - bl PlayerGetDestCoords - movs r0, 0 - strh r0, [r7] - strh r0, [r7, 0x2] - strh r5, [r7, 0x4] - adds r0, r4, 0 - bl _call_via_r6 - adds r0, r4, 0 - pop {r4-r7} - pop {r1} - bx r1 - .align 2, 0 -_0809C440: .4byte sub_809C334 -_0809C444: .4byte gTasks+0x8 - thumb_func_end sub_809C3FC - - thumb_func_start sub_809C448 -sub_809C448: @ 809C448 - push {lr} - lsls r0, 24 - lsrs r0, 24 - bl sub_809C3FC - ldr r1, _0809C45C @ =gUnknown_2039984 - strb r0, [r1] - pop {r0} - bx r0 - .align 2, 0 -_0809C45C: .4byte gUnknown_2039984 - thumb_func_end sub_809C448 - - thumb_func_start sub_809C460 -sub_809C460: @ 809C460 - push {lr} - ldr r0, _0809C470 @ =gUnknown_2039984 - ldrb r0, [r0] - bl DestroyTask - pop {r0} - bx r0 - .align 2, 0 -_0809C470: .4byte gUnknown_2039984 - thumb_func_end sub_809C460 - - thumb_func_start sub_809C474 -sub_809C474: @ 809C474 - push {lr} - ldr r2, _0809C498 @ =gTasks - ldr r0, _0809C49C @ =gUnknown_2039984 - ldrb r1, [r0] - lsls r0, r1, 2 - adds r0, r1 - lsls r0, 3 - adds r1, r0, r2 - movs r2, 0xE - ldrsh r0, [r1, r2] - cmp r0, 0 - bne _0809C4A0 - movs r2, 0xA - ldrsh r0, [r1, r2] - cmp r0, 0x2 - bne _0809C4A0 - movs r0, 0 - b _0809C4A2 - .align 2, 0 -_0809C498: .4byte gTasks -_0809C49C: .4byte gUnknown_2039984 -_0809C4A0: - movs r0, 0x1 -_0809C4A2: - pop {r1} - bx r1 - thumb_func_end sub_809C474 - - thumb_func_start sub_809C4A8 -sub_809C4A8: @ 809C4A8 - push {r4,lr} - ldr r0, _0809C4E0 @ =sub_809C500 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809C4E4 @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - adds r2, 0x8 - adds r1, r2 - adds r0, r1, 0x4 - adds r1, 0x6 - bl PlayerGetDestCoords - ldr r0, _0809C4E8 @ =gSpecialVar_0x8004 - ldrh r0, [r0] - cmp r0, 0 - bne _0809C4EC - ldrh r0, [r4, 0xC] - adds r0, 0x6 - b _0809C4F0 - .align 2, 0 -_0809C4E0: .4byte sub_809C500 -_0809C4E4: .4byte gTasks -_0809C4E8: .4byte gSpecialVar_0x8004 -_0809C4EC: - ldrh r0, [r4, 0xC] - subs r0, 0x1 -_0809C4F0: - strh r0, [r4, 0xC] - ldrh r0, [r4, 0xE] - subs r0, 0x5 - strh r0, [r4, 0xE] - pop {r4} - pop {r0} - bx r0 - thumb_func_end sub_809C4A8 - - thumb_func_start sub_809C500 -sub_809C500: @ 809C500 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0809C544 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0809C588 - ldrh r1, [r4, 0x2] - movs r0, 0x1 - ands r0, r1 - cmp r0, 0 - bne _0809C550 - movs r2, 0x4 - ldrsh r0, [r4, r2] - movs r2, 0x6 - ldrsh r1, [r4, r2] - ldr r2, _0809C548 @ =0x00000eb5 - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x2 - ldr r2, _0809C54C @ =0x00000eb7 - bl MapGridSetMetatileIdAt - b _0809C56E - .align 2, 0 -_0809C544: .4byte gTasks+0x8 -_0809C548: .4byte 0x00000eb5 -_0809C54C: .4byte 0x00000eb7 -_0809C550: - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - ldr r2, _0809C5EC @ =0x00000eb6 - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x2 - ldr r2, _0809C5F0 @ =0x00000eb8 - bl MapGridSetMetatileIdAt -_0809C56E: - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x2 - bl CurrentMapDrawMetatileAt -_0809C588: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x10 - bne _0809C5E6 - movs r0, 0 - strh r0, [r4] - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0xD - bne _0809C5E6 - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - ldr r2, _0809C5F4 @ =0x00000e8a - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x2 - ldr r2, _0809C5F8 @ =0x00000e96 - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x2 - bl CurrentMapDrawMetatileAt - adds r0, r5, 0 - bl DestroyTask -_0809C5E6: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809C5EC: .4byte 0x00000eb6 -_0809C5F0: .4byte 0x00000eb8 -_0809C5F4: .4byte 0x00000e8a -_0809C5F8: .4byte 0x00000e96 - thumb_func_end sub_809C500 - - thumb_func_start sub_809C5FC -sub_809C5FC: @ 809C5FC - push {r4,lr} - ldr r0, _0809C638 @ =sub_809C640 - movs r1, 0 - bl CreateTask - lsls r0, 24 - lsrs r0, 24 - ldr r2, _0809C63C @ =gTasks - lsls r1, r0, 2 - adds r1, r0 - lsls r1, 3 - adds r4, r1, r2 - movs r0, 0 - strh r0, [r4, 0x8] - strh r0, [r4, 0xA] - adds r2, 0x8 - adds r1, r2 - adds r0, r1, 0x4 - adds r1, 0x6 - bl PlayerGetDestCoords - ldrh r0, [r4, 0xC] - adds r0, 0x4 - strh r0, [r4, 0xC] - ldrh r0, [r4, 0xE] - subs r0, 0x5 - strh r0, [r4, 0xE] - pop {r4} - pop {r0} - bx r0 - .align 2, 0 -_0809C638: .4byte sub_809C640 -_0809C63C: .4byte gTasks - thumb_func_end sub_809C5FC - - thumb_func_start sub_809C640 -sub_809C640: @ 809C640 - push {r4,r5,lr} - lsls r0, 24 - lsrs r5, r0, 24 - lsls r0, r5, 2 - adds r0, r5 - lsls r0, 3 - ldr r1, _0809C6A8 @ =gTasks+0x8 - adds r4, r0, r1 - movs r1, 0 - ldrsh r0, [r4, r1] - cmp r0, 0 - bne _0809C6F2 - movs r2, 0x2 - ldrsh r0, [r4, r2] - cmp r0, 0 - beq _0809C6BA - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - ldr r2, _0809C6AC @ =0x00000e85 - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x1 - ldr r2, _0809C6B0 @ =0x00000eb4 - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x1 - bl CurrentMapDrawMetatileAt - movs r1, 0x2 - ldrsh r0, [r4, r1] - cmp r0, 0x4 - bne _0809C6B4 - adds r0, r5, 0 - bl DestroyTask - b _0809C70A - .align 2, 0 -_0809C6A8: .4byte gTasks+0x8 -_0809C6AC: .4byte 0x00000e85 -_0809C6B0: .4byte 0x00000eb4 -_0809C6B4: - ldrh r0, [r4, 0x4] - subs r0, 0x1 - strh r0, [r4, 0x4] -_0809C6BA: - movs r2, 0x4 - ldrsh r0, [r4, r2] - movs r2, 0x6 - ldrsh r1, [r4, r2] - ldr r2, _0809C710 @ =0x00000eb9 - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x1 - ldr r2, _0809C714 @ =0x00000eba - bl MapGridSetMetatileIdAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - bl CurrentMapDrawMetatileAt - movs r1, 0x4 - ldrsh r0, [r4, r1] - movs r2, 0x6 - ldrsh r1, [r4, r2] - adds r1, 0x1 - bl CurrentMapDrawMetatileAt -_0809C6F2: - ldrh r0, [r4] - adds r0, 0x1 - strh r0, [r4] - lsls r0, 16 - asrs r0, 16 - cmp r0, 0x4 - bne _0809C70A - movs r0, 0 - strh r0, [r4] - ldrh r0, [r4, 0x2] - adds r0, 0x1 - strh r0, [r4, 0x2] -_0809C70A: - pop {r4,r5} - pop {r0} - bx r0 - .align 2, 0 -_0809C710: .4byte 0x00000eb9 -_0809C714: .4byte 0x00000eba - thumb_func_end sub_809C640 - - .align 2, 0 @ Don't pad with nop. diff --git a/baserom.ips b/baserom.ips Binary files differindex 54fd05d58..a72abbfcb 100644 --- a/baserom.ips +++ b/baserom.ips diff --git a/data/field_effect.s b/data/field_effect.s index 1a38abf94..c6affccd2 100644 --- a/data/field_effect.s +++ b/data/field_effect.s @@ -6,145 +6,424 @@ .section .rodata .align 2 - .incbin "baserom.gba", 0x3CA770, 0xE80 +gUnknown_83CA770:: @ 3CA770 4bpp + .incbin "graphics/field_effects/unk_83CA770.4bpp" -gUnknown_83CB5F0:: @ 83CB5F0 - .incbin "baserom.gba", 0x3CB5F0, 0x200 +gUnknown_83CAF70:: @ 83CAF70 gbapal + .incbin "graphics/field_effects/unk_83CAF70.gbapal" -gUnknown_83CB7F0:: @ 83CB7F0 - .incbin "baserom.gba", 0x3CB7F0, 0x20 +gUnknown_83CAF90:: @ 83CAF90 4bpp + .incbin "graphics/field_effects/unk_83CAF90.4bpp" -gUnknown_83CB810:: @ 83CB810 - .incbin "baserom.gba", 0x3CB810, 0x280 +gUnknown_83CAFB0:: @ 83CAFB0 gbapal + .incbin "graphics/field_effects/unk_83CAFB0.gbapal" -gUnknown_83CBA90:: @ 83CBA90 - .incbin "baserom.gba", 0x3CBA90, 0x80 +gUnknown_83CAFD0:: @ 83CAFD0 4bpp + .incbin "graphics/field_effects/unk_83CAFD0.4bpp" -gUnknown_83CBB10:: @ 83CBB10 - .incbin "baserom.gba", 0x3CBB10, 0x20 +gUnknown_83CB3D0:: @ 83CB3D0 gbapal + .incbin "graphics/field_effects/unk_83CB3D0.gbapal" -gUnknown_83CBB30:: @ 83CBB30 - .incbin "baserom.gba", 0x3CBB30, 0x300 +gUnknown_83CB3F0:: @ 83CB3F0 4bpp + .incbin "graphics/field_effects/unk_83CB3F0.4bpp" -gUnknown_83CBE30:: @ 83CBE30 - .incbin "baserom.gba", 0x3CBE30, 0x20 +gUnknown_83CB5F0:: @ 83CB5F0 4bpp + .incbin "graphics/field_effects/unk_83CB5F0.4bpp" -gUnknown_83CBE50:: @ 83CBE50 - .incbin "baserom.gba", 0x3CBE50, 0x20 +gUnknown_83CB7F0:: @ 83CB7F0 gbapal gUnknown_83CB5F0 + .incbin "graphics/field_effects/unk_83CB7F0.gbapal" -gUnknown_83CBE70:: @ 83CBE70 - .incbin "baserom.gba", 0x3CBE70, 0x14 +gUnknown_83CB810:: @ 83CB810 4bpp + .incbin "graphics/field_effects/unk_83CB810.bin" -gUnknown_83CBE84:: @ 83CBE84 - .incbin "baserom.gba", 0x3CBE84, 0x18 +gUnknown_83CBA90:: @ 83CBA90 4bpp + .incbin "graphics/field_effects/unk_83CBA90.4bpp" -gUnknown_83CBE9C:: - .incbin "baserom.gba", 0x3CBE9C, 0x8 +gUnknown_83CBB10:: @ 83CBB10 gbapal gUnknown_83CBA90 + .incbin "graphics/field_effects/unk_83CBB10.gbapal" -gUnknown_83CBEA4:: - .incbin "baserom.gba", 0x3CBEA4, 0xE4 +gUnknown_83CBB30:: @ 83CBB30 4bpp + .incbin "graphics/field_effects/unk_83CBB30.bin" -gUnknown_83CBF88:: @ 83CBF88 - .incbin "baserom.gba", 0x3CBF88, 0x18 + .align 2 +gUnknown_83CBE30:: @ 83CBE30 dataptr + .4byte FieldEffectCmd_loadtiles + .4byte FieldEffectCmd_loadfadedpal + .4byte FieldEffectCmd_loadpal + .4byte FieldEffectCmd_callnative + .4byte sub_80834DC + .4byte FieldEffectCmd_loadgfx_callnative + .4byte FieldEffectCmd_loadtiles_callnative + .4byte FieldEffectCmd_loadfadedpal_callnative + +gUnknown_83CBE50:: @ 83CBE50 oamdata + .4byte 0xc0000000, 0x00000000 + +gOamData_83CBE58:: @ 83CBE58 oamdata + .4byte 0x00000000, 0x00000000 + +gOamData_83CBE60:: @ 83CBE60 oamdata + .4byte 0x40000000, 0x00000000 -gUnknown_83CBFA0:: @ 83CBFA0 - .incbin "baserom.gba", 0x3CBFA0, 0x18 +gUnknown_83CBE68:: @ 83CBE68 sprite_frames + obj_frame_tiles gUnknown_83CA770, 0x0800 + +gUnknown_83CBE70:: @ 83CBE70 sprite_palette + obj_pal gUnknown_83CAF70, 4102 + +gUnknown_83CBE78:: @ 83CBE78 + obj_image_anim_frame 0x0000, 1 + obj_image_anim_end + + .align 2 +gUnknown_83CBE80:: @ 83CBE80 dataptr + .4byte gUnknown_83CBE78 + +gUnknown_83CBE84:: @ 83CBE84 spr_template + spr_template 65535, 4102, gUnknown_83CBE50, gUnknown_83CBE80, gUnknown_83CBE68, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_83CBE9C:: @ 83CBE9C sprite_palette + obj_pal gUnknown_83CAFB0, 4103 + +gUnknown_83CBEA4:: @ 83CBEA4 sprite_palette + obj_pal gUnknown_83CB3D0, 4112 + +gOamData_83CBEAC:: @ 83CBEAC oam_data + .4byte 0x80004000, 0x00000000 + +gUnknown_83CBEB4:: @ 83CBEB4 sprite_frames + obj_frame_tiles gUnknown_83CAF90, 0x0020 + +gUnknown_83CBEBC:: @ 83CBEBC sprite_frames + obj_frame_tiles gUnknown_83CAFD0 + 0x000, 0x0100 + obj_frame_tiles gUnknown_83CAFD0 + 0x100, 0x0100 + obj_frame_tiles gUnknown_83CAFD0 + 0x200, 0x0100 + obj_frame_tiles gUnknown_83CAFD0 + 0x300, 0x0100 + +gUnknown_83CBEDC:: @ 83CBEDC sprite_frames + obj_frame_tiles gUnknown_83CB3F0 + 0x000, 0x0080 + obj_frame_tiles gUnknown_83CB3F0 + 0x080, 0x0080 + obj_frame_tiles gUnknown_83CB3F0 + 0x100, 0x0080 + obj_frame_tiles gUnknown_83CB3F0 + 0x180, 0x0080 + +gUnknown_83CBEFC:: @ 83CBEFC unknown + .byte 0xf4, 0xf8, 0x01, 0x80 + .byte 0x04, 0xf8, 0x20, 0x80 + .byte 0xf4, 0x00, 0x31, 0x80 + .byte 0x04, 0x00, 0x50, 0x80 + .byte 0x04, 0x00, 0x00, 0x00 + +gUnknown_83CBF10:: @ 83CBF10 dataptr + .4byte gUnknown_83CBEFC + +gUnknown_83CBF14:: @ 83CBF14 unknown + .byte 0xe0, 0xf8, 0x05, 0x80 + .byte 0x00, 0xf8, 0x45, 0x80 + .byte 0xe0, 0x00, 0x85, 0x80 + .byte 0x00, 0x00, 0xc5, 0x80 + .byte 0x04, 0x00, 0x00, 0x00 + +gUnknown_83CBF28:: @ 83CBE28 dataptr + .4byte gUnknown_83CBF14 + +gUnknown_83CBF2C:: @ 83CBF2C animcmd + obj_image_anim_frame 0x0000, 1 + obj_image_anim_jump 0 + +gUnknown_83CBF34:: @ 83CBF34 animcmd + obj_image_anim_frame 0x0001, 5 + obj_image_anim_frame 0x0002, 5 + obj_image_anim_frame 0x0003, 7 + obj_image_anim_frame 0x0002, 5 + obj_image_anim_frame 0x0001, 5 + obj_image_anim_frame 0x0000, 5 + obj_image_anim_loop 3 + obj_image_anim_end -gUnknown_83CBFB8:: @ 83CBFB8 - .incbin "baserom.gba", 0x3CBFB8, 0x18 + .align 2 +gUnknown_83CBF54:: @ 83CBF54 dataptr + .4byte gUnknown_83CBF2C + .4byte gUnknown_83CBF34 + +gUnknown_83CBF5C:: @ 83CBF5C animcmd + obj_image_anim_frame 0x0003, 8 + obj_image_anim_frame 0x0002, 8 + obj_image_anim_frame 0x0001, 8 + obj_image_anim_frame 0x0000, 8 + obj_image_anim_frame 0x0001, 8 + obj_image_anim_frame 0x0002, 8 + obj_image_anim_loop 2 + obj_image_anim_frame 0x0001, 8 + obj_image_anim_frame 0x0000, 8 + obj_image_anim_end -gUnknown_83CBFD0:: @ 83CBFD0 - .incbin "baserom.gba", 0x3CBFD0, 0x10 + .align 2 +gUnknown_83CBF84:: @ 83CBF84 dataptr + .4byte gUnknown_83CBF5C -gUnknown_83CBFE0:: @ 83CBFE0 - .incbin "baserom.gba", 0x3CBFE0, 0x10 +gUnknown_83CBF88:: @ 83CBF88 spr_template + spr_template 65535, 4103, gOamData_83CBE58, gUnknown_83CBF54, gUnknown_83CBEB4, gDummySpriteAffineAnimTable, SpriteCB_PokeballGlow -gUnknown_83CBFF0:: @ 83CBFF0 - .incbin "baserom.gba", 0x3CBFF0, 0x20 +gUnknown_83CBFA0:: @ 83CBFA0 spr_template + spr_template 65535, 4103, gOamData_83CBEAC, gUnknown_83CBF54, gUnknown_83CBEBC, gDummySpriteAffineAnimTable, sub_808424C -gUnknown_83CC010:: @ 83CC010 - .incbin "baserom.gba", 0x3CC010, 0x18 +gUnknown_83CBFB8:: @ 83CBFB8 spr_template + spr_template 65535, 4112, gOamData_83CBE60, gUnknown_83CBF84, gUnknown_83CBEDC, gDummySpriteAffineAnimTable, sub_80842AC -gUnknown_83CC028:: @ 83CC028 - .incbin "baserom.gba", 0x3CC028, 0x4 + .align 2 +gUnknown_83CBFD0:: @ 83CBFD0 dataptr + .4byte PokecenterHealEffect_0 + .4byte PokecenterHealEffect_1 + .4byte sub_8083C78 + .4byte PokecenterHealEffect_3 -gUnknown_83CC02C:: @ 83CC02C - .incbin "baserom.gba", 0x3CC02C, 0x4 + .align 2 +gUnknown_83CBFE0:: @ 83CBFE0 dataptr + .4byte HallOfFameRecordEffect_0 + .4byte sub_8083D74 + .4byte sub_8083DAC + .4byte sub_8083DD4 -gUnknown_83CC030:: @ 83CC030 - .incbin "baserom.gba", 0x3CC030, 0x4 + .align 2 +gUnknown_83CBFF0:: @ 83CBFF0 dataptr + .4byte PokeballGlowEffect_0 + .4byte PokeballGlowEffect_1 + .4byte PokeballGlowEffect_2 + .4byte PokeballGlowEffect_3 + .4byte PokeballGlowEffect_4 + .4byte PokeballGlowEffect_5 + .4byte PokeballGlowEffect_6 + .4byte nullsub_50 -gUnknown_83CC034:: @ 83CC034 - .incbin "baserom.gba", 0x3CC034, 0x1C +gUnknown_83CC010:: @ 83CC010 data16 + .2byte 0x0000, 0x0000, 0x0006, 0x0000, 0x0000, 0x0004, 0x0006, 0x0004, 0x0000, 0x0008, 0x0006, 0x0008 -gUnknown_83CC050:: @ 83CC050 - .incbin "baserom.gba", 0x3CC050, 0x18 +gUnknown_83CC028:: @ 83CC028 data8 + .byte 0x10, 0x0c, 0x08, 0x00 -gUnknown_83CC068:: @ 83CC068 - .incbin "baserom.gba", 0x3CC068, 0x1C +gUnknown_83CC02C:: @ 83CC02C data8 + .byte 0x10, 0x0c, 0x08, 0x00 -gUnknown_83CC084:: @ 83CC084 - .incbin "baserom.gba", 0x3CC084, 0x14 +gUnknown_83CC030:: @ 83CC030 data8 + .byte 0x00, 0x00, 0x00, 0x00 -gUnknown_83CC098:: @ 83CC098 - .incbin "baserom.gba", 0x3CC098, 0xC + .align 2 +gUnknown_83CC034:: @ 83CC034 dataptr + .4byte sub_80844BC + .4byte sub_8084564 + .4byte sub_8084580 + .4byte sub_80845F4 + .4byte sub_80846AC + .4byte sub_80846C8 + .4byte sub_8084708 -gUnknown_83CC0A4:: @ 83CC0A4 - .incbin "baserom.gba", 0x3CC0A4, 0x18 + .align 2 +gUnknown_83CC050:: @ 83CC050 dataptr + .4byte sub_80847F8 + .4byte sub_8084820 + .4byte sub_8084890 + .4byte sub_80848B4 + .4byte sub_80848C4 + .4byte sub_80848E8 -gUnknown_83CC0BC:: @ 83CC0BC - .incbin "baserom.gba", 0x3CC0BC, 0x10 + .align 2 +gUnknown_83CC068:: @ 83CC068 dataptr + .4byte sub_8084A5C + .4byte sub_8084AD8 + .4byte sub_8084B18 + .4byte sub_8084B78 + .4byte sub_8084BB8 + .4byte sub_8084C18 + .4byte sub_8084C3C -gUnknown_83CC0CC:: @ 83CC0CC - .incbin "baserom.gba", 0x3CC0CC, 0x14 + .align 2 +gUnknown_83CC084:: @ 83CC084 dataptr + .4byte sub_8084D24 + .4byte waterfall_1_do_anim_probably + .4byte waterfall_2_wait_anim_finish_probably + .4byte sub_8084DA4 + .4byte sub_8084DCC -gUnknown_83CC0E0:: @ 83CC0E0 - .incbin "baserom.gba", 0x3CC0E0, 0x8 + .align 2 +gUnknown_83CC098:: @ 83CC098 dataptr + .4byte dive_1_lock + .4byte dive_2_unknown + .4byte dive_3_unknown -gUnknown_83CC0E8:: @ 83CC0E8 - .incbin "baserom.gba", 0x3CC0E8, 0x8 + .align 2 +gUnknown_83CC0A4:: @ 83CC0A4 dataptr + .4byte sub_8084FA0 + .4byte sub_8084FD8 + .4byte sub_808500C + .4byte sub_8085058 + .4byte sub_808514C + .4byte sub_8085168 -gUnknown_83CC0F0:: @ 83CC0F0 - .incbin "baserom.gba", 0x3CC0F0, 0x8 + .align 2 +gUnknown_83CC0BC:: @ 83CC0BC dataptr + .4byte sub_8085244 + .4byte sub_8085274 + .4byte sub_80852C0 + .4byte sub_8085314 -gUnknown_83CC0F8:: @ 83CC0F8 - .incbin "baserom.gba", 0x3CC0F8, 0x10 + .align 2 +gUnknown_83CC0CC:: @ 83CC0CC dataptr + .4byte sub_8085440 + .4byte sub_8085470 + .4byte sub_80854EC + .4byte sub_8085524 + .4byte sub_808554C -gUnknown_83CC108:: @ 83CC108 - .incbin "baserom.gba", 0x3CC108, 0x8 + .align 2 +gUnknown_83CC0E0:: @ 83CC0E0 dataptr + .4byte sub_808566C + .4byte sub_8085690 -gUnknown_83CC110:: @ 83CC110 - .incbin "baserom.gba", 0x3CC110, 0xC +gUnknown_83CC0E8:: @ 83CC0E8 data8 + .byte 0x01, 0x03, 0x04, 0x02, 0x01 -gUnknown_83CC11C:: @ 83CC11C - .incbin "baserom.gba", 0x3CC11C, 0x1C + .align 2 +gUnknown_83CC0F0:: @ 83CC0F0 dataptr + .4byte sub_8085A54 + .4byte sub_8085A80 -gUnknown_83CC138:: @ 83CC138 - .incbin "baserom.gba", 0x3CC138, 0x1C + .align 2 +gUnknown_83CC0F8:: @ 83CC0F8 dataptr + .4byte sub_8085BA8 + .4byte sub_8085BD0 + .4byte sub_8085C60 + .4byte sub_8085D34 -gUnknown_83CC154:: @ 83CC154 - .incbin "baserom.gba", 0x3CC154, 0x14 +gUnknown_83CC108:: @ 83CC108 data8 + .byte 0x01, 0x03, 0x04, 0x02, 0x01 -gUnknown_83CC168:: @ 83CC168 - .incbin "baserom.gba", 0x3CC168, 0x10 + .align 2 +gUnknown_83CC110:: @ 83CC110 dataptr + .4byte sub_8085E0C + .4byte sub_8085E98 + .4byte sub_8085F9C -gUnknown_83CC178:: @ 83CC178 - .incbin "baserom.gba", 0x3CC178, 0x54 + .align 2 +gUnknown_83CC11C:: @ 83CC11C dataptr + .4byte sub_8086110 + .4byte sub_8086180 + .4byte sub_80861FC + .4byte sub_8086288 + .4byte sub_80862B8 + .4byte sub_808630C + .4byte sub_8086358 -gUnknown_83CC1CC:: @ 83CC1CC - .incbin "baserom.gba", 0x3CC1CC, 0x8 + .align 2 +gUnknown_83CC138:: @ 83CC138 dataptr + .4byte sub_8086498 + .4byte sub_80864D4 + .4byte sub_8086554 + .4byte sub_80865C0 + .4byte sub_80865F0 + .4byte sub_8086630 + .4byte sub_8086650 -gUnknown_83CC1D4:: @ 83CC1D4 - .incbin "baserom.gba", 0x3CC1D4, 0x1C + .align 2 +gUnknown_83CC154:: @ 83CC154 dataptr + .4byte sub_80869C0 + .4byte sub_8086A20 + .4byte sub_8086A6C + .4byte sub_8086AB4 + .4byte sub_8086B30 -gUnknown_83CC1F0:: @ 83CC1F0 - .incbin "baserom.gba", 0x3CC1F0, 0x4C + .align 2 +gUnknown_83CC168:: @ 83CC168 dataptr + .4byte sub_8086C00 + .4byte sub_8086C24 + .4byte sub_8086C70 + .4byte sub_8086CF4 + +gUnknown_83CC178:: @ 83CC178 dataptr (incomplete) + .4byte sub_8086E70 + .4byte sub_8086EC8 + .4byte sub_8086F0C + .4byte sub_8086F64 + .4byte sub_8086FA8 + .4byte sub_8086FFC + .4byte sub_808706C + .4byte sub_8087118 + .4byte sub_8087138 + +gUnknown_83CC19C:: @ 83CC19C affineanimcmd + obj_rot_scal_anim_frame 8, 8, 226, 0 + obj_rot_scal_anim_frame 28, 28, 0, 30 + obj_rot_scal_anim_end + +gUnknown_83CC1B4:: @ 83CC1B4 affineanimcmd + obj_rot_scal_anim_frame 256, 256, 64, 0 + obj_rot_scal_anim_frame -10, -10, 0, 22 + obj_rot_scal_anim_end -gUnknown_83CC23C:: @ 83CC23C - .incbin "baserom.gba", 0x3CC23C, 0x8 + .align 2 +gUnknown_83CC1CC:: @ 83CC1CC dataptr + .4byte gUnknown_83CC19C + .4byte gUnknown_83CC1B4 -gUnknown_83CC244:: @ 83CC244 - .incbin "baserom.gba", 0x3CC244, 0x5C + .align 2 +gUnknown_83CC1D4:: @ 83CC1D4 dataptr + .4byte sub_80874C8 + .4byte sub_80875C8 + .4byte sub_8087644 + .4byte sub_8087698 + .4byte sub_8087710 + .4byte sub_8087748 + .4byte fishE + +gUnknown_83CC1F0:: @ 83CC1F0 data16 + .2byte 0xfffe, 0xfffc, 0xfffb, 0xfffa, 0xfff9, 0xfff8, 0xfff8, 0xfff8, 0xfff9, 0xfff9, 0xfffa, 0xfffb, 0xfffd, 0xfffe, 0x0000, 0x0002 + .2byte 0x0004, 0x0008 + +gUnknown_83CC214:: @ 83CC214 affineanimcmd + obj_rot_scal_anim_frame 24, 24, 0, 1 + obj_rot_scal_anim_jump 0 + +gUnknown_83CC224:: @ 83CC224 affineanimcmd + obj_rot_scal_anim_frame 512, 512, 0, 1 + obj_rot_scal_anim_frame -16, -16, 0, 1 + obj_rot_scal_anim_jump 1 -gUnknown_83CC2A0:: @ 83CC2A0 - .incbin "baserom.gba", 0x3CC2A0, 0x18 + .align 2 +gUnknown_83CC23C:: @ 83CC23C dataptr + .4byte gUnknown_83CC214 + .4byte gUnknown_83CC224 + +gUnknown_83CC244:: @ 83CC244 dataptr + .4byte sub_8087C00 + .4byte sub_8087C2C + .4byte sub_8087CB4 + +gUnknown_83CC250:: @ 83CC250 sprite_frames + obj_frame_tiles 0x083cbdb0, 0x0020 + obj_frame_tiles 0x083cbdd0, 0x0020 + obj_frame_tiles 0x083cbdf0, 0x0020 + obj_frame_tiles 0x083cbe10, 0x0020 + +gUnknown_83CC270:: @ 83CC270 animcmd + obj_image_anim_frame 0x0000, 0 + obj_image_anim_end + +gUnknown_83CC278:: @ 83CC278 animcmd + obj_image_anim_frame 0x0001, 0 + obj_image_anim_end + +gUnknown_83CC280:: @ 83CC280 animcmd + obj_image_anim_frame 0x0002, 0 + obj_image_anim_end + +gUnknown_83CC288:: @ 83CC288 animcmd + obj_image_anim_frame 0x0003, 0 + obj_image_anim_end + +gUnknown_83CC290:: @ 83CC290 dataptr + .4byte gUnknown_83CC270 + .4byte gUnknown_83CC278 + .4byte gUnknown_83CC280 + .4byte gUnknown_83CC288 + +gUnknown_83CC2A0:: @ 83CC2A0 spr_template + spr_template 65535, 4371, gOamData_83CBE58, gUnknown_83CC290, gUnknown_83CC250, gDummySpriteAffineAnimTable, sub_8087D90 diff --git a/data/graphics.s b/data/graphics.s index 8eb5643d4..4bf902cad 100644 --- a/data/graphics.s +++ b/data/graphics.s @@ -14008,17 +14008,17 @@ gBerryPouchSpritePalette:: @ 8E85C1C gBerryPouchBg1Tilemap:: @ 8E85C44 .incbin "graphics/berry_pouch/unk_8E85C44.bin.lz" -gUnknown_8E85DC8:: @ 8E85DC8 - .incbin "baserom.gba", 0xE85DC8, 0x134 +gBuyMenuFrame_Gfx:: @ 8E85DC8 + .incbin "graphics/shop_menu/shop_menu.4bpp.lz" -gUnknown_8E85EFC:: @ 8E85EFC - .incbin "baserom.gba", 0xE85EFC, 0x13C +gBuyMenuFrame_Tilemap:: @ 8E85EFC + .incbin "graphics/shop_menu/shop_tilemap.bin" -gUnknown_8E86038:: @ 8E86038 - .incbin "baserom.gba", 0xE86038, 0x138 +gBuyMenuFrame_TmHmTilemap:: @ 8E86038 + .incbin "graphics/shop_menu/shop_tm_hm_tilemap.bin" -gUnknown_8E86170:: @ 8E86170 - .incbin "baserom.gba", 0xE86170, 0x38 +gBuyMenuFrame_Pal:: @ 8E86170 + .incbin "graphics/shop_menu/shop_menu.gbapal.lz" gUnknown_8E861A8:: @ 8E861A8 .incbin "baserom.gba", 0xE861A8, 0x98 @@ -16086,10 +16086,28 @@ gUnknown_8E97EC4:: @ 8E97EC4 .incbin "baserom.gba", 0xE97EC4, 0x120 gUnknown_8E97FE4:: @ 8E97FE4 - .incbin "baserom.gba", 0xE97FE4, 0x40 @UNKNOWN + .incbin "baserom.gba", 0xE97FE4, 0x20 @UNKNOWN + +gUnknown_8E98004:: @ 8E98004 + .incbin "graphics/interface/naming_screen_8E98004.gbapal" gUnknown_8E98024:: @ 8E98024 - .incbin "baserom.gba", 0xE98024, 0xC0 @UNKNOWN + .incbin "graphics/interface/naming_screen_8E98024.gbapal" + +gUnknown_8E98044:: @ 8E98044 + .incbin "graphics/interface/naming_screen_8E98044.gbapal" + +gUnknown_8E98064:: @ 8E98064 + .incbin "graphics/interface/naming_screen_8E98064.gbapal" + +gUnknown_8E98084:: @ 8E98084 + .incbin "graphics/interface/naming_screen_8E98084.gbapal" + +gUnknown_8E980A4:: @ 8E980A4 + .incbin "graphics/interface/naming_screen_8E980A4.gbapal" + +gUnknown_8E980C4:: @ 8E980C4 + .incbin "graphics/interface/naming_screen_8E980C4.gbapal" gUnknown_8E980E4:: @ 8E980E4 .incbin "baserom.gba", 0xE980E4, 0x1D8 @@ -16107,7 +16125,40 @@ gUnknown_8E98518:: @ 8E98518 .incbin "baserom.gba", 0xE98518, 0xC0 gUnknown_8E985D8:: @ 8E985D8 - .incbin "baserom.gba", 0xE985D8, 0xB40 @UNKNOWN, FALSEPOSITIVE? + .incbin "graphics/interface/naming_screen_8E985D8.4bpp" + +gUnknown_8E98858:: @ 8E98858 + .incbin "graphics/interface/naming_screen_8E98858.4bpp" + +gUnknown_8E98A38:: @ 8E98A38 + .incbin "graphics/interface/naming_screen_8E98A38.4bpp" + +gUnknown_8E98C18:: @ 8E98C18 + .incbin "graphics/interface/naming_screen_8E98C18.4bpp" + +gUnknown_8E98CB8:: @ 8E98CB8 + .incbin "graphics/interface/naming_screen_8E98CB8.4bpp" + +gUnknown_8E98D58:: @ 8E98D58 + .incbin "graphics/interface/naming_screen_8E98D58.4bpp" + +gUnknown_8E98DF8:: @ 8E98DF8 + .incbin "graphics/interface/naming_screen_8E98DF8.4bpp" + +gUnknown_8E98E98:: @ 8E98E98 + .incbin "graphics/interface/naming_screen_8E98E98.4bpp" + +gUnknown_8E98F38:: @ 8E98F38 + .incbin "graphics/interface/naming_screen_8E98F38.4bpp" + +gUnknown_8E98FD8:: @ 8E98FD8 + .incbin "graphics/interface/naming_screen_8E98FD8.4bpp" + +gUnknown_8E990D8:: @ 8E990D8 + .incbin "graphics/interface/naming_screen_8E990D8.4bpp" + +gUnknown_8E990F8:: @ 8E990F8 + .incbin "graphics/interface/naming_screen_8E990F8.4bpp" gUnknown_8E99118:: @ 8E99118 .incbin "graphics/tm_case/unk_8E99118.4bpp" diff --git a/data/naming_screen.s b/data/naming_screen.s index 5d49b2581..121d05c88 100644 --- a/data/naming_screen.s +++ b/data/naming_screen.s @@ -6,154 +6,453 @@ .section .rodata .align 2 - .incbin "baserom.gba", 0x3E1800, 0xA80 +gUnknown_83E1800:: @ 83E1800 + .incbin "graphics/interface/naming_screen_83E1800.4bpp" + +gUnknown_83E18C0:: @ 83E18C0 + .incbin "graphics/interface/naming_screen_83E18C0.4bpp" + +gUnknown_83E1980:: @ 83E1980 + .incbin "graphics/interface/naming_screen_83E1980.4bpp" gUnknown_83E2280:: @ 83E2280 - .incbin "baserom.gba", 0x3E2280, 0x10 + .4byte Text_1A5CF1 + .4byte Text_1A5D31 + .4byte Text_1A5D6E + .4byte Text_1A5DB1 gUnknown_83E2290:: @ 83E2290 - .incbin "baserom.gba", 0x3E2290, 0x10 + .4byte 0x000001e0 + @ { + @ .bg = 0, + @ .charBaseIndex = 0, + @ .mapBaseIndex = 30, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 0, + @ .baseTile = 0x0000 + @ } + .4byte 0x000011d9 + @ { + @ .bg = 1, + @ .charBaseIndex = 2, + @ .mapBaseIndex = 29, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 1, + @ .baseTile = 0x0000 + @ } + .4byte 0x000021ca + @ { + @ .bg = 2, + @ .charBaseIndex = 2, + @ .mapBaseIndex = 28, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 2, + @ .baseTile = 0x0000 + @ } + .4byte 0x000031ff + @ { + @ .bg = 3, + @ .charBaseIndex = 3, + @ .mapBaseIndex = 31, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 3, + @ .baseTile = 0x0000 + @ } gUnknown_83E22A0:: @ 83E22A0 - .incbin "baserom.gba", 0x3E22A0, 0x30 + .byte 1, 3, 10, 19, 8, 10 + .2byte 0x0030 + @ { + @ .bg = 1, + @ .tilemapLeft = 3, + @ .tilemapTop = 10, + @ .width = 19, + @ .height = 8, + @ .paletteNum = 10, + @ .baseBlock = 0x0030 + @ } + .byte 2, 3, 10, 19, 8, 10 + .2byte 0x00c8 + @ { + @ .bg = 2, + @ .tilemapLeft = 3, + @ .tilemapTop = 10, + @ .width = 19, + @ .height = 8, + @ .paletteNum = 10, + @ .baseBlock = 0x00c8 + @ } + .byte 3, 8, 6, 14, 2, 10 + .2byte 0x0030 + @ { + @ .bg = 3, + @ .tilemapLeft = 8, + @ .tilemapTop = 6, + @ .width = 14, + @ .height = 2, + @ .paletteNum = 10, + @ .baseBlock = 0x0030 + @ } + .byte 3, 9, 4, 16, 2, 10 + .2byte 0x004c + @ { + @ .bg = 3, + @ .tilemapLeft = 9, + @ .tilemapTop = 4, + @ .width = 16, + @ .height = 2, + @ .paletteNum = 10, + @ .baseBlock = 0x004c + @ } + .byte 0, 0, 0, 30, 2, 11 + .2byte 0x006c + @ { + @ .bg = 0, + @ .tilemapLeft = 0, + @ .tilemapTop = 0, + @ .width = 30, + @ .height = 2, + @ .paletteNum = 11, + @ .baseBlock = 0x006c + @ } + .byte 255, 0, 0, 0, 0, 0 + .2byte 0x0000 + @ { + @ .bg = 255, + @ .tilemapLeft = 0, + @ .tilemapTop = 0, + @ .width = 0, + @ .height = 0, + @ .paletteNum = 0, + @ .baseBlock = 0x0000 + @ } gUnknown_83E22D0:: @ 83E22D0 - .incbin "baserom.gba", 0x3E22D0, 0x60 + .string "abcdef .", 8 + .string "ghijkl ,", 8 + .string "mnopqrs", 8 + .string "tuvwxyz", 8 + .string "ABCDEF .", 8 + .string "GHIJKL ,", 8 + .string "MNOPQRS", 8 + .string "TUVWXYZ", 8 + .string "01234", 8 + .string "56789", 8 + .string "!?♂♀/-", 8 + .string "…“”‘'", 8 gUnknown_83E2330:: @ 83E2330 - .incbin "baserom.gba", 0x3E2330, 0x3 + .byte 0x08, 0x08, 0x06 gUnknown_83E2333:: @ 83E2333 - .incbin "baserom.gba", 0x3E2333, 0x18 + .byte 0x00, 0x0c, 0x18, 0x38, 0x44, 0x50, 0x5c, 0x7b, 0x00, 0x0c, 0x18, 0x38, 0x44, 0x50, 0x5c, 0x7b, 0x00, 0x16, 0x2c, 0x42, 0x58, 0x6e, 0x00, 0x00 gUnknown_83E234B:: @ 83E234B - .incbin "baserom.gba", 0x3E234B, 0x3 + .byte 0x00, 0x02, 0x01 gUnknown_83E234E:: @ 83E234E - .incbin "baserom.gba", 0x3E234E, 0x3 + .byte 0x01, 0x00, 0x02 gUnknown_83E2351:: @ 83E2351 - .incbin "baserom.gba", 0x3E2351, 0x3 + .byte 0x02, 0x01, 0x00 gUnknown_83E2354:: @ 83E2354 - .incbin "baserom.gba", 0x3E2354, 0x10 + .4byte sub_809E384 + .4byte sub_809E3AC + .4byte sub_809E440 + .4byte sub_809E4D4 gUnknown_83E2364:: @ 83E2364 - .incbin "baserom.gba", 0x3E2364, 0x8 + .2byte 0x0000, 0xfffc, 0xfffe, 0xffff gUnknown_83E236C:: @ 83E236C - .incbin "baserom.gba", 0x3E236C, 0x8 + .2byte 0x0002, 0x0003, 0x0002, 0x0001 gUnknown_83E2374:: @ 83E2374 - .incbin "baserom.gba", 0x3E2374, 0x4 + .byte 0x01, 0x02, 0x03, 0x00 gUnknown_83E2378:: @ 83E2378 - .incbin "baserom.gba", 0x3E2378, 0x10 + .4byte sub_809EC7C + .4byte sub_809ECD0 + .4byte sub_809ECD4 + .4byte sub_809ED48 gUnknown_83E2388:: @ 83E2388 - .incbin "baserom.gba", 0x3E2388, 0x6 + .2byte 0x0001, 0x0003, 0x0002 gUnknown_83E238E:: @ 83E238E - .incbin "baserom.gba", 0x3E238E, 0x6 + .2byte 0x0004, 0x0006, 0x0005 gUnknown_83E2394:: @ 83E2394 - .incbin "baserom.gba", 0x3E2394, 0x28 + .4byte nullsub_54 + .4byte sub_809EF54 + .4byte sub_809EFB0 + .4byte sub_809EFF0 + .4byte sub_809F04C + +gUnknown_83E23A8:: @ 83E23A8 + obj_image_anim_frame 0, 10 + obj_image_anim_frame 24, 10 + obj_image_anim_frame 0, 10 + obj_image_anim_frame 32, 10 + obj_image_anim_jump 0 gUnknown_83E23BC:: @ 83E23BC - .incbin "baserom.gba", 0x3E23BC, 0x4 + .4byte gUnknown_83E23A8 gUnknown_83E23C0:: @ 83E23C0 - .incbin "baserom.gba", 0x3E23C0, 0x8 + obj_tiles gUnknown_83E1980, 0x0900, 255 gUnknown_83E23C8:: @ 83E23C8 - .incbin "baserom.gba", 0x3E23C8, 0x8 + obj_pal gUnknown_8E98004, 255 gUnknown_83E23D0:: @ 83E23D0 - .incbin "baserom.gba", 0x3E23D0, 0x10 + .4byte sub_809F11C + .4byte KeyboardKeyHandler_Page + .4byte KeyboardKeyHandler_Backspace + .4byte KeyboardKeyHandler_OK gUnknown_83E23E0:: @ 83E23E0 - .incbin "baserom.gba", 0x3E23E0, 0x8 + .4byte InputState_Disabled + .4byte InputState_Enabled gUnknown_83E23E8:: @ 83E23E8 - .incbin "baserom.gba", 0x3E23E8, 0xA + .2byte 0x0000, 0x0000, 0x0000, 0xffff, 0x0001 gUnknown_83E23F2:: @ 83E23F2 - .incbin "baserom.gba", 0x3E23F2, 0xA + .2byte 0x0000, 0xffff, 0x0001, 0x0000, 0x0000 gUnknown_83E23FC:: @ 83E23FC - .incbin "baserom.gba", 0x3E23FC, 0x8 + .2byte 0x0000, 0x0001, 0x0001, 0x0002 gUnknown_83E2404:: @ 83E2404 - .incbin "baserom.gba", 0x3E2404, 0x8 + .2byte 0x0000, 0x0000, 0x0003, 0x0000 gUnknown_83E240C:: @ 83E240C - .incbin "baserom.gba", 0x3E240C, 0x14 + .4byte sub_809F49C + .4byte sub_809F49C + .4byte sub_809F4F0 + .4byte sub_809F4F0 + .4byte sub_809F49C gUnknown_83E2420:: @ 83E2420 - .incbin "baserom.gba", 0x3E2420, 0x8 + .4byte nullsub_55 + .4byte sub_809F5C4 gUnknown_83E2428:: @ 83E2428 - .incbin "baserom.gba", 0x3E2428, 0x14 + .byte 0x00, 0x09, 0x08, 0x00 + .byte 0x05, 0x04, 0x00, 0x00 + +gUnknown_83E2430:: @ 83E2430 + .byte 0x0d, 0x01, 0x02, 0x00 + +gUnknown_83E2434:: @ 83E2434 + .byte 0x0e, 0x01, 0x02, 0x00 + +gUnknown_83E2438:: @ 83E2438 + .byte 0x0f, 0x01, 0x02, 0x00 gUnknown_83E243C:: @ 83E243C - .incbin "baserom.gba", 0x3E243C, 0x4 + .byte 0xee, 0xdd, 0xff, 0x00 gUnknown_83E2440:: @ 83E2440 - .incbin "baserom.gba", 0x3E2440, 0xC + .4byte gUnknown_83E2434 + .4byte gUnknown_83E2430 + .4byte gUnknown_83E2438 gUnknown_83E244C:: @ 83E244C - .incbin "baserom.gba", 0x3E244C, 0xC + .4byte gUnknown_8E98398 + .4byte gUnknown_8E98458 + .4byte gUnknown_8E98518 gUnknown_83E2458:: @ 83E2458 - .incbin "baserom.gba", 0x3E2458, 0x34 + .byte 0x0f, 0x01, 0x02 + + .align 2 +gUnknown_83E245C:: @ 83E245C + .byte 0x00, 0x07, 0x01, 0x00, 0x01 + .align 2 + .4byte gUnknown_8418E47 + +gUnknown_83E2468:: @ 83E2468 + .byte 0x00, 0x08, 0x02, 0x00, 0x01 + .align 2 + .4byte gUnknown_8418E52 + +gUnknown_83E2474:: @ 83E2474 + .byte 0x00, 0x0a, 0x03, 0x01, 0x01 + .align 2 + .4byte gUnknown_8418E5C + +gUnknown_83E2480:: @ 83E2480 + .byte 0x00, 0x07, 0x04, 0x00, 0x01 + .align 2 + .4byte gUnknown_8418E69 gUnknown_83E248C:: @ 83E248C - .incbin "baserom.gba", 0x3E248C, 0x78 + .4byte gUnknown_83E245C + .4byte gUnknown_83E2468 + .4byte gUnknown_83E2474 + .4byte gUnknown_83E2474 + .4byte gUnknown_83E2480 + +gUnknown_83E24A0:: @ 83E24A0 + .4byte 0x00000000, 0x00000000 + +gUnknown_83E24A8:: @ 3E24A8 + .4byte 0x40000000, 0x00000000 + +gUnknown_83E24B0:: @ 3E24B0 + .4byte 0x80004000, 0x00000000 + +gUnknown_83E24B8:: @ 83E24B8 + subsprite 236, 240, 1, 0x0000, 32x8 + subsprite 12, 240, 1, 0x0004, 8x8 + subsprite 236, 248, 1, 0x0005, 32x8 + subsprite 12, 248, 1, 0x0009, 8x8 + subsprite 236, 0, 1, 0x000a, 32x8 + subsprite 12, 0, 1, 0x000e, 8x8 + subsprite 236, 8, 1, 0x000f, 32x8 + subsprite 12, 8, 1, 0x0013, 8x8 + +gUnknown_83E24D8:: @ 83E24D8 + subsprite 244, 252, 1, 0x0000, 16x8 + subsprite 4, 252, 1, 0x0002, 8x8 + +gUnknown_83E24E0:: @ 83E24E0 + subsprite 236, 244, 1, 0x0000, 32x8 + subsprite 12, 244, 1, 0x0004, 8x8 + subsprite 236, 252, 1, 0x0005, 32x8 + subsprite 12, 252, 1, 0x0009, 8x8 + subsprite 236, 4, 1, 0x000a, 32x8 + subsprite 12, 4, 1, 0x000e, 8x8 + +gUnknown_83E24F8:: + subsprite 248, 244, 3, 0x0000, 16x8 + subsprite 248, 252, 3, 0x0002, 16x8 + subsprite 248, 4, 3, 0x0004, 16x8 gUnknown_83E2504:: @ 83E2504 - .incbin "baserom.gba", 0x3E2504, 0x8 + .byte 0x08 + .align 2 + .4byte gUnknown_83E24B8 gUnknown_83E250C:: @ 83E250C - .incbin "baserom.gba", 0x3E250C, 0x18 + .byte 0x02 + .align 2 + .4byte gUnknown_83E24D8 + .byte 0x02 + .align 2 + .4byte gUnknown_83E24D8 + .byte 0x02 + .align 2 + .4byte gUnknown_83E24D8 gUnknown_83E2524:: @ 83E2524 - .incbin "baserom.gba", 0x3E2524, 0x8 + .byte 0x06 + .align 2 + .4byte gUnknown_83E24E0 gUnknown_83E252C:: @ 83E252C - .incbin "baserom.gba", 0x3E252C, 0x48 + .byte 0x03 + .align 2 + .4byte gUnknown_83E24F8 + +gUnknown_83E2534:: @ 83E2534 + obj_frame_tiles gUnknown_83E1800, 0x00c0 + obj_frame_tiles gUnknown_83E18C0, 0x00c0 + +gUnknown_83E2544:: @ 83E2544 + obj_image_anim_frame 0, 1 + obj_image_anim_jump 0 + +gUnknown_83E254C:: @ 83E254C + obj_image_anim_frame 4, 8 + obj_image_anim_frame 8, 8 + obj_image_anim_end + +gUnknown_83E2558:: @ 83E2558 + obj_image_anim_frame 0, 2 + obj_image_anim_frame 1, 2 + obj_image_anim_jump 0 + +gUnknown_83E2564:: @ 83E2564 + .4byte gUnknown_83E2544 + +gUnknown_83E2568:: @ 83E2568 + .4byte gUnknown_83E2544 + .4byte gUnknown_83E254C + +gUnknown_83E2570:: @ 83E2570 + .4byte gUnknown_83E2558 gUnknown_83E2574:: @ 83E2574 - .incbin "baserom.gba", 0x3E2574, 0x18 + spr_template 2, 4, gUnknown_83E24A0, gUnknown_83E2564, NULL, gDummySpriteAffineAnimTable, sub_809EC54 gUnknown_83E258C:: @ 83E258C - .incbin "baserom.gba", 0x3E258C, 0x18 + spr_template 3, 1, gUnknown_83E24B0, gUnknown_83E2564, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_83E25A4:: @ 83E25A4 - .incbin "baserom.gba", 0x3E25A4, 0x18 + spr_template 4, 4, gUnknown_83E24A0, gUnknown_83E2564, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_83E25BC:: @ 83E25BC - .incbin "baserom.gba", 0x3E25BC, 0x18 + spr_template 0, 6, gUnknown_83E24A0, gUnknown_83E2564, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_83E25D4:: @ 83E25D4 - .incbin "baserom.gba", 0x3E25D4, 0x18 + spr_template 1, 7, gUnknown_83E24A0, gUnknown_83E2564, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_83E25EC:: @ 83E25EC - .incbin "baserom.gba", 0x3E25EC, 0x18 + spr_template 7, 5, gUnknown_83E24A8, gUnknown_83E2568, NULL, gDummySpriteAffineAnimTable, sub_809E700 gUnknown_83E2604:: @ 83E2604 - .incbin "baserom.gba", 0x3E2604, 0x18 + spr_template 10, 3, gUnknown_83E24A0, gUnknown_83E2564, NULL, gDummySpriteAffineAnimTable, sub_809E7F0 gUnknown_83E261C:: @ 83E261C - .incbin "baserom.gba", 0x3E261C, 0x18 + spr_template 11, 3, gUnknown_83E24A0, gUnknown_83E2564, NULL, gDummySpriteAffineAnimTable, sub_809E83C gUnknown_83E2634:: @ 83E2634 - .incbin "baserom.gba", 0x3E2634, 0x18 + spr_template 65535, 0, gUnknown_83E24A0, gUnknown_83E2570, gUnknown_83E2534, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_83E264C:: @ 83E264C - .incbin "baserom.gba", 0x3E264C, 0x30 + .4byte gUnknown_847A955 + .4byte gUnknown_847A976 + .4byte gUnknown_847A997 + .4byte gUnknown_847A9B8 + .4byte gUnknown_847A9D9 + .4byte gUnknown_847A9FA + .4byte gUnknown_847AA1B + .4byte gUnknown_847AA3C + .4byte gUnknown_847AA5D + .4byte gUnknown_847AA76 + .4byte gUnknown_847AA8F + .4byte gUnknown_847AAA8 gUnknown_83E267C:: @ 83E267C - .incbin "baserom.gba", 0x3E267C, 0x68 + obj_tiles gUnknown_8E98858, 0x01e0, 0 + obj_tiles gUnknown_8E98A38, 0x01e0, 1 + obj_tiles gUnknown_8E985D8, 0x0280, 2 + obj_tiles gUnknown_8E98FD8, 0x0100, 3 + obj_tiles gUnknown_8E98C18, 0x0060, 4 + obj_tiles gUnknown_8E98CB8, 0x0060, 5 + obj_tiles gUnknown_8E98D58, 0x0060, 6 + obj_tiles gUnknown_8E98DF8, 0x0080, 7 + obj_tiles gUnknown_8E98E98, 0x0080, 8 + obj_tiles gUnknown_8E98F38, 0x0080, 9 + obj_tiles gUnknown_8E990D8, 0x0020, 10 + obj_tiles gUnknown_8E990F8, 0x0020, 11 + null_obj_tiles gUnknown_83E26E4:: @ 83E26E4 - .incbin "baserom.gba", 0x3E26E4, 0x48 + obj_pal gUnknown_8E98024, 0 + obj_pal gUnknown_8E98044, 1 + obj_pal gUnknown_8E98064, 2 + obj_pal gUnknown_8E98084, 3 + obj_pal gUnknown_8E980A4, 4 + obj_pal gUnknown_8E980C4, 5 + obj_pal gUnknown_8E980A4, 6 + obj_pal gUnknown_8E980A4, 7 + null_obj_pal diff --git a/data/pokemon_storage_system.s b/data/pokemon_storage_system.s index 0196b3cb5..0ac3268b6 100644 --- a/data/pokemon_storage_system.s +++ b/data/pokemon_storage_system.s @@ -7,127 +7,686 @@ .align 2 gUnknown_83CDA20:: @ 83CDA20 - .incbin "baserom.gba", 0x3CDA20, 0x28 + .4byte gUnknown_841856C, gUnknown_84185AD + .4byte gUnknown_841857D, gUnknown_84185E2 + .4byte gUnknown_841858D, gUnknown_8418611 + .4byte gUnknown_841859A, gUnknown_8418642 + .4byte gUnknown_84185A5, gUnknown_8418681 gUnknown_83CDA48:: @ 83CDA48 - .incbin "baserom.gba", 0x3CDA48, 0x28 + .byte 0, 1, 1, 17, 10, 15 + .2byte 0x0001 + +gUnknown_83CDA50:: + obj_image_anim_frame 0x0000, 5 + obj_image_anim_end + +gUnknown_83CDA58:: + obj_image_anim_frame 0x0004, 5 + obj_image_anim_end + +gUnknown_83CDA60:: + obj_image_anim_frame 0x0006, 5 + obj_image_anim_end + +gUnknown_83CDA68:: + obj_image_anim_frame 0x000a, 5 + obj_image_anim_end gUnknown_83CDA70:: @ 83CDA70 - .incbin "baserom.gba", 0x3CDA70, 0x24 + .4byte gUnknown_83CDA50 + .4byte gUnknown_83CDA58 + .4byte gUnknown_83CDA60 + .4byte gUnknown_83CDA68 + +gUnknown_83CDA80:: + obj_rot_scal_anim_frame 224, 224, 0, 0 + obj_rot_scal_anim_end + +gUnknown_83CDA90:: + .4byte gUnknown_83CDA80 gUnknown_83CDA94:: @ 83CDA94 - .incbin "baserom.gba", 0x3CDA94, 0x4 + .string "/30$" + +gUnknown_83CDA98:: @ 83CDA98 gbapal + .incbin "graphics/interface/pss_unk_83CDA98.gbapal" + +gUnknown_83CDAB8:: @ 83CDAB8 4bpp + .incbin "graphics/interface/pss_unk_83CDAB8.4bpp" + +gUnknown_83CE2B8:: @ 83CE2B8 4bpp + .incbin "graphics/interface/pss_unk_83CE2B8.4bpp" + +gUnknown_83CE438:: @ 83CE438 4bpp.lz + .incbin "graphics/interface/pss_unk_83CE438.4bpp.lz" + +gUnknown_83CE4D0:: @ 83CE4D0 bin.lz + .incbin "graphics/interface/pss_unk_83CE4D0.bin.lz" + .incbin "graphics/interface/pss_unk_83CE5DC.gbapal" + +gUnknown_83CE5FC:: @ 83CE5FC bin.lz + .incbin "graphics/interface/pss_unk_83CE5FC.bin.lz" + +gUnknown_83CE6F8:: @ 83CE6F8 @ raw8 + .byte 0x01, 0x01, 0x02, 0x01, 0x03, 0x01, 0x04, 0x01, 0x05, 0x01, 0x06, 0x01, 0x07, 0x01, 0x08, 0x01, 0x11, 0x01, 0x12, 0x01, 0x13, 0x01, 0x14, 0x01, 0x15, 0x01, 0x16, 0x01, 0x17, 0x01, 0x18, 0x01 + .byte 0x01, 0x21, 0x02, 0x21, 0x03, 0x21, 0x04, 0x21, 0x05, 0x21, 0x06, 0x21, 0x07, 0x21, 0x08, 0x21, 0x11, 0x21, 0x12, 0x21, 0x13, 0x21, 0x14, 0x21, 0x15, 0x21, 0x16, 0x21, 0x17, 0x21, 0x18, 0x21 + +gUnknown_83CE738:: @ 83CE738 gbapal + .incbin "graphics/interface/pss_unk_83CE738.gbapal" + +gUnknown_83CE758:: @ 83CE758 gbapal + .incbin "graphics/interface/pss_unk_83CE758.gbapal" + +gUnknown_83CE778:: @ 83CE778 @ raw16 + .2byte 0x014c, 0x014d, 0x014e, 0x014f, 0x0170, 0x0171, 0x0172, 0x0173, 0x0174, 0x015c, 0x015d, 0x015e, 0x015f, 0x0180, 0x0181, 0x0182 + .2byte 0x0183, 0x0184, 0x0175, 0x0176, 0x0177, 0x0178, 0x0179, 0x017a, 0x017b, 0x017c, 0x017d, 0x0185, 0x0186, 0x0187, 0x0188, 0x0189 + .2byte 0x018a, 0x018b, 0x018c, 0x018d + +gUnknown_83CE7C0:: @ 83CE7C0 @ raw8 + .byte 0x40, 0x11, 0x41, 0x11, 0x41, 0x11, 0x42, 0x11, 0x50, 0x11, 0x51, 0x11, 0x51, 0x11, 0x52, 0x11, 0x60, 0x11, 0x61, 0x11, 0x61, 0x11, 0x62, 0x11 + +gUnknown_83CE7D8:: @ 83CE7D8 @ raw8 + .byte 0x43, 0x11, 0x44, 0x11, 0x44, 0x11, 0x45, 0x11, 0x53, 0x11, 0x54, 0x11, 0x54, 0x11, 0x55, 0x11, 0x63, 0x11, 0x64, 0x11, 0x64, 0x11, 0x65, 0x11 + +gUnknown_83CE7F0:: @ 83CE7F0 gbapal + .incbin "graphics/interface/pss_unk_83CE810.gbapal" + +gUnknown_83CE810:: @ 83CE810 4bpp + .incbin "graphics/interface/pss_unk_83CE810.4bpp" + .incbin "graphics/interface/pss_unk_83CE9D0.gbapal" + +gUnknown_83CEA10:: @ 83CEA10 gbapal + .incbin "graphics/interface/pss_unk_83CEA10.gbapal" + +gUnknown_83CEA30:: @ 83CEA30 gbapal + .incbin "graphics/interface/pss_unk_83CEA30.gbapal" + +gUnknown_83CEA50:: @ 83CEA50 bg_template + .4byte 0x000001d0 + @ { + @ .bg = 0, + @ .charBaseIndex = 0, + @ .mapBaseIndex = 29, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 0, + @ .baseTile = 0x0000 + @ } + .4byte 0x004011e5 + @ { + @ .bg = 1, + @ .charBaseIndex = 1, + @ .mapBaseIndex = 30, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 1, + @ .baseTile = 0x0100 + @ } + .4byte 0x000023ba + @ { + @ .bg = 2, + @ .charBaseIndex = 2, + @ .mapBaseIndex = 27, + @ .screenSize = 1, + @ .paletteMode = 0, + @ .priority = 2, + @ .baseTile = 0x0000 + @ } + .4byte 0x000031ff + @ { + @ .bg = 3, + @ .charBaseIndex = 3, + @ .mapBaseIndex = 31, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 3, + @ .baseTile = 0x0000 + @ } + +gUnknown_83CEA60:: @ 83CEA60 sprite_palette + obj_pal gUnknown_83CE7F0, 56010 + +gUnknown_83CEA68:: @ 83CEA68 sprite_sheet + obj_tiles gUnknown_83CE810, 0x01c0, 5 + +gUnknown_83CEA70:: @ 83CEA70 spr_template + spr_template 2, 56006, gUnknown_83CEB88, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_83CEA88:: @ 83CEA88 struct {const u8 *; u8;} + .4byte gUnknown_8418208 + .byte 0 + .align 2 + .4byte gUnknown_841821B + .byte 0 + .align 2 + .4byte gUnknown_8418233 + .byte 0 + .align 2 + .4byte gUnknown_8418248 + .byte 0 + .align 2 + .4byte gUnknown_841825C + .byte 1 + .align 2 + .4byte gUnknown_841826C + .byte 0 + .align 2 + .4byte gUnknown_841827F + .byte 0 + .align 2 + .4byte gUnknown_8418295 + .byte 1 + .align 2 + .4byte gUnknown_84182A7 + .byte 0 + .align 2 + .4byte gUnknown_84182B8 + .byte 0 + .align 2 + .4byte gUnknown_84182CE + .byte 4 + .align 2 + .4byte gUnknown_84182DF + .byte 6 + .align 2 + .4byte gUnknown_84182EC + .byte 0 + .align 2 + .4byte gUnknown_84182FF + .byte 0 + .align 2 + .4byte gUnknown_8418319 + .byte 0 + .align 2 + .4byte gUnknown_841832C + .byte 0 + .align 2 + .4byte gUnknown_8418346 + .byte 0 + .align 2 + .4byte gUnknown_841835F + .byte 0 + .align 2 + .4byte gUnknown_8418379 + .byte 0 + .align 2 + .4byte gUnknown_8418392 + .byte 1 + .align 2 + .4byte gUnknown_84183A0 + .byte 0 + .align 2 + .4byte gUnknown_84183BA + .byte 0 + .align 2 + .4byte gUnknown_84183C5 + .byte 0 + .align 2 + .4byte gUnknown_841825C + .byte 7 + .align 2 + .4byte gUnknown_84183DD + .byte 0 + .align 2 + .4byte gUnknown_84183F0 + .byte 7 + .align 2 + .4byte gUnknown_8418408 + .byte 0 + .align 2 + .4byte gUnknown_8418419 + .byte 0 + .align 2 + .4byte gUnknown_8418433 + .byte 7 + .align 2 + .4byte gUnknown_8418443 + .byte 7 + .align 2 + .4byte gUnknown_8418452 + .byte 0 + .align 2 + +gUnknown_83CEB80:: @ 83CEB80 window_template + .byte 0, 24, 11, 5, 4, 15 + .2byte 0x005c + +gUnknown_83CEB88:: + .4byte 0xc0000000, 0x00000000 + +gUnknown_83CEB90:: + .4byte 0x00004000, 0x00000000 + +gUnknown_83CEB98:: + obj_image_anim_frame 0x0000, 5 + obj_image_anim_end + +gUnknown_83CEBA0:: + obj_image_anim_frame 0x0002, 8 + obj_image_anim_frame 0x0004, 8 + obj_image_anim_frame 0x0006, 8 + obj_image_anim_jump 0 + +gUnknown_83CEBB0:: + obj_image_anim_frame 0x0008, 5 + obj_image_anim_end + +gUnknown_83CEBB8:: + obj_image_anim_frame 0x000a, 8 + obj_image_anim_frame 0x0004, 8 + obj_image_anim_frame 0x000c, 8 + obj_image_anim_jump 0 + +gUnknown_83CEBC8:: + .4byte gUnknown_83CEB98 + .4byte gUnknown_83CEBA0 + .4byte gUnknown_83CEBB0 + .4byte gUnknown_83CEBB8 + +gUnknown_83CEBD8:: @ 83CEBD8 spr_template + spr_template 5, 56010, gUnknown_83CEB90, gUnknown_83CEBC8, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_83CEBF0:: @ 83CEBF0 spr_template + spr_template 18, 56000, gUnknown_83CEC08, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_83CEC08:: + .4byte 0x80000000, 0x00000000 + +gUnknown_83CEC10:: + obj_rot_scal_anim_frame -2, -2, 0, 120 + obj_rot_scal_anim_end + +gUnknown_83CEC20:: + obj_rot_scal_anim_frame 16, 16, 0, 0 + obj_rot_scal_anim_frame 16, 16, 0, 15 + obj_rot_scal_anim_end + +gUnknown_83CEC38:: @ 83CEC38 dataptr + .4byte gUnknown_83CEC10 + .4byte gUnknown_83CEC20 -gUnknown_83CDA98:: @ 83CDA98 - .incbin "baserom.gba", 0x3CDA98, 0x20 +gUnknown_83CEC40:: @ 83CEC40 + .incbin "graphics/interface/pss_unk_83CEC40.gbapal" -gUnknown_83CDAB8:: @ 83CDAB8 - .incbin "baserom.gba", 0x3CDAB8, 0x800 +gUnknown_83CEC80:: @ 83CEC80 + .incbin "graphics/interface/pss_unk_83CEC80.4bpp.lz" -gUnknown_83CE2B8:: @ 83CE2B8 - .incbin "baserom.gba", 0x3CE2B8, 0x180 +gUnknown_83CF050:: @ 83CF050 + .incbin "graphics/interface/pss_unk_83CF050.bin.lz" -gUnknown_83CE438:: @ 83CE438 - .incbin "baserom.gba", 0x3CE438, 0x98 +gUnknown_83CF12C:: @ 83CF12C + .incbin "graphics/interface/pss_unk_83CF12C.gbapal" -gUnknown_83CE4D0:: @ 83CE4D0 - .incbin "baserom.gba", 0x3CE4D0, 0x12C +gUnknown_83CF16C:: @ 83CF16C + .incbin "graphics/interface/pss_unk_83CF16C.4bpp.lz" -gUnknown_83CE5FC:: @ 83CE5FC - .incbin "baserom.gba", 0x3CE5FC, 0xFC +gUnknown_83CF374:: @ 83CF374 + .incbin "graphics/interface/pss_unk_83CF374.bin.lz" -gUnknown_83CE6F8:: @ 83CE6F8 - .incbin "baserom.gba", 0x3CE6F8, 0x40 +gUnknown_83CF424:: @ 83CF424 + .incbin "graphics/interface/pss_unk_83CF424.gbapal" -gUnknown_83CE738:: @ 83CE738 - .incbin "baserom.gba", 0x3CE738, 0x20 +gUnknown_83CF464:: @ 83CF464 + .incbin "graphics/interface/pss_unk_83CF464.4bpp.lz" -gUnknown_83CE758:: @ 83CE758 - .incbin "baserom.gba", 0x3CE758, 0x20 +gUnknown_83CF750:: @ 83CF750 + .incbin "graphics/interface/pss_unk_83CF750.bin.lz" -gUnknown_83CE778:: @ 83CE778 - .incbin "baserom.gba", 0x3CE778, 0x48 +gUnknown_83CF834:: @ 83CF834 + .incbin "graphics/interface/pss_unk_83CF834.gbapal" -gUnknown_83CE7C0:: @ 83CE7C0 - .incbin "baserom.gba", 0x3CE7C0, 0x18 +gUnknown_83CF874:: @ 83CF874 + .incbin "graphics/interface/pss_unk_83CF874.4bpp.lz" -gUnknown_83CE7D8:: @ 83CE7D8 - .incbin "baserom.gba", 0x3CE7D8, 0x238 +gUnknown_83CFA94:: @ 83CFA94 + .incbin "graphics/interface/pss_unk_83CFA94.bin.lz" -gUnknown_83CEA10:: @ 83CEA10 - .incbin "baserom.gba", 0x3CEA10, 0x20 +gUnknown_83CFB60:: @ 83CFB60 + .incbin "graphics/interface/pss_unk_83CFB60.gbapal" -gUnknown_83CEA30:: @ 83CEA30 - .incbin "baserom.gba", 0x3CEA30, 0x20 +gUnknown_83CFBA0:: @ 83CFBA0 + .incbin "graphics/interface/pss_unk_83CFBA0.4bpp.lz" -gUnknown_83CEA50:: @ 83CEA50 - .incbin "baserom.gba", 0x3CEA50, 0x10 +gUnknown_83CFEF0:: @ 83CFEF0 + .incbin "graphics/interface/pss_unk_83CFEF0.bin.lz" -gUnknown_83CEA60:: @ 83CEA60 - .incbin "baserom.gba", 0x3CEA60, 0x8 +gUnknown_83CFFC8:: @ 83CFFC8 + .incbin "graphics/interface/pss_unk_83CFFC8.gbapal" -gUnknown_83CEA68:: @ 83CEA68 - .incbin "baserom.gba", 0x3CEA68, 0x8 +gUnknown_83D0008:: @ 83D0008 + .incbin "graphics/interface/pss_unk_83D0008.4bpp.lz" + .space 4 -gUnknown_83CEA70:: @ 83CEA70 - .incbin "baserom.gba", 0x3CEA70, 0x18 +gUnknown_83D033C:: @ 83D033C + .incbin "graphics/interface/pss_unk_83D033C.bin.lz" -gUnknown_83CEA88:: @ 83CEA88 - .incbin "baserom.gba", 0x3CEA88, 0xF8 +gUnknown_83D0414:: @ 83D0414 + .incbin "graphics/interface/pss_unk_83D0414.gbapal" -gUnknown_83CEB80:: @ 83CEB80 - .incbin "baserom.gba", 0x3CEB80, 0x58 +gUnknown_83D0454:: @ 83D0454 + .incbin "graphics/interface/pss_unk_83D0454.4bpp.lz" -gUnknown_83CEBD8:: @ 83CEBD8 - .incbin "baserom.gba", 0x3CEBD8, 0x18 +gUnknown_83D070C:: @ 83D070C + .incbin "graphics/interface/pss_unk_83D070C.bin.lz" -gUnknown_83CEBF0:: @ 83CEBF0 - .incbin "baserom.gba", 0x3CEBF0, 0x48 +gUnknown_83D07D8:: @ 83D07D8 + .incbin "graphics/interface/pss_unk_83D07D8.gbapal" -gUnknown_83CEC38:: @ 83CEC38 - .incbin "baserom.gba", 0x3CEC38, 0x3D98 +gUnknown_83D0818:: @ 83D0818 + .incbin "graphics/interface/pss_unk_83D0818.4bpp.lz" + +gUnknown_83D0B5C:: @ 83D0B5C + .incbin "graphics/interface/pss_unk_83D0B5C.bin.lz" + +gUnknown_83D0C38:: @ 83D0C38 + .incbin "graphics/interface/pss_unk_83D0C38.gbapal" + +gUnknown_83D0C78:: @ 83D0C78 + .incbin "graphics/interface/pss_unk_83D0C78.4bpp.lz" + +gUnknown_83D0FFC:: @ 83D0FFC + .incbin "graphics/interface/pss_unk_83D0FFC.bin.lz" + +gUnknown_83D10E4:: @ 83D10E4 + .incbin "graphics/interface/pss_unk_83D10E4.gbapal" + +gUnknown_83D1124:: @ 83D1124 + .incbin "graphics/interface/pss_unk_83D1124.4bpp.lz" + +gUnknown_83D13D8:: @ 83D13D8 + .incbin "graphics/interface/pss_unk_83D13D8.bin.lz" + +gUnknown_83D14B4:: @ 83D14B4 + .incbin "graphics/interface/pss_unk_83D14B4.gbapal" + +gUnknown_83D14F4:: @ 83D14F4 + .incbin "graphics/interface/pss_unk_83D14F4.4bpp.lz" + +gUnknown_83D1788:: @ 83D1788 + .incbin "graphics/interface/pss_unk_83D1788.bin.lz" + +gUnknown_83D1874:: @ 83D1874 + .incbin "graphics/interface/pss_unk_83D1874.gbapal" + +gUnknown_83D18B4:: @ 83D18B4 + .incbin "graphics/interface/pss_unk_83D18B4.4bpp.lz" + +gUnknown_83D1B4C:: @ 83D1B4C + .incbin "graphics/interface/pss_unk_83D1B4C.bin.lz" + +gUnknown_83D1C2C:: @ 83D1C2C + .incbin "graphics/interface/pss_unk_83D1C2C.gbapal" + + .space 32 + +gUnknown_83D1C8C:: @ 83D1C8C + .incbin "graphics/interface/pss_unk_83D1C8C.4bpp.lz" + +gUnknown_83D1EC4:: @ 83D1EC4 + .incbin "graphics/interface/pss_unk_83D1EC4.bin.lz" + +gUnknown_83D1F94:: @ 83D1F94 + .incbin "graphics/interface/pss_unk_83D1F94.gbapal" + +gUnknown_83D1FD4:: @ 83D1FD4 + .incbin "graphics/interface/pss_unk_83D1FD4.4bpp.lz" + +gUnknown_83D22B8:: @ 83D22B8 + .incbin "graphics/interface/pss_unk_83D22B8.bin.lz" + +gUnknown_83D239C:: @ 83D239C + .incbin "graphics/interface/pss_unk_83D239C.gbapal" + +gUnknown_83D23DC:: @ 83D23DC + .incbin "graphics/interface/pss_unk_83D23DC.4bpp.lz" + +gUnknown_83D256C:: @ 83D256C + .incbin "graphics/interface/pss_unk_83D256C.bin.lz" + +gUnknown_83D2614:: @ 83D2614 + .incbin "graphics/interface/pss_unk_83D2614.gbapal" + +gUnknown_83D2654:: @ 83D2654 + .incbin "graphics/interface/pss_unk_83D2654.4bpp.lz" + +gUnknown_83D277C:: @ 83D277C + .incbin "graphics/interface/pss_unk_83D277C.bin.lz" + + .incbin "graphics/interface/pss_unk_83D2820.bin" gUnknown_83D29D0:: @ 83D29D0 - .incbin "baserom.gba", 0x3D29D0, 0x40 + .incbin "graphics/interface/pss_unk_83D29D0.gbapal" gUnknown_83D2A10:: @ 83D2A10 - .incbin "baserom.gba", 0x3D2A10, 0x144 + .4byte gUnknown_83CEC80, gUnknown_83CF050, gUnknown_83CEC40 + .4byte gUnknown_83CF16C, gUnknown_83CF374, gUnknown_83CF12C + .4byte gUnknown_83CF464, gUnknown_83CF750, gUnknown_83CF424 + .4byte gUnknown_83CF874, gUnknown_83CFA94, gUnknown_83CF834 + .4byte gUnknown_83CFBA0, gUnknown_83CFEF0, gUnknown_83CFB60 + .4byte gUnknown_83D0008, gUnknown_83D033C, gUnknown_83CFFC8 + .4byte gUnknown_83D0454, gUnknown_83D070C, gUnknown_83D0414 + .4byte gUnknown_83D0818, gUnknown_83D0B5C, gUnknown_83D07D8 + .4byte gUnknown_83D0C78, gUnknown_83D0FFC, gUnknown_83D0C38 + .4byte gUnknown_83D1124, gUnknown_83D13D8, gUnknown_83D10E4 + .4byte gUnknown_83D14F4, gUnknown_83D1788, gUnknown_83D14B4 + .4byte gUnknown_83D18B4, gUnknown_83D1B4C, gUnknown_83D1874 + .4byte gUnknown_83D1C8C, gUnknown_83D1EC4, gUnknown_83D1C2C + .4byte gUnknown_83D1FD4, gUnknown_83D22B8, gUnknown_83D1F94 + .4byte gUnknown_83D23DC, gUnknown_83D256C, gUnknown_83D239C + .4byte gUnknown_83D2654, gUnknown_83D277C, gUnknown_83D2614 + +gUnknown_83D2AD0:: + .incbin "graphics/interface/pss_unk_83D2AD0.4bpp" + .4byte 0x000023ba gUnknown_83D2B54:: @ 83D2B54 - .incbin "baserom.gba", 0x3D2B54, 0x28 + obj_tiles gUnknown_83D2AD0, 0x0080, 6 + +gUnknown_83D2B5C:: + .4byte 0x80004000, 0x00000800 + +gUnknown_83D2B64:: + obj_image_anim_frame 0x0000, 5 + obj_image_anim_end + +gUnknown_83D2B6C:: + obj_image_anim_frame 0x0008, 5 + obj_image_anim_end + +gUnknown_83D2B74:: + .4byte gUnknown_83D2B64 + .4byte gUnknown_83D2B6C gUnknown_83D2B7C:: @ 83D2B7C - .incbin "baserom.gba", 0x3D2B7C, 0x38 + spr_template 3, 56009, gUnknown_83D2B5C, gUnknown_83D2B74, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy + +gUnknown_83D2B94:: + .4byte 0x00008000, 0x00000800 + +gUnknown_83D2B9C:: + obj_image_anim_frame 0x0000, 5 + obj_image_anim_end + +gUnknown_83D2BA4:: + obj_image_anim_frame 0x0002, 5 + obj_image_anim_end + +gUnknown_83D2BAC:: + .4byte gUnknown_83D2B9C + .4byte gUnknown_83D2BA4 gUnknown_83D2BB4:: @ 83D2BB4 - .incbin "baserom.gba", 0x3D2BB4, 0x8B8 + spr_template 6, 56010, gUnknown_83D2B94, gUnknown_83D2BAC, NULL, gDummySpriteAffineAnimTable, sub_8092164 + +gUnknown_83D2BCC:: + .incbin "graphics/interface/pss_unk_83D2BCC.gbapal" + +gUnknown_83D2BEC:: + .incbin "graphics/interface/pss_unk_83D2BEC.4bpp" + +gUnknown_83D33EC:: + .incbin "graphics/interface/pss_unk_83D33EC.4bpp" gUnknown_83D346C:: @ 83D346C - .incbin "baserom.gba", 0x3D346C, 0xC + .4byte sub_8092C18 + .4byte sub_8092CA4 + .4byte sub_8092D20 gUnknown_83D3478:: @ 83D3478 - .incbin "baserom.gba", 0x3D3478, 0x28 + .4byte sub_8093F98 + .byte 0 + .align 2 + .4byte sub_809448C + .byte 1 + .align 2 + .4byte sub_80946AC + .byte 2 + .align 2 + .4byte sub_80947A0 + .byte 3 + .align 2 + .4byte NULL + .byte 0 + .align 2 gUnknown_83D34A0:: @ 83D34A0 - .incbin "baserom.gba", 0x3D34A0, 0x18 + obj_tiles gUnknown_83D2BEC, 0x0800, 0 + obj_tiles gUnknown_83D33EC, 0x0080, 1 + null_obj_tiles gUnknown_83D34B8:: @ 83D34B8 - .incbin "baserom.gba", 0x3D34B8, 0x54 + obj_pal gUnknown_83D2BCC, 56007 + null_obj_pal + +gUnknown_83D34C8:: + .4byte 0x80000000, 0x00000400 + +gUnknown_83D34D0:: + .4byte 0x40000000, 0x00000400 + +gUnknown_83D34D8:: + obj_image_anim_frame 0x0000, 30 + obj_image_anim_frame 0x0010, 30 + obj_image_anim_jump 0 + +gUnknown_83D34E4:: + obj_image_anim_frame 0x0000, 5 + obj_image_anim_end + +gUnknown_83D34EC:: + obj_image_anim_frame 0x0020, 5 + obj_image_anim_end + +gUnknown_83D34F4:: + obj_image_anim_frame 0x0030, 5 + obj_image_anim_end + +gUnknown_83D34FC:: + .4byte gUnknown_83D34D8 + .4byte gUnknown_83D34E4 + .4byte gUnknown_83D34EC + .4byte gUnknown_83D34F4 gUnknown_83D350C:: @ 83D350C - .incbin "baserom.gba", 0x3D350C, 0x18 + spr_template 0, 56010, gUnknown_83D34C8, gUnknown_83D34FC, NULL, gDummySpriteAffineAnimTable, SpriteCallbackDummy gUnknown_83D3524:: @ 83D3524 - .incbin "baserom.gba", 0x3D3524, 0x18 + spr_template 1, 56010, gUnknown_83D34D0, gDummySpriteAnimTable, NULL, gDummySpriteAffineAnimTable, sub_8094AB8 gUnknown_83D353C:: @ 83D353C - .incbin "baserom.gba", 0x3D353C, 0x98 + .4byte gUnknown_8418468 + .4byte gUnknown_841846F + .4byte gUnknown_8418475 + .4byte gUnknown_8418484 + .4byte gUnknown_841847E + .4byte gUnknown_8418489 + .4byte gUnknown_841848F + .4byte gUnknown_8418497 + .4byte gUnknown_841849F + .4byte gUnknown_84184A9 + .4byte gUnknown_84184AE + .4byte gUnknown_84184A4 + .4byte gUnknown_84184B8 + .4byte gUnknown_84184BD + .4byte gUnknown_84184BD + .4byte gUnknown_84184C2 + .4byte gUnknown_84184C9 + .4byte gUnknown_84184CD + .4byte gUnknown_84184D2 + .4byte gUnknown_84184DC + .4byte gUnknown_84184E6 + .4byte gUnknown_84184F0 + .4byte gUnknown_84184F9 + .4byte gUnknown_8418500 + .4byte gUnknown_8418505 + .4byte gUnknown_841850C + .4byte gUnknown_8418514 + .4byte gUnknown_8418519 + .4byte gUnknown_8418521 + .4byte gUnknown_8418526 + .4byte gUnknown_841852B + .4byte gUnknown_8418531 + .4byte gUnknown_841853A + .4byte gUnknown_8418540 + .4byte gUnknown_8418544 + .4byte gUnknown_841854A + .4byte gUnknown_8418555 + .4byte gUnknown_841855B gUnknown_83D35D4:: @ 83D35D4 - .incbin "baserom.gba", 0x3D35D4, 0x8 + .byte 0, 10, 3, 20, 18, 9 + .2byte 0x000a gUnknown_83D35DC:: @ 83D35DC - .incbin "baserom.gba", 0x3D35DC, 0x14C + .incbin "graphics/interface/pss_unk_83D35DC.4bpp" + +gUnknown_83D365C:: + .4byte 0x80000100, 0x00000400 + +gUnknown_83D3664:: + obj_rot_scal_anim_frame 128, 128, 0, 0 + obj_rot_scal_anim_end + +gUnknown_83D3674:: + obj_rot_scal_anim_frame 88, 88, 0, 0 + obj_rot_scal_anim_frame 5, 5, 0, 8 + obj_rot_scal_anim_end + +gUnknown_83D368C:: + obj_rot_scal_anim_frame 128, 128, 0, 0 + obj_rot_scal_anim_frame -5, -5, 0, 8 + obj_rot_scal_anim_end + +gUnknown_83D36A4:: + obj_rot_scal_anim_frame 128, 128, 0, 0 + obj_rot_scal_anim_frame 10, 10, 0, 12 + obj_rot_scal_anim_frame 256, 256, 0, 0 + obj_rot_scal_anim_end + +gUnknown_83D36C4:: + obj_rot_scal_anim_frame 256, 256, 0, 0 + obj_rot_scal_anim_frame -10, -10, 0, 12 + obj_rot_scal_anim_frame 128, 128, 0, 0 + obj_rot_scal_anim_end + +gUnknown_83D36E4:: + obj_rot_scal_anim_frame 256, 256, 0, 0 + obj_rot_scal_anim_frame -5, -5, 0, 16 + obj_rot_scal_anim_end + +gUnknown_83D36FC:: + obj_rot_scal_anim_frame 256, 256, 0, 0 + obj_rot_scal_anim_end + +gUnknown_83D370C:: + .4byte gUnknown_83D3664 + .4byte gUnknown_83D3674 + .4byte gUnknown_83D368C + .4byte gUnknown_83D36A4 + .4byte gUnknown_83D36C4 + .4byte gUnknown_83D36E4 + .4byte gUnknown_83D36FC gUnknown_83D3728:: @ 83D3728 - .incbin "baserom.gba", 0x3D3728, 0x18 + spr_template 7, 56011, gUnknown_83D365C, gDummySpriteAnimTable, NULL, gUnknown_83D370C, SpriteCallbackDummy diff --git a/data/pokemon_summary_screen.s b/data/pokemon_summary_screen.s index be7c0de93..ff732f5ae 100644 --- a/data/pokemon_summary_screen.s +++ b/data/pokemon_summary_screen.s @@ -1,134 +1,439 @@ + .include "asm/macros.inc" + .include "constants/constants.inc" .section .rodata .align 2 gUnknown_84636C0:: @ 84636C0 - .incbin "baserom.gba", 0x4636C0, 0x20 + .incbin "graphics/interface/pokesummary_unk_84636C0.gbapal" gUnknown_84636E0:: @ 84636E0 - .incbin "baserom.gba", 0x4636E0, 0x20 + .incbin "graphics/interface/pokesummary_unk_84636E0.gbapal" gUnknown_8463700:: @ 8463700 - .incbin "baserom.gba", 0x463700, 0x20 + .incbin "graphics/interface/pokesummary_unk_8463700.gbapal" gUnknown_8463720:: @ 8463720 - .incbin "baserom.gba", 0x463720, 0x20 + .incbin "graphics/interface/pokesummary_unk_8463720.gbapal" gUnknown_8463740:: @ 8463740 - .incbin "baserom.gba", 0x463740, 0x12C + .incbin "graphics/interface/pokesummary_unk_8463740.4bpp.lz" gUnknown_846386C:: @ 846386C - .incbin "baserom.gba", 0x46386C, 0x120 + .incbin "graphics/interface/pokesummary_unk_846386C.4bpp.lz" gUnknown_846398C:: @ 846398C - .incbin "baserom.gba", 0x46398C, 0x18 + .4byte 0xc0004000, 0x00000000 + +gUnknown_8463994:: @ 8463994 + obj_image_anim_frame 0x0000, 20 + obj_image_anim_jump 0 + +gUnknown_846399C:: @ 846399C + obj_image_anim_frame 0x0020, 20 + obj_image_anim_jump 0 gUnknown_84639A4:: @ 84639A4 - .incbin "baserom.gba", 0x4639A4, 0x8 + .4byte gUnknown_8463994 + .4byte gUnknown_846399C gUnknown_84639AC:: @ 84639AC - .incbin "baserom.gba", 0x4639AC, 0x48 + .4byte 0x40004000, 0x00000000 + +gUnknown_84639B4:: @ 84639B4 + obj_image_anim_frame 0x0000, 20 + obj_image_anim_jump 0 + +gUnknown_84639BC:: @ 84639BC + obj_image_anim_frame 0x0004, 20 + obj_image_anim_jump 0 + +gUnknown_84639C4:: @ 84639C4 + obj_image_anim_frame 0x0008, 20 + obj_image_anim_jump 0 + +gUnknown_84639CC:: @ 84639CC + obj_image_anim_frame 0x000c, 20 + obj_image_anim_jump 0 + +gUnknown_84639D4:: @ 84639D4 + obj_image_anim_frame 0x0010, 20 + obj_image_anim_jump 0 + +gUnknown_84639DC:: @ 84639DC + obj_image_anim_frame 0x0014, 20 + obj_image_anim_jump 0 + +gUnknown_84639E4:: @ 84639E4 + obj_image_anim_frame 0x0018, 20 + obj_image_anim_jump 0 + +gUnknown_84639EC:: @ 84639EC + obj_image_anim_frame 0x001c, 20 + obj_image_anim_jump 0 gUnknown_84639F4:: @ 84639F4 - .incbin "baserom.gba", 0x4639F4, 0x20 + .4byte gUnknown_84639B4 + .4byte gUnknown_84639BC + .4byte gUnknown_84639C4 + .4byte gUnknown_84639CC + .4byte gUnknown_84639D4 + .4byte gUnknown_84639DC + .4byte gUnknown_84639E4 + .4byte gUnknown_84639EC gUnknown_8463A14:: @ 8463A14 - .incbin "baserom.gba", 0x463A14, 0x68 + .4byte 0x00000000, 0x00000000 + +gUnknown_8463A1C:: @ 8463A1C + obj_image_anim_frame 0x0000, 20 + obj_image_anim_jump 0 + +gUnknown_8463A24:: @ 8463A24 + obj_image_anim_frame 0x0001, 20 + obj_image_anim_jump 0 + +gUnknown_8463A2C:: @ 8463A2C + obj_image_anim_frame 0x0002, 20 + obj_image_anim_jump 0 + +gUnknown_8463A34:: @ 8463A34 + obj_image_anim_frame 0x0003, 20 + obj_image_anim_jump 0 + +gUnknown_8463A3C:: @ 8463A3C + obj_image_anim_frame 0x0004, 20 + obj_image_anim_jump 0 + +gUnknown_8463A44:: @ 8463A44 + obj_image_anim_frame 0x0005, 20 + obj_image_anim_jump 0 + +gUnknown_8463A4C:: @ 8463A4C + obj_image_anim_frame 0x0006, 20 + obj_image_anim_jump 0 + +gUnknown_8463A54:: @ 8463A54 + obj_image_anim_frame 0x0007, 20 + obj_image_anim_jump 0 + +gUnknown_8463A5C:: @ 8463A5C + obj_image_anim_frame 0x0008, 20 + obj_image_anim_jump 0 + +gUnknown_8463A64:: @ 8463A64 + obj_image_anim_frame 0x0009, 20 + obj_image_anim_jump 0 + +gUnknown_8463A6C:: @ 8463A6C + obj_image_anim_frame 0x000a, 20 + obj_image_anim_jump 0 + +gUnknown_8463A74:: @ 8463A74 + obj_image_anim_frame 0x000b, 20 + obj_image_anim_jump 0 gUnknown_8463A7C:: @ 8463A7C - .incbin "baserom.gba", 0x463A7C, 0x70 + .4byte gUnknown_8463A1C + .4byte gUnknown_8463A24 + .4byte gUnknown_8463A2C + .4byte gUnknown_8463A34 + .4byte gUnknown_8463A3C + .4byte gUnknown_8463A44 + .4byte gUnknown_8463A4C + .4byte gUnknown_8463A54 + .4byte gUnknown_8463A5C + .4byte gUnknown_8463A64 + .4byte gUnknown_8463A6C + .4byte gUnknown_8463A74 + +gUnknown_8463AAC:: @ 8463AAC + .incbin "graphics/interface/pokesummary_unk_8463AAC.gbapal" + +gUnknown_8463ACC:: @ 8463ACC + .incbin "graphics/interface/pokesummary_unk_8463ACC.gbapal" gUnknown_8463AEC:: @ 8463AEC - .incbin "baserom.gba", 0x463AEC, 0x10 + .4byte 0x00000000, 0x00000000 + +gUnknown_8463AF4:: @ 8463AF4 + obj_image_anim_frame 0x0000, 20 + obj_image_anim_jump 0 gUnknown_8463AFC:: @ 8463AFC - .incbin "baserom.gba", 0x463AFC, 0x4 + .4byte gUnknown_8463AF4 gUnknown_8463B00:: @ 8463B00 - .incbin "baserom.gba", 0x463B00, 0x20 + .incbin "graphics/interface/pokesummary_unk_8463B00.gbapal" gUnknown_8463B20:: @ 8463B20 - .incbin "baserom.gba", 0x463B20, 0x10 + .incbin "graphics/interface/pokesummary_unk_8463B20.4bpp.lz" gUnknown_8463B30:: @ 8463B30 - .incbin "baserom.gba", 0x463B30, 0x10 + .4byte 0x00000000, 0x00000000 + +gUnknown_8463B38:: @ 8463B38 + obj_image_anim_frame 0x0001, 20 + obj_image_anim_jump 0 gUnknown_8463B40:: @ 8463B40 - .incbin "baserom.gba", 0x463B40, 0x4 + .4byte gUnknown_8463B38 gUnknown_8463B44:: @ 8463B44 - .incbin "baserom.gba", 0x463B44, 0x20 + .incbin "graphics/interface/pokesummary_unk_8463B44.gbapal" gUnknown_8463B64:: @ 8463B64 - .incbin "baserom.gba", 0x463B64, 0x24 + .incbin "graphics/interface/pokesummary_unk_8463B64.4bpp.lz" gUnknown_8463B88:: @ 8463B88 - .incbin "baserom.gba", 0x463B88, 0xF8 + .incbin "graphics/interface/pokesummary_unk_8463B88.bin.lz" gUnknown_8463C80:: @ 8463C80 - .incbin "baserom.gba", 0x463C80, 0x1E0 + .incbin "graphics/interface/pokesummary_unk_8463C80.bin.lz" + +gUnknown_8463DBC:: @ 8463DBC + .string "HARDY$" -gUnknown_8463E60:: @ 8463E60 - .incbin "baserom.gba", 0x463E60, 0x64 +gUnknown_8463DC2:: @ 8463DC2 + .string "LONELY$" + +gUnknown_8463DC9:: @ 8463DC9 + .string "BRAVE$" + +gUnknown_8463DCF:: @ 8463DCF + .string "ADAMANT$" + +gUnknown_8463DD7:: @ 8463DD7 + .string "NAUGHTY$" + +gUnknown_8463DDF:: @ 8463DDF + .string "BOLD$" + +gUnknown_8463DE4:: @ 8463DE4 + .string "DOCILE$" + +gUnknown_8463DEB:: @ 8463DEB + .string "RELAXED$" + +gUnknown_8463DF3:: @ 8463DF3 + .string "IMPISH$" + +gUnknown_8463DFA:: @ 8463DFA + .string "LAX$" + +gUnknown_8463DFE:: @ 8463DFE + .string "TIMID$" + +gUnknown_8463E04:: @ 8463E04 + .string "HASTY$" + +gUnknown_8463E0A:: @ 8463E0A + .string "SERIOUS$" + +gUnknown_8463E12:: @ 8463E12 + .string "JOLLY$" + +gUnknown_8463E18:: @ 8463E18 + .string "NAIVE$" + +gUnknown_8463E1E:: @ 8463E1E + .string "MODEST$" + +gUnknown_8463E25:: @ 8463E25 + .string "MILD$" + +gUnknown_8463E2A:: @ 8463E2A + .string "QUIET$" + +gUnknown_8463E30:: @ 8463E30 + .string "BASHFUL$" + +gUnknown_8463E38:: @ 8463E38 + .string "RASH$" + +gUnknown_8463E3D:: @ 8463E3D + .string "CALM$" + +gUnknown_8463E42:: @ 8463E42 + .string "GENTLE$" + +gUnknown_8463E49:: @ 8463E49 + .string "SASSY$" + +gUnknown_8463E4F:: @ 8463E4F + .string "CAREFUL$" + +gUnknown_8463E57:: @ 8463E57 + .string "QUIRKY$" + + .align 2 +gNatureNames:: @ 8463E60 dataptr + .4byte gUnknown_8463DBC + .4byte gUnknown_8463DC2 + .4byte gUnknown_8463DC9 + .4byte gUnknown_8463DCF + .4byte gUnknown_8463DD7 + .4byte gUnknown_8463DDF + .4byte gUnknown_8463DE4 + .4byte gUnknown_8463DEB + .4byte gUnknown_8463DF3 + .4byte gUnknown_8463DFA + .4byte gUnknown_8463DFE + .4byte gUnknown_8463E04 + .4byte gUnknown_8463E0A + .4byte gUnknown_8463E12 + .4byte gUnknown_8463E18 + .4byte gUnknown_8463E1E + .4byte gUnknown_8463E25 + .4byte gUnknown_8463E2A + .4byte gUnknown_8463E30 + .4byte gUnknown_8463E38 + .4byte gUnknown_8463E3D + .4byte gUnknown_8463E42 + .4byte gUnknown_8463E49 + .4byte gUnknown_8463E4F + .4byte gUnknown_8463E57 gUnknown_8463EC4:: @ 8463EC4 - .incbin "baserom.gba", 0x463EC4, 0x10 + .4byte gUnknown_8419B44 + .4byte gUnknown_8419B7B + .4byte gUnknown_8419BAE + .4byte gUnknown_8419BDB gUnknown_8463ED4:: @ 8463ED4 - .incbin "baserom.gba", 0x463ED4, 0x1C + .4byte gUnknown_8419A3D + .4byte gUnknown_8419B18 + .4byte gUnknown_8419A6E + .4byte gUnknown_8419B18 + .4byte gUnknown_8419AA2 + .4byte gUnknown_8419ADE + .4byte gUnknown_8419B18 gUnknown_8463EF0:: @ 8463EF0 - .incbin "baserom.gba", 0x463EF0, 0xC + .byte 0x00, 0x07, 0x08, 0x00, 0x01, 0x02, 0x00, 0x03, 0x04, 0x00, 0x05, 0x06 gUnknown_8463EFC:: @ 8463EFC - .incbin "baserom.gba", 0x463EFC, 0x10 + .4byte 0x000002e0 + @ { + @ .bg = 0, + @ .charBaseIndex = 0, + @ .mapBaseIndex = 14, + @ .screenSize = 1, + @ .paletteMode = 0, + @ .priority = 0, + @ .baseTile = 0x0000 + @ } + .4byte 0x000012aa + @ { + @ .bg = 2, + @ .charBaseIndex = 2, + @ .mapBaseIndex = 10, + @ .screenSize = 1, + @ .paletteMode = 0, + @ .priority = 1, + @ .baseTile = 0x0000 + @ } + .4byte 0x0000309b + @ { + @ .bg = 3, + @ .charBaseIndex = 2, + @ .mapBaseIndex = 9, + @ .screenSize = 0, + @ .paletteMode = 0, + @ .priority = 3, + @ .baseTile = 0x0000 + @ } + .4byte 0x000022c9 + @ { + @ .bg = 1, + @ .charBaseIndex = 2, + @ .mapBaseIndex = 12, + @ .screenSize = 1, + @ .paletteMode = 0, + @ .priority = 2, + @ .baseTile = 0x0000 + @ } gUnknown_8463F0C:: @ 8463F0C - .incbin "baserom.gba", 0x463F0C, 0x18 + .byte 1, 0, 0, 13, 2, 7 + .2byte 0x0258 + .byte 1, 19, 0, 11, 2, 7 + .2byte 0x0272 + .byte 1, 0, 2, 15, 2, 7 + .2byte 0x0288 gUnknown_8463F24:: @ 8463F24 - .incbin "baserom.gba", 0x463F24, 0x18 + .byte 2, 0, 0, 13, 2, 7 + .2byte 0x0258 + .byte 2, 19, 0, 11, 2, 7 + .2byte 0x0272 + .byte 2, 0, 2, 15, 2, 7 + .2byte 0x0288 gUnknown_8463F3C:: @ 8463F3C - .incbin "baserom.gba", 0x463F3C, 0x20 + .byte 0, 15, 2, 15, 12, 6 + .2byte 0x0001 + .byte 0, 1, 14, 28, 6, 6 + .2byte 0x00b5 + .byte 0, 0, 0, 0, 0, 0 + .2byte 0x0000 + .byte 0, 0, 0, 0, 0, 0 + .2byte 0x0000 gUnknown_8463F5C:: @ 8463F5C - .incbin "baserom.gba", 0x463F5C, 0x20 + .byte 0, 20, 2, 10, 14, 6 + .2byte 0x0001 + .byte 0, 6, 12, 14, 4, 6 + .2byte 0x008d + .byte 0, 1, 16, 29, 4, 6 + .2byte 0x00c5 + .byte 0, 0, 0, 0, 0, 0 + .2byte 0x0000 gUnknown_8463F7C:: @ 8463F7C - .incbin "baserom.gba", 0x463F7C, 0x20 + .byte 0, 20, 2, 10, 18, 8 + .2byte 0x0001 + .byte 0, 0, 7, 15, 13, 6 + .2byte 0x00b5 + .byte 0, 15, 2, 5, 18, 6 + .2byte 0x0178 + .byte 0, 6, 4, 9, 2, 6 + .2byte 0x01d2 gUnknown_8463F9C:: @ 8463F9C - .incbin "baserom.gba", 0x463F9C, 0x8 + .byte 255, 0, 0, 0, 0, 0 + .2byte 0x0000 gUnknown_8463FA4:: @ 8463FA4 - .incbin "baserom.gba", 0x463FA4, 0x3 + .byte 0x00, 0x0e, 0x0a gUnknown_8463FA7:: @ 8463FA7 - .incbin "baserom.gba", 0x463FA7, 0x11 + .byte 0x00, 0x01, 0x02, 0x00, 0x09, 0x08, 0x00, 0x05, 0x04, 0x00, 0x02, 0x03, 0x00, 0x0b, 0x0a, 0x00, 0x00 gUnknown_8463FB8:: @ 8463FB8 - .incbin "baserom.gba", 0x463FB8, 0x6 + .byte 0x00, 0x02, 0x03, 0x01, 0x04, 0x05 gUnknown_8463FBE:: @ 8463FBE - .incbin "baserom.gba", 0x463FBE, 0x3 + .byte 0xff, 0x00, 0x01 gUnknown_8463FC1:: @ 8463FC1 - .incbin "baserom.gba", 0x463FC1, 0x5 + .byte 0xfe, 0xff, 0x00, 0x01, 0x02 gUnknown_8463FC6:: @ 8463FC6 - .incbin "baserom.gba", 0x463FC6, 0x7 + .byte 0xfd, 0xfe, 0xff, 0x00, 0x01, 0x02, 0x03 gUnknown_8463FCD:: @ 8463FCD - .incbin "baserom.gba", 0x463FCD, 0x7 + .byte 0xfb, 0xfd, 0xff, 0x00, 0x01, 0x03, 0x05 gUnknown_8463FD4:: @ 8463FD4 - .incbin "baserom.gba", 0x463FD4, 0xB + .byte 0x01, 0x01, 0x00, 0xff, 0xff, 0x00, 0xff, 0xff, 0x00, 0x01, 0x01 gUnknown_8463FDF:: @ 8463FDF - .incbin "baserom.gba", 0x463FDF, 0xB + .byte 0x02, 0x01, 0x00, 0xff, 0xfe, 0x00, 0xfe, 0xff, 0x00, 0x01, 0x02 gUnknown_8463FEA:: @ 8463FEA - .incbin "baserom.gba", 0x463FEA, 0x12 + .byte 0x02, 0x01, 0x01, 0x00, 0xff, 0xff, 0xfe, 0x00, 0xfe, 0xff, 0xff, 0x00, 0x01, 0x01, 0x02, 0x00, 0x00, 0x00 gUnknown_8463FFC:: @ 8463FFC - .incbin "baserom.gba", 0x463FFC, 0xC + .4byte gUnknown_8E9B578 + .4byte gUnknown_8463AAC + .4byte gUnknown_8463ACC diff --git a/data/shop.s b/data/shop.s deleted file mode 100644 index a675cfae2..000000000 --- a/data/shop.s +++ /dev/null @@ -1,92 +0,0 @@ -#include "constants/maps.h" -#include "constants/species.h" - .include "asm/macros.inc" - .include "constants/constants.inc" - - .section .rodata - .align 2 - -gUnknown_83DF09C:: @ 83DF09C - .4byte gUnknown_8416738, sub_809AC5C - .4byte gUnknown_841673C, sub_809AC98 - .4byte gUnknown_8416741, sub_809ACF8 - -gUnknown_83DF0B4:: @ 83DF0B4 - .4byte sub_809BEA4 - .4byte sub_809BF98 - -gUnknown_83DF0BC:: @ 83DF0BC - .byte 0, 2, 1, 12, 6, 15 - .2byte 0x0008 - @ { - @ .bg = 0, - @ .tilemapLeft = 2, - @ .tilemapTop = 1, - @ .width = 12, - @ .height = 6, - @ .paletteNum = 15, - @ .baseBlock = 0x0008 - @ } - -gUnknown_83DF0C4:: @ 83DF0C4 - .4byte 0x000001f8 - @ { - @ .bg = 0, - @ .charBaseIndex = 2, - @ .mapBaseIndex = 31, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 0, - @ .baseTile = 0x0000 - @ } - .4byte 0x000011e1 - @ { - @ .bg = 1, - @ .charBaseIndex = 0, - @ .mapBaseIndex = 30, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 1, - @ .baseTile = 0x0000 - @ } - .4byte 0x000021d2 - @ { - @ .bg = 2, - @ .charBaseIndex = 0, - @ .mapBaseIndex = 29, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 2, - @ .baseTile = 0x0000 - @ } - .4byte 0x000031c3 - @ { - @ .bg = 3, - @ .charBaseIndex = 0, - @ .mapBaseIndex = 28, - @ .screenSize = 0, - @ .paletteMode = 0, - @ .priority = 3, - @ .baseTile = 0x0000 - @ } - -gUnknown_83DF0D4:: @ 83DF0D4 - .2byte 0x0308, 0x030a, 0x02d0 - -gUnknown_83DF0DA:: @ 83DF0DA - .2byte 0x0309, 0x030b, 0x02d1 - -gUnknown_83DF0E0:: @ 83DF0E0 - .2byte 0x0310, 0x0312, 0x02d8 - -gUnknown_83DF0E6:: @ 83DF0E6 - .2byte 0x0311, 0x0313, 0x02d9 - -gUnknown_83DF0EC:: @ 83DF0EC - .2byte 0x02e3, 0x0316, 0x0314 - -gUnknown_83DF0F2:: @ 83DF0F2 - .2byte 0x02e4, 0x0317, 0x0315 - -gUnknown_83DF0F8:: @ 83DF0F8 - .2byte 0x02eb, 0x031e, 0x031c diff --git a/data/strings.s b/data/strings.s index ac7241354..2cbcf5503 100644 --- a/data/strings.s +++ b/data/strings.s @@ -475,7 +475,7 @@ gUnknown_8416210:: @ 8416210 gText_ThreeHyphens:: @ 8416213 .string "---$" -gUnknown_8416217:: @ 8416217 +gText_SevenHyphens:: @ 8416217 .string "-------$" gText_MaleSymbol:: @ 841621F @@ -720,26 +720,26 @@ gText_TheBerryPouchWillBePutAway:: @ 8416716 .string "The BERRY POUCH will be\n" .string "put away.$" -gUnknown_8416738:: @ 0x8416738 +gText_ShopBuy:: @ 0x8416738 .string "BUY$" -gUnknown_841673C:: @ 0x841673C +gText_ShopSell:: @ 0x841673C .string "SELL$" -gUnknown_8416741:: @ 0x8416741 +gText_ShopQuit:: @ 0x8416741 .string "SEE YA!$" -gUnknown_8416749:: @ 8416749 +gText_InBagVar1:: @ 8416749 .string "IN BAG:{SMALL} {STR_VAR_1}$" -gUnknown_8416757:: @ 8416757 +gText_QuitShopping:: @ 8416757 .string "Quit shopping.$" -gUnknown_8416766:: @ 8416766 +gText_Var1CertainlyHowMany:: @ 8416766 .string "{STR_VAR_1}? Certainly.\n" .string "How many would you like?$" -gUnknown_841678E:: @ 841678E +gText_Var1AndYouWantedVar2:: @ 841678E .string "{STR_VAR_1}, and you want {STR_VAR_2}.\n" .string "That will be ¥{STR_VAR_3}. Okay?$" @@ -751,7 +751,7 @@ gUnknown_84167D0:: @ 0x84167D0 .string "{STR_VAR_1} ですね!\n" .string "{STR_VAR_2}¥ だけど かいますか?$" -gUnknown_84167E7:: @ 84167E7 +gText_HereYouGoThankYou:: @ 84167E7 .string "Here you are!\n" .string "Thank you!$" @@ -763,10 +763,10 @@ gUnknown_8416822:: @ 0x8416822 .string "どうも ありがとう!\n" .string "じたくの パソコンに おくって おくね!$" -gUnknown_8416842:: @ 8416842 +gText_YouDontHaveMoney:: @ 8416842 .string "You don't have enough money.{PAUSE_UNTIL_PRESS}$" -gUnknown_8416861:: @ 8416861 +gText_NoMoreRoomForThis:: @ 8416861 .string "You have no more room for this\n" .string "item.{PAUSE_UNTIL_PRESS}$" @@ -774,7 +774,7 @@ gUnknown_8416888:: @ 0x8416888 .string "{STR_VAR_1}を\n" .string "いれる ばしょが いっぱいです{PAUSE_UNTIL_PRESS}$" -gUnknown_841689E:: @ 841689E +gText_CanIHelpWithAnythingElse:: @ 841689E .string "Is there anything else I can do?$" gUnknown_84168BF:: @ 0x84168BF diff --git a/graphics/field_effects/unk_83CA770.png b/graphics/field_effects/unk_83CA770.png Binary files differnew file mode 100644 index 000000000..d3ca87183 --- /dev/null +++ b/graphics/field_effects/unk_83CA770.png diff --git a/graphics/field_effects/unk_83CAF70.pal b/graphics/field_effects/unk_83CAF70.pal new file mode 100644 index 000000000..2484c8e07 --- /dev/null +++ b/graphics/field_effects/unk_83CAF70.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 222 205 +238 180 148 +197 139 106 +106 74 74 +139 156 164 +139 156 172 +74 98 123 +49 65 82 +213 213 222 +131 16 41 +115 115 115 +213 82 90 +180 41 57 +255 255 255 +0 0 0 diff --git a/graphics/field_effects/unk_83CAF90.png b/graphics/field_effects/unk_83CAF90.png Binary files differnew file mode 100644 index 000000000..c6c456817 --- /dev/null +++ b/graphics/field_effects/unk_83CAF90.png diff --git a/graphics/field_effects/unk_83CAFB0.pal b/graphics/field_effects/unk_83CAFB0.pal new file mode 100644 index 000000000..5e2face1d --- /dev/null +++ b/graphics/field_effects/unk_83CAFB0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +156 180 172 +106 115 115 +57 57 57 +156 24 24 +255 0 0 +255 123 123 +255 255 255 +82 82 106 +123 123 123 +255 255 255 +189 230 255 +164 197 230 +156 189 213 +90 131 180 diff --git a/graphics/field_effects/unk_83CAFD0.png b/graphics/field_effects/unk_83CAFD0.png Binary files differnew file mode 100644 index 000000000..54117cf6b --- /dev/null +++ b/graphics/field_effects/unk_83CAFD0.png diff --git a/graphics/field_effects/unk_83CB3D0.pal b/graphics/field_effects/unk_83CB3D0.pal new file mode 100644 index 000000000..856316be9 --- /dev/null +++ b/graphics/field_effects/unk_83CB3D0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +82 82 106 +115 255 255 +98 197 205 +90 139 156 +65 115 139 diff --git a/graphics/field_effects/unk_83CB3F0.png b/graphics/field_effects/unk_83CB3F0.png Binary files differnew file mode 100644 index 000000000..1e3433a3c --- /dev/null +++ b/graphics/field_effects/unk_83CB3F0.png diff --git a/graphics/field_effects/unk_83CB5F0.png b/graphics/field_effects/unk_83CB5F0.png Binary files differnew file mode 100644 index 000000000..8f9c6a6a7 --- /dev/null +++ b/graphics/field_effects/unk_83CB5F0.png diff --git a/graphics/field_effects/unk_83CB7F0.pal b/graphics/field_effects/unk_83CB7F0.pal new file mode 100644 index 000000000..12bc76261 --- /dev/null +++ b/graphics/field_effects/unk_83CB7F0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +255 255 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/field_effects/unk_83CB810.bin b/graphics/field_effects/unk_83CB810.bin Binary files differnew file mode 100644 index 000000000..466f456be --- /dev/null +++ b/graphics/field_effects/unk_83CB810.bin diff --git a/graphics/field_effects/unk_83CBA90.png b/graphics/field_effects/unk_83CBA90.png Binary files differnew file mode 100644 index 000000000..62d4f6965 --- /dev/null +++ b/graphics/field_effects/unk_83CBA90.png diff --git a/graphics/field_effects/unk_83CBB10.pal b/graphics/field_effects/unk_83CBB10.pal new file mode 100644 index 000000000..37ea1ae61 --- /dev/null +++ b/graphics/field_effects/unk_83CBB10.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 139 57 +0 0 0 +148 148 148 +197 197 197 +255 255 255 +123 156 230 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/field_effects/unk_83CBB30.bin b/graphics/field_effects/unk_83CBB30.bin Binary files differnew file mode 100644 index 000000000..9543a056e --- /dev/null +++ b/graphics/field_effects/unk_83CBB30.bin diff --git a/graphics/interface/naming_screen_83E1800.png b/graphics/interface/naming_screen_83E1800.png Binary files differnew file mode 100644 index 000000000..a24d40836 --- /dev/null +++ b/graphics/interface/naming_screen_83E1800.png diff --git a/graphics/interface/naming_screen_83E18C0.png b/graphics/interface/naming_screen_83E18C0.png Binary files differnew file mode 100644 index 000000000..1985816c3 --- /dev/null +++ b/graphics/interface/naming_screen_83E18C0.png diff --git a/graphics/interface/naming_screen_83E1980.png b/graphics/interface/naming_screen_83E1980.png Binary files differnew file mode 100644 index 000000000..b69dadcc4 --- /dev/null +++ b/graphics/interface/naming_screen_83E1980.png diff --git a/graphics/interface/naming_screen_8E98004.pal b/graphics/interface/naming_screen_8E98004.pal new file mode 100644 index 000000000..c3158adbf --- /dev/null +++ b/graphics/interface/naming_screen_8E98004.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +115 197 164 +255 213 180 +255 197 148 +222 148 115 +123 65 65 +213 172 65 +156 106 32 +106 74 32 +115 189 0 +65 123 0 +32 65 16 +213 115 164 +164 65 115 +82 32 65 +230 230 49 +0 0 0 diff --git a/graphics/interface/naming_screen_8E98024.pal b/graphics/interface/naming_screen_8E98024.pal new file mode 100644 index 000000000..2f5c86a56 --- /dev/null +++ b/graphics/interface/naming_screen_8E98024.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 156 213 +255 255 255 +115 115 115 +139 139 131 +172 172 164 +197 189 180 +230 222 213 +197 230 156 +213 238 189 +230 246 222 +0 0 0 +0 0 0 +213 205 82 +230 222 90 +238 230 139 +246 238 197 diff --git a/graphics/interface/naming_screen_8E98044.pal b/graphics/interface/naming_screen_8E98044.pal new file mode 100644 index 000000000..af5c2d1a5 --- /dev/null +++ b/graphics/interface/naming_screen_8E98044.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 156 213 +255 255 255 +57 57 57 +115 115 115 +0 0 0 +0 0 0 +0 0 0 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +74 115 139 +98 139 164 +123 172 197 +156 205 230 +180 222 246 diff --git a/graphics/interface/naming_screen_8E98064.pal b/graphics/interface/naming_screen_8E98064.pal new file mode 100644 index 000000000..0fac7e375 --- /dev/null +++ b/graphics/interface/naming_screen_8E98064.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 156 213 +255 255 255 +57 57 57 +115 115 115 +0 0 0 +0 0 0 +0 0 0 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +172 115 74 +189 131 90 +213 156 115 +246 205 164 +255 230 197 diff --git a/graphics/interface/naming_screen_8E98084.pal b/graphics/interface/naming_screen_8E98084.pal new file mode 100644 index 000000000..0bb9d4f71 --- /dev/null +++ b/graphics/interface/naming_screen_8E98084.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 156 213 +255 255 255 +57 57 57 +115 115 115 +0 0 0 +0 0 0 +0 0 0 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +98 156 57 +123 172 82 +148 189 106 +197 230 156 +213 238 189 diff --git a/graphics/interface/naming_screen_8E980A4.pal b/graphics/interface/naming_screen_8E980A4.pal new file mode 100644 index 000000000..fdf80bdb0 --- /dev/null +++ b/graphics/interface/naming_screen_8E980A4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 156 213 +255 255 255 +57 57 57 +139 139 131 +197 189 180 +230 222 213 +74 115 139 +123 172 197 +172 115 74 +213 156 115 +98 156 57 +148 189 106 +189 164 32 +230 222 90 +57 57 57 +57 57 57 diff --git a/graphics/interface/naming_screen_8E980C4.pal b/graphics/interface/naming_screen_8E980C4.pal new file mode 100644 index 000000000..8950f9b34 --- /dev/null +++ b/graphics/interface/naming_screen_8E980C4.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +106 156 213 +255 8 8 +222 57 74 +180 65 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 222 213 +0 0 0 +230 222 213 +0 0 0 diff --git a/graphics/interface/naming_screen_8E985D8.png b/graphics/interface/naming_screen_8E985D8.png Binary files differnew file mode 100644 index 000000000..1e8f40983 --- /dev/null +++ b/graphics/interface/naming_screen_8E985D8.png diff --git a/graphics/interface/naming_screen_8E98858.png b/graphics/interface/naming_screen_8E98858.png Binary files differnew file mode 100644 index 000000000..57c434194 --- /dev/null +++ b/graphics/interface/naming_screen_8E98858.png diff --git a/graphics/interface/naming_screen_8E98A38.png b/graphics/interface/naming_screen_8E98A38.png Binary files differnew file mode 100644 index 000000000..51acd15d1 --- /dev/null +++ b/graphics/interface/naming_screen_8E98A38.png diff --git a/graphics/interface/naming_screen_8E98C18.png b/graphics/interface/naming_screen_8E98C18.png Binary files differnew file mode 100644 index 000000000..68f0637b4 --- /dev/null +++ b/graphics/interface/naming_screen_8E98C18.png diff --git a/graphics/interface/naming_screen_8E98CB8.png b/graphics/interface/naming_screen_8E98CB8.png Binary files differnew file mode 100644 index 000000000..741c5e589 --- /dev/null +++ b/graphics/interface/naming_screen_8E98CB8.png diff --git a/graphics/interface/naming_screen_8E98D58.png b/graphics/interface/naming_screen_8E98D58.png Binary files differnew file mode 100644 index 000000000..32afa5282 --- /dev/null +++ b/graphics/interface/naming_screen_8E98D58.png diff --git a/graphics/interface/naming_screen_8E98DF8.png b/graphics/interface/naming_screen_8E98DF8.png Binary files differnew file mode 100644 index 000000000..e34896cb9 --- /dev/null +++ b/graphics/interface/naming_screen_8E98DF8.png diff --git a/graphics/interface/naming_screen_8E98E98.png b/graphics/interface/naming_screen_8E98E98.png Binary files differnew file mode 100644 index 000000000..45197320d --- /dev/null +++ b/graphics/interface/naming_screen_8E98E98.png diff --git a/graphics/interface/naming_screen_8E98F38.png b/graphics/interface/naming_screen_8E98F38.png Binary files differnew file mode 100644 index 000000000..bf1049e89 --- /dev/null +++ b/graphics/interface/naming_screen_8E98F38.png diff --git a/graphics/interface/naming_screen_8E98FD8.png b/graphics/interface/naming_screen_8E98FD8.png Binary files differnew file mode 100644 index 000000000..6c8fa888d --- /dev/null +++ b/graphics/interface/naming_screen_8E98FD8.png diff --git a/graphics/interface/naming_screen_8E990D8.png b/graphics/interface/naming_screen_8E990D8.png Binary files differnew file mode 100644 index 000000000..dd3f2a671 --- /dev/null +++ b/graphics/interface/naming_screen_8E990D8.png diff --git a/graphics/interface/naming_screen_8E990F8.png b/graphics/interface/naming_screen_8E990F8.png Binary files differnew file mode 100644 index 000000000..5d631ce99 --- /dev/null +++ b/graphics/interface/naming_screen_8E990F8.png diff --git a/graphics/interface/pokesummary_unk_84636C0.pal b/graphics/interface/pokesummary_unk_84636C0.pal new file mode 100644 index 000000000..915f86eb9 --- /dev/null +++ b/graphics/interface/pokesummary_unk_84636C0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 255 255 +255 255 255 +98 98 98 +213 213 205 +230 8 8 +255 189 115 +32 156 8 +148 246 148 +49 82 205 +164 197 246 +238 222 0 +255 246 139 +0 0 0 +0 0 0 +0 0 0 +16 115 230 diff --git a/graphics/interface/pokesummary_unk_84636E0.pal b/graphics/interface/pokesummary_unk_84636E0.pal new file mode 100644 index 000000000..4feaa7bf5 --- /dev/null +++ b/graphics/interface/pokesummary_unk_84636E0.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +222 222 222 +238 230 238 +255 139 8 +246 189 123 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface/pokesummary_unk_8463700.pal b/graphics/interface/pokesummary_unk_8463700.pal new file mode 100644 index 000000000..e895b8cf7 --- /dev/null +++ b/graphics/interface/pokesummary_unk_8463700.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +238 222 0 +255 246 139 +255 148 0 +255 238 115 +238 0 0 +246 222 156 +32 32 32 +222 222 222 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface/pokesummary_unk_8463720.pal b/graphics/interface/pokesummary_unk_8463720.pal new file mode 100644 index 000000000..b0e0be5f5 --- /dev/null +++ b/graphics/interface/pokesummary_unk_8463720.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +230 57 0 +0 90 213 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 +255 0 255 diff --git a/graphics/interface/pokesummary_unk_8463740.png b/graphics/interface/pokesummary_unk_8463740.png Binary files differnew file mode 100644 index 000000000..fedcbdc68 --- /dev/null +++ b/graphics/interface/pokesummary_unk_8463740.png diff --git a/graphics/interface/pokesummary_unk_846386C.png b/graphics/interface/pokesummary_unk_846386C.png Binary files differnew file mode 100644 index 000000000..98c6e4a6a --- /dev/null +++ b/graphics/interface/pokesummary_unk_846386C.png diff --git a/graphics/interface/pokesummary_unk_8463AAC.pal b/graphics/interface/pokesummary_unk_8463AAC.pal new file mode 100644 index 000000000..358aa7e52 --- /dev/null +++ b/graphics/interface/pokesummary_unk_8463AAC.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 189 148 +255 230 57 +205 172 8 +123 131 148 +98 106 123 +255 213 82 +255 180 65 +139 205 255 +82 164 238 +0 0 0 +0 0 0 +180 172 139 +156 148 115 +131 139 156 +98 106 123 +255 255 255 diff --git a/graphics/interface/pokesummary_unk_8463ACC.pal b/graphics/interface/pokesummary_unk_8463ACC.pal new file mode 100644 index 000000000..59238429c --- /dev/null +++ b/graphics/interface/pokesummary_unk_8463ACC.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +189 189 148 +255 90 57 +172 65 74 +123 131 148 +98 106 123 +255 213 82 +255 180 65 +139 205 255 +82 164 238 +0 0 0 +0 0 0 +180 172 139 +156 148 115 +131 139 156 +98 106 123 +255 255 255 diff --git a/graphics/interface/pokesummary_unk_8463B00.pal b/graphics/interface/pokesummary_unk_8463B00.pal new file mode 100644 index 000000000..61af05b25 --- /dev/null +++ b/graphics/interface/pokesummary_unk_8463B00.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 164 164 +106 106 106 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface/pokesummary_unk_8463B20.png b/graphics/interface/pokesummary_unk_8463B20.png Binary files differnew file mode 100644 index 000000000..f79ac524b --- /dev/null +++ b/graphics/interface/pokesummary_unk_8463B20.png diff --git a/graphics/interface/pokesummary_unk_8463B44.pal b/graphics/interface/pokesummary_unk_8463B44.pal new file mode 100644 index 000000000..37aafef66 --- /dev/null +++ b/graphics/interface/pokesummary_unk_8463B44.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 213 82 +189 148 16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface/pokesummary_unk_8463B64.png b/graphics/interface/pokesummary_unk_8463B64.png Binary files differnew file mode 100644 index 000000000..481b426e3 --- /dev/null +++ b/graphics/interface/pokesummary_unk_8463B64.png diff --git a/graphics/interface/pokesummary_unk_8463B88.bin b/graphics/interface/pokesummary_unk_8463B88.bin Binary files differnew file mode 100644 index 000000000..54ce011ac --- /dev/null +++ b/graphics/interface/pokesummary_unk_8463B88.bin diff --git a/graphics/interface/pokesummary_unk_8463C80.bin b/graphics/interface/pokesummary_unk_8463C80.bin Binary files differnew file mode 100644 index 000000000..4b044887c --- /dev/null +++ b/graphics/interface/pokesummary_unk_8463C80.bin diff --git a/graphics/interface/pss_unk_83CDA98.pal b/graphics/interface/pss_unk_83CDA98.pal new file mode 100644 index 000000000..3743fa228 --- /dev/null +++ b/graphics/interface/pss_unk_83CDA98.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +246 222 115 +246 230 180 +205 123 0 +123 74 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface/pss_unk_83CDAB8.png b/graphics/interface/pss_unk_83CDAB8.png Binary files differnew file mode 100644 index 000000000..5b7d0a3b6 --- /dev/null +++ b/graphics/interface/pss_unk_83CDAB8.png diff --git a/graphics/interface/pss_unk_83CE2B8.png b/graphics/interface/pss_unk_83CE2B8.png Binary files differnew file mode 100644 index 000000000..18ac36e21 --- /dev/null +++ b/graphics/interface/pss_unk_83CE2B8.png diff --git a/graphics/interface/pss_unk_83CE438.png b/graphics/interface/pss_unk_83CE438.png Binary files differnew file mode 100644 index 000000000..8be861a26 --- /dev/null +++ b/graphics/interface/pss_unk_83CE438.png diff --git a/graphics/interface/pss_unk_83CE4D0.bin b/graphics/interface/pss_unk_83CE4D0.bin Binary files differnew file mode 100644 index 000000000..25b6cf240 --- /dev/null +++ b/graphics/interface/pss_unk_83CE4D0.bin diff --git a/graphics/interface/pss_unk_83CE5DC.pal b/graphics/interface/pss_unk_83CE5DC.pal new file mode 100644 index 000000000..bf5197761 --- /dev/null +++ b/graphics/interface/pss_unk_83CE5DC.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 90 57 +148 148 172 +255 255 255 +0 0 0 +222 222 246 +90 189 238 +164 164 180 +98 98 115 +0 0 0 +82 82 90 +189 238 98 +164 222 74 +164 230 74 +180 230 115 +148 205 57 +148 148 172 diff --git a/graphics/interface/pss_unk_83CE5FC.bin b/graphics/interface/pss_unk_83CE5FC.bin Binary files differnew file mode 100644 index 000000000..050dd78f9 --- /dev/null +++ b/graphics/interface/pss_unk_83CE5FC.bin diff --git a/graphics/interface/pss_unk_83CE738.pal b/graphics/interface/pss_unk_83CE738.pal new file mode 100644 index 000000000..087a84a69 --- /dev/null +++ b/graphics/interface/pss_unk_83CE738.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +148 148 172 +255 255 255 +0 0 0 +123 189 255 +0 123 255 +255 131 131 +172 24 24 +255 238 230 +255 230 213 +255 222 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface/pss_unk_83CE758.pal b/graphics/interface/pss_unk_83CE758.pal new file mode 100644 index 000000000..74876ded3 --- /dev/null +++ b/graphics/interface/pss_unk_83CE758.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +148 148 172 +255 255 255 +0 0 0 +123 189 255 +0 123 255 +255 131 131 +172 24 24 +230 246 255 +222 238 246 +213 238 246 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface/pss_unk_83CE810.png b/graphics/interface/pss_unk_83CE810.png Binary files differnew file mode 100644 index 000000000..d414dbc03 --- /dev/null +++ b/graphics/interface/pss_unk_83CE810.png diff --git a/graphics/interface/pss_unk_83CE9D0.pal b/graphics/interface/pss_unk_83CE9D0.pal new file mode 100644 index 000000000..a28f6d332 --- /dev/null +++ b/graphics/interface/pss_unk_83CE9D0.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +0 0 0 +65 205 255 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 139 189 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 148 172 +0 0 0 +255 156 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 90 82 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +148 148 172 diff --git a/graphics/interface/pss_unk_83CEA10.pal b/graphics/interface/pss_unk_83CEA10.pal new file mode 100644 index 000000000..b9c6f46de --- /dev/null +++ b/graphics/interface/pss_unk_83CEA10.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +0 0 0 +255 255 255 +98 98 98 +213 213 205 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface/pss_unk_83CEA30.pal b/graphics/interface/pss_unk_83CEA30.pal new file mode 100644 index 000000000..dcc6395db --- /dev/null +++ b/graphics/interface/pss_unk_83CEA30.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +8 0 0 +90 65 16 +57 197 0 +0 49 0 +0 197 16 +139 131 32 +16 65 24 +164 0 0 +0 0 0 +98 65 49 +65 197 24 +164 0 0 +255 57 0 +0 0 0 +0 0 0 +0 0 0 diff --git a/graphics/interface/pss_unk_83CEC40.pal b/graphics/interface/pss_unk_83CEC40.pal new file mode 100644 index 000000000..d2663e710 --- /dev/null +++ b/graphics/interface/pss_unk_83CEC40.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 255 +246 255 230 +255 255 213 +222 255 189 +197 246 164 +156 255 139 +123 222 106 +90 189 74 +172 123 41 +205 213 172 +172 180 139 +148 156 115 +123 131 90 +255 255 255 +164 139 82 +123 98 41 +255 255 255 +230 255 172 +205 255 148 +180 230 123 +156 205 98 +131 180 74 +106 156 49 +82 131 24 +0 0 0 +205 213 172 +172 180 139 +0 0 0 +0 0 0 +0 0 0 +164 139 82 +123 98 41 diff --git a/graphics/interface/pss_unk_83CEC80.png b/graphics/interface/pss_unk_83CEC80.png Binary files differnew file mode 100644 index 000000000..7307fc601 --- /dev/null +++ b/graphics/interface/pss_unk_83CEC80.png diff --git a/graphics/interface/pss_unk_83CF050.bin b/graphics/interface/pss_unk_83CF050.bin Binary files differnew file mode 100644 index 000000000..005155f6c --- /dev/null +++ b/graphics/interface/pss_unk_83CF050.bin diff --git a/graphics/interface/pss_unk_83CF12C.pal b/graphics/interface/pss_unk_83CF12C.pal new file mode 100644 index 000000000..b430df83e --- /dev/null +++ b/graphics/interface/pss_unk_83CF12C.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 255 +246 246 246 +90 131 197 +123 164 213 +156 197 230 +82 131 115 +115 164 148 +180 189 197 +148 156 164 +115 123 131 +82 90 98 +189 189 230 +222 246 246 +189 213 213 +156 123 82 +106 74 32 +255 255 255 +255 255 246 +255 238 246 +230 213 222 +205 189 197 +164 148 156 +139 123 131 +0 0 0 +0 0 0 +180 164 172 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +156 123 82 +115 82 41 diff --git a/graphics/interface/pss_unk_83CF16C.png b/graphics/interface/pss_unk_83CF16C.png Binary files differnew file mode 100644 index 000000000..baaff23a9 --- /dev/null +++ b/graphics/interface/pss_unk_83CF16C.png diff --git a/graphics/interface/pss_unk_83CF374.bin b/graphics/interface/pss_unk_83CF374.bin Binary files differnew file mode 100644 index 000000000..8274f44a4 --- /dev/null +++ b/graphics/interface/pss_unk_83CF374.bin diff --git a/graphics/interface/pss_unk_83CF424.pal b/graphics/interface/pss_unk_83CF424.pal new file mode 100644 index 000000000..a3a5cb4ea --- /dev/null +++ b/graphics/interface/pss_unk_83CF424.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 255 +255 255 139 +205 189 131 +230 197 98 +230 180 90 +172 164 172 +57 57 57 +172 172 172 +123 123 123 +57 57 57 +213 189 98 +246 205 74 +255 230 106 +255 255 255 +164 139 82 +123 98 41 +255 255 255 +255 238 189 +255 213 164 +230 189 139 +205 164 115 +180 139 90 +156 115 65 +131 90 41 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +164 139 82 +123 98 41 diff --git a/graphics/interface/pss_unk_83CF464.png b/graphics/interface/pss_unk_83CF464.png Binary files differnew file mode 100644 index 000000000..6de13c4b0 --- /dev/null +++ b/graphics/interface/pss_unk_83CF464.png diff --git a/graphics/interface/pss_unk_83CF750.bin b/graphics/interface/pss_unk_83CF750.bin Binary files differnew file mode 100644 index 000000000..75207eaf5 --- /dev/null +++ b/graphics/interface/pss_unk_83CF750.bin diff --git a/graphics/interface/pss_unk_83CF834.pal b/graphics/interface/pss_unk_83CF834.pal new file mode 100644 index 000000000..a7789ddfe --- /dev/null +++ b/graphics/interface/pss_unk_83CF834.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 255 +222 222 222 +189 189 189 +238 255 255 +213 230 246 +189 205 222 +57 57 57 +222 222 98 +164 164 41 +115 164 41 +148 197 74 +189 189 65 +230 230 230 +255 255 255 +189 156 82 +148 115 41 +255 255 255 +255 255 131 +222 222 98 +189 189 65 +156 156 32 +123 123 0 +90 90 0 +57 57 0 +189 189 65 +131 180 57 +115 164 41 +205 205 82 +238 238 238 +255 255 255 +189 156 82 +148 115 41 diff --git a/graphics/interface/pss_unk_83CF874.png b/graphics/interface/pss_unk_83CF874.png Binary files differnew file mode 100644 index 000000000..bacf96c2e --- /dev/null +++ b/graphics/interface/pss_unk_83CF874.png diff --git a/graphics/interface/pss_unk_83CFA94.bin b/graphics/interface/pss_unk_83CFA94.bin Binary files differnew file mode 100644 index 000000000..4d166b7a9 --- /dev/null +++ b/graphics/interface/pss_unk_83CFA94.bin diff --git a/graphics/interface/pss_unk_83CFB60.pal b/graphics/interface/pss_unk_83CFB60.pal new file mode 100644 index 000000000..292b6db72 --- /dev/null +++ b/graphics/interface/pss_unk_83CFB60.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 255 +222 222 222 +189 189 189 +222 189 205 +197 164 180 +172 139 156 +246 213 230 +139 139 131 +189 189 189 +156 156 156 +123 123 123 +213 189 65 +230 230 230 +255 255 255 +213 189 82 +172 148 41 +255 255 255 +222 222 222 +189 189 189 +156 156 156 +123 123 123 +90 90 90 +57 57 57 +41 41 41 +222 189 205 +197 164 180 +172 139 156 +246 213 230 +238 238 238 +255 255 255 +213 189 82 +172 148 41 diff --git a/graphics/interface/pss_unk_83CFBA0.png b/graphics/interface/pss_unk_83CFBA0.png Binary files differnew file mode 100644 index 000000000..6092d1665 --- /dev/null +++ b/graphics/interface/pss_unk_83CFBA0.png diff --git a/graphics/interface/pss_unk_83CFEF0.bin b/graphics/interface/pss_unk_83CFEF0.bin Binary files differnew file mode 100644 index 000000000..ce256ff37 --- /dev/null +++ b/graphics/interface/pss_unk_83CFEF0.bin diff --git a/graphics/interface/pss_unk_83CFFC8.pal b/graphics/interface/pss_unk_83CFFC8.pal new file mode 100644 index 000000000..e019bd6e9 --- /dev/null +++ b/graphics/interface/pss_unk_83CFFC8.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 255 +222 222 222 +189 189 189 +139 148 189 +106 115 156 +74 82 123 +172 180 222 +0 0 0 +222 131 74 +205 115 57 +180 82 24 +0 0 0 +230 230 230 +255 255 255 +213 131 139 +172 90 98 +255 255 255 +255 246 230 +255 238 205 +255 205 172 +246 172 139 +213 139 106 +180 106 74 +148 74 41 +246 156 98 +222 131 74 +205 115 57 +180 82 24 +238 238 238 +255 255 255 +213 131 139 +172 90 98 diff --git a/graphics/interface/pss_unk_83D0008.png b/graphics/interface/pss_unk_83D0008.png Binary files differnew file mode 100644 index 000000000..9724cf7fd --- /dev/null +++ b/graphics/interface/pss_unk_83D0008.png diff --git a/graphics/interface/pss_unk_83D033C.bin b/graphics/interface/pss_unk_83D033C.bin Binary files differnew file mode 100644 index 000000000..5d7102e09 --- /dev/null +++ b/graphics/interface/pss_unk_83D033C.bin diff --git a/graphics/interface/pss_unk_83D0414.pal b/graphics/interface/pss_unk_83D0414.pal new file mode 100644 index 000000000..64a768cb1 --- /dev/null +++ b/graphics/interface/pss_unk_83D0414.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 255 +230 230 230 +205 205 205 +139 148 189 +106 115 156 +74 82 123 +172 180 222 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 230 230 +255 255 255 +213 131 139 +172 90 98 +255 255 255 +230 230 230 +205 205 205 +139 148 189 +106 115 156 +74 82 123 +41 49 90 +8 16 57 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +238 238 238 +255 255 255 +213 131 139 +172 90 98 diff --git a/graphics/interface/pss_unk_83D0454.png b/graphics/interface/pss_unk_83D0454.png Binary files differnew file mode 100644 index 000000000..48156edee --- /dev/null +++ b/graphics/interface/pss_unk_83D0454.png diff --git a/graphics/interface/pss_unk_83D070C.bin b/graphics/interface/pss_unk_83D070C.bin Binary files differnew file mode 100644 index 000000000..3e8253ade --- /dev/null +++ b/graphics/interface/pss_unk_83D070C.bin diff --git a/graphics/interface/pss_unk_83D07D8.pal b/graphics/interface/pss_unk_83D07D8.pal new file mode 100644 index 000000000..ddbe3e302 --- /dev/null +++ b/graphics/interface/pss_unk_83D07D8.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 255 +230 197 123 +213 180 98 +180 148 65 +148 115 32 +115 82 0 +0 0 0 +0 0 0 +139 90 115 +156 106 131 +115 65 90 +0 0 0 +230 230 230 +255 255 255 +90 90 131 +49 49 90 +255 255 255 +246 213 131 +213 180 98 +180 148 65 +148 115 32 +115 82 0 +82 49 0 +49 16 0 +139 90 115 +156 106 131 +115 65 90 +0 0 0 +238 238 238 +255 255 255 +90 90 131 +49 49 90 diff --git a/graphics/interface/pss_unk_83D0818.png b/graphics/interface/pss_unk_83D0818.png Binary files differnew file mode 100644 index 000000000..6e42fd525 --- /dev/null +++ b/graphics/interface/pss_unk_83D0818.png diff --git a/graphics/interface/pss_unk_83D0B5C.bin b/graphics/interface/pss_unk_83D0B5C.bin Binary files differnew file mode 100644 index 000000000..e8cec86f6 --- /dev/null +++ b/graphics/interface/pss_unk_83D0B5C.bin diff --git a/graphics/interface/pss_unk_83D0C38.pal b/graphics/interface/pss_unk_83D0C38.pal new file mode 100644 index 000000000..dfc1ab464 --- /dev/null +++ b/graphics/interface/pss_unk_83D0C38.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 255 +156 106 57 +197 230 255 +197 246 255 +230 255 255 +98 164 98 +148 222 57 +189 164 90 +246 230 164 +255 246 180 +246 238 164 +98 213 213 +139 230 205 +255 255 255 +82 98 255 +49 65 156 +255 255 255 +255 255 222 +246 238 180 +238 230 148 +238 222 131 +222 205 115 +213 189 98 +205 164 90 +197 172 65 +255 98 197 +255 148 172 +49 213 205 +164 230 213 +0 0 0 +82 98 255 +49 65 156 diff --git a/graphics/interface/pss_unk_83D0C78.png b/graphics/interface/pss_unk_83D0C78.png Binary files differnew file mode 100644 index 000000000..ad4389d88 --- /dev/null +++ b/graphics/interface/pss_unk_83D0C78.png diff --git a/graphics/interface/pss_unk_83D0FFC.bin b/graphics/interface/pss_unk_83D0FFC.bin Binary files differnew file mode 100644 index 000000000..aa2a97d94 --- /dev/null +++ b/graphics/interface/pss_unk_83D0FFC.bin diff --git a/graphics/interface/pss_unk_83D10E4.pal b/graphics/interface/pss_unk_83D10E4.pal new file mode 100644 index 000000000..b91fdd173 --- /dev/null +++ b/graphics/interface/pss_unk_83D10E4.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 255 +131 180 255 +98 148 222 +65 115 189 +32 82 156 +0 24 98 +0 0 0 +0 0 0 +139 90 115 +156 106 131 +115 65 90 +0 0 0 +230 230 230 +255 255 255 +148 180 41 +106 139 0 +255 255 255 +164 213 255 +131 180 255 +98 148 222 +65 115 189 +32 82 156 +0 49 123 +0 16 90 +139 90 115 +156 106 131 +115 65 90 +0 0 0 +238 238 238 +255 255 255 +148 180 41 +106 139 0 diff --git a/graphics/interface/pss_unk_83D1124.png b/graphics/interface/pss_unk_83D1124.png Binary files differnew file mode 100644 index 000000000..fe7810abb --- /dev/null +++ b/graphics/interface/pss_unk_83D1124.png diff --git a/graphics/interface/pss_unk_83D13D8.bin b/graphics/interface/pss_unk_83D13D8.bin Binary files differnew file mode 100644 index 000000000..c6be345de --- /dev/null +++ b/graphics/interface/pss_unk_83D13D8.bin diff --git a/graphics/interface/pss_unk_83D14B4.pal b/graphics/interface/pss_unk_83D14B4.pal new file mode 100644 index 000000000..7a3f4656a --- /dev/null +++ b/graphics/interface/pss_unk_83D14B4.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 255 +238 255 255 +205 255 255 +164 255 255 +131 222 222 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +115 180 0 +148 213 24 +180 246 57 +230 230 230 +255 255 255 +180 148 106 +139 106 65 +255 255 255 +230 255 156 +197 255 123 +164 230 90 +131 197 57 +98 164 24 +65 131 0 +32 98 0 +230 255 255 +139 230 230 +164 255 255 +197 255 255 +238 238 238 +255 255 255 +180 148 106 +139 106 65 diff --git a/graphics/interface/pss_unk_83D14F4.png b/graphics/interface/pss_unk_83D14F4.png Binary files differnew file mode 100644 index 000000000..92ddac031 --- /dev/null +++ b/graphics/interface/pss_unk_83D14F4.png diff --git a/graphics/interface/pss_unk_83D1788.bin b/graphics/interface/pss_unk_83D1788.bin Binary files differnew file mode 100644 index 000000000..ff2736df7 --- /dev/null +++ b/graphics/interface/pss_unk_83D1788.bin diff --git a/graphics/interface/pss_unk_83D1874.pal b/graphics/interface/pss_unk_83D1874.pal new file mode 100644 index 000000000..a529046e5 --- /dev/null +++ b/graphics/interface/pss_unk_83D1874.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 255 +238 255 255 +205 255 255 +164 255 255 +123 213 246 +90 180 213 +57 148 180 +24 115 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +230 230 230 +255 255 255 +205 139 41 +164 98 0 +255 255 255 +238 255 255 +205 255 255 +164 255 255 +123 213 246 +90 180 213 +57 148 180 +24 115 148 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +238 238 238 +255 255 255 +205 139 41 +164 98 0 diff --git a/graphics/interface/pss_unk_83D18B4.png b/graphics/interface/pss_unk_83D18B4.png Binary files differnew file mode 100644 index 000000000..4444e6909 --- /dev/null +++ b/graphics/interface/pss_unk_83D18B4.png diff --git a/graphics/interface/pss_unk_83D1B4C.bin b/graphics/interface/pss_unk_83D1B4C.bin Binary files differnew file mode 100644 index 000000000..e2c553b2a --- /dev/null +++ b/graphics/interface/pss_unk_83D1B4C.bin diff --git a/graphics/interface/pss_unk_83D1C2C.pal b/graphics/interface/pss_unk_83D1C2C.pal new file mode 100644 index 000000000..0d9a33ee1 --- /dev/null +++ b/graphics/interface/pss_unk_83D1C2C.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 115 +106 8 115 +156 41 148 +205 74 180 +74 106 156 +98 123 205 +123 139 255 +238 238 57 +213 156 123 +156 230 82 +180 164 131 +213 106 189 +156 115 197 +139 180 164 +230 213 213 +255 255 255 +255 255 115 +106 8 115 +156 41 148 +205 74 180 +123 98 139 +164 139 189 +197 172 222 +213 189 230 +230 205 246 +164 246 74 +222 255 148 +255 106 189 +255 156 230 +115 156 255 +180 213 255 +255 255 255 diff --git a/graphics/interface/pss_unk_83D1C8C.png b/graphics/interface/pss_unk_83D1C8C.png Binary files differnew file mode 100644 index 000000000..5554f6a51 --- /dev/null +++ b/graphics/interface/pss_unk_83D1C8C.png diff --git a/graphics/interface/pss_unk_83D1EC4.bin b/graphics/interface/pss_unk_83D1EC4.bin Binary files differnew file mode 100644 index 000000000..c82157747 --- /dev/null +++ b/graphics/interface/pss_unk_83D1EC4.bin diff --git a/graphics/interface/pss_unk_83D1F94.pal b/graphics/interface/pss_unk_83D1F94.pal new file mode 100644 index 000000000..481d07b1e --- /dev/null +++ b/graphics/interface/pss_unk_83D1F94.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 115 +41 82 82 +65 115 115 +115 164 156 +197 172 148 +255 164 139 +255 197 172 +0 0 255 +0 0 255 +255 230 172 +189 205 197 +213 213 230 +139 180 148 +164 205 172 +230 230 230 +255 255 255 +255 255 115 +41 82 82 +65 115 115 +115 164 156 +90 131 82 +131 172 123 +172 213 172 +189 230 197 +213 255 222 +255 164 139 +213 213 230 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +255 255 255 diff --git a/graphics/interface/pss_unk_83D1FD4.png b/graphics/interface/pss_unk_83D1FD4.png Binary files differnew file mode 100644 index 000000000..c4cf6bd1e --- /dev/null +++ b/graphics/interface/pss_unk_83D1FD4.png diff --git a/graphics/interface/pss_unk_83D22B8.bin b/graphics/interface/pss_unk_83D22B8.bin Binary files differnew file mode 100644 index 000000000..fa9596d9b --- /dev/null +++ b/graphics/interface/pss_unk_83D22B8.bin diff --git a/graphics/interface/pss_unk_83D239C.pal b/graphics/interface/pss_unk_83D239C.pal new file mode 100644 index 000000000..07d069629 --- /dev/null +++ b/graphics/interface/pss_unk_83D239C.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 255 115 +156 90 41 +205 106 8 +230 156 8 +0 0 255 +0 0 255 +0 0 255 +164 156 139 +213 205 172 +0 0 255 +131 131 131 +164 164 164 +180 180 180 +197 197 197 +213 213 213 +255 255 255 +255 255 115 +156 90 41 +205 106 8 +230 156 8 +131 131 131 +156 156 156 +180 180 180 +197 197 197 +213 213 213 +0 0 255 +0 0 255 +0 0 255 +164 156 156 +172 172 164 +197 197 189 +255 255 255 diff --git a/graphics/interface/pss_unk_83D23DC.png b/graphics/interface/pss_unk_83D23DC.png Binary files differnew file mode 100644 index 000000000..8fce05efa --- /dev/null +++ b/graphics/interface/pss_unk_83D23DC.png diff --git a/graphics/interface/pss_unk_83D256C.bin b/graphics/interface/pss_unk_83D256C.bin Binary files differnew file mode 100644 index 000000000..ce537f626 --- /dev/null +++ b/graphics/interface/pss_unk_83D256C.bin diff --git a/graphics/interface/pss_unk_83D2614.pal b/graphics/interface/pss_unk_83D2614.pal new file mode 100644 index 000000000..a508e7ba8 --- /dev/null +++ b/graphics/interface/pss_unk_83D2614.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +255 156 213 +82 65 115 +106 90 139 +131 115 164 +172 172 255 +189 189 255 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +0 0 255 +255 255 255 +255 156 213 +82 65 115 +106 90 139 +131 115 164 +189 189 148 +205 205 156 +230 230 164 +238 238 189 +255 255 213 +65 90 115 +90 115 139 +123 148 172 +156 172 197 +189 205 230 +0 0 255 +255 255 255 diff --git a/graphics/interface/pss_unk_83D2654.png b/graphics/interface/pss_unk_83D2654.png Binary files differnew file mode 100644 index 000000000..00c506fc1 --- /dev/null +++ b/graphics/interface/pss_unk_83D2654.png diff --git a/graphics/interface/pss_unk_83D277C.bin b/graphics/interface/pss_unk_83D277C.bin Binary files differnew file mode 100644 index 000000000..5ed0ca513 --- /dev/null +++ b/graphics/interface/pss_unk_83D277C.bin diff --git a/graphics/interface/pss_unk_83D2820.bin b/graphics/interface/pss_unk_83D2820.bin new file mode 100644 index 000000000..95e7b00d5 --- /dev/null +++ b/graphics/interface/pss_unk_83D2820.bin @@ -0,0 +1 @@ +""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
\ No newline at end of file diff --git a/graphics/interface/pss_unk_83D29D0.pal b/graphics/interface/pss_unk_83D29D0.pal new file mode 100644 index 000000000..7f2f9ae51 --- /dev/null +++ b/graphics/interface/pss_unk_83D29D0.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +57 57 57 +255 255 255 +57 57 57 +255 255 255 +57 57 57 +255 255 255 +57 57 57 +255 255 255 +57 57 57 +255 255 255 +57 57 57 +255 255 255 +57 57 57 +255 255 255 +57 57 57 +255 255 255 +57 57 57 +255 255 255 +57 57 57 +255 255 255 +57 57 57 +255 255 255 +57 57 57 +255 255 255 +57 57 57 +255 255 255 +57 57 57 +255 255 255 +57 57 57 +255 255 255 +57 57 57 +255 255 255 diff --git a/graphics/interface/pss_unk_83D2AD0.png b/graphics/interface/pss_unk_83D2AD0.png Binary files differnew file mode 100644 index 000000000..f6bdaadb8 --- /dev/null +++ b/graphics/interface/pss_unk_83D2AD0.png diff --git a/graphics/interface/pss_unk_83D2BCC.pal b/graphics/interface/pss_unk_83D2BCC.pal new file mode 100644 index 000000000..30f22e810 --- /dev/null +++ b/graphics/interface/pss_unk_83D2BCC.pal @@ -0,0 +1,19 @@ +JASC-PAL +0100 +16 +255 197 255 +148 148 172 +82 82 90 +255 230 90 +246 222 115 +246 230 180 +205 123 0 +123 74 0 +255 255 255 +255 255 255 +255 255 255 +255 180 106 +255 164 0 +255 255 255 +222 222 222 +0 0 0 diff --git a/graphics/interface/pss_unk_83D2BEC.png b/graphics/interface/pss_unk_83D2BEC.png Binary files differnew file mode 100644 index 000000000..3a6e35307 --- /dev/null +++ b/graphics/interface/pss_unk_83D2BEC.png diff --git a/graphics/interface/pss_unk_83D33EC.png b/graphics/interface/pss_unk_83D33EC.png Binary files differnew file mode 100644 index 000000000..9b1e8f850 --- /dev/null +++ b/graphics/interface/pss_unk_83D33EC.png diff --git a/graphics/interface/pss_unk_83D35DC.png b/graphics/interface/pss_unk_83D35DC.png Binary files differnew file mode 100644 index 000000000..53ecc7ca5 --- /dev/null +++ b/graphics/interface/pss_unk_83D35DC.png diff --git a/graphics/shop_menu/shop_menu.pal b/graphics/shop_menu/shop_menu.pal new file mode 100644 index 000000000..b0fec0a30 --- /dev/null +++ b/graphics/shop_menu/shop_menu.pal @@ -0,0 +1,35 @@ +JASC-PAL +0100 +32 +238 230 172 +222 156 106 +255 189 131 +255 222 164 +255 255 213 +238 230 172 +106 106 106 +189 213 213 +238 255 255 +222 246 255 +255 255 255 +164 222 255 +16 172 222 +0 82 115 +0 115 139 +0 123 197 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +0 0 0 +189 213 213 +238 255 255 +222 246 255 +255 255 255 +164 222 255 +24 82 180 +0 90 131 +24 82 180 +24 82 180 diff --git a/graphics/shop_menu/shop_menu.png b/graphics/shop_menu/shop_menu.png Binary files differnew file mode 100644 index 000000000..23af464a2 --- /dev/null +++ b/graphics/shop_menu/shop_menu.png diff --git a/graphics/shop_menu/shop_tilemap.bin b/graphics/shop_menu/shop_tilemap.bin Binary files differnew file mode 100644 index 000000000..8d5ab35b7 --- /dev/null +++ b/graphics/shop_menu/shop_tilemap.bin diff --git a/graphics/shop_menu/shop_tm_hm_tilemap.bin b/graphics/shop_menu/shop_tm_hm_tilemap.bin Binary files differnew file mode 100644 index 000000000..92fbb7dad --- /dev/null +++ b/graphics/shop_menu/shop_tm_hm_tilemap.bin diff --git a/include/fieldmap.h b/include/fieldmap.h index 4af4342f7..f1107100f 100644 --- a/include/fieldmap.h +++ b/include/fieldmap.h @@ -16,6 +16,7 @@ extern const struct MapData Route1_Layout; u32 MapGridGetMetatileIdAt(int, int); u32 MapGridGetMetatileBehaviorAt(int, int); +u8 MapGridGetMetatileLayerTypeAt(s16 x, s16 y); void MapGridSetMetatileIdAt(int, int, u16); void MapGridSetMetatileEntryAt(int, int, u16); void GetCameraCoords(u16*, u16*); diff --git a/include/graphics.h b/include/graphics.h index fb9bb29ac..09b72d37d 100644 --- a/include/graphics.h +++ b/include/graphics.h @@ -4249,6 +4249,12 @@ extern const u16 gUnknown_8E97DDC[]; extern const u32 gUnknown_8E97DFC[]; extern const u32 gUnknown_8E97EC4[]; +// shop menu +extern const u32 gBuyMenuFrame_Gfx[]; +extern const u32 gBuyMenuFrame_Tilemap[]; +extern const u32 gBuyMenuFrame_TmHmTilemap[]; +extern const u32 gBuyMenuFrame_Pal[]; + // battle_message extern const u16 gUnknown_8D2FBB4[]; diff --git a/include/item.h b/include/item.h index 01d2a55e5..7a4279976 100644 --- a/include/item.h +++ b/include/item.h @@ -68,6 +68,7 @@ bool8 AddBagItem(u16 itemId, u16 amount); void SortPocketAndPlaceHMsFirst(struct BagPocket * pocket); u16 BagGetItemIdByPocketPosition(u8 pocketId, u16 itemId); u16 BagGetQuantityByPocketPosition(u8 pocketId, u16 itemId); +u16 BagGetQuantityByItemId(u16 item); bool8 itemid_is_unique(u16 itemId); void BagPocketCompaction(struct ItemSlot * slots, u8 capacity); u16 GetPcItemQuantity(u16 *); diff --git a/include/list_menu.h b/include/list_menu.h index e688c474f..94a49d2c2 100644 --- a/include/list_menu.h +++ b/include/list_menu.h @@ -30,25 +30,25 @@ struct ListMenu; struct ListMenuTemplate { - const struct ListMenuItem *items; - void (* moveCursorFunc)(s32 itemIndex, bool8 onInit, struct ListMenu *list); - void (* itemPrintFunc)(u8 windowId, s32 itemId, u8 y); - u16 totalItems; - u16 maxShowed; - u8 windowId; - u8 header_X; - u8 item_X; - u8 cursor_X; - u8 upText_Y:4; // x1, x2, x4, x8 = xF - u8 cursorPal:4; // x10, x20, x40, x80 = xF0 - u8 fillValue:4; // x1, x2, x4, x8 = xF - u8 cursorShadowPal:4; // x10, x20, x40, x80 = xF0 - u8 lettersSpacing:3; - u8 itemVerticalPadding:3; - u8 scrollMultiple:2; // x40, x80 = xC0 - u8 fontId:6; // x1, x2, x4, x8, x10, x20 = x3F - u8 cursorKind:2; // x40, x80 -}; + /*0x00*/ const struct ListMenuItem *items; + /*0x04*/ void (* moveCursorFunc)(s32 itemIndex, bool8 onInit, struct ListMenu *list); + /*0x08*/ void (* itemPrintFunc)(u8 windowId, s32 itemId, u8 y); + /*0x0C*/ u16 totalItems; + /*0x0E*/ u16 maxShowed; + /*0x10*/ u8 windowId; + /*0x11*/ u8 header_X; + /*0x12*/ u8 item_X; + /*0x13*/ u8 cursor_X; + /*0x14*/ u8 upText_Y:4; // x1, x2, x4, x8 = xF + u8 cursorPal:4; // x10, x20, x40, x80 = xF0 + /*0x15*/ u8 fillValue:4; // x1, x2, x4, x8 = xF + u8 cursorShadowPal:4; // x10, x20, x40, x80 = xF0 + /*0x16*/ u8 lettersSpacing:3; + u8 itemVerticalPadding:3; + u8 scrollMultiple:2; // x40, x80 = xC0 + /*0x17*/ u8 fontId:6; // x1, x2, x4, x8, x10, x20 = x3F + u8 cursorKind:2; // x40, x80 +}; /* size = 0x18 */ struct ListMenu { diff --git a/include/sea_cottage_special_anim.h b/include/sea_cottage_special_anim.h new file mode 100644 index 000000000..5c939df12 --- /dev/null +++ b/include/sea_cottage_special_anim.h @@ -0,0 +1,12 @@ +#ifndef GUARD_SEA_COTTAGE_SPECIAL_ANIM_H +#define GUARD_SEA_COTTAGE_SPECIAL_ANIM_H + +#include "global.h" + +void sub_809C448(u8 a0); +void sub_809C460(void); +bool8 sub_809C474(void); +void sub_809C4A8(void); +void sub_809C5FC(void); + +#endif // GUARD_SEA_COTTAGE_SPECIAL_ANIM_H diff --git a/include/shop.h b/include/shop.h index 481fd6c76..482c3ddaa 100644 --- a/include/shop.h +++ b/include/shop.h @@ -4,18 +4,20 @@ #include "global.h" #include "menu_helpers.h" +#define INDEX_CANCEL -2 + extern EWRAM_DATA struct ItemSlot gUnknown_02039F80[3]; -void CreatePokemartMenu(const u16 *); +void CreatePokemartMenu(const u16 *itemsForSale); void CreateDecorationShop1Menu(const u16 *); void CreateDecorationShop2Menu(const u16 *); -void sub_809C09C(u16, u16, u8); -u8 sub_809B56C(void); +u8 GetMartUnk16_4(void); +void RecordItemPurchase(u16 a0, u16 a1, u8 a2); // buy_menu_helper void BuyMenuInitWindows(bool32 isSellingTM); void BuyMenuDrawMoneyBox(void); -void BuyMenuPrint(u8 windowId, u8 font, const u8 *text, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 color); +void BuyMenuPrint(u8 windowId, u8 font, const u8 *text, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 color); void BuyMenuDisplayMessage(u8 taskId, const u8 *text, TaskFunc callback); void BuyMenuQuantityBoxNormalBorder(u8 windowId, bool8 copyToVram); void BuyMenuQuantityBoxThinBorder(u8 windowId, bool8 copyToVram); diff --git a/include/strings.h b/include/strings.h index e55cb02f5..d71d94d48 100644 --- a/include/strings.h +++ b/include/strings.h @@ -97,6 +97,7 @@ extern const u8 gOtherText_Toss[]; extern const u8 gOtherText_Give[]; extern const u8 gOtherText_Exit[]; extern const u8 gText_ThreeHyphens[]; +extern const u8 gText_SevenHyphens[]; extern const u8 gOtherText_UnkF9_08_Clear_01[]; extern const u8 gText_TimesStrVar1[]; extern const u8 gText_IsSelected[]; @@ -928,4 +929,18 @@ extern const u8 gText_CongratsPkmnEvolved[]; extern const u8 gText_EllipsisQuestionMark[]; extern const u8 gText_PkmnStoppedEvolving[]; +// shop +extern const u8 gText_ShopBuy[]; +extern const u8 gText_ShopSell[]; +extern const u8 gText_ShopQuit[]; +extern const u8 gText_CanIHelpWithAnythingElse[]; +extern const u8 gText_QuitShopping[]; +extern const u8 gText_PokedollarVar1[]; +extern const u8 gText_YouDontHaveMoney[]; +extern const u8 gText_Var1CertainlyHowMany[]; +extern const u8 gText_InBagVar1[]; +extern const u8 gText_Var1AndYouWantedVar2[]; +extern const u8 gText_HereYouGoThankYou[]; +extern const u8 gText_NoMoreRoomForThis[]; + #endif //GUARD_STRINGS_H diff --git a/ld_script.txt b/ld_script.txt index 741e87828..55e82c1ab 100644 --- a/ld_script.txt +++ b/ld_script.txt @@ -140,7 +140,8 @@ SECTIONS { src/item_menu_icons.o(.text); src/battle_anim_mon_movement.o(.text); src/item.o(.text); - asm/shop.o(.text); + src/shop.o(.text); + src/sea_cottage_special_anim.o(.text); src/berry.o(.text); src/script_menu.o(.text); asm/naming_screen.o(.text); @@ -441,7 +442,8 @@ SECTIONS { src/item_menu_icons.o(.rodata); src/battle_anim_mon_movement.o(.rodata); src/item.o(.rodata); - data/shop.o(.rodata); + src/shop.o(.rodata); + src/sea_cottage_special_anim.o(.rodata); src/berry.o(.rodata); src/script_menu.o(.rodata); data/naming_screen.o(.rodata); diff --git a/src/berry_pouch.c b/src/berry_pouch.c index bb1b106af..711a17768 100644 --- a/src/berry_pouch.c +++ b/src/berry_pouch.c @@ -1384,7 +1384,7 @@ static void Task_SellBerries_PlaySfxAndRemoveBerries(u8 taskId) PlaySE(SE_SHOP); RemoveBagItem(gSpecialVar_ItemId, data[8]); AddMoney(&gSaveBlock1Ptr->money, itemid_get_market_price(gSpecialVar_ItemId) / 2 * data[8]); - sub_809C09C(gSpecialVar_ItemId, data[8], 2); + RecordItemPurchase(gSpecialVar_ItemId, data[8], 2); DestroyListMenuTask(data[0], &sStaticCnt.listMenuScrollOffset, &sStaticCnt.listMenuSelectedRow); SortAndCountBerries(); SanitizeListMenuSelectionParams(); diff --git a/src/buy_menu_helpers.c b/src/buy_menu_helpers.c index cf8072977..1fd160576 100644 --- a/src/buy_menu_helpers.c +++ b/src/buy_menu_helpers.c @@ -177,14 +177,14 @@ void BuyMenuDrawMoneyBox(void) PrintMoneyAmountInMoneyBoxWithBorder(0, 0xA, 0xF, GetMoney(&gSaveBlock1Ptr->money)); } -void BuyMenuPrint(u8 windowId, u8 font, const u8 *text, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, s8 speed, u8 color) +void BuyMenuPrint(u8 windowId, u8 font, const u8 *text, u8 x, u8 y, u8 letterSpacing, u8 lineSpacing, u8 speed, u8 color) { AddTextPrinterParameterized4(windowId, font, x, y, letterSpacing, lineSpacing, sShopBuyMenuTextColors[color], speed, text); } void BuyMenuDisplayMessage(u8 taskId, const u8 *text, TaskFunc callback) { - DisplayMessageAndContinueTask(taskId, 2, 0x13, 0xE, sub_809B56C(), GetTextSpeedSetting(), text, callback); + DisplayMessageAndContinueTask(taskId, 2, 0x13, 0xE, GetMartUnk16_4(), GetTextSpeedSetting(), text, callback); ScheduleBgCopyTilemapToVram(0); } diff --git a/src/fieldmap.c b/src/fieldmap.c index 4244762c0..e5901c149 100644 --- a/src/fieldmap.c +++ b/src/fieldmap.c @@ -463,7 +463,7 @@ u32 MapGridGetMetatileBehaviorAt(s32 x, s32 y) return sub_8058F48(x, y, 0); } -u8 MapGridGetMetatileLayerTypeAt(s32 x, s32 y) +u8 MapGridGetMetatileLayerTypeAt(s16 x, s16 y) { return sub_8058F48(x, y, 6); } diff --git a/src/sea_cottage_special_anim.c b/src/sea_cottage_special_anim.c new file mode 100644 index 000000000..18a8da234 --- /dev/null +++ b/src/sea_cottage_special_anim.c @@ -0,0 +1,264 @@ +#include "global.h" +#include "event_data.h" +#include "task.h" +#include "menu.h" +#include "field_player_avatar.h" +#include "fieldmap.h" +#include "field_map_obj.h" +#include "field_camera.h" + +static EWRAM_DATA u8 gUnknown_2039984 = 0; + +static void sub_809C1D8(u8 taskId, const s16 *a1, u16 a2); +static void sub_809C334(u8 taskId); +static void sub_809C500(u8 taskId); +static void sub_809C640(u8 taskId); + +static const u16 gUnknown_83DF0D4[] = {0x0308, 0x030a, 0x02d0}; +static const u16 gUnknown_83DF0DA[] = {0x0309, 0x030b, 0x02d1}; +static const u16 gUnknown_83DF0E0[] = {0x0310, 0x0312, 0x02d8}; +static const u16 gUnknown_83DF0E6[] = {0x0311, 0x0313, 0x02d9}; +static const u16 gUnknown_83DF0EC[] = {0x02e3, 0x0316, 0x0314}; +static const u16 gUnknown_83DF0F2[] = {0x02e4, 0x0317, 0x0315}; +static const u16 gUnknown_83DF0F8[] = {0x02eb, 0x031e, 0x031c}; + +// Functions +static void sub_809C1D8(u8 taskId, const s16 *a1, u16 a2) +{ + s16 r5, r3, r4; + s16 i, j; + + r5 = gTasks[taskId].data[4] - 1; + r3 = gTasks[taskId].data[5] - 1; + r4 = gTasks[taskId].data[1]; + + if (gTasks[taskId].data[2] == 0) + { + for (i = 0; i < 3; i++) + { + for (j = 0; j < 3; j++) + { + s32 id = MapGridGetMetatileIdAt(r5 + j, r3 + i); + + if (a1[r4] == (s16)id) + { + if (r4 != 2) + MapGridSetMetatileIdAt(r5 + j, r3 + i, a2 | a1[r4 + 1]); + else + MapGridSetMetatileIdAt(r5 + j, r3 + i, a2 | a1[0]); + } + } + } + } + else + { + for (i = 0; i < 3; i++) + { + for (j = 0; j < 3; j++) + { + s32 id = MapGridGetMetatileIdAt(r5 + j, r3 + i); + + if (a1[2 - r4] == (s16)id) + { + if (r4 != 2) + MapGridSetMetatileIdAt(r5 + j, r3 + i, a2 | a1[1 - r4]); + else + MapGridSetMetatileIdAt(r5 + j, r3 + i, a2 | a1[2]); + } + } + } + } +} + +static void sub_809C334(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 v1; + + data[3] = 1; + switch (data[0]) + { + case 0: + sub_809C1D8(taskId, gUnknown_83DF0D4, 0); + break; + case 1: + sub_809C1D8(taskId, gUnknown_83DF0DA, 0); + break; + case 2: + sub_809C1D8(taskId, gUnknown_83DF0E0, 0xC00); + break; + case 3: + sub_809C1D8(taskId, gUnknown_83DF0E6, 0); + break; + case 4: + sub_809C1D8(taskId, gUnknown_83DF0EC, 0xC00); + break; + case 5: + sub_809C1D8(taskId, gUnknown_83DF0F2, 0); + break; + case 6: + sub_809C1D8(taskId, gUnknown_83DF0F8, 0); + default: + break; + } + + data[0] = (data[0] + 1) & 7; + v1 = data[0] & 7; + if (v1 == 0) + { + DrawWholeMapView(); + data[1] = (data[1] + 1) % 3; + data[3] = v1; + } +} + +static u8 sub_809C3FC(u16 a0) +{ + u8 taskId; + s16 *data; + + taskId = CreateTask(sub_809C334, 0); + data = gTasks[taskId].data; + PlayerGetDestCoords(&data[4], &data[5]); + data[0] = 0; + data[1] = 0; + data[2] = a0; + sub_809C334(taskId); + return taskId; +} + +void sub_809C448(u8 a0) +{ + u8 taskId; + + taskId = sub_809C3FC(a0); + gUnknown_2039984 = taskId; +} + +void sub_809C460(void) +{ + DestroyTask(gUnknown_2039984); +} + +bool8 sub_809C474(void) +{ + if (gTasks[gUnknown_2039984].data[3] == 0) + { + if (gTasks[gUnknown_2039984].data[1] != 2) + return TRUE; + return FALSE; + } + else + { + return TRUE; + } +} + +// special 0x1b5 - creates a tile animaiton one block left two-four up the player +void sub_809C4A8(void) +{ + u8 taskId; + s16 *data; + + taskId = CreateTask(sub_809C500, 0); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + data = gTasks[taskId].data; + PlayerGetDestCoords(&data[2], &data[3]); + if (gSpecialVar_0x8004 == 0) + { + gTasks[taskId].data[2] += 6; + gTasks[taskId].data[3] -= 5; + } + else + { + gTasks[taskId].data[2]--; + gTasks[taskId].data[3] -= 5; + } +} + +static void sub_809C500(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (data[0] == 0) + { + if ((data[1] & 1) == 0) + { + MapGridSetMetatileIdAt(data[2], data[3], 0xEB5); + MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xEB7); + } + else + { + MapGridSetMetatileIdAt(data[2], data[3], 0xEB6); + MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xEB8); + } + CurrentMapDrawMetatileAt(data[2], data[3]); + CurrentMapDrawMetatileAt(data[2], data[3] + 2); + } + + data[0]++; + if (data[0] != 0x10) + return; + + data[0] = 0; + data[1]++; + if (data[1] != 0xD) + return; + + MapGridSetMetatileIdAt(data[2], data[3], 0xE8A); + MapGridSetMetatileIdAt(data[2], data[3] + 2, 0xE96); + CurrentMapDrawMetatileAt(data[2], data[3]); + CurrentMapDrawMetatileAt(data[2], data[3] + 2); + DestroyTask(taskId); +} + +// special 0x1B7 - creates a tile animation two-six blocks right from the top-left corner of the screen +void sub_809C5FC(void) +{ + u8 taskId; + s16 *data; + + taskId = CreateTask(sub_809C640, 0); + gTasks[taskId].data[0] = 0; + gTasks[taskId].data[1] = 0; + data = gTasks[taskId].data; + PlayerGetDestCoords(&data[2], &data[3]); + gTasks[taskId].data[2] += 4; + gTasks[taskId].data[3] -= 5; +} + +static void sub_809C640(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (data[0] == 0) + { + if (data[1] != 0) + { + MapGridSetMetatileIdAt(data[2], data[3], 0xE85); + MapGridSetMetatileIdAt(data[2], data[3] + 1, 0xEB4); + CurrentMapDrawMetatileAt(data[2], data[3]); + CurrentMapDrawMetatileAt(data[2], data[3] + 1); + if (data[1] == 4) + { + DestroyTask(taskId); + return; + } + + data[2]--; + } + MapGridSetMetatileIdAt(data[2], data[3], 0xEB9); + MapGridSetMetatileIdAt(data[2], data[3] + 1, 0xEBA); + CurrentMapDrawMetatileAt(data[2], data[3]); + CurrentMapDrawMetatileAt(data[2], data[3] + 1); + } + + data[0]++; + if (data[0] == 4) + { + data[0] = 0; + data[1]++; + } +} + diff --git a/src/shop.c b/src/shop.c new file mode 100644 index 000000000..12f3f3263 --- /dev/null +++ b/src/shop.c @@ -0,0 +1,1161 @@ +#include "global.h" +#include "shop.h" +#include "menu.h" +#include "data.h" +#include "graphics.h" +#include "strings.h" +#include "list_menu.h" +#include "new_menu_helpers.h" +#include "party_menu.h" +#include "window.h" +#include "field_specials.h" +#include "field_weather.h" +#include "field_camera.h" +#include "task.h" +#include "text.h" +#include "item.h" +#include "item_menu.h" +#include "main.h" +#include "sound.h" +#include "string_util.h" +#include "overworld.h" +#include "window.h" +#include "palette.h" +#include "field_fadetransition.h" +#include "scanline_effect.h" +#include "item_menu_icons.h" +#include "bg.h" +#include "gpu_regs.h" +#include "malloc.h" +#include "decompress.h" +#include "menu_indicators.h" +#include "field_player_avatar.h" +#include "fieldmap.h" +#include "field_map_obj.h" +#include "money.h" +#include "quest_log.h" +#include "script.h" +#include "constants/songs.h" +#include "constants/items.h" +#include "constants/game_stat.h" + +#define tItemCount data[1] +#define tItemId data[5] +#define tListTaskId data[7] + +// mart types +enum +{ + MART_TYPE_REGULAR = 0, + MART_TYPE_TMHM, + MART_TYPE_DECOR, + MART_TYPE_DECOR2, +}; + +// shop view window NPC info enum +enum +{ + EVENT_OBJ_ID, + X_COORD, + Y_COORD, + ANIM_NUM +}; + +struct ShopData +{ + /*0x00*/ void (*callback)(void); + /*0x04*/ const u16 *itemList; + /*0x08*/ u32 itemPrice; + /*0x0C*/ u16 selectedRow; + /*0x0E*/ u16 scrollOffset; + /*0x10*/ u16 itemCount; + /*0x12*/ u16 field12; + /*0x14*/ u16 maxQuantity; + /*0x16*/ u16 martType:4; // 0x1 if tm list + u16 unk16_4:5; + u16 itemSlot:2; + u16 unk16_11:5; + /*0x18*/ u16 unk18; +}; + +struct MartHistory +{ + /*0x00*/ u32 unk0; + /*0x04*/ u16 unk4; + /*0x06*/ u16 unk6; + /*0x08*/ u8 unk8; + /*0x09*/ u8 unk9; + /*0x0A*/ u8 unkA; + /*0x0B*/ u8 unkB; +}; /* size = 12 */ + +static EWRAM_DATA s16 sViewportMapObjects[MAP_OBJECTS_COUNT][4] = {0}; +EWRAM_DATA struct ShopData gShopData = {0}; +static EWRAM_DATA u8 sShopMenuWindowId = 0; +EWRAM_DATA u16 (*gShopTilemapBuffer1)[0x400] = {0}; +EWRAM_DATA u16 (*gShopTilemapBuffer2)[0x400] = {0}; +EWRAM_DATA u16 (*gShopTilemapBuffer3)[0x400] = {0}; +EWRAM_DATA u16 (*gShopTilemapBuffer4)[0x400] = {0}; +EWRAM_DATA struct ListMenuItem *sShopMenuListMenu = {0}; +static EWRAM_DATA u8 (*sShopMenuItemStrings)[13] = {0}; +EWRAM_DATA struct MartHistory gShopMenuHistory[2] = {0}; + +//Function Declarations +static u8 CreateShopMenu(u8 a0); +static u8 GetMartTypeFromItemList(u32 a0); +static void SetShopItemsForSale(const u16 *items); +static void SetShopMenuCallback(MainCallback callback); +static void Task_ShopMenu(u8 taskId); +static void Task_HandleShopMenuBuy(u8 taskId); +static void Task_HandleShopMenuSell(u8 taskId); +static void CB2_GoToSellMenu(void); +static void Task_HandleShopMenuQuit(u8 taskId); +static void ClearShopMenuWindow(void); +static void Task_GoToBuyOrSellMenu(u8 taskId); +static void MapPostLoadHook_ReturnToShopMenu(void); +static void Task_ReturnToShopMenu(u8 taskId); +static void ShowShopMenuAfterExitingBuyOrSellMenu(u8 taskId); +static void CB2_BuyMenu(void); +static void VBlankCB_BuyMenu(void); +static void CB2_InitBuyMenu(void); +static bool8 InitShopData(void); +static void BuyMenuInitBgs(void); +static void BuyMenuDecompressBgGraphics(void); +static void sub_809B10C(bool32 a0); +static void BuyMenuDrawGraphics(void); +static bool8 BuyMenuBuildListMenuTemplate(void); +static void PokeMartWriteNameAndIdAt(struct ListMenuItem *list, u16 index, u8* dst); +static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, struct ListMenu *list); +static void BuyMenuPrintPriceInList(u8 windowId, s32 itemId, u8 y); +static void LoadTmHmNameInMart(s32 item); +static void BuyMenuPrintCursor(u8 listTaskId, u8 a1); +static void BuyMenuPrintCursorAtYPosition(u8 y, u8 a1); +static void BuyMenuFreeMemory(void); +static void SetShopExitCallback(void); +static void BuyMenuAddScrollIndicatorArrows(void); +static void BuyQuantityAddScrollIndicatorArrows(void); +static void BuyMenuRemoveScrollIndicatorArrows(void); +static void sub_809B764(void); +static void BuyMenuDrawMapBg(void); +static void BuyMenuDrawMapMetatile(s16 x, s16 y, const u16 *src, u8 metatileLayerType); +static void BuyMenuDrawMapMetatileLayer(u16 *dest, s16 offset1, s16 offset2, const u16 *src); +static void BuyMenuCollectEventObjectData(void); +static void BuyMenuDrawEventObjects(void); +static void BuyMenuCopyTilemapData(void); +static void BuyMenuPrintItemQuantityAndPrice(u8 taskId); +static void Task_BuyMenu(u8 taskId); +static void Task_BuyHowManyDialogueInit(u8 taskId); +static void Task_BuyHowManyDialogueHandleInput(u8 taskId); +static void CreateBuyMenuConfirmPurchaseWindow(u8 taskId); +static void BuyMenuTryMakePurchase(u8 taskId); +static void BuyMenuSubtractMoney(u8 taskId); +static void Task_ReturnToItemListAfterItemPurchase(u8 taskId); +static void BuyMenuReturnToItemList(u8 taskId); +static void ExitBuyMenu(u8 taskId); +static void Task_ExitBuyMenu(u8 taskId); +static void nullsub_52(u8 taskId); +static void nullsub_53(void); +static void RecordQuestLogItemPurchase(void); + +static const struct MenuAction sShopMenuActions_BuySellQuit[] = +{ + {gText_ShopBuy, {.void_u8 = Task_HandleShopMenuBuy}}, + {gText_ShopSell, {.void_u8 = Task_HandleShopMenuSell}}, + {gText_ShopQuit, {.void_u8 = Task_HandleShopMenuQuit}} +}; + +static const struct YesNoFuncTable sShopMenuActions_BuyQuit[] = +{ + BuyMenuTryMakePurchase, + BuyMenuReturnToItemList +}; + +static const struct WindowTemplate sShopMenuWindowTemplate = +{ + .bg = 0, + .tilemapLeft = 2, + .tilemapTop = 1, + .width = 12, + .height = 6, + .paletteNum = 15, + .baseBlock = 8 +}; + +static const struct BgTemplate sShopBuyMenuBgTemplates[4] = +{ + { + .bg = 0, + .charBaseIndex = 2, + .mapBaseIndex = 31, + .screenSize = 0, + .paletteMode = 0, + .priority = 0, + .baseTile = 0 + }, + { + .bg = 1, + .charBaseIndex = 0, + .mapBaseIndex = 30, + .screenSize = 0, + .paletteMode = 0, + .priority = 1, + .baseTile = 0 + }, + { + .bg = 2, + .charBaseIndex = 0, + .mapBaseIndex = 29, + .screenSize = 0, + .paletteMode = 0, + .priority = 2, + .baseTile = 0 + }, + { + .bg = 3, + .charBaseIndex = 0, + .mapBaseIndex = 28, + .screenSize = 0, + .paletteMode = 0, + .priority = 3, + .baseTile = 0 + } +}; + +// Functions +static u8 CreateShopMenu(u8 a0) +{ + gShopData.martType = GetMartTypeFromItemList(a0); + gShopData.selectedRow = 0; + if (ContextNpcGetTextColor() == 0) + gShopData.unk16_4 = 4; + else + gShopData.unk16_4 = 5; + + sShopMenuWindowId = AddWindow(&sShopMenuWindowTemplate); + SetStdWindowBorderStyle(sShopMenuWindowId, 0); + PrintTextArray(sShopMenuWindowId, 2, GetMenuCursorDimensionByFont(2, 0), 2, 16, 3, sShopMenuActions_BuySellQuit); + Menu_InitCursor(sShopMenuWindowId, 2, 0, 2, 16, 3, 0); + PutWindowTilemap(sShopMenuWindowId); + CopyWindowToVram(sShopMenuWindowId, 1); + return CreateTask(Task_ShopMenu, 8); +} + +static u8 GetMartTypeFromItemList(u32 a0) +{ + u16 i; + + if (a0) + return a0; + + for (i = 0; i < gShopData.itemCount && gShopData.itemList[i] != 0; i++) + { + if (ItemId_GetPocket(gShopData.itemList[i]) == POCKET_TM_CASE) + return 1; + } + return 0; +} + +static void SetShopItemsForSale(const u16 *items) +{ + gShopData.itemList = items; + gShopData.itemCount = 0; + if (gShopData.itemList[0] == 0) + return; + + while (gShopData.itemList[gShopData.itemCount]) + { + ++gShopData.itemCount; + } +} + +static void SetShopMenuCallback(void (*callback)(void)) +{ + gShopData.callback = callback; +} + +static void Task_ShopMenu(u8 taskId) +{ + s8 input = Menu_ProcessInputNoWrapAround(); + + switch (input) + { + case MENU_NOTHING_CHOSEN: + break; + case MENU_B_PRESSED: + PlaySE(SE_SELECT); + Task_HandleShopMenuQuit(taskId); + break; + default: + sShopMenuActions_BuySellQuit[Menu_GetCursorPos()].func.void_u8(taskId); + break; + } +} + +static void Task_HandleShopMenuBuy(u8 taskId) +{ + SetWordTaskArg(taskId, 0xE, (u32)CB2_InitBuyMenu); + fade_screen(1, 0); + gTasks[taskId].func = Task_GoToBuyOrSellMenu; +} + +static void Task_HandleShopMenuSell(u8 taskId) +{ + SetWordTaskArg(taskId, 0xE, (u32)CB2_GoToSellMenu); + fade_screen(1, 0); + gTasks[taskId].func = Task_GoToBuyOrSellMenu; +} + +static void CB2_GoToSellMenu(void) +{ + GoToBagMenu(2, POCKET_POKE_BALLS, CB2_ReturnToField); + gFieldCallback = MapPostLoadHook_ReturnToShopMenu; +} + +static void Task_HandleShopMenuQuit(u8 taskId) +{ + ClearShopMenuWindow(); + RecordQuestLogItemPurchase(); + DestroyTask(taskId); + if (gShopData.callback != NULL) + gShopData.callback(); +} + +static void ClearShopMenuWindow(void) +{ + ClearStdWindowAndFrameToTransparent(sShopMenuWindowId, 2); + RemoveWindow(sShopMenuWindowId); +} + +static void Task_GoToBuyOrSellMenu(u8 taskId) +{ + if (gPaletteFade.active) + return; + + SetMainCallback2((void *)GetWordTaskArg(taskId, 0xE)); + FreeAllWindowBuffers(); + DestroyTask(taskId); +} + +static void MapPostLoadHook_ReturnToShopMenu(void) +{ + sub_807DC00(); + CreateTask(Task_ReturnToShopMenu, 8); +} + +static void Task_ReturnToShopMenu(u8 taskId) +{ + if (IsWeatherNotFadingIn() != TRUE) + return; + + DisplayItemMessageOnField(taskId, GetMartUnk16_4(), gText_CanIHelpWithAnythingElse, ShowShopMenuAfterExitingBuyOrSellMenu); +} + +static void ShowShopMenuAfterExitingBuyOrSellMenu(u8 taskId) +{ + CreateShopMenu(gShopData.martType); + DestroyTask(taskId); +} + +static void CB2_BuyMenu(void) +{ + RunTasks(); + AnimateSprites(); + BuildOamBuffer(); + UpdatePaletteFade(); + DoScheduledBgTilemapCopiesToVram(); +} + +static void VBlankCB_BuyMenu(void) +{ + LoadOam(); + ProcessSpriteCopyRequests(); + TransferPlttBuffer(); +} + +static void CB2_InitBuyMenu(void) +{ + u8 taskId; + + switch (gMain.state) + { + case 0: + SetVBlankHBlankCallbacksToNull(); + CpuFastFill(0, (void *)OAM, 0x400); + ScanlineEffect_Stop(); + ResetTempTileDataBuffers(); + FreeAllSpritePalettes(); + ResetPaletteFade(); + ResetSpriteData(); + ResetTasks(); + ClearScheduledBgCopiesToVram(); + ResetItemMenuIconState(); + if (!(InitShopData()) || !(BuyMenuBuildListMenuTemplate())) + return; + BuyMenuInitBgs(); + FillBgTilemapBufferRect_Palette0(0, 0, 0, 0, 0x20, 0x20); + FillBgTilemapBufferRect_Palette0(1, 0, 0, 0, 0x20, 0x20); + FillBgTilemapBufferRect_Palette0(2, 0, 0, 0, 0x20, 0x20); + FillBgTilemapBufferRect_Palette0(3, 0, 0, 0, 0x20, 0x20); + BuyMenuInitWindows(gShopData.martType); + BuyMenuDecompressBgGraphics(); + gMain.state++; + break; + case 1: + if (FreeTempTileDataBuffersIfPossible()) + return; + gMain.state++; + break; + default: + gShopData.selectedRow = 0; + gShopData.scrollOffset = 0; + BuyMenuDrawGraphics(); + BuyMenuAddScrollIndicatorArrows(); + taskId = CreateTask(Task_BuyMenu, 8); + gTasks[taskId].tListTaskId = ListMenuInit(&gMultiuseListMenuTemplate, 0, 0); + BlendPalettes(0xFFFFFFFF, 0x10, RGB_BLACK); + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0x10, 0, RGB_BLACK); + SetVBlankCallback(VBlankCB_BuyMenu); + SetMainCallback2(CB2_BuyMenu); + break; + } +} + +static bool8 InitShopData(void) +{ + gShopTilemapBuffer1 = Alloc(sizeof(*gShopTilemapBuffer1)); + if (gShopTilemapBuffer1 == NULL) + { + BuyMenuFreeMemory(); + SetShopExitCallback(); + return FALSE; + } + + gShopTilemapBuffer2 = Alloc(sizeof(*gShopTilemapBuffer2)); + if (gShopTilemapBuffer2 == NULL) + { + BuyMenuFreeMemory(); + SetShopExitCallback(); + return FALSE; + } + + gShopTilemapBuffer3 = Alloc(sizeof(*gShopTilemapBuffer3)); + if (gShopTilemapBuffer3 == NULL) + { + BuyMenuFreeMemory(); + SetShopExitCallback(); + return FALSE; + } + + gShopTilemapBuffer4 = Alloc(sizeof(*gShopTilemapBuffer4)); + if (gShopTilemapBuffer4 == NULL) + { + BuyMenuFreeMemory(); + SetShopExitCallback(); + return FALSE; + } + + return TRUE; +} + +static void BuyMenuInitBgs(void) +{ + ResetBgsAndClearDma3BusyFlags(0); + InitBgsFromTemplates(0, sShopBuyMenuBgTemplates, NELEMS(sShopBuyMenuBgTemplates)); + SetBgTilemapBuffer(1, gShopTilemapBuffer2); + SetBgTilemapBuffer(2, gShopTilemapBuffer4); + SetBgTilemapBuffer(3, gShopTilemapBuffer3); + SetGpuReg(REG_OFFSET_BG0HOFS, DISPCNT_MODE_0); + SetGpuReg(REG_OFFSET_BG0VOFS, DISPCNT_MODE_0); + SetGpuReg(REG_OFFSET_BG1HOFS, DISPCNT_MODE_0); + SetGpuReg(REG_OFFSET_BG1VOFS, DISPCNT_MODE_0); + SetGpuReg(REG_OFFSET_BG2HOFS, DISPCNT_MODE_0); + SetGpuReg(REG_OFFSET_BG2VOFS, DISPCNT_MODE_0); + SetGpuReg(REG_OFFSET_BG3HOFS, DISPCNT_MODE_0); + SetGpuReg(REG_OFFSET_BG3VOFS, DISPCNT_MODE_0); + SetGpuReg(REG_OFFSET_BLDCNT, DISPCNT_MODE_0); + SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_ON | DISPCNT_OBJ_1D_MAP); + ShowBg(0); + ShowBg(1); + ShowBg(2); + ShowBg(3); +} + +static void BuyMenuDecompressBgGraphics(void) +{ + void* pal; + + DecompressAndCopyTileDataToVram(1, gBuyMenuFrame_Gfx, 0x480, 0x3DC, 0); + if ((gShopData.martType) != MART_TYPE_TMHM) + LZDecompressWram(gBuyMenuFrame_Tilemap, gShopTilemapBuffer1); + else + LZDecompressWram(gBuyMenuFrame_TmHmTilemap, gShopTilemapBuffer1); + + pal = Alloc(0x40); + LZDecompressWram(gBuyMenuFrame_Pal, pal); + LoadPalette(pal, 0xB0, 0x20); + LoadPalette(pal + 0x20, 0x60, 0x20); + Free(pal); +} + +static void sub_809B10C(bool32 a0) +{ + u8 v; + + if (a0 == FALSE) + v = 0xB; + else + v = 6; + + if ((gShopData.martType) != MART_TYPE_TMHM) + SetBgTilemapPalette(1, 0, 0xE, 0x1E, 6, v); + else + SetBgTilemapPalette(1, 0, 0xC, 0x1E, 8, v); + + ScheduleBgCopyTilemapToVram(1); +} + +static void BuyMenuDrawGraphics(void) +{ + sub_809B764(); + BuyMenuCopyTilemapData(); + BuyMenuDrawMoneyBox(); + ScheduleBgCopyTilemapToVram(0); + ScheduleBgCopyTilemapToVram(1); + ScheduleBgCopyTilemapToVram(2); + ScheduleBgCopyTilemapToVram(3); +} + +bool8 BuyMenuBuildListMenuTemplate(void) +{ + u16 i, v; + + sShopMenuListMenu = Alloc((gShopData.itemCount + 1) * sizeof(*sShopMenuListMenu)); + if (sShopMenuListMenu == NULL + || (sShopMenuItemStrings = Alloc((gShopData.itemCount + 1) * sizeof(*sShopMenuItemStrings))) == NULL) + { + BuyMenuFreeMemory(); + SetShopExitCallback(); + return FALSE; + } + + for (i = 0; i < gShopData.itemCount; i++) + { + PokeMartWriteNameAndIdAt(&sShopMenuListMenu[i], gShopData.itemList[i], sShopMenuItemStrings[i]); + } + StringCopy(sShopMenuItemStrings[i], gFameCheckerText_Cancel); + sShopMenuListMenu[i].label = sShopMenuItemStrings[i]; + sShopMenuListMenu[i].index = -2; + gMultiuseListMenuTemplate.items = sShopMenuListMenu; + gMultiuseListMenuTemplate.totalItems = gShopData.itemCount + 1; + gMultiuseListMenuTemplate.windowId = 4; + gMultiuseListMenuTemplate.header_X = 0; + gMultiuseListMenuTemplate.item_X = 9; + gMultiuseListMenuTemplate.cursor_X = 1; + gMultiuseListMenuTemplate.lettersSpacing = 0; + gMultiuseListMenuTemplate.itemVerticalPadding = 2; + gMultiuseListMenuTemplate.upText_Y = 2; + gMultiuseListMenuTemplate.fontId = 2; + gMultiuseListMenuTemplate.fillValue = 0; + gMultiuseListMenuTemplate.cursorPal = GetFontAttribute(2, FONTATTR_COLOR_FOREGROUND); + gMultiuseListMenuTemplate.cursorShadowPal = GetFontAttribute(2, FONTATTR_COLOR_SHADOW); + gMultiuseListMenuTemplate.moveCursorFunc = BuyMenuPrintItemDescriptionAndShowItemIcon; + gMultiuseListMenuTemplate.itemPrintFunc = BuyMenuPrintPriceInList; + gMultiuseListMenuTemplate.scrollMultiple = 0; + gMultiuseListMenuTemplate.cursorKind = 0; + + if (gShopData.martType == MART_TYPE_TMHM) + v = 5; + else + v = 6; + + if ((gShopData.itemCount + 1) > v) + gMultiuseListMenuTemplate.maxShowed = v; + else + gMultiuseListMenuTemplate.maxShowed = gShopData.itemCount + 1; + + gShopData.field12 = gMultiuseListMenuTemplate.maxShowed; + return TRUE; +} + +static void PokeMartWriteNameAndIdAt(struct ListMenuItem *list, u16 index, u8* dst) +{ + CopyItemName(index, dst); + list->label = dst; + list->index = index; +} + +static void BuyMenuPrintItemDescriptionAndShowItemIcon(s32 item, bool8 onInit, struct ListMenu *list) +{ + const u8 *description; + + if (onInit != TRUE) + PlaySE(SE_SELECT); + + if (item != INDEX_CANCEL) + description = ItemId_GetDescription(item); + else + description = gText_QuitShopping; + + FillWindowPixelBuffer(5, PIXEL_FILL(0)); + if (gShopData.martType != 1) + { + DestroyItemMenuIcon(gShopData.itemSlot ^ 1); + if (item != INDEX_CANCEL) + CreateItemMenuIcon(item, gShopData.itemSlot); + else + CreateItemMenuIcon(ITEM_N_A, gShopData.itemSlot); + + gShopData.itemSlot ^= 1; + BuyMenuPrint(5, 2, description, 0, 3, 2, 1, 0, 0); + } + else //TM Mart + { + FillWindowPixelBuffer(6, PIXEL_FILL(0)); + LoadTmHmNameInMart(item); + BuyMenuPrint(5, 2, description, 2, 3, 1, 0, 0, 0); + } +} + +static void BuyMenuPrintPriceInList(u8 windowId, s32 item, u8 y) +{ + s32 x; + u8 *loc; + + if (item != INDEX_CANCEL) + { + ConvertIntToDecimalStringN(gStringVar1, itemid_get_market_price(item), 0, 4); + x = 4 - StringLength(gStringVar1); + loc = gStringVar4; + while (x-- != 0) + *loc++ = 0; + StringExpandPlaceholders(loc, gText_PokedollarVar1); + BuyMenuPrint(windowId, 0, gStringVar4, 0x69, y, 0, 0, TEXT_SPEED_FF, 1); + } +} + +static void LoadTmHmNameInMart(s32 item) +{ + if (item != INDEX_CANCEL) + { + ConvertIntToDecimalStringN(gStringVar1, item - ITEM_DEVON_SCOPE, 2, 2); + StringCopy(gStringVar4, gOtherText_UnkF9_08_Clear_01); + StringAppend(gStringVar4, gStringVar1); + BuyMenuPrint(6, 0, gStringVar4, 0, 0, 0, 0, TEXT_SPEED_FF, 1); + StringCopy(gStringVar4, gMoveNames[ItemIdToBattleMoveId(item)]); + BuyMenuPrint(6, 2, gStringVar4, 0, 0x10, 0, 0, 0, 1); + } + else + { + BuyMenuPrint(6, 0, gText_ThreeHyphens, 0, 0, 0, 0, TEXT_SPEED_FF, 1); + BuyMenuPrint(6, 2, gText_SevenHyphens, 0, 0x10, 0, 0, 0, 1); + } +} + +u8 GetMartUnk16_4(void) +{ + return gShopData.unk16_4; +} + +static void BuyMenuPrintCursor(u8 listTaskId, u8 a1) +{ + BuyMenuPrintCursorAtYPosition(ListMenuGetYCoordForPrintingArrowCursor(listTaskId), a1); +} + +static void BuyMenuPrintCursorAtYPosition(u8 y, u8 a1) +{ + if (a1 == 0xFF) + { + FillWindowPixelRect(4, 0, 1, y, GetFontAttribute(2, FONTATTR_MAX_LETTER_WIDTH), GetFontAttribute(2, FONTATTR_MAX_LETTER_HEIGHT)); + CopyWindowToVram(4, 2); + } + else + { + BuyMenuPrint(4, 2, gFameCheckerText_ListMenuCursor, 1, y, 0, 0, 0, a1); + } +} + +static void BuyMenuFreeMemory(void) +{ + if (gShopTilemapBuffer1 != NULL) + Free(gShopTilemapBuffer1); + + if (gShopTilemapBuffer2 != NULL) + Free(gShopTilemapBuffer2); + + if (gShopTilemapBuffer3 != NULL) + Free(gShopTilemapBuffer3); + + if (gShopTilemapBuffer4 != NULL) + Free(gShopTilemapBuffer4); + + if (sShopMenuListMenu != NULL) + Free(sShopMenuListMenu); + + if (sShopMenuItemStrings != NULL) + Free(sShopMenuItemStrings); + + FreeAllWindowBuffers(); +} + +static void SetShopExitCallback(void) +{ + gFieldCallback = MapPostLoadHook_ReturnToShopMenu; + SetMainCallback2(CB2_ReturnToField); +} + + +static void BuyMenuAddScrollIndicatorArrows(void) +{ + if (gShopData.martType != MART_TYPE_TMHM) + { + gShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 160, 8, 104, + (gShopData.itemCount - gShopData.field12) + 1, 110, 110, &gShopData.scrollOffset); + } + else + { + gShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 160, 8, 88, + (gShopData.itemCount - gShopData.field12) + 1, 110, 110, &gShopData.scrollOffset); + } +} + +static void BuyQuantityAddScrollIndicatorArrows(void) +{ + gShopData.unk18 = 1; + gShopData.unk16_11 = AddScrollIndicatorArrowPairParameterized(SCROLL_ARROW_UP, 0x98, 0x48, 0x68, 2, 0x6E, 0x6E, &gShopData.unk18); +} + +static void BuyMenuRemoveScrollIndicatorArrows(void) +{ + if ((gShopData.unk16_11) == 0x1F) + return; + + RemoveScrollIndicatorArrowPair(gShopData.unk16_11); + gShopData.unk16_11 = 0x1F; +} + +static void sub_809B764(void) +{ + BuyMenuCollectEventObjectData(); + BuyMenuDrawEventObjects(); + BuyMenuDrawMapBg(); +} + +static void BuyMenuDrawMapBg(void) +{ + s16 i, j, x, y; + const struct MapData *mapData; + u16 metatile; + u8 metatileLayerType; + + mapData = gMapHeader.mapData; + GetXYCoordsOneStepInFrontOfPlayer(&x, &y); + x -= 2; + y -= 3; + + for (j = 0; j < 10; j++) + { + for (i = 0; i < 5; i++) + { + metatile = MapGridGetMetatileIdAt(x + i, y + j); + metatileLayerType = MapGridGetMetatileLayerTypeAt(x + i, y + j); + + if (metatile < NUM_METATILES_IN_PRIMARY) + { + BuyMenuDrawMapMetatile(i, j, (u16*)mapData->primaryTileset->metatiles + metatile * 8, metatileLayerType); + } + else + { + BuyMenuDrawMapMetatile(i, j, (u16*)mapData->secondaryTileset->metatiles + ((metatile - NUM_METATILES_IN_PRIMARY) * 8), metatileLayerType); + } + } + } +} + +static void BuyMenuDrawMapMetatile(s16 x, s16 y, const u16 *src, u8 metatileLayerType) +{ + u16 offset1 = x * 2; + u16 offset2 = y * 64 + 64; + + switch (metatileLayerType) + { + case 0: + BuyMenuDrawMapMetatileLayer(*gShopTilemapBuffer4, offset1, offset2, src); + BuyMenuDrawMapMetatileLayer(*gShopTilemapBuffer2, offset1, offset2, src + 4); + break; + case 1: + BuyMenuDrawMapMetatileLayer(*gShopTilemapBuffer3, offset1, offset2, src); + BuyMenuDrawMapMetatileLayer(*gShopTilemapBuffer4, offset1, offset2, src + 4); + break; + case 2: + BuyMenuDrawMapMetatileLayer(*gShopTilemapBuffer3, offset1, offset2, src); + BuyMenuDrawMapMetatileLayer(*gShopTilemapBuffer2, offset1, offset2, src + 4); + break; + } +} + +static void BuyMenuDrawMapMetatileLayer(u16 *dest, s16 offset1, s16 offset2, const u16 *src) +{ + dest[offset1 + offset2] = src[0]; // top left + dest[offset1 + offset2 + 1] = src[1]; // top right + dest[offset1 + offset2 + 32] = src[2]; // bottom left + dest[offset1 + offset2 + 33] = src[3]; // bottom right +} + +static void BuyMenuCollectEventObjectData(void) +{ + s16 facingX, facingY; + u8 x, y, z; + u8 num = 0; + + GetXYCoordsOneStepInFrontOfPlayer(&facingX, &facingY); + z = PlayerGetZCoord(); + + for (y = 0; y < MAP_OBJECTS_COUNT; y++) + sViewportMapObjects[y][EVENT_OBJ_ID] = MAP_OBJECTS_COUNT; + + for (y = 0; y < 5; y++) + { + for (x = 0; x < 7; x++) + { + u8 eventObjId = GetFieldObjectIdByXYZ(facingX - 3 + x, facingY - 2 + y, z); + if (eventObjId != MAP_OBJECTS_COUNT) + { + sViewportMapObjects[num][EVENT_OBJ_ID] = eventObjId; + sViewportMapObjects[num][X_COORD] = x; + sViewportMapObjects[num][Y_COORD] = y; + + switch (gMapObjects[eventObjId].facingDirection) + { + case DIR_SOUTH: + sViewportMapObjects[num][ANIM_NUM] = 0; + break; + case DIR_NORTH: + sViewportMapObjects[num][ANIM_NUM] = 1; + break; + case DIR_WEST: + sViewportMapObjects[num][ANIM_NUM] = 2; + break; + case DIR_EAST: + default: + sViewportMapObjects[num][ANIM_NUM] = 3; + break; + } + num++; + } + } + } +} + +static void BuyMenuDrawEventObjects(void) +{ + u8 i, spriteId; + const struct MapObjectGraphicsInfo *graphicsInfo; + + for (i = 0; i < MAP_OBJECTS_COUNT; i++) + { + if (sViewportMapObjects[i][EVENT_OBJ_ID] == MAP_OBJECTS_COUNT) + continue; + + graphicsInfo = GetFieldObjectGraphicsInfo(gMapObjects[sViewportMapObjects[i][EVENT_OBJ_ID]].graphicsId); + spriteId = AddPseudoEventObject( + gMapObjects[sViewportMapObjects[i][EVENT_OBJ_ID]].graphicsId, + SpriteCallbackDummy, + (u16)sViewportMapObjects[i][X_COORD] * 16 - 8, + (u16)sViewportMapObjects[i][Y_COORD] * 16 + 48 - graphicsInfo->height / 2, + 2); + StartSpriteAnim(&gSprites[spriteId], sViewportMapObjects[i][ANIM_NUM]); + } +} + +static void BuyMenuCopyTilemapData(void) +{ + s16 i; + u16 *dst = *gShopTilemapBuffer2; + u16 *src = *gShopTilemapBuffer1; + + for (i = 0; i < 0x400; i++) + { + if (src[i] == 0) + continue; + dst[i] = src[i] + 0xb3dc; + } +} + +static void BuyMenuPrintItemQuantityAndPrice(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + FillWindowPixelBuffer(3, PIXEL_FILL(1)); + PrintMoneyAmount(3, 0x36, 0xA, gShopData.itemPrice, TEXT_SPEED_FF); + ConvertIntToDecimalStringN(gStringVar1, tItemCount, STR_CONV_MODE_LEADING_ZEROS, 2); + StringExpandPlaceholders(gStringVar4, gText_TimesStrVar1); + BuyMenuPrint(3, 0, gStringVar4, 2, 0xA, 0, 0, 0, 1); +} + +static void Task_BuyMenu(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + s32 itemId = ListMenu_ProcessInput(tListTaskId); + ListMenuGetScrollAndRow(tListTaskId, &gShopData.scrollOffset, &gShopData.selectedRow); + switch (itemId) + { + case LIST_NOTHING_CHOSEN: + break; + case LIST_CANCEL: + PlaySE(SE_SELECT); + ExitBuyMenu(taskId); + break; + default: + PlaySE(SE_SELECT); + tItemId = itemId; + ClearWindowTilemap(5); + BuyMenuRemoveScrollIndicatorArrows(); + BuyMenuPrintCursor(tListTaskId, 2); + sub_809B10C(1); + gShopData.itemPrice = itemid_get_market_price(itemId); + if (!IsEnoughMoney(&gSaveBlock1Ptr->money, gShopData.itemPrice)) + { + BuyMenuDisplayMessage(taskId, gText_YouDontHaveMoney, BuyMenuReturnToItemList); + } + else + { + CopyItemName(itemId, gStringVar1); + BuyMenuDisplayMessage(taskId, gText_Var1CertainlyHowMany, Task_BuyHowManyDialogueInit); + } + break; + } + } +} + +static void Task_BuyHowManyDialogueInit(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + u16 quantityInBag = BagGetQuantityByItemId(tItemId); + u16 maxQuantity; + + BuyMenuQuantityBoxThinBorder(1, 0); + ConvertIntToDecimalStringN(gStringVar1, quantityInBag, STR_CONV_MODE_RIGHT_ALIGN, 3); + StringExpandPlaceholders(gStringVar4, gText_InBagVar1); + BuyMenuPrint(1, 2, gStringVar4, 0, 2, 0, 0, 0, 1); + tItemCount = 1; + BuyMenuQuantityBoxNormalBorder(3, 0); + BuyMenuPrintItemQuantityAndPrice(taskId); + ScheduleBgCopyTilemapToVram(0); + maxQuantity = GetMoney(&gSaveBlock1Ptr->money) / itemid_get_market_price(tItemId); + if (maxQuantity > 99) + gShopData.maxQuantity = 99; + else + gShopData.maxQuantity = (u8)maxQuantity; + + if (maxQuantity != 1) + BuyQuantityAddScrollIndicatorArrows(); + + gTasks[taskId].func = Task_BuyHowManyDialogueHandleInput; +} + +static void Task_BuyHowManyDialogueHandleInput(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (AdjustQuantityAccordingToDPadInput(&tItemCount, gShopData.maxQuantity) == TRUE) + { + gShopData.itemPrice = itemid_get_market_price(tItemId) * tItemCount; + BuyMenuPrintItemQuantityAndPrice(taskId); + } + else + { + if (JOY_NEW(A_BUTTON)) + { + PlaySE(SE_SELECT); + BuyMenuRemoveScrollIndicatorArrows(); + ClearStdWindowAndFrameToTransparent(3, 0); + ClearStdWindowAndFrameToTransparent(1, 0); + ClearWindowTilemap(3); + ClearWindowTilemap(1); + PutWindowTilemap(4); + CopyItemName(tItemId, gStringVar1); + ConvertIntToDecimalStringN(gStringVar2, tItemCount, STR_CONV_MODE_LEFT_ALIGN, 2); + ConvertIntToDecimalStringN(gStringVar3, gShopData.itemPrice, STR_CONV_MODE_LEFT_ALIGN, 8); + BuyMenuDisplayMessage(taskId, gText_Var1AndYouWantedVar2, CreateBuyMenuConfirmPurchaseWindow); + } + else if (JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + BuyMenuRemoveScrollIndicatorArrows(); + ClearStdWindowAndFrameToTransparent(3, 0); + ClearStdWindowAndFrameToTransparent(1, 0); + ClearWindowTilemap(3); + ClearWindowTilemap(1); + BuyMenuReturnToItemList(taskId); + } + } +} + +static void CreateBuyMenuConfirmPurchaseWindow(u8 taskId) +{ + BuyMenuConfirmPurchase(taskId, sShopMenuActions_BuyQuit); +} + +static void BuyMenuTryMakePurchase(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + PutWindowTilemap(4); + if (AddBagItem(tItemId, tItemCount) == TRUE) + { + BuyMenuDisplayMessage(taskId, gText_HereYouGoThankYou, BuyMenuSubtractMoney); + nullsub_52(taskId); + RecordItemPurchase(tItemId, tItemCount, 1); + } + else + { + BuyMenuDisplayMessage(taskId, gText_NoMoreRoomForThis, BuyMenuReturnToItemList); + } +} + +static void BuyMenuSubtractMoney(u8 taskId) +{ + IncrementGameStat(GAME_STAT_SHOPPED); + RemoveMoney(&gSaveBlock1Ptr->money, gShopData.itemPrice); + PlaySE(SE_SHOP); + PrintMoneyAmountInMoneyBox(0, GetMoney(&gSaveBlock1Ptr->money), 0); + gTasks[taskId].func = Task_ReturnToItemListAfterItemPurchase; +} + +static void Task_ReturnToItemListAfterItemPurchase(u8 taskId) +{ + if (JOY_NEW(A_BUTTON) || JOY_NEW(B_BUTTON)) + { + PlaySE(SE_SELECT); + BuyMenuReturnToItemList(taskId); + } +} + +static void BuyMenuReturnToItemList(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + ClearDialogWindowAndFrameToTransparent(2, 0); + BuyMenuPrintCursor(tListTaskId, 1); + sub_809B10C(0); + PutWindowTilemap(4); + PutWindowTilemap(5); + if (gShopData.martType == MART_TYPE_TMHM) + PutWindowTilemap(6); + + ScheduleBgCopyTilemapToVram(0); + BuyMenuAddScrollIndicatorArrows(); + gTasks[taskId].func = Task_BuyMenu; +} + +static void ExitBuyMenu(u8 taskId) +{ + gFieldCallback = MapPostLoadHook_ReturnToShopMenu; + BeginNormalPaletteFade(0xFFFFFFFF, 0, 0, 16, RGB_BLACK); + gTasks[taskId].func = Task_ExitBuyMenu; +} + +static void Task_ExitBuyMenu(u8 taskId) +{ + s16 *data = gTasks[taskId].data; + + if (!gPaletteFade.active) + { + DestroyListMenuTask(tListTaskId, NULL, NULL); + BuyMenuFreeMemory(); + SetMainCallback2(CB2_ReturnToField); + DestroyTask(taskId); + } +} + +static void nullsub_52(u8 taskId) +{ +} + +static void nullsub_53(void) +{ +} + +void RecordItemPurchase(u16 item, u16 quantity, u8 a2) +{ + struct MartHistory *history; + + if (gShopMenuHistory[0].unkA == a2) + { + history = &gShopMenuHistory[0]; + } + else if (gShopMenuHistory[1].unkA == a2) + { + history = &gShopMenuHistory[1]; + } + else + { + if (gShopMenuHistory[0].unkA == 0) + history = &gShopMenuHistory[0]; + else + history = &gShopMenuHistory[1]; + history->unkA = a2; + } + + if (history->unk4 != 0) + { + history->unk9 = 1; + } + + history->unk4 = item; + if (history->unk6 < 999) + { + history->unk6 += quantity; + if (history->unk6 > 999) + history->unk6 = 999; + } + + if (history->unk0 < 999999) + { + history->unk0 += (itemid_get_market_price(item) >> (a2 - 1)) * quantity; + if (history->unk0 > 999999) + history->unk0 = 999999; + } +} + +static void RecordQuestLogItemPurchase(void) +{ + u16 v; + + v = gShopMenuHistory[0].unkA; + if (v != 0) + sub_8113550(v + 0x24, (const u16 *)&gShopMenuHistory[0]); + + v = gShopMenuHistory[1].unkA; + if (v != 0) + sub_8113550(v + 0x24, (const u16 *)&gShopMenuHistory[1]); +} + +void CreatePokemartMenu(const u16 *itemsForSale) +{ + SetShopItemsForSale(itemsForSale); + CreateShopMenu(MART_TYPE_REGULAR); + SetShopMenuCallback(EnableBothScriptContexts); + nullsub_53(); + memset(&gShopMenuHistory, 0, sizeof(gShopMenuHistory)); + gShopMenuHistory[0].unk8 = gMapHeader.regionMapSectionId; + gShopMenuHistory[1].unk8 = gMapHeader.regionMapSectionId; +} + +void CreateDecorationShop1Menu(const u16 *itemsForSale) +{ + SetShopItemsForSale(itemsForSale); + CreateShopMenu(MART_TYPE_DECOR); + SetShopMenuCallback(EnableBothScriptContexts); +} + +void CreateDecorationShop2Menu(const u16 *itemsForSale) +{ + SetShopItemsForSale(itemsForSale); + CreateShopMenu(MART_TYPE_DECOR2); + SetShopMenuCallback(EnableBothScriptContexts); +} + diff --git a/src/tm_case.c b/src/tm_case.c index a9af2332e..40509ed1b 100644 --- a/src/tm_case.c +++ b/src/tm_case.c @@ -1107,7 +1107,7 @@ static void Task_DoSaleOfTMs(u8 taskId) PlaySE(SE_SHOP); RemoveBagItem(gSpecialVar_ItemId, data[8]); AddMoney(&gSaveBlock1Ptr->money, itemid_get_market_price(gSpecialVar_ItemId) / 2 * data[8]); - sub_809C09C(gSpecialVar_ItemId, data[8], 2); + RecordItemPurchase(gSpecialVar_ItemId, data[8], 2); DestroyListMenuTask(data[0], &sTMCaseStaticResources.scrollOffset, &sTMCaseStaticResources.selectedRow); TMCaseSetup_GetTMCount(); TMCaseSetup_InitListMenuPositions(); diff --git a/sym_ewram.txt b/sym_ewram.txt index e068902f2..d2c5b4543 100644 --- a/sym_ewram.txt +++ b/sym_ewram.txt @@ -306,48 +306,10 @@ gUnknown_2039874: @ 2039874 gBagPockets: @ 203988C .space 0x28 -gUnknown_20398B4: @ 20398B4 - .space 0x4 - -gUnknown_20398B8: @ 20398B8 - .space 0x2 - -gUnknown_20398BA: @ 20398BA - .space 0x7A - -gUnknown_2039934: @ 2039934 - .space 0xE - -gUnknown_2039942: @ 2039942 - .space 0xE - -gUnknown_2039950: @ 2039950 - .space 0x4 - -gUnknown_2039954: @ 2039954 - .space 0x4 - -gUnknown_2039958: @ 2039958 - .space 0x4 - -gUnknown_203995C: @ 203995C - .space 0x4 - -gUnknown_2039960: @ 2039960 - .space 0x4 - -gUnknown_2039964: @ 2039964 - .space 0x4 - -gUnknown_2039968: @ 2039968 - .space 0x4 - -gUnknown_203996C: @ 203996C - .space 0x18 - -gUnknown_2039984: @ 2039984 - .space 0x4 - + .align 2 + .include "src/shop.o" + .align 2 + .include "src/sea_cottage_special_anim.o" .align 2 .include "src/script_menu.o" |