extract item metadata table

This commit is contained in:
Henny022p 2022-02-10 02:21:20 +01:00
parent 8f76bdda64
commit 4860ed1fe0
13 changed files with 764 additions and 635 deletions

View File

@ -1339,7 +1339,7 @@ GiveItem: @ 0x08053FF0
bl GetInventoryValue
adds r5, r0, #0
lsls r1, r6, #3
ldr r0, _08054010 @ =gUnk_080FD5B4
ldr r0, _08054010 @ =gItemMetaData
adds r4, r1, r0
cmp r5, #0
bne _08054014
@ -1347,7 +1347,7 @@ GiveItem: @ 0x08053FF0
mov r8, r0
b _08054018
.align 2, 0
_08054010: .4byte gUnk_080FD5B4
_08054010: .4byte gItemMetaData
_08054014:
ldrh r2, [r4, #6]
mov r8, r2
@ -1647,28 +1647,28 @@ _08054284: .4byte gSave
thumb_func_start sub_08054288
sub_08054288: @ 0x08054288
push {lr}
ldr r1, _08054298 @ =gUnk_080FD5B4
ldr r1, _08054298 @ =gItemMetaData
lsls r0, r0, #3
adds r0, r0, r1
ldrh r0, [r0, #6]
bl MessageFromTarget
pop {pc}
.align 2, 0
_08054298: .4byte gUnk_080FD5B4
_08054298: .4byte gItemMetaData
thumb_func_start sub_0805429C
sub_0805429C: @ 0x0805429C
ldr r1, _080542A8 @ =gUnk_080FD5B4
ldr r1, _080542A8 @ =gItemMetaData
lsls r0, r0, #3
adds r0, r0, r1
ldrh r0, [r0, #4]
bx lr
.align 2, 0
_080542A8: .4byte gUnk_080FD5B4
_080542A8: .4byte gItemMetaData
thumb_func_start sub_080542AC
sub_080542AC: @ 0x080542AC
ldr r1, _080542BC @ =gUnk_080FD5B4
ldr r1, _080542BC @ =gItemMetaData
lsls r0, r0, #3
adds r0, r0, r1
ldrb r1, [r0, #3]
@ -1676,7 +1676,7 @@ sub_080542AC: @ 0x080542AC
ands r0, r1
bx lr
.align 2, 0
_080542BC: .4byte gUnk_080FD5B4
_080542BC: .4byte gItemMetaData
thumb_func_start sub_080542C0
sub_080542C0: @ 0x080542C0

View File

@ -18,7 +18,7 @@ _0805442A:
ldrb r7, [r6]
adds r5, r2, r0
ldrb r3, [r5]
ldr r2, _0805445C @ =gUnk_080FD5B4
ldr r2, _0805445C @ =gItemMetaData
lsls r1, r3, #3
adds r1, r1, r2
lsls r0, r4, #3
@ -39,6 +39,6 @@ _08054456:
pop {r4, r5, r6, r7, pc}
.align 2, 0
_08054458: .4byte gSave
_0805445C: .4byte gUnk_080FD5B4
_0805445C: .4byte gItemMetaData
_08054460: .4byte gUnk_0200AF00
.syntax divided

View File

@ -127,14 +127,14 @@ _08083C74:
bl GetInventoryValue
ldrb r1, [r4, #0xa]
lsls r1, r1, #3
ldr r2, _08083C8C @ =gUnk_080FD5B4
ldr r2, _08083C8C @ =gItemMetaData
adds r1, r1, r2
cmp r0, #0
bne _08083C90
ldrh r1, [r1, #4]
b _08083C92
.align 2, 0
_08083C8C: .4byte gUnk_080FD5B4
_08083C8C: .4byte gItemMetaData
_08083C90:
ldrh r1, [r1, #6]
_08083C92:

View File

@ -23,7 +23,7 @@ _080A55AA:
bl GetInventoryValue
cmp r0, #1
bne _080A55EA
ldr r1, _080A562C @ =gUnk_080FD5B4
ldr r1, _080A562C @ =gItemMetaData
lsls r0, r5, #3
adds r0, r0, r1
ldrb r1, [r0]
@ -81,7 +81,7 @@ _080A560A:
_080A5620: .4byte gMenu
_080A5624: .4byte gUnk_08128C00
_080A5628: .4byte gUnk_08128C04
_080A562C: .4byte gUnk_080FD5B4
_080A562C: .4byte gItemMetaData
_080A5630: .4byte gUnk_02002B6B
_080A5634:
cmp r5, #0x27

View File

@ -31382,7 +31382,7 @@
"size": 12
},
{
"path": "data_080FC8A4/gUnk_080FD5B4.bin",
"path": "data_080FC8A4/gItemMetaData.bin",
"start": 1037748,
"size": 944
},

View File

@ -645,574 +645,3 @@ gQuiverSizes:: @ 080FD5A4
gUnk_080FD5A8:: @ 080FD5A8
.incbin "data_080FC8A4/gUnk_080FD5A8.bin"
gUnk_080FD5B4:: @ 080FD5B4
.incbin "data_080FC8A4/gUnk_080FD5B4.bin"
gUnk_080FD964:: @ 080FD964
.ifdef EU
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FD964_EU.bin"
.else
.incbin "data_080FC8A4/gUnk_080FD964_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gSpriteAnimations_322_0:: @ 080FDD14
.include "animations/gSpriteAnimations_322_0.s"
gSpriteAnimations_322_1:: @ 080FDD19
.include "animations/gSpriteAnimations_322_1.s"
gSpriteAnimations_322_2:: @ 080FDD1E
.include "animations/gSpriteAnimations_322_2.s"
gSpriteAnimations_322_3:: @ 080FDD23
.include "animations/gSpriteAnimations_322_3.s"
gSpriteAnimations_322_4:: @ 080FDD28
.include "animations/gSpriteAnimations_322_4.s"
gSpriteAnimations_322_6:: @ 080FDD2D
.include "animations/gSpriteAnimations_322_6.s"
gSpriteAnimations_322_7:: @ 080FDD32
.include "animations/gSpriteAnimations_322_7.s"
gSpriteAnimations_322_8:: @ 080FDD37
.include "animations/gSpriteAnimations_322_8.s"
gSpriteAnimations_322_9:: @ 080FDD48
.include "animations/gSpriteAnimations_322_9.s"
gSpriteAnimations_322_10:: @ 080FDD4D
.include "animations/gSpriteAnimations_322_10.s"
gSpriteAnimations_322_11:: @ 080FDD52
.include "animations/gSpriteAnimations_322_11.s"
gSpriteAnimations_322_12:: @ 080FDD57
.include "animations/gSpriteAnimations_322_12.s"
gSpriteAnimations_322_13:: @ 080FDD5C
.include "animations/gSpriteAnimations_322_13.s"
gSpriteAnimations_322_14:: @ 080FDD61
.include "animations/gSpriteAnimations_322_14.s"
gSpriteAnimations_322_15:: @ 080FDD92
.include "animations/gSpriteAnimations_322_15.s"
gSpriteAnimations_322_5:: @ 080FDD97
.include "animations/gSpriteAnimations_322_5.s"
gSpriteAnimations_322_17:: @ 080FDDA8
.include "animations/gSpriteAnimations_322_17.s"
gSpriteAnimations_322_18:: @ 080FDDAD
.include "animations/gSpriteAnimations_322_18.s"
gSpriteAnimations_322_19:: @ 080FDDB2
.include "animations/gSpriteAnimations_322_19.s"
gSpriteAnimations_322_20:: @ 080FDDB7
.include "animations/gSpriteAnimations_322_20.s"
gSpriteAnimations_322_21:: @ 080FDDBC
.include "animations/gSpriteAnimations_322_21.s"
gSpriteAnimations_322_22:: @ 080FDDC1
.include "animations/gSpriteAnimations_322_22.s"
gSpriteAnimations_322_23:: @ 080FDDC6
.include "animations/gSpriteAnimations_322_23.s"
gSpriteAnimations_322_28:: @ 080FDDCB
.include "animations/gSpriteAnimations_322_28.s"
gSpriteAnimations_322_38:: @ 080FDDD0
.include "animations/gSpriteAnimations_322_38.s"
gSpriteAnimations_322_39:: @ 080FDDD5
.include "animations/gSpriteAnimations_322_39.s"
gSpriteAnimations_322_34:: @ 080FDDDA
.include "animations/gSpriteAnimations_322_34.s"
gSpriteAnimations_322_35:: @ 080FDDDF
.include "animations/gSpriteAnimations_322_35.s"
gSpriteAnimations_322_40:: @ 080FDDE4
.include "animations/gSpriteAnimations_322_40.s"
gSpriteAnimations_322_41:: @ 080FDDF5
.include "animations/gSpriteAnimations_322_41.s"
gSpriteAnimations_322_42:: @ 080FDE0E
.include "animations/gSpriteAnimations_322_42.s"
gSpriteAnimations_322_43:: @ 080FDE27
.include "animations/gSpriteAnimations_322_43.s"
gSpriteAnimations_322_44:: @ 080FDE40
.include "animations/gSpriteAnimations_322_44.s"
gSpriteAnimations_322_45:: @ 080FDE59
.include "animations/gSpriteAnimations_322_45.s"
gSpriteAnimations_322_46:: @ 080FDE72
.include "animations/gSpriteAnimations_322_46.s"
gSpriteAnimations_322_36:: @ 080FDE8B
.include "animations/gSpriteAnimations_322_36.s"
gSpriteAnimations_322_37:: @ 080FDE90
.include "animations/gSpriteAnimations_322_37.s"
gSpriteAnimations_322_54:: @ 080FDE95
.include "animations/gSpriteAnimations_322_54.s"
gSpriteAnimations_322_33:: @ 080FDE9A
.include "animations/gSpriteAnimations_322_33.s"
gSpriteAnimations_322_47:: @ 080FDE9F
.include "animations/gSpriteAnimations_322_47.s"
gSpriteAnimations_322_48:: @ 080FDEA4
.include "animations/gSpriteAnimations_322_48.s"
gSpriteAnimations_322_49:: @ 080FDEA9
.include "animations/gSpriteAnimations_322_49.s"
gSpriteAnimations_322_52:: @ 080FDEAE
.include "animations/gSpriteAnimations_322_52.s"
gSpriteAnimations_322_53:: @ 080FDEB3
.include "animations/gSpriteAnimations_322_53.s"
gSpriteAnimations_322_24:: @ 080FDEB8
.include "animations/gSpriteAnimations_322_24.s"
gSpriteAnimations_322_58:: @ 080FDEBD
.include "animations/gSpriteAnimations_322_58.s"
gSpriteAnimations_322_59:: @ 080FDEC2
.include "animations/gSpriteAnimations_322_59.s"
gSpriteAnimations_322_25:: @ 080FDEC7
.include "animations/gSpriteAnimations_322_25.s"
gSpriteAnimations_322_60:: @ 080FDECC
.include "animations/gSpriteAnimations_322_60.s"
gSpriteAnimations_322_55:: @ 080FDED1
.include "animations/gSpriteAnimations_322_55.s"
gSpriteAnimations_322_68:: @ 080FDED6
.include "animations/gSpriteAnimations_322_68.s"
gSpriteAnimations_322_69:: @ 080FDEDB
.include "animations/gSpriteAnimations_322_69.s"
gSpriteAnimations_322_26:: @ 080FDEE0
.include "animations/gSpriteAnimations_322_26.s"
gSpriteAnimations_322_64:: @ 080FDEE5
.include "animations/gSpriteAnimations_322_64.s"
gSpriteAnimations_322_65:: @ 080FDEEA
.include "animations/gSpriteAnimations_322_65.s"
gSpriteAnimations_322_66:: @ 080FDEEF
.include "animations/gSpriteAnimations_322_66.s"
gSpriteAnimations_322_67:: @ 080FDEF4
.include "animations/gSpriteAnimations_322_67.s"
gSpriteAnimations_322_71:: @ 080FDEF9
.include "animations/gSpriteAnimations_322_71.s"
gSpriteAnimations_322_81:: @ 080FDEFE
.include "animations/gSpriteAnimations_322_81.s"
gSpriteAnimations_322_82:: @ 080FDF03
.include "animations/gSpriteAnimations_322_82.s"
gSpriteAnimations_322_83:: @ 080FDF08
.include "animations/gSpriteAnimations_322_83.s"
gSpriteAnimations_322_84:: @ 080FDF0D
.include "animations/gSpriteAnimations_322_84.s"
gSpriteAnimations_322_95:: @ 080FDF12
.include "animations/gSpriteAnimations_322_95.s"
gSpriteAnimations_322_96:: @ 080FDF17
.include "animations/gSpriteAnimations_322_96.s"
gSpriteAnimations_322_98:: @ 080FDF28
.include "animations/gSpriteAnimations_322_98.s"
gSpriteAnimations_322_99:: @ 080FDF45
.include "animations/gSpriteAnimations_322_99.s"
gSpriteAnimations_322_87:: @ 080FDF4A
.include "animations/gSpriteAnimations_322_87.s"
gSpriteAnimations_322_104:: @ 080FDF4F
.include "animations/gSpriteAnimations_322_104.s"
gSpriteAnimations_322_105:: @ 080FDF54
.include "animations/gSpriteAnimations_322_105.s"
gSpriteAnimations_322_106:: @ 080FDF59
.include "animations/gSpriteAnimations_322_106.s"
gSpriteAnimations_322_107:: @ 080FDF5E
.include "animations/gSpriteAnimations_322_107.s"
gSpriteAnimations_322_93:: @ 080FDF63
.include "animations/gSpriteAnimations_322_93.s"
gSpriteAnimations_322_94:: @ 080FDF68
.include "animations/gSpriteAnimations_322_94.s"
gSpriteAnimations_322_63:: @ 080FDF6D
.include "animations/gSpriteAnimations_322_63.s"
gSpriteAnimations_322_100:: @ 080FDF72
.include "animations/gSpriteAnimations_322_100.s"
gSpriteAnimations_322_101:: @ 080FDF77
.include "animations/gSpriteAnimations_322_101.s"
gSpriteAnimations_322_102:: @ 080FDF7C
.include "animations/gSpriteAnimations_322_102.s"
gSpriteAnimations_322_103:: @ 080FDF81
.include "animations/gSpriteAnimations_322_103.s"
gSpriteAnimations_322_91:: @ 080FDF86
.include "animations/gSpriteAnimations_322_91.s"
gSpriteAnimations_322_92:: @ 080FDF8F
.include "animations/gSpriteAnimations_322_92.s"
gSpriteAnimations_322_108:: @ 080FDF94
.include "animations/gSpriteAnimations_322_108.s"
gSpriteAnimations_322_109:: @ 080FDF99
.include "animations/gSpriteAnimations_322_109.s"
gSpriteAnimations_322_110:: @ 080FDF9E
.include "animations/gSpriteAnimations_322_110.s"
gSpriteAnimations_322_111:: @ 080FDFA3
.include "animations/gSpriteAnimations_322_111.s"
gSpriteAnimations_322_112:: @ 080FDFA8
.include "animations/gSpriteAnimations_322_112.s"
gSpriteAnimations_322_72:: @ 080FDFC1
.include "animations/gSpriteAnimations_322_72.s"
gSpriteAnimations_322_97:: @ 080FDFC6
.include "animations/gSpriteAnimations_322_97.s"
gSpriteAnimations_322_61:: @ 080FDFCB
.include "animations/gSpriteAnimations_322_61.s"
gSpriteAnimations_322_62:: @ 080FDFD0
.include "animations/gSpriteAnimations_322_62.s"
gSpriteAnimations_322:: @ 080FDFD8
.4byte gSpriteAnimations_322_0
.4byte gSpriteAnimations_322_1
.4byte gSpriteAnimations_322_2
.4byte gSpriteAnimations_322_3
.4byte gSpriteAnimations_322_4
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_6
.4byte gSpriteAnimations_322_7
.4byte gSpriteAnimations_322_8
.4byte gSpriteAnimations_322_9
.4byte gSpriteAnimations_322_10
.4byte gSpriteAnimations_322_11
.4byte gSpriteAnimations_322_12
.4byte gSpriteAnimations_322_13
.4byte gSpriteAnimations_322_14
.4byte gSpriteAnimations_322_15
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_17
.4byte gSpriteAnimations_322_18
.4byte gSpriteAnimations_322_19
.4byte gSpriteAnimations_322_20
.4byte gSpriteAnimations_322_21
.4byte gSpriteAnimations_322_22
.4byte gSpriteAnimations_322_23
.4byte gSpriteAnimations_322_24
.4byte gSpriteAnimations_322_25
.4byte gSpriteAnimations_322_26
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_33
.4byte gSpriteAnimations_322_34
.4byte gSpriteAnimations_322_35
.4byte gSpriteAnimations_322_36
.4byte gSpriteAnimations_322_37
.4byte gSpriteAnimations_322_38
.4byte gSpriteAnimations_322_39
.4byte gSpriteAnimations_322_40
.4byte gSpriteAnimations_322_41
.4byte gSpriteAnimations_322_42
.4byte gSpriteAnimations_322_43
.4byte gSpriteAnimations_322_44
.4byte gSpriteAnimations_322_45
.4byte gSpriteAnimations_322_46
.4byte gSpriteAnimations_322_47
.4byte gSpriteAnimations_322_48
.4byte gSpriteAnimations_322_49
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_52
.4byte gSpriteAnimations_322_53
.4byte gSpriteAnimations_322_54
.4byte gSpriteAnimations_322_55
.4byte gSpriteAnimations_322_25
.4byte gSpriteAnimations_322_24
.4byte gSpriteAnimations_322_58
.4byte gSpriteAnimations_322_59
.4byte gSpriteAnimations_322_60
.4byte gSpriteAnimations_322_61
.4byte gSpriteAnimations_322_62
.4byte gSpriteAnimations_322_63
.4byte gSpriteAnimations_322_64
.4byte gSpriteAnimations_322_65
.4byte gSpriteAnimations_322_66
.4byte gSpriteAnimations_322_67
.4byte gSpriteAnimations_322_68
.4byte gSpriteAnimations_322_69
.4byte gSpriteAnimations_322_26
.4byte gSpriteAnimations_322_71
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_71
.4byte gSpriteAnimations_322_81
.4byte gSpriteAnimations_322_82
.4byte gSpriteAnimations_322_83
.4byte gSpriteAnimations_322_84
.4byte gSpriteAnimations_322_84
.4byte gSpriteAnimations_322_84
.4byte gSpriteAnimations_322_87
.4byte gSpriteAnimations_322_87
.4byte gSpriteAnimations_322_87
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_91
.4byte gSpriteAnimations_322_92
.4byte gSpriteAnimations_322_93
.4byte gSpriteAnimations_322_94
.4byte gSpriteAnimations_322_95
.4byte gSpriteAnimations_322_96
.4byte gSpriteAnimations_322_97
.4byte gSpriteAnimations_322_98
.4byte gSpriteAnimations_322_99
.4byte gSpriteAnimations_322_100
.4byte gSpriteAnimations_322_101
.4byte gSpriteAnimations_322_102
.4byte gSpriteAnimations_322_103
.4byte gSpriteAnimations_322_104
.4byte gSpriteAnimations_322_105
.4byte gSpriteAnimations_322_106
.4byte gSpriteAnimations_322_107
.4byte gSpriteAnimations_322_108
.4byte gSpriteAnimations_322_109
.4byte gSpriteAnimations_322_110
.4byte gSpriteAnimations_322_111
.4byte gSpriteAnimations_322_112
.4byte gSpriteAnimations_322_112
.4byte gSpriteAnimations_322_112
.4byte gSpriteAnimations_322_0
.4byte gSpriteAnimations_322_0
.4byte gSpriteAnimations_322_0
.4byte 00000000
gUnk_080FE1B4:: @ 080FE1B4
.incbin "data_080FC8A4/gUnk_080FE1B4.bin"
gUnk_080FE1C6:: @ 080FE1C6
.incbin "data_080FC8A4/gUnk_080FE1C6.bin"
gUnk_080FE1DD:: @ 080FE1DD
.incbin "data_080FC8A4/gUnk_080FE1DD.bin"
gUnk_080FE2A0:: @ 080FE2A0
.4byte sub_0805488C
.4byte sub_080548E8
.4byte sub_08054920
gUnk_080FE2AC:: @ 080FE2AC
.4byte sub_08055D80
.4byte sub_08054E00
.4byte sub_080558EC
.4byte sub_08054CE8
.4byte sub_08054C04
.4byte sub_08055168
.4byte sub_080552FC
.4byte sub_08055BB0
.4byte sub_08055414
.4byte sub_080559E0
.4byte sub_0805559C
.4byte sub_080554FC
.4byte sub_08055818
.4byte sub_08055094
.4byte sub_080550F8
.4byte sub_080556F4
.4byte sub_08055038
.4byte sub_08054F90
.4byte sub_08054F90
.4byte sub_08054D90
.4byte sub_08055888
.4byte sub_08055690
.4byte sub_08055E08
.4byte sub_080557B4
.4byte sub_08055CD8
.4byte sub_08055AD0
.4byte sub_08055D80
.4byte sub_08055D80
.4byte sub_08055D80
gUnk_080FE320:: @ 080FE320
.ifdef JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FE320_JP.bin"
.else
.ifdef DEMO_JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FE320_1_DEMO_JP.bin"
.else
.ifdef EU
.incbin "data_080FC8A4/gUnk_080FE320_2_EU.bin"
.else
.incbin "data_080FC8A4/gUnk_080FE320_3_USA-DEMO_USA.bin"
.endif
.endif
.endif
.ifdef JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FE320_4_JP.bin"
.else
.ifdef DEMO_JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FE320_5_DEMO_JP.bin"
.else
.ifdef EU
.incbin "data_080FC8A4/gUnk_080FE320_6_EU.bin"
.else
.incbin "data_080FC8A4/gUnk_080FE320_7_USA-DEMO_USA.bin"
.endif
.endif
.endif
gUnk_080FEAC8:: @ 080FEAC8
.incbin "data_080FC8A4/gUnk_080FEAC8.bin"
.ifdef JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FEAC8_1_JP.bin"
.else
.ifdef DEMO_JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FEAC8_2_DEMO_JP.bin"
.else
.ifdef EU
.incbin "data_080FC8A4/gUnk_080FEAC8_3_EU.bin"
.else
.incbin "data_080FC8A4/gUnk_080FEAC8_4_USA-DEMO_USA.bin"
.endif
.endif
.endif
.ifdef JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FEAC8_5_JP.bin"
.else
.ifdef DEMO_JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FEAC8_6_DEMO_JP.bin"
.else
.ifdef EU
.incbin "data_080FC8A4/gUnk_080FEAC8_7_EU.bin"
.else
.incbin "data_080FC8A4/gUnk_080FEAC8_8_USA-DEMO_USA.bin"
.endif
.endif
.endif
.incbin "data_080FC8A4/gUnk_080FEAC8_9.bin"
gUnk_080FEBE8:: @ 080FEBE8
.incbin "data_080FC8A4/gUnk_080FEBE8.bin"
gUnk_080FEC28:: @ 080FEC28
.incbin "data_080FC8A4/gUnk_080FEC28.bin"
gUnk_080FECC8:: @ 080FECC8
.incbin "data_080FC8A4/gUnk_080FECC8.bin"
gUnk_080FED18:: @ 080FED18
.incbin "data_080FC8A4/gUnk_080FED18.bin"
gUnk_080FED58:: @ 080FED58
.incbin "data_080FC8A4/gUnk_080FED58.bin"
gUnk_080FED98:: @ 080FED98
.4byte gUnk_080FEDA4
.4byte gUnk_080FEDDA
.4byte gUnk_080FEDF8
gUnk_080FEDA4:: @ 080FEDA4
.incbin "data_080FC8A4/gUnk_080FEDA4.bin"
gUnk_080FEDDA:: @ 080FEDDA
.incbin "data_080FC8A4/gUnk_080FEDDA.bin"
gUnk_080FEDF8:: @ 080FEDF8
.incbin "data_080FC8A4/gUnk_080FEDF8.bin"
gUnk_080FEE18:: @ 080FEE18
.incbin "data_080FC8A4/gUnk_080FEE18.bin"
gUnk_080FEE38:: @ 080FEE38
.incbin "data_080FC8A4/gUnk_080FEE38.bin"
gUnk_080FEE48:: @ 080FEE48
.incbin "data_080FC8A4/gUnk_080FEE48.bin"
gUnk_080FEE58:: @ 080FEE58
.ifdef JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FEE58_JP.bin"
.else
.ifdef DEMO_JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FEE58_1_DEMO_JP.bin"
.else
.ifdef EU
.incbin "data_080FC8A4/gUnk_080FEE58_2_EU.bin"
.else
.incbin "data_080FC8A4/gUnk_080FEE58_3_USA-DEMO_USA.bin"
.endif
.endif
.endif
gUnk_080FEE78:: @ 080FEE78
.incbin "data_080FC8A4/gUnk_080FEE78.bin"

573
data/data_080FD964.s Normal file
View File

@ -0,0 +1,573 @@
.include "asm/macros.inc"
.include "constants/constants.inc"
.section .rodata
.align 2
gUnk_080FD964:: @ 080FD964
.ifdef EU
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FD964_EU.bin"
.else
.incbin "data_080FC8A4/gUnk_080FD964_1_USA-JP-DEMO_USA-DEMO_JP.bin"
.endif
gSpriteAnimations_322_0:: @ 080FDD14
.include "animations/gSpriteAnimations_322_0.s"
gSpriteAnimations_322_1:: @ 080FDD19
.include "animations/gSpriteAnimations_322_1.s"
gSpriteAnimations_322_2:: @ 080FDD1E
.include "animations/gSpriteAnimations_322_2.s"
gSpriteAnimations_322_3:: @ 080FDD23
.include "animations/gSpriteAnimations_322_3.s"
gSpriteAnimations_322_4:: @ 080FDD28
.include "animations/gSpriteAnimations_322_4.s"
gSpriteAnimations_322_6:: @ 080FDD2D
.include "animations/gSpriteAnimations_322_6.s"
gSpriteAnimations_322_7:: @ 080FDD32
.include "animations/gSpriteAnimations_322_7.s"
gSpriteAnimations_322_8:: @ 080FDD37
.include "animations/gSpriteAnimations_322_8.s"
gSpriteAnimations_322_9:: @ 080FDD48
.include "animations/gSpriteAnimations_322_9.s"
gSpriteAnimations_322_10:: @ 080FDD4D
.include "animations/gSpriteAnimations_322_10.s"
gSpriteAnimations_322_11:: @ 080FDD52
.include "animations/gSpriteAnimations_322_11.s"
gSpriteAnimations_322_12:: @ 080FDD57
.include "animations/gSpriteAnimations_322_12.s"
gSpriteAnimations_322_13:: @ 080FDD5C
.include "animations/gSpriteAnimations_322_13.s"
gSpriteAnimations_322_14:: @ 080FDD61
.include "animations/gSpriteAnimations_322_14.s"
gSpriteAnimations_322_15:: @ 080FDD92
.include "animations/gSpriteAnimations_322_15.s"
gSpriteAnimations_322_5:: @ 080FDD97
.include "animations/gSpriteAnimations_322_5.s"
gSpriteAnimations_322_17:: @ 080FDDA8
.include "animations/gSpriteAnimations_322_17.s"
gSpriteAnimations_322_18:: @ 080FDDAD
.include "animations/gSpriteAnimations_322_18.s"
gSpriteAnimations_322_19:: @ 080FDDB2
.include "animations/gSpriteAnimations_322_19.s"
gSpriteAnimations_322_20:: @ 080FDDB7
.include "animations/gSpriteAnimations_322_20.s"
gSpriteAnimations_322_21:: @ 080FDDBC
.include "animations/gSpriteAnimations_322_21.s"
gSpriteAnimations_322_22:: @ 080FDDC1
.include "animations/gSpriteAnimations_322_22.s"
gSpriteAnimations_322_23:: @ 080FDDC6
.include "animations/gSpriteAnimations_322_23.s"
gSpriteAnimations_322_28:: @ 080FDDCB
.include "animations/gSpriteAnimations_322_28.s"
gSpriteAnimations_322_38:: @ 080FDDD0
.include "animations/gSpriteAnimations_322_38.s"
gSpriteAnimations_322_39:: @ 080FDDD5
.include "animations/gSpriteAnimations_322_39.s"
gSpriteAnimations_322_34:: @ 080FDDDA
.include "animations/gSpriteAnimations_322_34.s"
gSpriteAnimations_322_35:: @ 080FDDDF
.include "animations/gSpriteAnimations_322_35.s"
gSpriteAnimations_322_40:: @ 080FDDE4
.include "animations/gSpriteAnimations_322_40.s"
gSpriteAnimations_322_41:: @ 080FDDF5
.include "animations/gSpriteAnimations_322_41.s"
gSpriteAnimations_322_42:: @ 080FDE0E
.include "animations/gSpriteAnimations_322_42.s"
gSpriteAnimations_322_43:: @ 080FDE27
.include "animations/gSpriteAnimations_322_43.s"
gSpriteAnimations_322_44:: @ 080FDE40
.include "animations/gSpriteAnimations_322_44.s"
gSpriteAnimations_322_45:: @ 080FDE59
.include "animations/gSpriteAnimations_322_45.s"
gSpriteAnimations_322_46:: @ 080FDE72
.include "animations/gSpriteAnimations_322_46.s"
gSpriteAnimations_322_36:: @ 080FDE8B
.include "animations/gSpriteAnimations_322_36.s"
gSpriteAnimations_322_37:: @ 080FDE90
.include "animations/gSpriteAnimations_322_37.s"
gSpriteAnimations_322_54:: @ 080FDE95
.include "animations/gSpriteAnimations_322_54.s"
gSpriteAnimations_322_33:: @ 080FDE9A
.include "animations/gSpriteAnimations_322_33.s"
gSpriteAnimations_322_47:: @ 080FDE9F
.include "animations/gSpriteAnimations_322_47.s"
gSpriteAnimations_322_48:: @ 080FDEA4
.include "animations/gSpriteAnimations_322_48.s"
gSpriteAnimations_322_49:: @ 080FDEA9
.include "animations/gSpriteAnimations_322_49.s"
gSpriteAnimations_322_52:: @ 080FDEAE
.include "animations/gSpriteAnimations_322_52.s"
gSpriteAnimations_322_53:: @ 080FDEB3
.include "animations/gSpriteAnimations_322_53.s"
gSpriteAnimations_322_24:: @ 080FDEB8
.include "animations/gSpriteAnimations_322_24.s"
gSpriteAnimations_322_58:: @ 080FDEBD
.include "animations/gSpriteAnimations_322_58.s"
gSpriteAnimations_322_59:: @ 080FDEC2
.include "animations/gSpriteAnimations_322_59.s"
gSpriteAnimations_322_25:: @ 080FDEC7
.include "animations/gSpriteAnimations_322_25.s"
gSpriteAnimations_322_60:: @ 080FDECC
.include "animations/gSpriteAnimations_322_60.s"
gSpriteAnimations_322_55:: @ 080FDED1
.include "animations/gSpriteAnimations_322_55.s"
gSpriteAnimations_322_68:: @ 080FDED6
.include "animations/gSpriteAnimations_322_68.s"
gSpriteAnimations_322_69:: @ 080FDEDB
.include "animations/gSpriteAnimations_322_69.s"
gSpriteAnimations_322_26:: @ 080FDEE0
.include "animations/gSpriteAnimations_322_26.s"
gSpriteAnimations_322_64:: @ 080FDEE5
.include "animations/gSpriteAnimations_322_64.s"
gSpriteAnimations_322_65:: @ 080FDEEA
.include "animations/gSpriteAnimations_322_65.s"
gSpriteAnimations_322_66:: @ 080FDEEF
.include "animations/gSpriteAnimations_322_66.s"
gSpriteAnimations_322_67:: @ 080FDEF4
.include "animations/gSpriteAnimations_322_67.s"
gSpriteAnimations_322_71:: @ 080FDEF9
.include "animations/gSpriteAnimations_322_71.s"
gSpriteAnimations_322_81:: @ 080FDEFE
.include "animations/gSpriteAnimations_322_81.s"
gSpriteAnimations_322_82:: @ 080FDF03
.include "animations/gSpriteAnimations_322_82.s"
gSpriteAnimations_322_83:: @ 080FDF08
.include "animations/gSpriteAnimations_322_83.s"
gSpriteAnimations_322_84:: @ 080FDF0D
.include "animations/gSpriteAnimations_322_84.s"
gSpriteAnimations_322_95:: @ 080FDF12
.include "animations/gSpriteAnimations_322_95.s"
gSpriteAnimations_322_96:: @ 080FDF17
.include "animations/gSpriteAnimations_322_96.s"
gSpriteAnimations_322_98:: @ 080FDF28
.include "animations/gSpriteAnimations_322_98.s"
gSpriteAnimations_322_99:: @ 080FDF45
.include "animations/gSpriteAnimations_322_99.s"
gSpriteAnimations_322_87:: @ 080FDF4A
.include "animations/gSpriteAnimations_322_87.s"
gSpriteAnimations_322_104:: @ 080FDF4F
.include "animations/gSpriteAnimations_322_104.s"
gSpriteAnimations_322_105:: @ 080FDF54
.include "animations/gSpriteAnimations_322_105.s"
gSpriteAnimations_322_106:: @ 080FDF59
.include "animations/gSpriteAnimations_322_106.s"
gSpriteAnimations_322_107:: @ 080FDF5E
.include "animations/gSpriteAnimations_322_107.s"
gSpriteAnimations_322_93:: @ 080FDF63
.include "animations/gSpriteAnimations_322_93.s"
gSpriteAnimations_322_94:: @ 080FDF68
.include "animations/gSpriteAnimations_322_94.s"
gSpriteAnimations_322_63:: @ 080FDF6D
.include "animations/gSpriteAnimations_322_63.s"
gSpriteAnimations_322_100:: @ 080FDF72
.include "animations/gSpriteAnimations_322_100.s"
gSpriteAnimations_322_101:: @ 080FDF77
.include "animations/gSpriteAnimations_322_101.s"
gSpriteAnimations_322_102:: @ 080FDF7C
.include "animations/gSpriteAnimations_322_102.s"
gSpriteAnimations_322_103:: @ 080FDF81
.include "animations/gSpriteAnimations_322_103.s"
gSpriteAnimations_322_91:: @ 080FDF86
.include "animations/gSpriteAnimations_322_91.s"
gSpriteAnimations_322_92:: @ 080FDF8F
.include "animations/gSpriteAnimations_322_92.s"
gSpriteAnimations_322_108:: @ 080FDF94
.include "animations/gSpriteAnimations_322_108.s"
gSpriteAnimations_322_109:: @ 080FDF99
.include "animations/gSpriteAnimations_322_109.s"
gSpriteAnimations_322_110:: @ 080FDF9E
.include "animations/gSpriteAnimations_322_110.s"
gSpriteAnimations_322_111:: @ 080FDFA3
.include "animations/gSpriteAnimations_322_111.s"
gSpriteAnimations_322_112:: @ 080FDFA8
.include "animations/gSpriteAnimations_322_112.s"
gSpriteAnimations_322_72:: @ 080FDFC1
.include "animations/gSpriteAnimations_322_72.s"
gSpriteAnimations_322_97:: @ 080FDFC6
.include "animations/gSpriteAnimations_322_97.s"
gSpriteAnimations_322_61:: @ 080FDFCB
.include "animations/gSpriteAnimations_322_61.s"
gSpriteAnimations_322_62:: @ 080FDFD0
.include "animations/gSpriteAnimations_322_62.s"
gSpriteAnimations_322:: @ 080FDFD8
.4byte gSpriteAnimations_322_0
.4byte gSpriteAnimations_322_1
.4byte gSpriteAnimations_322_2
.4byte gSpriteAnimations_322_3
.4byte gSpriteAnimations_322_4
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_6
.4byte gSpriteAnimations_322_7
.4byte gSpriteAnimations_322_8
.4byte gSpriteAnimations_322_9
.4byte gSpriteAnimations_322_10
.4byte gSpriteAnimations_322_11
.4byte gSpriteAnimations_322_12
.4byte gSpriteAnimations_322_13
.4byte gSpriteAnimations_322_14
.4byte gSpriteAnimations_322_15
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_17
.4byte gSpriteAnimations_322_18
.4byte gSpriteAnimations_322_19
.4byte gSpriteAnimations_322_20
.4byte gSpriteAnimations_322_21
.4byte gSpriteAnimations_322_22
.4byte gSpriteAnimations_322_23
.4byte gSpriteAnimations_322_24
.4byte gSpriteAnimations_322_25
.4byte gSpriteAnimations_322_26
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_28
.4byte gSpriteAnimations_322_33
.4byte gSpriteAnimations_322_34
.4byte gSpriteAnimations_322_35
.4byte gSpriteAnimations_322_36
.4byte gSpriteAnimations_322_37
.4byte gSpriteAnimations_322_38
.4byte gSpriteAnimations_322_39
.4byte gSpriteAnimations_322_40
.4byte gSpriteAnimations_322_41
.4byte gSpriteAnimations_322_42
.4byte gSpriteAnimations_322_43
.4byte gSpriteAnimations_322_44
.4byte gSpriteAnimations_322_45
.4byte gSpriteAnimations_322_46
.4byte gSpriteAnimations_322_47
.4byte gSpriteAnimations_322_48
.4byte gSpriteAnimations_322_49
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_52
.4byte gSpriteAnimations_322_53
.4byte gSpriteAnimations_322_54
.4byte gSpriteAnimations_322_55
.4byte gSpriteAnimations_322_25
.4byte gSpriteAnimations_322_24
.4byte gSpriteAnimations_322_58
.4byte gSpriteAnimations_322_59
.4byte gSpriteAnimations_322_60
.4byte gSpriteAnimations_322_61
.4byte gSpriteAnimations_322_62
.4byte gSpriteAnimations_322_63
.4byte gSpriteAnimations_322_64
.4byte gSpriteAnimations_322_65
.4byte gSpriteAnimations_322_66
.4byte gSpriteAnimations_322_67
.4byte gSpriteAnimations_322_68
.4byte gSpriteAnimations_322_69
.4byte gSpriteAnimations_322_26
.4byte gSpriteAnimations_322_71
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_72
.4byte gSpriteAnimations_322_71
.4byte gSpriteAnimations_322_81
.4byte gSpriteAnimations_322_82
.4byte gSpriteAnimations_322_83
.4byte gSpriteAnimations_322_84
.4byte gSpriteAnimations_322_84
.4byte gSpriteAnimations_322_84
.4byte gSpriteAnimations_322_87
.4byte gSpriteAnimations_322_87
.4byte gSpriteAnimations_322_87
.4byte gSpriteAnimations_322_5
.4byte gSpriteAnimations_322_91
.4byte gSpriteAnimations_322_92
.4byte gSpriteAnimations_322_93
.4byte gSpriteAnimations_322_94
.4byte gSpriteAnimations_322_95
.4byte gSpriteAnimations_322_96
.4byte gSpriteAnimations_322_97
.4byte gSpriteAnimations_322_98
.4byte gSpriteAnimations_322_99
.4byte gSpriteAnimations_322_100
.4byte gSpriteAnimations_322_101
.4byte gSpriteAnimations_322_102
.4byte gSpriteAnimations_322_103
.4byte gSpriteAnimations_322_104
.4byte gSpriteAnimations_322_105
.4byte gSpriteAnimations_322_106
.4byte gSpriteAnimations_322_107
.4byte gSpriteAnimations_322_108
.4byte gSpriteAnimations_322_109
.4byte gSpriteAnimations_322_110
.4byte gSpriteAnimations_322_111
.4byte gSpriteAnimations_322_112
.4byte gSpriteAnimations_322_112
.4byte gSpriteAnimations_322_112
.4byte gSpriteAnimations_322_0
.4byte gSpriteAnimations_322_0
.4byte gSpriteAnimations_322_0
.4byte 00000000
gUnk_080FE1B4:: @ 080FE1B4
.incbin "data_080FC8A4/gUnk_080FE1B4.bin"
gUnk_080FE1C6:: @ 080FE1C6
.incbin "data_080FC8A4/gUnk_080FE1C6.bin"
gUnk_080FE1DD:: @ 080FE1DD
.incbin "data_080FC8A4/gUnk_080FE1DD.bin"
gUnk_080FE2A0:: @ 080FE2A0
.4byte sub_0805488C
.4byte sub_080548E8
.4byte sub_08054920
gUnk_080FE2AC:: @ 080FE2AC
.4byte sub_08055D80
.4byte sub_08054E00
.4byte sub_080558EC
.4byte sub_08054CE8
.4byte sub_08054C04
.4byte sub_08055168
.4byte sub_080552FC
.4byte sub_08055BB0
.4byte sub_08055414
.4byte sub_080559E0
.4byte sub_0805559C
.4byte sub_080554FC
.4byte sub_08055818
.4byte sub_08055094
.4byte sub_080550F8
.4byte sub_080556F4
.4byte sub_08055038
.4byte sub_08054F90
.4byte sub_08054F90
.4byte sub_08054D90
.4byte sub_08055888
.4byte sub_08055690
.4byte sub_08055E08
.4byte sub_080557B4
.4byte sub_08055CD8
.4byte sub_08055AD0
.4byte sub_08055D80
.4byte sub_08055D80
.4byte sub_08055D80
gUnk_080FE320:: @ 080FE320
.ifdef JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FE320_JP.bin"
.else
.ifdef DEMO_JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FE320_1_DEMO_JP.bin"
.else
.ifdef EU
.incbin "data_080FC8A4/gUnk_080FE320_2_EU.bin"
.else
.incbin "data_080FC8A4/gUnk_080FE320_3_USA-DEMO_USA.bin"
.endif
.endif
.endif
.ifdef JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FE320_4_JP.bin"
.else
.ifdef DEMO_JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FE320_5_DEMO_JP.bin"
.else
.ifdef EU
.incbin "data_080FC8A4/gUnk_080FE320_6_EU.bin"
.else
.incbin "data_080FC8A4/gUnk_080FE320_7_USA-DEMO_USA.bin"
.endif
.endif
.endif
gUnk_080FEAC8:: @ 080FEAC8
.incbin "data_080FC8A4/gUnk_080FEAC8.bin"
.ifdef JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FEAC8_1_JP.bin"
.else
.ifdef DEMO_JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FEAC8_2_DEMO_JP.bin"
.else
.ifdef EU
.incbin "data_080FC8A4/gUnk_080FEAC8_3_EU.bin"
.else
.incbin "data_080FC8A4/gUnk_080FEAC8_4_USA-DEMO_USA.bin"
.endif
.endif
.endif
.ifdef JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FEAC8_5_JP.bin"
.else
.ifdef DEMO_JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FEAC8_6_DEMO_JP.bin"
.else
.ifdef EU
.incbin "data_080FC8A4/gUnk_080FEAC8_7_EU.bin"
.else
.incbin "data_080FC8A4/gUnk_080FEAC8_8_USA-DEMO_USA.bin"
.endif
.endif
.endif
.incbin "data_080FC8A4/gUnk_080FEAC8_9.bin"
gUnk_080FEBE8:: @ 080FEBE8
.incbin "data_080FC8A4/gUnk_080FEBE8.bin"
gUnk_080FEC28:: @ 080FEC28
.incbin "data_080FC8A4/gUnk_080FEC28.bin"
gUnk_080FECC8:: @ 080FECC8
.incbin "data_080FC8A4/gUnk_080FECC8.bin"
gUnk_080FED18:: @ 080FED18
.incbin "data_080FC8A4/gUnk_080FED18.bin"
gUnk_080FED58:: @ 080FED58
.incbin "data_080FC8A4/gUnk_080FED58.bin"
gUnk_080FED98:: @ 080FED98
.4byte gUnk_080FEDA4
.4byte gUnk_080FEDDA
.4byte gUnk_080FEDF8
gUnk_080FEDA4:: @ 080FEDA4
.incbin "data_080FC8A4/gUnk_080FEDA4.bin"
gUnk_080FEDDA:: @ 080FEDDA
.incbin "data_080FC8A4/gUnk_080FEDDA.bin"
gUnk_080FEDF8:: @ 080FEDF8
.incbin "data_080FC8A4/gUnk_080FEDF8.bin"
gUnk_080FEE18:: @ 080FEE18
.incbin "data_080FC8A4/gUnk_080FEE18.bin"
gUnk_080FEE38:: @ 080FEE38
.incbin "data_080FC8A4/gUnk_080FEE38.bin"
gUnk_080FEE48:: @ 080FEE48
.incbin "data_080FC8A4/gUnk_080FEE48.bin"
gUnk_080FEE58:: @ 080FEE58
.ifdef JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FEE58_JP.bin"
.else
.ifdef DEMO_JP
@ TODO only small differences
.incbin "data_080FC8A4/gUnk_080FEE58_1_DEMO_JP.bin"
.else
.ifdef EU
.incbin "data_080FC8A4/gUnk_080FEE58_2_EU.bin"
.else
.incbin "data_080FC8A4/gUnk_080FEE58_3_USA-DEMO_USA.bin"
.endif
.endif
.endif
gUnk_080FEE78:: @ 080FEE78
.incbin "data_080FC8A4/gUnk_080FEE78.bin"

41
include/itemMetaData.h Normal file
View File

@ -0,0 +1,41 @@
#ifndef TMC_ITEMMETADATA_H
#define TMC_ITEMMETADATA_H
#include "global.h"
typedef enum {
MENU_SLOT_SWORD,
MENU_SLOT_GUST_JAR,
MENU_SLOT_CANE,
MENU_SLOT_BOOMERANG,
MENU_SLOT_SHIELD,
MENU_SLOT_MOLE_MITTS,
MENU_SLOT_LANTERN,
MENU_SLOT_BOMBS,
MENU_SLOT_PEGASUS_BOOTS,
MENU_SLOT_ROCS_CAPE,
MENU_SLOT_OCARINA,
MENU_SLOT_BOW,
MENU_SLOT_BOTTLE0,
MENU_SLOT_BOTTLE1,
MENU_SLOT_BOTTLE2,
MENU_SLOT_BOTTLE3,
MENU_SLOT_SAVE_BUTTON,
MENU_SLOT_SAVE_BUTTON_JP,
MENU_SLOT_COUNT = MENU_SLOT_SAVE_BUTTON_JP
} ItemMenuTableSlot;
typedef struct ItemMetaData {
u8 menuSlot;
u8 unk1;
u8 unk2;
u8 unk3; // flags? bit 0x2 makes pickup cutscene appear every time
u8 unk4;
u8 unk5;
u8 unk6;
u8 unk7;
} ItemMetaData;
extern const ItemMetaData gItemMetaData[];
#endif // TMC_ITEMMETADATA_H

View File

@ -1128,6 +1128,8 @@ SECTIONS {
data/data_080FC8A4.o(.rodata);
src/game.o(.rodata);
data/data_080FCAC8.o(.rodata);
src/itemMetaData.o(.rodata);
data/data_080FD964.o(.rodata);
data/const/playerItem/playerItemLantern.o(.rodata);
data/data_080FEEB8.o(.rodata);
data/gfx/palette_groups.o(.rodata);

View File

@ -9,13 +9,7 @@
#include "object.h"
#include "enemy.h"
#include "droptables.h"
typedef struct {
u8 unk;
u8 filler[7];
} struct_080FD5B4;
extern struct_080FD5B4 gUnk_080FD5B4[];
#include "itemMetaData.h"
extern u8 gUnk_0200AF13;
extern u8 gUnk_0200AF14;
@ -60,11 +54,11 @@ void PutItemOnSlot(u32 itemID) {
itemSlot = 1;
}
if (itemSlot == 2) {
u32 temp = gUnk_080FD5B4[itemID2].unk;
if (temp == gUnk_080FD5B4[gSave.stats.itemButtons[SLOT_A]].unk) {
u32 temp = gItemMetaData[itemID2].menuSlot;
if (temp == gItemMetaData[gSave.stats.itemButtons[SLOT_A]].menuSlot) {
itemSlot = 0;
} else {
if (temp == gUnk_080FD5B4[gSave.stats.itemButtons[SLOT_B]].unk) {
if (temp == gItemMetaData[gSave.stats.itemButtons[SLOT_B]].menuSlot) {
itemSlot = 1;
}
}

124
src/itemMetaData.c Normal file
View File

@ -0,0 +1,124 @@
#include "global.h"
#include "itemMetaData.h"
#include "item.h"
const ItemMetaData gItemMetaData[] = {
[ITEM_NONE] = { 0x63u, 0u, 0u, 0u, 0u, 0u, 0u, 0u },
[ITEM_SMITH_SWORD] = { MENU_SLOT_SWORD, 0u, 0u, 0u, 0x1u, 0x5u, 0x1u, 0x5u },
[ITEM_GREEN_SWORD] = { MENU_SLOT_SWORD, 0u, 0u, 0u, 0x2u, 0x5u, 0x2u, 0x5u },
[ITEM_RED_SWORD] = { MENU_SLOT_SWORD, 0u, 0u, 0u, 0x3u, 0x5u, 0x3u, 0x5u },
[ITEM_BLUE_SWORD] = { MENU_SLOT_SWORD, 0u, 0u, 0u, 0x4u, 0x5u, 0x4u, 0x5u },
[ITEM_UNUSED_SWORD] = { MENU_SLOT_SWORD, 0u, 0u, 0u, 0x5u, 0x5u, 0x5u, 0x5u },
[ITEM_FOURSWORD] = { MENU_SLOT_SWORD, 0u, 0u, 0u, 0x6u, 0x5u, 0x6u, 0x5u },
[ITEM_BOMBS] = { MENU_SLOT_BOMBS, 0x7u, 0x63u, 0u, 0x1cu, 0x5u, 0x1cu, 0x5u },
[ITEM_REMOTE_BOMBS] = { MENU_SLOT_BOMBS, 0x7u, 0x63u, 0u, 0x8u, 0x5u, 0x8u, 0x5u },
[ITEM_BOW] = { MENU_SLOT_BOW, 0xbu, 0x63u, 0u, 0x9u, 0x5u, 0x9u, 0x5u },
[ITEM_LIGHT_ARROW] = { MENU_SLOT_BOW, 0xbu, 0x63u, 0u, 0xau, 0x5u, 0xau, 0x5u },
[ITEM_BOOMERANG] = { MENU_SLOT_BOOMERANG, 0x12u, 0u, 0u, 0xbu, 0x5u, 0xbu, 0x5u },
[ITEM_MAGIC_BOOMERANG] = { MENU_SLOT_BOOMERANG, 0x12u, 0u, 0u, 0xcu, 0x5u, 0xcu, 0x5u },
[ITEM_SHIELD] = { MENU_SLOT_SHIELD, 0u, 0u, 0u, 0xdu, 0x5u, 0xdu, 0x5u },
[ITEM_MIRROR_SHIELD] = { MENU_SLOT_SHIELD, 0u, 0u, 0u, 0xeu, 0x5u, 0xeu, 0x5u },
[ITEM_LANTERN_OFF] = { MENU_SLOT_LANTERN, 0u, 0u, 0u, 0xfu, 0x5u, 0xfu, 0x5u },
[ITEM_LANTERN_ON] = { MENU_SLOT_LANTERN, 0u, 0u, 0u, 0x10u, 0x5u, 0x10u, 0x5u },
[ITEM_GUST_JAR] = { MENU_SLOT_GUST_JAR, 0u, 0u, 0u, 0x11u, 0x5u, 0x11u, 0x5u },
[ITEM_PACCI_CANE] = { MENU_SLOT_CANE, 0u, 0u, 0u, 0x12u, 0x5u, 0x12u, 0x5u },
[ITEM_MOLE_MITTS] = { MENU_SLOT_MOLE_MITTS, 0u, 0u, 0u, 0x13u, 0x5u, 0x13u, 0x5u },
[ITEM_ROCS_CAPE] = { MENU_SLOT_ROCS_CAPE, 0u, 0u, 0u, 0x14u, 0x5u, 0x14u, 0x5u },
[ITEM_PEGASUS_BOOTS] = { MENU_SLOT_PEGASUS_BOOTS, 0u, 0u, 0u, 0x15u, 0x5u, 0x15u, 0x5u },
[ITEM_FIRE_ROD] = { 0x63u, 0u, 0u, 0u, 0x16u, 0x5u, 0x16u, 0x5u },
[ITEM_OCARINA] = { MENU_SLOT_OCARINA, 0u, 0u, 0u, 0x17u, 0x5u, 0x17u, 0x5u },
[ITEM_ORB_GREEN] = { 0x63u, 0u, 0u, 0u, 0u, 0u, 0u, 0u },
[ITEM_ORB_BLUE] = { 0x63u, 0u, 0u, 0u, 0u, 0u, 0u, 0u },
[ITEM_ORB_RED] = { 0x63u, 0u, 0u, 0u, 0u, 0u, 0u, 0u },
[ITEM_TRAP] = { 0x63u, 0u, 0u, 0u, 0u, 0u, 0u, 0u },
[ITEM_BOTTLE1] = { MENU_SLOT_BOTTLE0, 0x3u, 0u, 0x1u, 0x20u, 0x5u, 0x20u, 0x5u },
[ITEM_BOTTLE2] = { MENU_SLOT_BOTTLE1, 0x3u, 0u, 0x1u, 0x20u, 0x5u, 0x20u, 0x5u },
[ITEM_BOTTLE3] = { MENU_SLOT_BOTTLE2, 0x3u, 0u, 0x1u, 0x20u, 0x5u, 0x20u, 0x5u },
[ITEM_BOTTLE4] = { MENU_SLOT_BOTTLE3, 0x3u, 0u, 0x1u, 0x20u, 0x5u, 0x20u, 0x5u },
[ITEM_BOTTLE_EMPTY] = { 0u, 0u, 0u, 0x3u, 0x20u, 0x5u, 0x20u, 0x5u },
[ITEM_BOTTLE_BUTTER] = { 0u, 0x4u, 0u, 0x3u, 0x21u, 0x5u, 0x21u, 0x5u },
[ITEM_BOTTLE_MILK] = { 0u, 0x4u, 0u, 0x3u, 0x22u, 0x5u, 0x22u, 0x5u },
[ITEM_BOTTLE_HALF_MILK] = { 0u, 0x4u, 0u, 0x3u, 0x23u, 0x5u, 0x23u, 0x5u },
[ITEM_BOTTLE_RED_POTION] = { 0u, 0x4u, 0u, 0x3u, 0x24u, 0x5u, 0x24u, 0x5u },
[ITEM_BOTTLE_BLUE_POTION] = { 0u, 0x4u, 0u, 0x3u, 0x25u, 0x5u, 0x25u, 0x5u },
[ITEM_BOTTLE_WATER] = { 0u, 0x4u, 0u, 0x3u, 0x26u, 0x5u, 0x26u, 0x5u },
[ITEM_BOTTLE_MINERAL_WATER] = { 0u, 0x4u, 0u, 0x3u, 0x27u, 0x5u, 0x27u, 0x5u },
[ITEM_BOTTLE_FAIRY] = { 0u, 0x4u, 0u, 0x3u, 0x28u, 0x5u, 0x28u, 0x5u },
[ITEM_BOTTLE_PICOLYTE_RED] = { 0u, 0x4u, 0u, 0x3u, 0x29u, 0x5u, 0x29u, 0x5u },
[ITEM_BOTTLE_PICOLYTE_ORANGE] = { 0u, 0x4u, 0u, 0x3u, 0x2au, 0x5u, 0x2au, 0x5u },
[ITEM_BOTTLE_PICOLYTE_YELLOW] = { 0u, 0x4u, 0u, 0x3u, 0x2bu, 0x5u, 0x2bu, 0x5u },
[ITEM_BOTTLE_PICOLYTE_GREEN] = { 0u, 0x4u, 0u, 0x3u, 0x2cu, 0x5u, 0x2cu, 0x5u },
[ITEM_BOTTLE_PICOLYTE_BLUE] = { 0u, 0x4u, 0u, 0x3u, 0x2du, 0x5u, 0x2du, 0x5u },
[ITEM_BOTTLE_PICOLYTE_WHITE] = { 0u, 0x4u, 0u, 0x3u, 0x2eu, 0x5u, 0x2eu, 0x5u },
[BOTTLE_CHARM_NAYRU] = { 0u, 0x4u, 0u, 0x3u, 0x2fu, 0x5u, 0x2fu, 0x5u },
[BOTTLE_CHARM_FARORE] = { 0u, 0x4u, 0u, 0x3u, 0x30u, 0x5u, 0x30u, 0x5u },
[BOTTLE_CHARM_DIN] = { 0u, 0x4u, 0u, 0x3u, 0x31u, 0x5u, 0x31u, 0x5u },
[ITEM_32] = { 0u, 0u, 0u, 0u, 0x32u, 0x5u, 0x32u, 0x5u },
[ITEM_33] = { 0u, 0u, 0u, 0u, 0x33u, 0x5u, 0x33u, 0x5u },
[ITEM_QST_SWORD] = { 0x1u, 0u, 0u, 0u, 0x34u, 0x5u, 0x34u, 0x5u },
[ITEM_QST_BROKEN_SWORD] = { 0x1u, 0u, 0u, 0u, 0x35u, 0x5u, 0x35u, 0x5u },
[ITEM_QST_DOGFOOD] = { 0x1u, 0u, 0u, 0u, 0x36u, 0x5u, 0x36u, 0x5u },
[ITEM_QST_LONLON_KEY] = { 0x1u, 0u, 0u, 0x1u, 0x37u, 0x5u, 0x37u, 0x5u },
[ITEM_QST_MUSHROOM] = { 0x1u, 0u, 0u, 0u, 0x38u, 0x5u, 0x38u, 0x5u },
[ITEM_QST_BOOK1] = { 0x1u, 0u, 0u, 0u, 0x39u, 0x5u, 0x39u, 0x5u },
[ITEM_QST_BOOK2] = { 0x1u, 0u, 0u, 0u, 0x3au, 0x5u, 0x3au, 0x5u },
[ITEM_QST_BOOK3] = { 0x1u, 0u, 0u, 0u, 0x3bu, 0x5u, 0x3bu, 0x5u },
[ITEM_QST_GRAVEYARD_KEY] = { 0x1u, 0u, 0u, 0u, 0x3du, 0x5u, 0x3du, 0x5u },
[ITEM_QST_TINGLE_TROPHY] = { 0u, 0u, 0u, 0u, 0x95u, 0x5u, 0x95u, 0x5u },
[ITEM_QST_CARLOV_MEDAL] = { 0x3u, 0u, 0u, 0u, 0x96u, 0x5u, 0x96u, 0x5u },
[ITEM_SHELLS] = { 0x3u, 0xeu, 0x1u, 0u, 0x3eu, 0x5u, 0x77u, 0x5u },
[ITEM_EARTH_ELEMENT] = { 0x9u, 0u, 0u, 0x2u, 0x40u, 0x5u, 0x40u, 0x5u },
[ITEM_FIRE_ELEMENT] = { 0xau, 0u, 0u, 0x2u, 0x41u, 0x5u, 0x41u, 0x5u },
[ITEM_WATER_ELEMENT] = { 0xbu, 0u, 0u, 0x2u, 0x42u, 0x5u, 0x42u, 0x5u },
[ITEM_WIND_ELEMENT] = { 0xcu, 0u, 0u, 0x2u, 0x43u, 0x5u, 0x43u, 0x5u },
[ITEM_GRIP_RING] = { 0xdu, 0u, 0u, 0u, 0x44u, 0x5u, 0x44u, 0x5u },
[ITEM_POWER_BRACELETS] = { 0xeu, 0u, 0u, 0u, 0x45u, 0x5u, 0x45u, 0x5u },
[ITEM_FLIPPERS] = { 0xfu, 0u, 0u, 0u, 0x46u, 0x5u, 0x46u, 0x5u },
[ITEM_MAP] = { 0x63u, 0u, 0u, 0u, 0x47u, 0x5u, 0x47u, 0x5u },
[ITEM_SKILL_SPIN_ATTACK] = { 0u, 0u, 0u, 0u, 0x48u, 0x5u, 0x48u, 0x5u },
[ITEM_SKILL_ROLL_ATTACK] = { 0u, 0u, 0u, 0u, 0x49u, 0x5u, 0x49u, 0x5u },
[ITEM_SKILL_DASH_ATTACK] = { 0u, 0u, 0u, 0u, 0x4au, 0x5u, 0x4au, 0x5u },
[ITEM_SKILL_ROCK_BREAKER] = { 0u, 0u, 0u, 0u, 0x4bu, 0x5u, 0x4bu, 0x5u },
[ITEM_SKILL_SWORD_BEAM] = { 0u, 0u, 0u, 0u, 0x4cu, 0x5u, 0x4cu, 0x5u },
[ITEM_SKILL_GREAT_SPIN] = { 0u, 0u, 0u, 0u, 0x4du, 0x5u, 0x4du, 0x5u },
[ITEM_SKILL_DOWN_THRUST] = { 0u, 0u, 0u, 0u, 0x4eu, 0x5u, 0x4eu, 0x5u },
[ITEM_SKILL_PERIL_BEAM] = { 0u, 0u, 0u, 0u, 0x4fu, 0x5u, 0x4fu, 0x5u },
[ITEM_DUNGEON_MAP] = { 0u, 0x6u, 0x1u, 0x2u, 0x50u, 0x5u, 0x50u, 0x5u },
[ITEM_COMPASS] = { 0u, 0x6u, 0x2u, 0x2u, 0x51u, 0x5u, 0x51u, 0x5u },
[ITEM_BIG_KEY] = { 0u, 0x6u, 0x4u, 0x2u, 0x52u, 0x5u, 0x52u, 0x5u },
[ITEM_SMALL_KEY] = { 0u, 0x5u, 0u, 0x3u, 0x53u, 0x5u, 0x53u, 0x5u },
[ITEM_RUPEE1] = { 0u, 0x2u, 0u, 0x1u, 0x54u, 0x5u, 0x54u, 0x5u },
[ITEM_RUPEE5] = { 0u, 0x2u, 0x1u, 0x1u, 0x55u, 0x5u, 0x55u, 0x5u },
[ITEM_RUPEE20] = { 0u, 0x2u, 0x2u, 0x1u, 0x56u, 0x5u, 0x56u, 0x5u },
[ITEM_RUPEE50] = { 0u, 0x2u, 0x3u, 0u, 0x57u, 0x5u, 0x57u, 0x5u },
[ITEM_RUPEE100] = { 0u, 0x2u, 0x4u, 0u, 0x58u, 0x5u, 0x58u, 0x5u },
[ITEM_RUPEE200] = { 0u, 0x2u, 0x5u, 0u, 0x59u, 0x5u, 0x59u, 0x5u },
[ITEM_5A] = { 0u, 0u, 0u, 0u, 0x5au, 0x5u, 0x5au, 0x5u },
[ITEM_JABBERNUT] = { 0u, 0u, 0u, 0x1u, 0x5bu, 0x5u, 0x5bu, 0x5u },
[ITEM_KINSTONE] = { 0u, 0xfu, 0u, 0x2u, 0x5cu, 0x5u, 0x5cu, 0x5u },
[ITEM_BOMBS5] = { 0u, 0x9u, 0x5u, 0x1u, 0x5du, 0x5u, 0x5du, 0x5u },
[ITEM_ARROWS5] = { 0u, 0xcu, 0x5u, 0x1u, 0x5eu, 0x5u, 0x5eu, 0x5u },
[ITEM_HEART] = { 0u, 0x1u, 0x8u, 0x1u, 0x5fu, 0x5u, 0x5fu, 0x5u },
[ITEM_FAIRY] = { 0u, 0x1u, 0x20u, 0x1u, 0x60u, 0x5u, 0x60u, 0x5u },
[ITEM_SHELLS30] = { 0u, 0xeu, 0x1eu, 0u, 0x3fu, 0x5u, 0x3fu, 0x5u },
[ITEM_HEART_CONTAINER] = { 0u, 0u, 0x1u, 0x2u, 0x62u, 0x5u, 0x62u, 0x5u },
[ITEM_HEART_PIECE] = { 0u, 0u, 0x1u, 0x3u, 0x18u, 0x5u, 0x18u, 0x5u },
[ITEM_WALLET] = { 0u, 0x10u, 0u, 0x2u, 0x64u, 0x5u, 0x64u, 0x5u },
[ITEM_BOMBBAG] = { 0u, 0x8u, 0x63u, 0x3u, 0x7u, 0x5u, 0x63u, 0x5u },
[ITEM_LARGE_QUIVER] = { 0u, 0xau, 0x63u, 0x3u, 0x66u, 0x5u, 0x66u, 0x5u },
[ITEM_KINSTONE_BAG] = { 0u, 0xdu, 0u, 0u, 0x67u, 0x5u, 0x67u, 0x5u },
[ITEM_BRIOCHE] = { 0u, 0u, 0u, 0x2u, 0x68u, 0x5u, 0x68u, 0x5u },
[ITEM_CROISSANT] = { 0u, 0u, 0u, 0x2u, 0x69u, 0x5u, 0x69u, 0x5u },
[ITEM_PIE] = { 0u, 0u, 0u, 0x2u, 0x6au, 0x5u, 0x6au, 0x5u },
[ITEM_CAKE] = { 0u, 0u, 0u, 0x2u, 0x6bu, 0x5u, 0x6bu, 0x5u },
[ITEM_BOMBS10] = { 0u, 0x9u, 0xau, 0x2u, 0x6cu, 0x5u, 0x6cu, 0x5u },
[ITEM_BOMBS30] = { 0u, 0x9u, 0x1eu, 0x2u, 0x6du, 0x5u, 0x6du, 0x5u },
[ITEM_ARROWS10] = { 0u, 0xcu, 0xau, 0x2u, 0x6eu, 0x5u, 0x6eu, 0x5u },
[ITEM_ARROWS30] = { 0u, 0xcu, 0x1eu, 0x2u, 0x6fu, 0x5u, 0x6fu, 0x5u },
[ITEM_ARROW_BUTTERFLY] = { 0x63u, 0u, 0u, 0x3u, 0x70u, 0x5u, 0x70u, 0x5u },
[ITEM_DIG_BUTTERFLY] = { 0x63u, 0u, 0u, 0x3u, 0x71u, 0x5u, 0x71u, 0x5u },
[ITEM_SWIM_BUTTERFLY] = { 0x63u, 0u, 0u, 0x3u, 0x72u, 0x5u, 0x72u, 0x5u },
[ITEM_SKILL_FAST_SPIN] = { 0x63u, 0u, 0u, 0x2u, 0x73u, 0x5u, 0x73u, 0x5u },
[ITEM_SKILL_FAST_SPLIT] = { 0x63u, 0u, 0u, 0x2u, 0x74u, 0x5u, 0x74u, 0x5u },
[ITEM_SKILL_LONG_SPIN] = { 0x63u, 0u, 0u, 0x2u, 0x75u, 0x5u, 0x75u, 0x5u },
};

View File

@ -8,6 +8,7 @@
#include "game.h"
#include "main.h"
#include "save.h"
#include "itemMetaData.h"
#include "structures.h"
#include "functions.h"
@ -18,8 +19,6 @@ void sub_080A51D4(void);
u32 sub_080A51F4(void);
void sub_080A5F48(u32, u32);
extern const u8 gUnk_080FD5B4[];
Subtask PauseMenu_Variant0;
Subtask PauseMenu_Variant1;
Subtask PauseMenu_Variant2;
@ -273,28 +272,6 @@ u32 sub_080A51F4(void) {
return retval;
}
typedef enum {
MENU_SLOT_SWORD,
MENU_SLOT_GUST_JAR,
MENU_SLOT_CANE,
MENU_SLOT_BOOMERANG,
MENU_SLOT_SHIELD,
MENU_SLOT_MOLE_MITTS,
MENU_SLOT_LANTERN,
MENU_SLOT_BOMBS,
MENU_SLOT_PEGASUS_BOOTS,
MENU_SLOT_ROCS_CAPE,
MENU_SLOT_OCARINA,
MENU_SLOT_BOW,
MENU_SLOT_BOTTLE0,
MENU_SLOT_BOTTLE1,
MENU_SLOT_BOTTLE2,
MENU_SLOT_BOTTLE3,
MENU_SLOT_SAVE_BUTTON,
MENU_SLOT_SAVE_BUTTON_JP,
MENU_SLOT_COUNT = MENU_SLOT_SAVE_BUTTON_JP
} ItemMenuTableSlot;
typedef struct {
u8 up;
u8 down;
@ -350,7 +327,7 @@ void PauseMenu_ItemMenu_Init(void) {
sub_080A70AC((KeyButtonLayout*)&gUnk_08128B50);
for (item = ITEM_SMITH_SWORD; item < ITEM_BOTTLE_EMPTY; item++) {
uVar1 = GetInventoryValue(item);
if ((uVar1 == 1) && (i = gUnk_080FD5B4[item * 8], i <= MENU_SLOT_SAVE_BUTTON_JP)) {
if ((uVar1 == 1) && (i = gItemMetaData[item].menuSlot, i <= MENU_SLOT_SAVE_BUTTON_JP)) {
switch (item) {
case ITEM_LANTERN_OFF:
case ITEM_LANTERN_ON:

View File

@ -4,8 +4,9 @@
#include "flags.h"
#include "player.h"
#include "object.h"
#include "functions.h"
#include "item.h"
#include "itemMetaData.h"
#include "functions.h"
void sub_08081150(Entity*);
u8 sub_0808147C(u32);
@ -27,14 +28,6 @@ extern void (*const gUnk_0811E814[])(Entity*);
extern void (*const gUnk_0811E840[])(Entity*);
extern Hitbox gUnk_080FD1A8;
typedef struct {
u8 unk0[3];
u8 unk3;
u8 unk4[4];
} Unk_080FD5B4;
extern const Unk_080FD5B4 gUnk_080FD5B4[];
typedef struct {
u8 unk0[2];
u16 sfx;
@ -348,11 +341,7 @@ bool32 sub_08081420(Entity* this) {
}
bool32 CheckShouldPlayItemGetCutscene(Entity* this) {
bool32 result = FALSE;
if ((gUnk_080FD5B4[this->type].unk0[3] & 0x2) || !GetInventoryValue(this->type)) {
result = TRUE;
}
return result;
return ((gItemMetaData[this->type].unk3 & 0x2) || !GetInventoryValue(this->type));
}
u8 sub_0808147C(u32 arg0) {