mirror of
https://github.com/pret/pokefirered.git
synced 2026-06-02 22:04:27 -05:00
item_use: through sub_80A16D0
This commit is contained in:
parent
164dd43a62
commit
12f3ceb0f7
|
|
@ -2758,7 +2758,7 @@ _0814D03C:
|
|||
movs r3, 0x6
|
||||
bl ConvertIntToDecimalStringN
|
||||
ldr r4, _0814D080 @ =gStringVar2
|
||||
bl sub_815EFA0
|
||||
bl GetBerryPowder
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
movs r2, 0
|
||||
|
|
|
|||
|
|
@ -2150,8 +2150,8 @@ _08108E58:
|
|||
bx r0
|
||||
thumb_func_end sub_8108E54
|
||||
|
||||
thumb_func_start sub_8108E70
|
||||
sub_8108E70: @ 8108E70
|
||||
thumb_func_start DisplayItemMessageInBag
|
||||
DisplayItemMessageInBag: @ 8108E70
|
||||
push {r4-r6,lr}
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
|
|
@ -2202,7 +2202,7 @@ sub_8108E70: @ 8108E70
|
|||
bx r0
|
||||
.align 2, 0
|
||||
_08108EDC: .4byte gTasks+0x8
|
||||
thumb_func_end sub_8108E70
|
||||
thumb_func_end DisplayItemMessageInBag
|
||||
|
||||
thumb_func_start sub_8108EE0
|
||||
sub_8108EE0: @ 8108EE0
|
||||
|
|
@ -4376,7 +4376,7 @@ sub_810A0A8: @ 810A0A8
|
|||
ldr r3, _0810A11C @ =sub_810A1D0
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x2
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
b _0810A166
|
||||
.align 2, 0
|
||||
_0810A110: .4byte gTasks+0x8
|
||||
|
|
@ -4430,7 +4430,7 @@ sub_810A170: @ 810A170
|
|||
ldr r2, _0810A184 @ =gText_ThereIsNoPokemon
|
||||
ldr r3, _0810A188 @ =sub_810A1D0
|
||||
movs r1, 0x2
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
|
|
@ -4456,7 +4456,7 @@ sub_810A18C: @ 810A18C
|
|||
adds r0, r4, 0
|
||||
movs r1, 0x2
|
||||
adds r2, r5, 0
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
|
@ -4697,7 +4697,7 @@ sub_810A370: @ 810A370
|
|||
ldr r3, _0810A3C8 @ =sub_810A1D0
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x2
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
b _0810A426
|
||||
.align 2, 0
|
||||
_0810A3BC: .4byte gTasks+0x8
|
||||
|
|
@ -4826,7 +4826,7 @@ sub_810A468: @ 810A468
|
|||
ldr r3, _0810A4C0 @ =sub_810A1D0
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x2
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
b _0810A51E
|
||||
.align 2, 0
|
||||
_0810A4B4: .4byte gTasks+0x8
|
||||
|
|
@ -4981,7 +4981,7 @@ _0810A5B4:
|
|||
ldr r3, _0810A5F4 @ =sub_810A1F8
|
||||
adds r0, r5, 0
|
||||
adds r2, r4, 0
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
b _0810A63E
|
||||
.align 2, 0
|
||||
_0810A5E8: .4byte gStringVar1
|
||||
|
|
@ -5019,7 +5019,7 @@ _0810A618:
|
|||
ldr r3, _0810A650 @ =sub_810A770
|
||||
adds r0, r7, 0
|
||||
adds r2, r4, 0
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
_0810A63E:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
|
|
@ -5112,7 +5112,7 @@ sub_810A690: @ 810A690
|
|||
ldr r3, _0810A708 @ =sub_810A70C
|
||||
adds r0, r5, 0
|
||||
adds r2, r4, 0
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
|
@ -5426,7 +5426,7 @@ sub_810A940: @ 810A940
|
|||
adds r0, r5, 0
|
||||
movs r1, 0x2
|
||||
adds r2, r4, 0
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
|
|
@ -5803,7 +5803,7 @@ _0810ACEC:
|
|||
ldr r3, _0810AD0C @ =sub_810A1D0
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x2
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
_0810ACF8:
|
||||
add sp, 0x14
|
||||
pop {r3,r4}
|
||||
|
|
|
|||
322
asm/item_use.s
322
asm/item_use.s
|
|
@ -5,308 +5,6 @@
|
|||
|
||||
.text
|
||||
|
||||
thumb_func_start FieldUseFunc_CoinCase
|
||||
FieldUseFunc_CoinCase: @ 80A1460
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
ldr r4, _080A14B4 @ =gStringVar1
|
||||
bl GetCoins
|
||||
adds r1, r0, 0
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
adds r0, r4, 0
|
||||
movs r2, 0
|
||||
movs r3, 0x4
|
||||
bl ConvertIntToDecimalStringN
|
||||
ldr r4, _080A14B8 @ =gStringVar4
|
||||
ldr r1, _080A14BC @ =gUnknown_8416537
|
||||
adds r0, r4, 0
|
||||
bl StringExpandPlaceholders
|
||||
ldr r0, _080A14C0 @ =gSpecialVar_ItemId
|
||||
ldrh r2, [r0]
|
||||
ldr r3, _080A14C4 @ =0x0000ffff
|
||||
movs r0, 0x4
|
||||
movs r1, 0
|
||||
bl ItemUse_SetQuestLogEvent
|
||||
ldr r1, _080A14C8 @ =gTasks
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
movs r1, 0xE
|
||||
ldrsh r0, [r0, r1]
|
||||
cmp r0, 0
|
||||
bne _080A14D0
|
||||
ldr r3, _080A14CC @ =sub_810A1F8
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x2
|
||||
adds r2, r4, 0
|
||||
bl sub_8108E70
|
||||
b _080A14DC
|
||||
.align 2, 0
|
||||
_080A14B4: .4byte gStringVar1
|
||||
_080A14B8: .4byte gStringVar4
|
||||
_080A14BC: .4byte gUnknown_8416537
|
||||
_080A14C0: .4byte gSpecialVar_ItemId
|
||||
_080A14C4: .4byte 0x0000ffff
|
||||
_080A14C8: .4byte gTasks
|
||||
_080A14CC: .4byte sub_810A1F8
|
||||
_080A14D0:
|
||||
ldr r3, _080A14E4 @ =sub_80A112C
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x2
|
||||
adds r2, r4, 0
|
||||
bl DisplayItemMessageOnField
|
||||
_080A14DC:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A14E4: .4byte sub_80A112C
|
||||
thumb_func_end FieldUseFunc_CoinCase
|
||||
|
||||
thumb_func_start FieldUseFunc_PowderJar
|
||||
FieldUseFunc_PowderJar: @ 80A14E8
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
ldr r4, _080A1538 @ =gStringVar1
|
||||
bl sub_815EFA0
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
movs r2, 0
|
||||
movs r3, 0x5
|
||||
bl ConvertIntToDecimalStringN
|
||||
ldr r4, _080A153C @ =gStringVar4
|
||||
ldr r1, _080A1540 @ =gUnknown_8416644
|
||||
adds r0, r4, 0
|
||||
bl StringExpandPlaceholders
|
||||
ldr r0, _080A1544 @ =gSpecialVar_ItemId
|
||||
ldrh r2, [r0]
|
||||
ldr r3, _080A1548 @ =0x0000ffff
|
||||
movs r0, 0x4
|
||||
movs r1, 0
|
||||
bl ItemUse_SetQuestLogEvent
|
||||
ldr r1, _080A154C @ =gTasks
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
movs r1, 0xE
|
||||
ldrsh r0, [r0, r1]
|
||||
cmp r0, 0
|
||||
bne _080A1554
|
||||
ldr r3, _080A1550 @ =sub_810A1F8
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x2
|
||||
adds r2, r4, 0
|
||||
bl sub_8108E70
|
||||
b _080A1560
|
||||
.align 2, 0
|
||||
_080A1538: .4byte gStringVar1
|
||||
_080A153C: .4byte gStringVar4
|
||||
_080A1540: .4byte gUnknown_8416644
|
||||
_080A1544: .4byte gSpecialVar_ItemId
|
||||
_080A1548: .4byte 0x0000ffff
|
||||
_080A154C: .4byte gTasks
|
||||
_080A1550: .4byte sub_810A1F8
|
||||
_080A1554:
|
||||
ldr r3, _080A1568 @ =sub_80A112C
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x2
|
||||
adds r2, r4, 0
|
||||
bl DisplayItemMessageOnField
|
||||
_080A1560:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A1568: .4byte sub_80A112C
|
||||
thumb_func_end FieldUseFunc_PowderJar
|
||||
|
||||
thumb_func_start FieldUseFunc_PokeFlute
|
||||
FieldUseFunc_PokeFlute: @ 80A156C
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
movs r6, 0
|
||||
movs r4, 0
|
||||
b _080A1598
|
||||
_080A1578:
|
||||
movs r0, 0x64
|
||||
muls r0, r4
|
||||
ldr r1, _080A15D0 @ =gPlayerParty
|
||||
adds r0, r1
|
||||
movs r1, 0x11
|
||||
adds r2, r4, 0
|
||||
movs r3, 0
|
||||
bl ExecuteTableBasedItemEffect
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _080A1592
|
||||
movs r6, 0x1
|
||||
_080A1592:
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
_080A1598:
|
||||
bl CalculatePlayerPartyCount
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r4, r0
|
||||
bcc _080A1578
|
||||
cmp r6, 0
|
||||
beq _080A1600
|
||||
ldr r0, _080A15D4 @ =gSpecialVar_ItemId
|
||||
ldrh r2, [r0]
|
||||
ldr r3, _080A15D8 @ =0x0000ffff
|
||||
movs r0, 0x4
|
||||
movs r1, 0
|
||||
bl ItemUse_SetQuestLogEvent
|
||||
ldr r1, _080A15DC @ =gTasks
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
movs r1, 0xE
|
||||
ldrsh r0, [r0, r1]
|
||||
cmp r0, 0
|
||||
bne _080A15E8
|
||||
ldr r2, _080A15E0 @ =gUnknown_8416690
|
||||
ldr r3, _080A15E4 @ =sub_80A1648
|
||||
b _080A1616
|
||||
.align 2, 0
|
||||
_080A15D0: .4byte gPlayerParty
|
||||
_080A15D4: .4byte gSpecialVar_ItemId
|
||||
_080A15D8: .4byte 0x0000ffff
|
||||
_080A15DC: .4byte gTasks
|
||||
_080A15E0: .4byte gUnknown_8416690
|
||||
_080A15E4: .4byte sub_80A1648
|
||||
_080A15E8:
|
||||
ldr r2, _080A15F8 @ =gUnknown_8416690
|
||||
ldr r3, _080A15FC @ =sub_80A1648
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x2
|
||||
bl DisplayItemMessageOnField
|
||||
b _080A1638
|
||||
.align 2, 0
|
||||
_080A15F8: .4byte gUnknown_8416690
|
||||
_080A15FC: .4byte sub_80A1648
|
||||
_080A1600:
|
||||
ldr r0, _080A1620 @ =gTasks
|
||||
lsls r1, r5, 2
|
||||
adds r1, r5
|
||||
lsls r1, 3
|
||||
adds r1, r0
|
||||
movs r2, 0xE
|
||||
ldrsh r0, [r1, r2]
|
||||
cmp r0, 0
|
||||
bne _080A162C
|
||||
ldr r2, _080A1624 @ =gUnknown_841665C
|
||||
ldr r3, _080A1628 @ =sub_810A1F8
|
||||
_080A1616:
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x2
|
||||
bl sub_8108E70
|
||||
b _080A1638
|
||||
.align 2, 0
|
||||
_080A1620: .4byte gTasks
|
||||
_080A1624: .4byte gUnknown_841665C
|
||||
_080A1628: .4byte sub_810A1F8
|
||||
_080A162C:
|
||||
ldr r2, _080A1640 @ =gUnknown_841665C
|
||||
ldr r3, _080A1644 @ =sub_80A112C
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x2
|
||||
bl DisplayItemMessageOnField
|
||||
_080A1638:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A1640: .4byte gUnknown_841665C
|
||||
_080A1644: .4byte sub_80A112C
|
||||
thumb_func_end FieldUseFunc_PokeFlute
|
||||
|
||||
thumb_func_start sub_80A1648
|
||||
sub_80A1648: @ 80A1648
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
movs r0, 0xB
|
||||
bl PlayFanfareByFanfareNum
|
||||
ldr r1, _080A166C @ =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, _080A1670 @ =sub_80A1674
|
||||
str r1, [r0]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A166C: .4byte gTasks
|
||||
_080A1670: .4byte sub_80A1674
|
||||
thumb_func_end sub_80A1648
|
||||
|
||||
thumb_func_start sub_80A1674
|
||||
sub_80A1674: @ 80A1674
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
adds r5, r4, 0
|
||||
movs r0, 0
|
||||
bl WaitFanfare
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080A16C0
|
||||
ldr r0, _080A16A8 @ =gTasks
|
||||
lsls r1, r4, 2
|
||||
adds r1, r4
|
||||
lsls r1, 3
|
||||
adds r1, r0
|
||||
movs r2, 0xE
|
||||
ldrsh r0, [r1, r2]
|
||||
cmp r0, 0
|
||||
bne _080A16B4
|
||||
ldr r2, _080A16AC @ =gUnknown_84166A7
|
||||
ldr r3, _080A16B0 @ =sub_810A1F8
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x2
|
||||
bl sub_8108E70
|
||||
b _080A16C0
|
||||
.align 2, 0
|
||||
_080A16A8: .4byte gTasks
|
||||
_080A16AC: .4byte gUnknown_84166A7
|
||||
_080A16B0: .4byte sub_810A1F8
|
||||
_080A16B4:
|
||||
ldr r2, _080A16C8 @ =gUnknown_84166A7
|
||||
ldr r3, _080A16CC @ =sub_80A112C
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x2
|
||||
bl DisplayItemMessageOnField
|
||||
_080A16C0:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_080A16C8: .4byte gUnknown_84166A7
|
||||
_080A16CC: .4byte sub_80A112C
|
||||
thumb_func_end sub_80A1674
|
||||
|
||||
thumb_func_start sub_80A16D0
|
||||
sub_80A16D0: @ 80A16D0
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
bl sub_80A0FBC
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80A16D0
|
||||
|
||||
thumb_func_start FieldUseFunc_OpenPartyMenu
|
||||
FieldUseFunc_OpenPartyMenu: @ 80A16E0
|
||||
push {lr}
|
||||
|
|
@ -371,8 +69,8 @@ _080A1748: .4byte gUnknown_3005E98
|
|||
_080A174C: .4byte dp05_rare_candy
|
||||
thumb_func_end FieldUseFunc_RareCandy
|
||||
|
||||
thumb_func_start FieldUseFunc_SunStone
|
||||
FieldUseFunc_SunStone: @ 80A1750
|
||||
thumb_func_start FieldUseFunc_EvoItem
|
||||
FieldUseFunc_EvoItem: @ 80A1750
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
|
|
@ -385,7 +83,7 @@ FieldUseFunc_SunStone: @ 80A1750
|
|||
.align 2, 0
|
||||
_080A1764: .4byte gUnknown_3005E98
|
||||
_080A1768: .4byte sub_8126B60
|
||||
thumb_func_end FieldUseFunc_SunStone
|
||||
thumb_func_end FieldUseFunc_EvoItem
|
||||
|
||||
thumb_func_start FieldUseFunc_SacredAsh
|
||||
FieldUseFunc_SacredAsh: @ 80A176C
|
||||
|
|
@ -702,7 +400,7 @@ _080A19CC:
|
|||
ldr r3, _080A19E4 @ =sub_810A1F8
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x2
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
_080A19D8:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
|
|
@ -740,7 +438,7 @@ sub_80A19E8: @ 80A19E8
|
|||
ldr r3, _080A1A40 @ =sub_810A1F8
|
||||
adds r0, r6, 0
|
||||
movs r1, 0x2
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
_080A1A2A:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
|
|
@ -884,7 +582,7 @@ sub_80A1B48: @ 80A1B48
|
|||
ldr r3, _080A1B88 @ =sub_810A1F8
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x2
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
_080A1B78:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
|
|
@ -1254,7 +952,7 @@ _080A1E48:
|
|||
ldr r3, _080A1E60 @ =sub_810A1F8
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x2
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
_080A1E54:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
|
|
@ -1307,7 +1005,7 @@ BattleUseFunc_GuardSpec: @ 80A1E7C
|
|||
ldr r3, _080A1ED0 @ =sub_810A1F8
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x2
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
b _080A1EE4
|
||||
.align 2, 0
|
||||
_080A1EBC: .4byte gBattlerPartyIndexes
|
||||
|
|
@ -1364,7 +1062,7 @@ sub_80A1EF4: @ 80A1EF4
|
|||
ldr r3, _080A1F44 @ =sub_80A1F48
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x2
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
_080A1F36:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
|
|
@ -1505,7 +1203,7 @@ BattleUseFunc_PokeDoll: @ 80A2010
|
|||
ldr r3, _080A2054 @ =sub_8108B50
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x2
|
||||
bl sub_8108E70
|
||||
bl DisplayItemMessageInBag
|
||||
b _080A2060
|
||||
.align 2, 0
|
||||
_080A2044: .4byte gBattleTypeFlags
|
||||
|
|
|
|||
|
|
@ -1274,7 +1274,7 @@ _0811F47C:
|
|||
cmp r0, 0x3
|
||||
bne _0811F492
|
||||
adds r0, r4, 0
|
||||
bl sub_80A1150
|
||||
bl GetItemCompatibilityRule
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
|
|
@ -12644,7 +12644,7 @@ sub_8124DE0: @ 8124DE0
|
|||
push {r4,lr}
|
||||
ldr r4, _08124E0C @ =gSpecialVar_ItemId
|
||||
ldrh r0, [r4]
|
||||
bl sub_80A1150
|
||||
bl GetItemCompatibilityRule
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x2
|
||||
|
|
|
|||
|
|
@ -558,7 +558,7 @@ _0811C9AA:
|
|||
adds r0, r4, 0
|
||||
adds r0, 0x96
|
||||
ldrh r0, [r0]
|
||||
bl sub_80A1150
|
||||
bl GetItemCompatibilityRule
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x2
|
||||
|
|
|
|||
6
include/berry_powder.h
Normal file
6
include/berry_powder.h
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
#ifndef GUARD_BERRY_POWDER_H
|
||||
#define GUARD_BERRY_POWDER_H
|
||||
|
||||
u32 GetBerryPowder(void);
|
||||
|
||||
#endif //GUARD_BERRY_POWDER_H
|
||||
22
include/constants/fanfares.h
Normal file
22
include/constants/fanfares.h
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
#ifndef GUARD_CONSTANTS_FANFARES_H
|
||||
#define GUARD_CONSTANTS_FANFARES_H
|
||||
|
||||
enum Fanfares
|
||||
{
|
||||
FANFARE_00,
|
||||
FANFARE_01,
|
||||
FANFARE_02,
|
||||
FANFARE_03,
|
||||
FANFARE_04,
|
||||
FANFARE_05,
|
||||
FANFARE_06,
|
||||
FANFARE_07,
|
||||
FANFARE_08,
|
||||
FANFARE_09,
|
||||
FANFARE_10,
|
||||
FANFARE_POKEFLUTE,
|
||||
FANFARE_KEY_ITEM,
|
||||
FANFARE_DEX_EVAL
|
||||
};
|
||||
|
||||
#endif //GUARD_CONSTANTS_FANFARES_H
|
||||
|
|
@ -2,6 +2,7 @@
|
|||
#define GUARD_ITEM_MENU_H
|
||||
|
||||
#include "global.h"
|
||||
#include "task.h"
|
||||
|
||||
// Exported type declarations
|
||||
|
||||
|
|
@ -31,7 +32,7 @@ void ItemMenu_MoveItemSlotToNewPositionInArray(struct ItemSlot * slots, int pos1
|
|||
void sub_8108B50(u8 taskId);
|
||||
void sub_8108CB4(void);
|
||||
void sub_8108EE0(void (*)(void));
|
||||
void sub_8108E70(u8, u8, const u8 *, void (*)(u8));
|
||||
void DisplayItemMessageInBag(u8 taskId, u8 bgId, const u8 * string, TaskFunc followUpFunc);
|
||||
void sub_810A1F8(u8 taskId);
|
||||
|
||||
#endif //GUARD_ITEM_MENU_H
|
||||
|
|
|
|||
|
|
@ -16,7 +16,7 @@ void FieldUseFunc_OpenPartyMenu(u8 taskId);
|
|||
void FieldUseFunc_Ether(u8 taskId);
|
||||
void FieldUseFunc_PpUp(u8 taskId);
|
||||
void FieldUseFunc_RareCandy(u8 taskId);
|
||||
void FieldUseFunc_SunStone(u8 taskId);
|
||||
void FieldUseFunc_EvoItem(u8 taskId);
|
||||
void FieldUseFunc_SacredAsh(u8 taskId);
|
||||
void FieldUseFunc_TmCase(u8 taskId);
|
||||
void FieldUseFunc_BerryPouch(u8 taskId);
|
||||
|
|
|
|||
|
|
@ -163,6 +163,11 @@ extern const u8 gText_ReturnToPC[];
|
|||
|
||||
extern const u8 gUnknown_8416425[];
|
||||
extern const u8 gUnknown_8416451[];
|
||||
extern const u8 gUnknown_8416537[];
|
||||
extern const u8 gUnknown_8416644[];
|
||||
extern const u8 gUnknown_841665C[];
|
||||
extern const u8 gUnknown_8416690[];
|
||||
extern const u8 gUnknown_84166A7[];
|
||||
|
||||
extern const u8 gUnknown_84162BD[];
|
||||
|
||||
|
|
|
|||
|
|
@ -285,7 +285,7 @@ SECTIONS {
|
|||
src/ss_anne.o(.text);
|
||||
src/cereader_tool.o(.text);
|
||||
src/trainer_tower.o(.text);
|
||||
src/unk_815EDDC.o(.text);
|
||||
src/berry_powder.o(.text);
|
||||
src/unk_815F138.o(.text);
|
||||
src/berry_fix_program.o(.text);
|
||||
} =0
|
||||
|
|
|
|||
|
|
@ -84,7 +84,7 @@ bool8 sub_815EF5C(void)
|
|||
}
|
||||
}
|
||||
|
||||
u32 sub_815EFA0(void)
|
||||
u32 GetBerryPowder(void)
|
||||
{
|
||||
return sub_815EE3C(&gSaveBlock2Ptr->berryCrush.berryPowderAmount);
|
||||
}
|
||||
|
|
@ -104,7 +104,7 @@ void sub_815F014(u8 windowId, u16 baseBlock, u8 palette, u32 powder)
|
|||
|
||||
void sub_815F070(void)
|
||||
{
|
||||
sub_815EFBC(gUnknown_203F464, sub_815EFA0(), 39, 12, 0);
|
||||
sub_815EFBC(gUnknown_203F464, GetBerryPowder(), 39, 12, 0);
|
||||
}
|
||||
|
||||
void sub_815F094(void)
|
||||
|
|
@ -120,7 +120,7 @@ void sub_815F094(void)
|
|||
FillWindowPixelBuffer(gUnknown_203F464, 0);
|
||||
PutWindowTilemap(gUnknown_203F464);
|
||||
TextWindow_SetStdFrame0_WithPal(gUnknown_203F464, 0x21D, 0xD0);
|
||||
sub_815F014(gUnknown_203F464, 0x21D, 0xD, sub_815EFA0());
|
||||
sub_815F014(gUnknown_203F464, 0x21D, 0xD, GetBerryPowder());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -1499,7 +1499,7 @@
|
|||
"exitsBagOnUse": 0,
|
||||
"pocket": "POCKET_ITEMS",
|
||||
"type": 1,
|
||||
"fieldUseFunc": "FieldUseFunc_SunStone",
|
||||
"fieldUseFunc": "FieldUseFunc_EvoItem",
|
||||
"battleUsage": 0,
|
||||
"battleUseFunc": "NULL",
|
||||
"secondaryId": 0
|
||||
|
|
@ -1515,7 +1515,7 @@
|
|||
"exitsBagOnUse": 0,
|
||||
"pocket": "POCKET_ITEMS",
|
||||
"type": 1,
|
||||
"fieldUseFunc": "FieldUseFunc_SunStone",
|
||||
"fieldUseFunc": "FieldUseFunc_EvoItem",
|
||||
"battleUsage": 0,
|
||||
"battleUseFunc": "NULL",
|
||||
"secondaryId": 0
|
||||
|
|
@ -1531,7 +1531,7 @@
|
|||
"exitsBagOnUse": 0,
|
||||
"pocket": "POCKET_ITEMS",
|
||||
"type": 1,
|
||||
"fieldUseFunc": "FieldUseFunc_SunStone",
|
||||
"fieldUseFunc": "FieldUseFunc_EvoItem",
|
||||
"battleUsage": 0,
|
||||
"battleUseFunc": "NULL",
|
||||
"secondaryId": 0
|
||||
|
|
@ -1547,7 +1547,7 @@
|
|||
"exitsBagOnUse": 0,
|
||||
"pocket": "POCKET_ITEMS",
|
||||
"type": 1,
|
||||
"fieldUseFunc": "FieldUseFunc_SunStone",
|
||||
"fieldUseFunc": "FieldUseFunc_EvoItem",
|
||||
"battleUsage": 0,
|
||||
"battleUseFunc": "NULL",
|
||||
"secondaryId": 0
|
||||
|
|
@ -1563,7 +1563,7 @@
|
|||
"exitsBagOnUse": 0,
|
||||
"pocket": "POCKET_ITEMS",
|
||||
"type": 1,
|
||||
"fieldUseFunc": "FieldUseFunc_SunStone",
|
||||
"fieldUseFunc": "FieldUseFunc_EvoItem",
|
||||
"battleUsage": 0,
|
||||
"battleUseFunc": "NULL",
|
||||
"secondaryId": 0
|
||||
|
|
@ -1579,7 +1579,7 @@
|
|||
"exitsBagOnUse": 0,
|
||||
"pocket": "POCKET_ITEMS",
|
||||
"type": 1,
|
||||
"fieldUseFunc": "FieldUseFunc_SunStone",
|
||||
"fieldUseFunc": "FieldUseFunc_EvoItem",
|
||||
"battleUsage": 0,
|
||||
"battleUseFunc": "NULL",
|
||||
"secondaryId": 0
|
||||
|
|
|
|||
|
|
@ -1,6 +1,8 @@
|
|||
#include "global.h"
|
||||
#include "berry_pouch.h"
|
||||
#include "berry_powder.h"
|
||||
#include "bike.h"
|
||||
#include "coins.h"
|
||||
#include "event_data.h"
|
||||
#include "field_fadetransition.h"
|
||||
#include "field_map_obj_helpers.h"
|
||||
|
|
@ -9,6 +11,7 @@
|
|||
#include "fieldmap.h"
|
||||
#include "item.h"
|
||||
#include "item_menu.h"
|
||||
#include "item_use.h"
|
||||
#include "mail.h"
|
||||
#include "map_obj_80688E4.h"
|
||||
#include "map_obj_lock.h"
|
||||
|
|
@ -20,8 +23,10 @@
|
|||
#include "string_util.h"
|
||||
#include "strings.h"
|
||||
#include "task.h"
|
||||
#include "constants/fanfares.h"
|
||||
#include "constants/flags.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/moves.h"
|
||||
#include "constants/songs.h"
|
||||
|
||||
EWRAM_DATA void (*sItemUseOnFieldCB)(u8 taskId) = NULL;
|
||||
|
|
@ -35,8 +40,10 @@ void sub_80A1208(void);
|
|||
void ItemUseOnFieldCB_Bicycle(u8 taskId);
|
||||
bool8 ItemUseCheckFunc_Rod(void);
|
||||
void ItemUseOnFieldCB_Rod(u8 taskId);
|
||||
void FieldUseFunc_EvoItem(u8 taskId);
|
||||
void sub_80A1648(u8 taskId);
|
||||
void sub_80A1674(u8 taskId);
|
||||
void sub_813EC8C(u8 taskId);
|
||||
void FieldUseFunc_SunStone(u8 taskId);
|
||||
|
||||
extern void (*const gUnknown_83E2954[])(void);
|
||||
|
||||
|
|
@ -90,7 +97,7 @@ void sub_80A10C4(u8 taskId, bool8 a1, u8 a2, const u8 * str)
|
|||
{
|
||||
StringExpandPlaceholders(gStringVar4, str);
|
||||
if (a1 == FALSE)
|
||||
sub_8108E70(taskId, a2, gStringVar4, sub_810A1F8);
|
||||
DisplayItemMessageInBag(taskId, a2, gStringVar4, sub_810A1F8);
|
||||
else
|
||||
DisplayItemMessageOnField(taskId, a2, gStringVar4, sub_80A112C);
|
||||
}
|
||||
|
|
@ -108,11 +115,11 @@ void sub_80A112C(u8 taskId)
|
|||
ScriptContext2_Disable();
|
||||
}
|
||||
|
||||
u8 sub_80A1150(u16 itemId)
|
||||
u8 GetItemCompatibilityRule(u16 itemId)
|
||||
{
|
||||
if (ItemId_GetPocket(itemId) == POCKET_TM_CASE)
|
||||
return 1;
|
||||
else if (ItemId_GetFieldFunc(itemId) == FieldUseFunc_SunStone)
|
||||
else if (ItemId_GetFieldFunc(itemId) == FieldUseFunc_EvoItem)
|
||||
return 2;
|
||||
else
|
||||
return 0;
|
||||
|
|
@ -240,3 +247,76 @@ void ItemUseOutOfBattle_Itemfinder(u8 taskId)
|
|||
sItemUseOnFieldCB = sub_813EC8C;
|
||||
sub_80A103C(taskId);
|
||||
}
|
||||
|
||||
void FieldUseFunc_CoinCase(u8 taskId)
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar1, GetCoins(), STR_CONV_MODE_LEFT_ALIGN, 4);
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_8416537);
|
||||
ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF);
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8);
|
||||
else
|
||||
DisplayItemMessageOnField(taskId, 2, gStringVar4, sub_80A112C);
|
||||
}
|
||||
|
||||
void FieldUseFunc_PowderJar(u8 taskId)
|
||||
{
|
||||
ConvertIntToDecimalStringN(gStringVar1, GetBerryPowder(), STR_CONV_MODE_LEFT_ALIGN, 5);
|
||||
StringExpandPlaceholders(gStringVar4, gUnknown_8416644);
|
||||
ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF);
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
DisplayItemMessageInBag(taskId, 2, gStringVar4, sub_810A1F8);
|
||||
else
|
||||
DisplayItemMessageOnField(taskId, 2, gStringVar4, sub_80A112C);
|
||||
}
|
||||
|
||||
void FieldUseFunc_PokeFlute(u8 taskId)
|
||||
{
|
||||
bool8 wokeSomeoneUp = FALSE;
|
||||
u8 i;
|
||||
|
||||
for (i = 0; i < CalculatePlayerPartyCount(); i++)
|
||||
{
|
||||
if (!ExecuteTableBasedItemEffect(&gPlayerParty[i], ITEM_AWAKENING, i, MOVE_NONE))
|
||||
wokeSomeoneUp = TRUE;
|
||||
}
|
||||
|
||||
if (wokeSomeoneUp)
|
||||
{
|
||||
ItemUse_SetQuestLogEvent(4, NULL, gSpecialVar_ItemId, 0xFFFF);
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
DisplayItemMessageInBag(taskId, 2, gUnknown_8416690, sub_80A1648);
|
||||
else
|
||||
DisplayItemMessageOnField(taskId, 2, gUnknown_8416690, sub_80A1648);
|
||||
}
|
||||
else
|
||||
{
|
||||
// Now that's a catchy tune!
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
DisplayItemMessageInBag(taskId, 2, gUnknown_841665C, sub_810A1F8);
|
||||
else
|
||||
DisplayItemMessageOnField(taskId, 2, gUnknown_841665C, sub_80A112C);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A1648(u8 taskId)
|
||||
{
|
||||
PlayFanfareByFanfareNum(FANFARE_POKEFLUTE);
|
||||
gTasks[taskId].func = sub_80A1674;
|
||||
}
|
||||
|
||||
void sub_80A1674(u8 taskId)
|
||||
{
|
||||
if (WaitFanfare(FALSE))
|
||||
{
|
||||
if (gTasks[taskId].data[3] == 0)
|
||||
DisplayItemMessageInBag(taskId, 2, gUnknown_84166A7, sub_810A1F8);
|
||||
else
|
||||
DisplayItemMessageOnField(taskId, 2, gUnknown_84166A7, sub_80A112C);
|
||||
}
|
||||
}
|
||||
|
||||
void sub_80A16D0(u8 taskId)
|
||||
{
|
||||
sub_80A0FBC(taskId);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1571,4 +1571,4 @@ gUnknown_203F440: @ 203F440
|
|||
.align 2
|
||||
.include "src/trainer_tower.o"
|
||||
.align 2
|
||||
.include "src/unk_815EDDC.o"
|
||||
.include "src/berry_powder.o"
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user