checkpoint

This commit is contained in:
Marcus Huderle
2018-09-06 11:37:45 -05:00
parent 8ecf3b2159
commit fa9d1759bd
6 changed files with 342 additions and 575 deletions

View File

@@ -5,561 +5,6 @@
.text
thumb_func_start BuyMenuAddScrollIndicatorArrows
@ void BuyMenuAddScrollIndicatorArrows()
BuyMenuAddScrollIndicatorArrows: @ 80E01C8
push {r4,r5,lr}
sub sp, 0x10
ldr r5, =gShopDataPtr
ldr r2, [r5]
ldr r4, =0x0000200b
adds r0, r2, r4
ldrb r0, [r0]
cmp r0, 0xFF
bne _080E0206
ldr r0, =gMartInfo
ldrh r1, [r0, 0xC]
adds r0, r1, 0x1
cmp r0, 0x8
ble _080E0206
subs r0, r1, 0x7
str r0, [sp]
ldr r0, =0x00000834
str r0, [sp, 0x4]
str r0, [sp, 0x8]
ldr r1, =0x00002008
adds r0, r2, r1
str r0, [sp, 0xC]
movs r0, 0x2
movs r1, 0xAC
movs r2, 0xC
movs r3, 0x94
bl AddScrollIndicatorArrowPairParameterized
ldr r1, [r5]
adds r1, r4
strb r0, [r1]
_080E0206:
add sp, 0x10
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end BuyMenuAddScrollIndicatorArrows
thumb_func_start BuyMenuRemoveScrollIndicatorArrows
@ void BuyMenuRemoveScrollIndicatorArrows()
BuyMenuRemoveScrollIndicatorArrows: @ 80E0224
push {r4,lr}
ldr r4, =gShopDataPtr
ldr r0, [r4]
ldr r2, =0x0000200b
adds r1, r0, r2
ldrb r0, [r1]
cmp r0, 0xFF
beq _080E0242
bl RemoveScrollIndicatorArrowPair
ldr r0, [r4]
ldr r1, =0x0000200b
adds r0, r1
movs r1, 0xFF
strb r1, [r0]
_080E0242:
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end BuyMenuRemoveScrollIndicatorArrows
thumb_func_start BuyMenuPrintCursor
@ void BuyMenuPrintCursor(u8 taskId, u8 colorSetId)
BuyMenuPrintCursor: @ 80E0250
push {r4,lr}
sub sp, 0x8
adds r4, r1, 0
lsls r0, 24
lsrs r0, 24
lsls r4, 24
lsrs r4, 24
bl ListMenuGetYCoordForPrintingArrowCursor
adds r3, r0, 0
lsls r3, 24
lsrs r3, 24
ldr r1, =gText_SelectorArrow2
movs r0, 0
str r0, [sp]
str r4, [sp, 0x4]
movs r0, 0x1
movs r2, 0
bl BuyMenuPrint
add sp, 0x8
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end BuyMenuPrintCursor
thumb_func_start BuyMenuAddItemIcon
@ void BuyMenuAddItemIcon(u16 id, u8 iconSlot)
BuyMenuAddItemIcon: @ 80E0284
push {r4,lr}
sub sp, 0x8
lsls r0, 16
lsrs r2, r0, 16
lsls r1, 24
lsrs r3, r1, 24
ldr r0, =gShopDataPtr
ldr r4, =0x0000200d
adds r1, r3, r4
ldr r0, [r0]
adds r4, r0, r1
ldrb r0, [r4]
cmp r0, 0xFF
bne _080E0310
ldr r0, =gMartInfo
ldrb r0, [r0, 0xF]
cmp r0, 0
beq _080E02AE
ldr r0, =0x0000ffff
cmp r2, r0
bne _080E02F0
_080E02AE:
ldr r0, =0x0000083e
adds r1, r3, r0
adds r0, r1, 0
bl AddItemIconSprite
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x40
beq _080E0310
strb r2, [r4]
ldr r1, =gSprites
lsls r0, r2, 4
adds r0, r2
lsls r0, 2
adds r0, r1
movs r1, 0x18
strh r1, [r0, 0x24]
movs r1, 0x58
strh r1, [r0, 0x26]
b _080E0310
.pool
_080E02F0:
lsls r0, r2, 24
lsrs r0, 24
ldr r2, =0x0000083e
adds r1, r3, r2
str r1, [sp]
str r1, [sp, 0x4]
movs r1, 0x14
movs r2, 0x54
movs r3, 0x1
bl AddDecorationIconObject
lsls r0, 24
lsrs r2, r0, 24
cmp r2, 0x40
beq _080E0310
strb r2, [r4]
_080E0310:
add sp, 0x8
pop {r4}
pop {r0}
bx r0
.pool
thumb_func_end BuyMenuAddItemIcon
thumb_func_start BuyMenuRemoveItemIcon
@ void BuyMenuRemoveItemIcon(u16 id, u8 iconSlot)
BuyMenuRemoveItemIcon: @ 80E031C
push {r4,r5,lr}
lsls r1, 24
lsrs r4, r1, 24
ldr r0, =gShopDataPtr
ldr r2, =0x0000200d
adds r1, r4, r2
ldr r0, [r0]
adds r5, r0, r1
ldrb r0, [r5]
cmp r0, 0xFF
beq _080E0356
ldr r0, =0x0000083e
adds r4, r0
adds r0, r4, 0
bl FreeSpriteTilesByTag
adds r0, r4, 0
bl FreeSpritePaletteByTag
ldrb r1, [r5]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
ldr r1, =gSprites
adds r0, r1
bl DestroySprite
movs r0, 0xFF
strb r0, [r5]
_080E0356:
pop {r4,r5}
pop {r0}
bx r0
.pool
thumb_func_end BuyMenuRemoveItemIcon
thumb_func_start BuyMenuInitBgs
@ void BuyMenuInitBgs()
BuyMenuInitBgs: @ 80E036C
push {r4,lr}
movs r0, 0
bl ResetBgsAndClearDma3BusyFlags
ldr r1, =gUnknown_08589A60
movs r0, 0
movs r2, 0x4
bl InitBgsFromTemplates
ldr r4, =gShopDataPtr
ldr r1, [r4]
movs r0, 0x80
lsls r0, 4
adds r1, r0
movs r0, 0x1
bl SetBgTilemapBuffer
ldr r1, [r4]
movs r0, 0xC0
lsls r0, 5
adds r1, r0
movs r0, 0x2
bl SetBgTilemapBuffer
ldr r1, [r4]
movs r0, 0x80
lsls r0, 5
adds 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 {r4}
pop {r0}
bx r0
.pool
thumb_func_end BuyMenuInitBgs
thumb_func_start BuyMenuDecompressBgGraphics
@ void BuyMenuDecompressBgGraphics()
BuyMenuDecompressBgGraphics: @ 80E0424
push {lr}
sub sp, 0x4
ldr r1, =gBuyMenuFrame_Gfx
movs r2, 0xE8
lsls r2, 2
ldr r3, =0x000003e3
movs r0, 0
str r0, [sp]
movs r0, 0x1
bl decompress_and_copy_tile_data_to_vram
ldr r0, =gBuyMenuFrame_Tilemap
ldr r1, =gShopDataPtr
ldr r1, [r1]
bl LZDecompressWram
ldr r0, =gMenuMoneyPal
movs r1, 0xC0
movs r2, 0x20
bl LoadCompressedPalette
add sp, 0x4
pop {r0}
bx r0
.pool
thumb_func_end BuyMenuDecompressBgGraphics
thumb_func_start BuyMenuInitWindows
@ void BuyMenuInitWindows()
BuyMenuInitWindows: @ 80E0468
push {lr}
ldr r0, =gUnknown_08589A70
bl InitWindows
bl DeactivateAllTextPrinters
movs r0, 0
movs r1, 0x1
movs r2, 0xD0
bl LoadUserWindowBorderGfx
movs r0, 0
movs r1, 0xA
movs r2, 0xE0
bl LoadMessageBoxGfx
movs r0, 0
bl PutWindowTilemap
movs r0, 0x1
bl PutWindowTilemap
movs r0, 0x2
bl PutWindowTilemap
pop {r0}
bx r0
.pool
thumb_func_end BuyMenuInitWindows
thumb_func_start BuyMenuPrint
@ void BuyMenuPrint(u8 windowId, u8 *str, u8 x, u8 y, u8 speed, u8 colorSetId)
BuyMenuPrint: @ 80E04A4
push {r4-r6,lr}
sub sp, 0x14
ldr r6, [sp, 0x24]
ldr r5, [sp, 0x28]
lsls r0, 24
lsrs r0, 24
lsls r2, 24
lsrs r2, 24
lsls r3, 24
lsrs r3, 24
lsls r5, 24
lsrs r5, 24
movs r4, 0
str r4, [sp]
str r4, [sp, 0x4]
lsls r4, r5, 1
adds r4, r5
ldr r5, =gUnknown_08589AB0
adds r4, r5
str r4, [sp, 0x8]
lsls r6, 24
asrs r6, 24
str r6, [sp, 0xC]
str r1, [sp, 0x10]
movs r1, 0x1
bl AddTextPrinterParameterized2
add sp, 0x14
pop {r4-r6}
pop {r0}
bx r0
.pool
thumb_func_end BuyMenuPrint
thumb_func_start BuyMenuDisplayMessage
@ void BuyMenuDisplayMessage(u8 taskId, u8 *str, void ( *callback)(u8 taskId))
BuyMenuDisplayMessage: @ 80E04E8
push {r4-r6,lr}
sub sp, 0x10
adds r4, r0, 0
adds r5, r1, 0
adds r6, r2, 0
lsls r4, 24
lsrs r4, 24
bl GetPlayerTextSpeed
lsls r0, 24
lsrs r0, 24
movs r1, 0x1
str r1, [sp]
str r0, [sp, 0x4]
str r5, [sp, 0x8]
str r6, [sp, 0xC]
adds r0, r4, 0
movs r1, 0x5
movs r2, 0xA
movs r3, 0xE
bl DisplayMessageAndContinueTask
movs r0, 0
bl schedule_bg_copy_tilemap_to_vram
add sp, 0x10
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end BuyMenuDisplayMessage
thumb_func_start BuyMenuDrawGraphics
@ void BuyMenuDrawGraphics()
BuyMenuDrawGraphics: @ 80E0524
push {lr}
bl BuyMenuDrawMapGraphics
bl BuyMenuCopyMenuBgToBg1TilemapBuffer
movs r0, 0x13
movs r1, 0xB
bl AddMoneyLabelObject
ldr r0, =gSaveBlock1Ptr
ldr r0, [r0]
movs r1, 0x92
lsls r1, 3
adds r0, r1
bl GetMoney
adds r3, r0, 0
movs r0, 0
movs r1, 0x1
movs r2, 0xD
bl PrintMoneyAmountInMoneyBoxWithBorder
movs r0, 0
bl schedule_bg_copy_tilemap_to_vram
movs r0, 0x1
bl schedule_bg_copy_tilemap_to_vram
movs r0, 0x2
bl schedule_bg_copy_tilemap_to_vram
movs r0, 0x3
bl schedule_bg_copy_tilemap_to_vram
pop {r0}
bx r0
.pool
thumb_func_end BuyMenuDrawGraphics
thumb_func_start BuyMenuDrawMapGraphics
@ void BuyMenuDrawMapGraphics()
BuyMenuDrawMapGraphics: @ 80E0570
push {lr}
bl BuyMenuCollectEventObjectData
bl BuyMenuDrawEventObjects
bl BuyMenuDrawMapBg
pop {r0}
bx r0
thumb_func_end BuyMenuDrawMapGraphics
thumb_func_start BuyMenuDrawMapBg
@ void BuyMenuDrawMapBg()
BuyMenuDrawMapBg: @ 80E0584
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x4
ldr r0, =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, 0x4
strh r0, [r1]
ldrh r0, [r4]
subs r0, 0x4
strh r0, [r4]
movs r1, 0
mov r10, r4
_080E05B6:
movs r4, 0
lsls r7, r1, 16
asrs r0, r7, 16
mov r8, r0
_080E05BE:
mov r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
lsls r4, 16
asrs r5, r4, 16
adds r0, r5
mov r2, r10
movs r3, 0
ldrsh r1, [r2, r3]
add r1, r8
bl MapGridGetMetatileIdAt
lsls r0, 16
lsrs r6, r0, 16
adds r0, r5, 0
mov r1, r8
bl BuyMenuCheckForOverlapWithMenuBg
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _080E0608
mov r0, sp
movs r1, 0
ldrsh r0, [r0, r1]
adds r0, r5
mov r2, r10
movs r3, 0
ldrsh r1, [r2, r3]
add r1, r8
bl MapGridGetMetatileLayerTypeAt
lsls r0, 24
lsrs r5, r0, 24
b _080E060A
.pool
_080E0608:
movs r5, 0x1
_080E060A:
ldr r0, =0x000001ff
cmp r6, r0
bhi _080E062C
asrs r0, r4, 16
mov r2, r9
ldr r1, [r2, 0x10]
lsls r3, r6, 4
ldr r2, [r1, 0xC]
adds r2, r3
asrs r1, r7, 16
adds r3, r5, 0
bl BuyMenuDrawMapMetatile
b _080E0644
.pool
_080E062C:
asrs r0, r4, 16
mov r3, r9
ldr r2, [r3, 0x14]
ldr r3, =0xfffffe00
adds r1, r6, r3
lsls r1, 4
ldr r2, [r2, 0xC]
adds r2, r1
asrs r1, r7, 16
adds r3, r5, 0
bl BuyMenuDrawMapMetatile
_080E0644:
movs r1, 0x80
lsls r1, 9
adds r0, r4, r1
lsrs r4, r0, 16
asrs r0, 16
cmp r0, 0xE
ble _080E05BE
adds r0, r7, r1
lsrs r1, r0, 16
asrs r0, 16
cmp r0, 0x9
ble _080E05B6
add sp, 0x4
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.pool
thumb_func_end BuyMenuDrawMapBg
thumb_func_start BuyMenuDrawMapMetatile
@ void BuyMenuDrawMapMetatile(u16 x, u16 y, u16 *src, u8 metatileLayerType)
BuyMenuDrawMapMetatile: @ 80E0670