93% match Inventory::Load

This commit is contained in:
Aetias
2023-12-31 14:26:42 +01:00
parent f31bbc26fb
commit 0ab53a2adf
30 changed files with 480 additions and 405 deletions
+2 -2
View File
@@ -264294,7 +264294,7 @@
.extern func_ov00_020ad1c6
.extern func_ov00_020ad1e4
.extern func_ov00_020ad23c
.extern func_ov00_020ad244
.extern _ZN9Inventory4LoadEPK13SaveInventory
.extern func_ov00_020ad274
.extern func_ov00_020ad276
.extern func_ov00_020ad282
@@ -264364,7 +264364,7 @@
.extern func_ov00_020ad9e8
.extern func_ov00_020ada24
.extern func_ov00_020ada48
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_ov00_020ada98
.extern func_ov00_020adabc
.extern func_ov00_020adadc
+2 -2
View File
@@ -75866,7 +75866,7 @@ _02037d64:
ldr r0, _02037f50 ; =gInventory
ldr r0, [r0]
add r1, r1, #0x60
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
movne r0, #0
moveq r0, #1
@@ -75953,7 +75953,7 @@ _02037eac:
ldr r0, _02037f50 ; =gInventory
ldrh r1, [r4, #4]
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
movne r0, #0
moveq r0, #1
+1 -1
View File
@@ -171,7 +171,7 @@
.extern func_ov00_020a5e9c
.extern func_ov00_020a5e9c
.extern func_ov00_0209d738
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_ov26_02173b7c
.extern func_ov00_020a5e9c
.extern func_ov00_020a5e9c
+1 -1
View File
@@ -988,7 +988,7 @@
.extern func_ov00_020b7e6c
.extern func_ov00_020b7e6c
.extern func_ov05_021113c4
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_ov00_02097760
.extern func_ov00_0209779c
.extern data_027e0e58
+13 -13
View File
@@ -232,9 +232,9 @@
.extern func_ov00_020c45b0
.extern data_027e0fec
.extern func_ov00_020b1d3c
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern gInventory
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern gInventory
.extern func_020193f0
.extern func_020193f0
@@ -319,24 +319,24 @@
.extern data_027e0fac
.extern func_0202af4c
.extern data_027e0fac
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_ov00_020ad428
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_ov00_020ad428
.extern func_ov00_020ad428
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_ov00_020ad428
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_ov00_020ad428
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_ov00_020ad428
.extern func_ov00_020ad428
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_ov00_020ad428
.extern func_ov00_020ad428
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_ov00_020ad428
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_ov00_020ad428
.extern gInventory
.extern func_ov00_02097bbc
@@ -767,7 +767,7 @@
.extern data_027e0e58
.extern func_ov00_020d7cd4
.extern func_ov00_020d7a84
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_ov00_020d7a84
.extern func_ov00_020d7a84
.extern func_01ffbf5c
@@ -799,7 +799,7 @@
.extern func_01ff9158
.extern func_02018450
.extern func_01ff9158
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_020197fc
.extern func_020197fc
.extern func_ov00_020b41c4
@@ -827,7 +827,7 @@
.extern func_ov00_020ad9e8
.extern gInventory
.extern func_0202e58c
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_01ffa9fc
.extern func_01ffa9fc
.extern func_01ff8230
+1 -1
View File
@@ -399,7 +399,7 @@
.extern data_027e077c
.extern data_02056be4
.extern data_027e103c
.extern func_ov00_020ada78
.extern _ZN9Inventory7HasItemEj
.extern func_ov14_02152220
.extern gInventory
.extern data_027e0618
+240
View File
@@ -0,0 +1,240 @@
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
mov r0, #0x4a
add r6, r1, #0
lsl r0, r0, #2
add r3, r6, #0
add r2, r4, r0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
add r0, r6, #0
add r0, #0x8e
ldrh r0, [r0]
strh r0, [r4, #0x22]
add r0, r6, #0
add r0, #0x80
ldrh r1, [r0]
ldconst r0, #0x000005dc
cmp r1, r0
bhi _020ad274
mov r0, #0x3c
mul r0, r1
b _020ad276
_020ad274:
ldconst r0, #0x00015f90
_020ad276:
mov r2, #0
mov r7, #0x4a
str r0, [r4, #0xc]
add r3, r2, #0
mov r0, #1
lsl r7, r7, #2
_020ad282:
mov r1, #0x1f
add r5, r2, #0
and r5, r1
add r1, r0, #0
lsl r1, r5
lsr r5, r2, #5
lsl r5, r5, #2
add r5, r4, r5
ldr r5, [r5, r7]
tst r1, r5
beq _020ad2a0
add r1, r4, #0
add r1, #0xb0
ldr r1, [r1, #0]
strh r0, [r1, r3]
_020ad2a0:
add r2, r2, #1
add r3, r3, #2
cmp r2, #0xb
blt _020ad282
add r0, r6, #0
add r0, #0x93
ldrb r1, [r0]
add r0, r4, #0
add r0, #0xb0
ldr r0, [r0, #0]
mov r2, #0
strh r1, [r0, #8]
add r0, r6, #0
add r0, #0x94
ldrb r1, [r0]
add r0, r4, #0
add r0, #0xb0
ldr r0, [r0, #0]
strh r1, [r0, #0xe]
add r0, r6, #0
add r0, #0x95
ldrb r1, [r0]
add r0, r4, #0
add r0, #0xb0
ldr r0, [r0, #0]
strh r1, [r0, #0xa]
_020ad2d4:
add r0, r6, r2
add r0, #0x97
ldrb r1, [r0]
add r0, r4, r2
add r0, #0xbc
add r2, r2, #1
strb r1, [r0]
cmp r2, #2
blt _020ad2d4
mov r0, #0x96
ldrsb r1, [r6, r0]
add r0, #0xa2
mov r2, #0
str r1, [r4]
ldr r1, [r6, #0x10]
str r1, [r4, r0]
_020ad2f4:
add r0, r6, r2
add r0, #0x99
ldrb r1, [r0]
add r0, r4, r2
add r0, #0x24
add r2, r2, #1
strb r1, [r0]
cmp r2, #3
blt _020ad2f4
mov r0, #0
mov ip, r0
str r4, [sp]
add r3, r6, #0
add r5, r4, #0
mov r7, #0x2c
_020ad312:
mov r0, ip
add r0, r6, r0
add r0, #0x24
ldrb r1, [r0]
ldr r0, [sp]
mov r2, #0
str r1, [r0, #0x28]
_020ad320:
add r0, r3, r2
ldrsb r1, [r0, r7]
add r0, r5, r2
add r0, #0x48
add r2, r2, #1
strb r1, [r0]
cmp r2, #9
blt _020ad320
ldr r0, [sp]
add r3, #9
add r0, r0, #4
str r0, [sp]
mov r0, ip
add r0, r0, #1
add r5, #9
mov ip, r0
cmp r0, #8
blt _020ad312
add r3, r6, #0
mov r0, #0x4f
lsl r0, r0, #2
add r3, #0x14
add r2, r4, r0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3, #0]
mov r3, #0
str r0, [r2]
mov r0, #0x74
_020ad35a:
add r1, r6, r3
ldrsb r2, [r1, r0]
add r1, r4, r3
add r1, #0x90
add r3, r3, #1
strb r2, [r1]
cmp r3, #8
blt _020ad35a
mov r0, #0x52
ldr r1, [r6, #0x20]
lsl r0, r0, #2
str r1, [r4, r0]
mov r0, #0
add r1, r6, #0
add r2, r4, #0
_020ad378:
add r3, r6, r0
add r3, #0x9f
ldrb r5, [r3]
add r3, r4, r0
add r3, #0x98
strb r5, [r3]
add r3, r1, #0
add r3, #0x82
ldrh r5, [r3]
add r3, r2, #0
add r3, #0x9e
add r0, r0, #1
strh r5, [r3]
add r1, r1, #2
add r2, r2, #2
cmp r0, #6
blt _020ad378
add r0, r6, #0
add r0, #0x9c
ldrb r1, [r0]
add r0, r4, #0
add r0, #0xb4
strh r1, [r0]
add r0, r6, #0
add r0, #0x9d
ldrb r1, [r0]
add r0, r4, #0
add r0, #0xb6
strh r1, [r0]
add r0, r6, #0
add r0, #0x9e
ldrb r1, [r0]
add r0, r4, #0
add r0, #0xb8
add r6, #0xa5
strh r1, [r0]
ldrb r0, [r6]
str r0, [r4, #0x10]
cmp r0, #3
blt _020ad3ce
mov r0, #0
mvn r0, r0
str r0, [r4, #0x10]
_020ad3ce:
ldr r1, [r4, #0]
add r0, r1, #0
sub r0, #9
cmp r0, #1
bhi _020ad3f2
add r0, r4, #0
mov r1, #2
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ad3ea
mov r0, #2
str r0, [r4]
pop {r3, r4, r5, r6, r7, pc}
_020ad3ea:
mov r0, #0
mvn r0, r0
str r0, [r4]
pop {r3, r4, r5, r6, r7, pc}
_020ad3f2:
mov r0, #0
mvn r0, r0
cmp r1, r0
bne _020ad40a
add r0, r4, #0
mov r1, #2
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ad40a
mov r0, #2
str r0, [r4]
_020ad40a:
pop {r3, r4, r5, r6, r7, pc}
+8 -256
View File
@@ -3,254 +3,6 @@
.text
.global func_ov00_020ad244
thumb_func_start func_ov00_020ad244
func_ov00_020ad244: ; 0x020ad244
push {r3, r4, r5, r6, r7, lr}
add r4, r0, #0
mov r0, #0x4a
add r6, r1, #0
lsl r0, r0, #2
add r3, r6, #0
add r2, r4, r0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
add r0, r6, #0
add r0, #0x8e
ldrh r0, [r0]
strh r0, [r4, #0x22]
add r0, r6, #0
add r0, #0x80
ldrh r1, [r0]
ldr r0, _020ad40c ; =0x000005dc
cmp r1, r0
bhi _020ad274
mov r0, #0x3c
mul r0, r1
b _020ad276
_020ad274:
ldr r0, _020ad410 ; =0x00015f90
_020ad276:
mov r2, #0
mov r7, #0x4a
str r0, [r4, #0xc]
add r3, r2, #0
mov r0, #1
lsl r7, r7, #2
_020ad282:
mov r1, #0x1f
add r5, r2, #0
and r5, r1
add r1, r0, #0
lsl r1, r5
lsr r5, r2, #5
lsl r5, r5, #2
add r5, r4, r5
ldr r5, [r5, r7]
tst r1, r5
beq _020ad2a0
add r1, r4, #0
add r1, #0xb0
ldr r1, [r1]
strh r0, [r1, r3]
_020ad2a0:
add r2, r2, #1
add r3, r3, #2
cmp r2, #0xb
blt _020ad282
add r0, r6, #0
add r0, #0x93
ldrb r1, [r0]
add r0, r4, #0
add r0, #0xb0
ldr r0, [r0]
mov r2, #0
strh r1, [r0, #8]
add r0, r6, #0
add r0, #0x94
ldrb r1, [r0]
add r0, r4, #0
add r0, #0xb0
ldr r0, [r0]
strh r1, [r0, #0xe]
add r0, r6, #0
add r0, #0x95
ldrb r1, [r0]
add r0, r4, #0
add r0, #0xb0
ldr r0, [r0]
strh r1, [r0, #0xa]
_020ad2d4:
add r0, r6, r2
add r0, #0x97
ldrb r1, [r0]
add r0, r4, r2
add r0, #0xbc
add r2, r2, #1
strb r1, [r0]
cmp r2, #2
blt _020ad2d4
mov r0, #0x96
ldrsb r1, [r6, r0]
add r0, #0xa2
mov r2, #0
str r1, [r4]
ldr r1, [r6, #0x10]
str r1, [r4, r0]
_020ad2f4:
add r0, r6, r2
add r0, #0x99
ldrb r1, [r0]
add r0, r4, r2
add r0, #0x24
add r2, r2, #1
strb r1, [r0]
cmp r2, #3
blt _020ad2f4
mov r0, #0
mov ip, r0
str r4, [sp]
add r3, r6, #0
add r5, r4, #0
mov r7, #0x2c
_020ad312:
mov r0, ip
add r0, r6, r0
add r0, #0x24
ldrb r1, [r0]
ldr r0, [sp]
mov r2, #0
str r1, [r0, #0x28]
_020ad320:
add r0, r3, r2
ldrsb r1, [r0, r7]
add r0, r5, r2
add r0, #0x48
add r2, r2, #1
strb r1, [r0]
cmp r2, #9
blt _020ad320
ldr r0, [sp]
add r3, #9
add r0, r0, #4
str r0, [sp]
mov r0, ip
add r0, r0, #1
add r5, #9
mov ip, r0
cmp r0, #8
blt _020ad312
add r3, r6, #0
mov r0, #0x4f
lsl r0, r0, #2
add r3, #0x14
add r2, r4, r0
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
ldr r0, [r3]
mov r3, #0
str r0, [r2]
mov r0, #0x74
_020ad35a:
add r1, r6, r3
ldrsb r2, [r1, r0]
add r1, r4, r3
add r1, #0x90
add r3, r3, #1
strb r2, [r1]
cmp r3, #8
blt _020ad35a
mov r0, #0x52
ldr r1, [r6, #0x20]
lsl r0, r0, #2
str r1, [r4, r0]
mov r0, #0
add r1, r6, #0
add r2, r4, #0
_020ad378:
add r3, r6, r0
add r3, #0x9f
ldrb r5, [r3]
add r3, r4, r0
add r3, #0x98
strb r5, [r3]
add r3, r1, #0
add r3, #0x82
ldrh r5, [r3]
add r3, r2, #0
add r3, #0x9e
add r0, r0, #1
strh r5, [r3]
add r1, r1, #2
add r2, r2, #2
cmp r0, #6
blt _020ad378
add r0, r6, #0
add r0, #0x9c
ldrb r1, [r0]
add r0, r4, #0
add r0, #0xb4
strh r1, [r0]
add r0, r6, #0
add r0, #0x9d
ldrb r1, [r0]
add r0, r4, #0
add r0, #0xb6
strh r1, [r0]
add r0, r6, #0
add r0, #0x9e
ldrb r1, [r0]
add r0, r4, #0
add r0, #0xb8
add r6, #0xa5
strh r1, [r0]
ldrb r0, [r6]
str r0, [r4, #0x10]
cmp r0, #3
blt _020ad3ce
mov r0, #0
mvn r0, r0
str r0, [r4, #0x10]
_020ad3ce:
ldr r1, [r4]
add r0, r1, #0
sub r0, #9
cmp r0, #1
bhi _020ad3f2
add r0, r4, #0
mov r1, #2
blx func_ov00_020ada78
cmp r0, #0
beq _020ad3ea
mov r0, #2
str r0, [r4]
pop {r3, r4, r5, r6, r7, pc}
_020ad3ea:
mov r0, #0
mvn r0, r0
str r0, [r4]
pop {r3, r4, r5, r6, r7, pc}
_020ad3f2:
mov r0, #0
mvn r0, r0
cmp r1, r0
bne _020ad40a
add r0, r4, #0
mov r1, #2
blx func_ov00_020ada78
cmp r0, #0
beq _020ad40a
mov r0, #2
str r0, [r4]
_020ad40a:
pop {r3, r4, r5, r6, r7, pc}
.align 2, 0
thumb_func_end func_ov00_020ad244
_020ad40c: .word 0x000005dc
_020ad410: .word 0x00015f90
.global func_ov00_020ad414
arm_func_start func_ov00_020ad414
func_ov00_020ad414: ; 0x020ad414
@@ -629,7 +381,7 @@ _020ad840:
_020ad860:
ldr r1, [r6]
mov r0, r6
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
ldrne r4, [r6]
_020ad874:
@@ -904,19 +656,19 @@ func_ov00_020ada48: ; 0x020ada48
mov r4, r1
add r1, r4, #0x1a
mov r5, r0
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
movne r0, #2
ldmneia sp!, {r3, r4, r5, pc}
mov r0, r5
add r1, r4, #0x17
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldmia sp!, {r3, r4, r5, pc}
arm_func_end func_ov00_020ada48
.global func_ov00_020ada78
arm_func_start func_ov00_020ada78
func_ov00_020ada78: ; 0x020ada78
.global _ZN9Inventory7HasItemEj
arm_func_start _ZN9Inventory7HasItemEj
_ZN9Inventory7HasItemEj: ; 0x020ada78
mov r2, r1, lsr #0x5
add r0, r0, r2, lsl #2
ldr r2, [r0, #0x128]
@@ -925,7 +677,7 @@ func_ov00_020ada78: ; 0x020ada78
tst r2, r0, lsl r1
moveq r0, #0
bx lr
arm_func_end func_ov00_020ada78
arm_func_end _ZN9Inventory7HasItemEj
.global func_ov00_020ada98
thumb_func_start func_ov00_020ada98
@@ -2190,7 +1942,7 @@ func_ov00_020ae3c0: ; 0x020ae3c0
bx ip
.align 2, 0
arm_func_end func_ov00_020ae3c0
_020ae3cc: .word func_ov00_020ae3a8 - 1
_020ae3cc: .word func_ov00_020ae3a8
.global func_ov00_020ae3d0
thumb_func_start func_ov00_020ae3d0
+1 -1
View File
@@ -2910,7 +2910,7 @@ _0207b688:
ldr r0, _0207b818 ; =gInventory
mov r1, #0x20
ldr r0, [r0]
blx func_ov00_020ada78
blx _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0207b6cc
ldrb r0, [r4, #0x12]
+1 -1
View File
@@ -16262,7 +16262,7 @@ _020ac930:
ldr r0, _020ac9dc ; =gInventory
mov r1, #0
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
bne _020ac9bc
ldr r0, _020ac9e0 ; =data_027e0f74
+13 -13
View File
@@ -4887,7 +4887,7 @@ func_ov00_020b8790: ; 0x020b8790
ldr r0, _020b87c4 ; =gInventory
mov r1, #0x14
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
movne r4, #3
_020b87b4:
@@ -4909,7 +4909,7 @@ func_ov00_020b87cc: ; 0x020b87cc
ldr r0, _020b8800 ; =gInventory
mov r1, #0x14
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
movne r4, #3
_020b87f0:
@@ -7170,7 +7170,7 @@ _020ba618:
ldr r0, _020ba870 ; =gInventory
mov r1, #0x15
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ba650
ldr r0, _020ba870 ; =gInventory
@@ -7185,7 +7185,7 @@ _020ba650:
ldr r0, _020ba870 ; =gInventory
mov r1, #0x16
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ba688
ldr r0, _020ba870 ; =gInventory
@@ -7211,7 +7211,7 @@ _020ba6b0:
ldr r0, _020ba870 ; =gInventory
mov r1, #0x15
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ba6e8
ldr r0, _020ba870 ; =gInventory
@@ -7229,7 +7229,7 @@ _020ba6f0:
ldr r0, _020ba870 ; =gInventory
mov r1, #0x16
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ba728
ldr r0, _020ba870 ; =gInventory
@@ -7247,7 +7247,7 @@ _020ba730:
ldr r0, _020ba870 ; =gInventory
mov r1, #0x15
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ba768
ldr r0, _020ba870 ; =gInventory
@@ -7273,7 +7273,7 @@ _020ba790:
ldr r0, _020ba870 ; =gInventory
mov r1, #0x16
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ba7c8
ldr r0, _020ba870 ; =gInventory
@@ -7299,7 +7299,7 @@ _020ba7f0:
ldr r0, _020ba870 ; =gInventory
mov r1, #0x15
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ba828
ldr r0, _020ba870 ; =gInventory
@@ -7314,7 +7314,7 @@ _020ba828:
ldr r0, _020ba870 ; =gInventory
mov r1, #0x16
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ba860
ldr r0, _020ba870 ; =gInventory
@@ -13866,7 +13866,7 @@ _020bf6d4:
ldr r0, _020bff38 ; =gInventory
mov r1, #0x25
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
add r2, sp, #0xe4
beq _020bf700
@@ -14498,7 +14498,7 @@ func_ov00_020bff94: ; 0x020bff94
ldr r0, _020c01d4 ; =gInventory
mov r1, #0x25
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
ldrsh r5, [r4, #0x5c]
beq _020c0064
@@ -15164,7 +15164,7 @@ func_ov00_020c086c: ; 0x020c086c
ldr r0, _020c0a70 ; =gInventory
mov r1, #1
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
ldrneb r0, [r4, #0xd]
cmpne r0, #0
+1 -1
View File
@@ -7647,7 +7647,7 @@ func_ov00_020cf750: ; 0x020cf750
mov r4, r0
ldr r0, [r1]
mov r1, #0x21
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
+28 -28
View File
@@ -286,7 +286,7 @@ _020ef0c0:
_020ef0d0:
ldr r0, [r6]
mov r1, r7
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
ldrne r0, [r5, #0xd04]
add r7, r7, #1
@@ -395,7 +395,7 @@ _020ef270:
ldr r0, _020ef998 ; =gInventory
mov r1, #0x2a
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ef2c0
mov r2, #0x28
@@ -416,7 +416,7 @@ _020ef2c0:
ldr r0, _020ef998 ; =gInventory
mov r1, #0x26
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ef310
mov r2, #0x26
@@ -437,7 +437,7 @@ _020ef310:
ldr r0, _020ef998 ; =gInventory
mov r1, #0x2b
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ef360
mov r2, #0x27
@@ -620,7 +620,7 @@ _020ef5c8:
ldr r0, _020ef998 ; =gInventory
mov r1, #0x20
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ef614
add r3, r4, #0x2b
@@ -640,13 +640,13 @@ _020ef614:
ldr r0, _020ef998 ; =gInventory
mov r1, #0
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ef67c
ldr r0, _020ef998 ; =gInventory
mov r1, #0x25
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
movne r6, #0x13
moveq r6, #0x12
@@ -667,7 +667,7 @@ _020ef67c:
ldr r0, _020ef998 ; =gInventory
mov r1, #0x25
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ef6d0
mvn r3, #0
@@ -780,7 +780,7 @@ _020ef82c:
ldr r0, _020ef998 ; =gInventory
mov r1, #1
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ef87c
mov r2, #0x1b
@@ -801,7 +801,7 @@ _020ef87c:
ldr r0, _020ef998 ; =gInventory
mov r1, #5
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ef8cc
mov r2, #0x1d
@@ -822,7 +822,7 @@ _020ef8cc:
ldr r0, _020ef998 ; =gInventory
mov r1, #4
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ef91c
mov r2, #0x22
@@ -843,7 +843,7 @@ _020ef91c:
ldr r0, _020ef998 ; =gInventory
mov r1, #7
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020ef96c
mov r2, #0x27
@@ -1376,7 +1376,7 @@ _020f0000:
ldr r0, _020f0720 ; =gInventory
mov r1, #0x25
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
bne _020f008c
ldr r0, _020f0724 ; =data_027e0f74
@@ -1427,7 +1427,7 @@ _020f008c:
ldr r0, _020f0720 ; =gInventory
mov r1, #0x20
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020f01e4
mov r2, r4
@@ -1487,7 +1487,7 @@ _020f01e4:
ldr r0, _020f0720 ; =gInventory
mov r1, #0x25
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020f02e8
add r6, sp, #0x28
@@ -1559,7 +1559,7 @@ _020f02e8:
str r6, [sp, #0x2c]
str r3, [sp, #4]
str r2, [sp, #0xc]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020f035c
add r6, sp, #0x28
@@ -1583,7 +1583,7 @@ _020f035c:
ldr r0, _020f0720 ; =gInventory
mov r1, #4
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020f03b8
add r6, sp, #0x28
@@ -1607,7 +1607,7 @@ _020f03b8:
ldr r0, _020f0720 ; =gInventory
mov r1, #7
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020f0414
add r6, sp, #0x28
@@ -1869,7 +1869,7 @@ _020f0774:
ldr r0, _020f08a8 ; =gInventory
mov r1, #0x25
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020f07a4
ldr r1, _020f08ac ; =0x0012009a
@@ -1882,7 +1882,7 @@ _020f07a4:
ldr r0, _020f08a8 ; =gInventory
mov r1, #0x25
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020f07d4
ldr r1, _020f08b0 ; =0x0012009b
@@ -2082,13 +2082,13 @@ func_ov02_020f0a54: ; 0x020f0a54
ldr r0, _020f0ae0 ; =gInventory
mov r1, #0x14
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
bne _020f0aa0
ldr r0, _020f0ae0 ; =gInventory
mov r1, #0x1d
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020f0aa8
_020f0aa0:
@@ -2101,13 +2101,13 @@ _020f0ab0:
ldr r0, _020f0ae0 ; =gInventory
mov r1, #0x15
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldmia sp!, {r3, pc}
_020f0ac4:
ldr r0, _020f0ae0 ; =gInventory
mov r1, #0x16
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldmia sp!, {r3, pc}
_020f0ad8:
mov r0, #0
@@ -2156,7 +2156,7 @@ func_ov02_020f0b3c: ; 0x020f0b3c
mov r1, #0x2d
ldr r0, [r0]
mvn r4, #0
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
movne r4, #0x2f
bne _020f0bcc
@@ -2500,7 +2500,7 @@ func_ov02_020f0f14: ; 0x020f0f14
ldr r0, _020f0fd4 ; =gInventory
mov r1, #0x14
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
moveq r0, #4
streqb r0, [r4, #0xec]
@@ -2623,7 +2623,7 @@ func_ov02_020f10f8: ; 0x020f10f8
ldr r0, _020f114c ; =gInventory
mov r1, #0x14
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
_020f1128:
@@ -6496,7 +6496,7 @@ _020f40fc:
ldr r0, _020f41ec ; =gInventory
mov r1, #0x2f
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
addeq sp, sp, #0x6c
ldmeqia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
+13 -13
View File
@@ -5781,7 +5781,7 @@ _020f23e8:
ldr r0, _020f2518 ; =gInventory
mov r1, #0x21
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
addeq sp, sp, #0x18
moveq r0, #1
@@ -16311,28 +16311,28 @@ _020f8fec: ; jump table
_020f8ffc:
ldr r0, [sl]
mov r1, #0x21
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
bne _020f9058
b _020f91c0
_020f9014:
ldr r0, [sl]
mov r1, #0x23
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
bne _020f9058
b _020f91c0
_020f902c:
ldr r0, [sl]
mov r1, #0x22
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
bne _020f9058
b _020f91c0
_020f9044:
ldr r0, [sl]
mov r1, #0x24
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020f91c0
_020f9058:
@@ -16457,7 +16457,7 @@ _020f91f4: ; jump table
_020f9204:
ldr r0, [r4]
mov r1, #0x21
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020f92c8
ldr r0, [sl]
@@ -16474,21 +16474,21 @@ _020f9204:
_020f9244:
ldr r0, [r4]
mov r1, #0x23
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
bne _020f9288
b _020f92c8
_020f925c:
ldr r0, [r4]
mov r1, #0x22
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
bne _020f9288
b _020f92c8
_020f9274:
ldr r0, [r4]
mov r1, #0x24
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _020f92c8
_020f9288:
@@ -16880,22 +16880,22 @@ _020f97b4:
ldr r0, _020f9a74 ; =gInventory
mov r1, #0x21
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldr r1, _020f9a74 ; =gInventory
strb r0, [sp, #0x44]
ldr r0, [r1]
mov r1, #0x22
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldr r1, _020f9a74 ; =gInventory
strb r0, [sp, #0x45]
ldr r0, [r1]
mov r1, #0x23
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldr r1, _020f9a74 ; =gInventory
strb r0, [sp, #0x46]
ldr r0, [r1]
mov r1, #0x24
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
strb r0, [sp, #0x47]
ldr r0, [sp, #0x10]
mov r5, #4
+1 -1
View File
@@ -14958,7 +14958,7 @@ func_ov04_02107e9c: ; 0x02107e9c
ldr r0, _02107f2c ; =gInventory
ldr r1, _02107f30 ; =data_ov00_020e9e18
ldr r0, [r0]
bl func_ov00_020ad244
bl _ZN9Inventory4LoadEPK13SaveInventory
_02107ef6:
ldr r0, _02107f34 ; =data_027e0fb8
ldr r0, [r0]
+4 -4
View File
@@ -4639,7 +4639,7 @@ _02104694:
beq _0210471c
ldr r0, [r6]
add r1, sb, #0x60
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0210471c
ldr r0, [r6]
@@ -4772,7 +4772,7 @@ _0210485c:
ldr r0, _02104a38 ; =gInventory
mov r1, #0x15
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
bne _021048a8
mov r2, #0
@@ -4832,7 +4832,7 @@ _0210493c:
ldr r0, _02104a38 ; =gInventory
mov r1, #0x16
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
addne sp, sp, #0x34
ldmneia sp!, {r4, r5, r6, r7, r8, sb, sl, fp, pc}
@@ -7074,7 +7074,7 @@ _02106810:
ldr r0, _02106890 ; =gInventory
mov r1, #0x2d
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _02106874
ldr r0, [r6, #0x1c]
+14 -14
View File
@@ -26490,7 +26490,7 @@ _02134fd4:
blx r2
mov r1, r0
mov r0, r5
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, pc}
@@ -30499,7 +30499,7 @@ func_ov14_021383e0: ; 0x021383e0
ldr r0, _02138418 ; =gInventory
add r1, r1, #0x15
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldmia sp!, {r3, pc}
_0213840c:
mov r1, #1
@@ -35286,7 +35286,7 @@ _0213c004:
ldr r0, _0213c0f4 ; =gInventory
mov r1, sb
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
addeq sp, sp, #0x14
ldmeqia sp!, {r3, r4, r5, r6, r7, r8, sb, sl, pc}
@@ -35360,7 +35360,7 @@ func_ov14_0213c0fc: ; 0x0213c0fc
ldr r1, [r8, #0x18]
mov r6, r2
mov r5, r3
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0213c208
ldr r0, _0213c218 ; =data_027e0c38
@@ -35444,7 +35444,7 @@ func_ov14_0213c220: ; 0x0213c220
ldr r1, [r7, #0x18]
mov r5, r2
mov r4, r3
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0213c34c
ldr r1, [r7, #0x18]
@@ -40148,7 +40148,7 @@ _0213f874:
str r1, [r5, #0x70]
ldr r0, [r0]
mov r1, #0x20
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
bne _0213f8c0
ldr r4, [r5, #0x70]
@@ -42287,13 +42287,13 @@ _021412a8:
mov r1, #0x25
ldrsh fp, [r3, r5]
ldrsh r5, [r3, r2]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
mov r7, #0
ldr r1, _021415bc ; =gInventory
mov r6, r0
ldr r0, [r1]
mov r1, r7
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _02141308
cmp r6, #0
@@ -53562,7 +53562,7 @@ _02149fc8:
ldr r1, _0214a05c ; =data_ov14_02153f1c
ldr r0, [r0]
ldr r1, [r1, r2, lsl #2]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0214a040
ldr r0, [r4, #0x74]
@@ -53863,14 +53863,14 @@ func_ov14_0214a3dc: ; 0x0214a3dc
ldr r3, [r0, #0x74]
ldr r2, _0214a3fc ; =data_ov14_02153f1c
ldr r0, [r1]
ldr ip, _0214a400 ; =func_ov00_020ada78
ldr ip, _0214a400 ; =_ZN9Inventory7HasItemEj
ldr r1, [r2, r3, lsl #2]
bx ip
.align 2, 0
arm_func_end func_ov14_0214a3dc
_0214a3f8: .word gInventory
_0214a3fc: .word data_ov14_02153f1c
_0214a400: .word func_ov00_020ada78
_0214a400: .word _ZN9Inventory7HasItemEj
.global func_ov14_0214a404
arm_func_start func_ov14_0214a404
@@ -53894,7 +53894,7 @@ func_ov14_0214a404: ; 0x0214a404
mov r5, r0
ldr r0, [r1]
ldr r1, [r2, r3, lsl #2]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0214a480
ldr r0, _0214a4b4 ; =0x00003555
@@ -63317,7 +63317,7 @@ _021519d0:
bne _021519ec
ldr r0, [r4]
mov r1, r6
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _02151a08
_021519ec:
@@ -65920,7 +65920,7 @@ func_ov14_02153924: ; 0x02153924
ldr r0, _02153a3c ; =gInventory
mov r1, r5
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
movne r4, #1
_02153964:
+29 -29
View File
@@ -2296,22 +2296,22 @@ _02121550:
ldr r0, _021216f8 ; =gInventory
mov r1, #0x21
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldr r1, _021216f8 ; =gInventory
str r0, [sp, #0x10]
ldr r0, [r1]
mov r1, #0x23
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldr r1, _021216f8 ; =gInventory
mov fp, r0
ldr r0, [r1]
mov r1, #0x22
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldr r1, _021216f8 ; =gInventory
mov sl, r0
ldr r0, [r1]
mov r1, #0x24
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
mov r5, #0
ldr r1, _021216fc ; =data_027e0e60
mov r4, r0
@@ -12152,25 +12152,25 @@ _02129714:
ldr r0, _02129770 ; =gInventory
mov r1, #0x21
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldmia sp!, {r4, pc}
_02129728:
ldr r0, _02129770 ; =gInventory
mov r1, #0x22
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldmia sp!, {r4, pc}
_0212973c:
ldr r0, _02129770 ; =gInventory
mov r1, #0x23
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldmia sp!, {r4, pc}
_02129750:
ldr r0, _02129770 ; =gInventory
mov r1, #0x24
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldmia sp!, {r4, pc}
_02129764:
mov r0, #1
@@ -41551,7 +41551,7 @@ func_ov15_021428f0: ; 0x021428f0
mov r4, r0
ldr r0, [r1]
mov r1, #0x2c
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, pc}
@@ -45645,7 +45645,7 @@ func_ov15_021461b0: ; 0x021461b0
ldrh r1, [r5, r4]
ldr r0, [r0]
add r1, r1, #0x60
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
addeq sp, sp, #0x18
moveq r0, #0
@@ -51996,12 +51996,12 @@ func_ov15_0214b86c: ; 0x0214b86c
ldr r0, _0214bb88 ; =gInventory
mov r1, #0x25
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldr r1, _0214bb88 ; =gInventory
mov r7, r0
ldr r0, [r1]
mov r1, #0
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0214b8c8
cmp r7, #0
@@ -60050,7 +60050,7 @@ func_ov15_02152358: ; 0x02152358
mov r4, r0
ldr r0, [r1]
mov r1, #0x28
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r4, r5, r6, r7, r8, pc}
@@ -60395,7 +60395,7 @@ func_ov15_021527d4: ; 0x021527d4
ldr r0, _021529c0 ; =gInventory
mov r1, #0x2f
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldr ip, _021529c4 ; =data_027e0764
cmp r0, #0
ldr r2, [ip]
@@ -92740,12 +92740,12 @@ func_ov15_0216e534: ; 0x0216e534
str r1, [ip]
ldr r0, [r0]
mov r1, #0x25
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
mov r7, r0
ldr r0, _0216e694 ; =gInventory
mov r1, #0
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0216e5a4
cmp r7, #0
@@ -110851,7 +110851,7 @@ _0217dfa8:
bne _0217dfc4
ldr r0, [r4]
mov r1, r6
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0217dfe0
_0217dfc4:
@@ -110931,7 +110931,7 @@ _0217e0ac:
ldr r0, _0217e1c4 ; =gInventory
mov r1, #0x2c
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0217e1a4
ldr r0, _0217e1b8 ; =data_ov00_020eec9c
@@ -110959,7 +110959,7 @@ _0217e114:
ldr r0, _0217e1c4 ; =gInventory
mov r1, #0x28
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0217e1a4
ldr r0, _0217e1b8 ; =data_ov00_020eec9c
@@ -110986,7 +110986,7 @@ _0217e178:
ldr r0, _0217e1c4 ; =gInventory
mov r1, #0x2e
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0217e1a4
ldr r0, _0217e1b8 ; =data_ov00_020eec9c
@@ -111028,7 +111028,7 @@ _0217e1fc:
mov r1, #0x2c
ldr r0, [r0]
mvn r7, #0
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
moveq r7, #4
beq _0217e228
@@ -111055,7 +111055,7 @@ _0217e260:
mov r1, #0x28
ldr r0, [r0]
mvn r7, #0
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
moveq r7, #4
beq _0217e28c
@@ -111082,7 +111082,7 @@ _0217e2c4:
mov r1, #0x2e
ldr r0, [r0]
mvn r7, #0
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
moveq r7, #4
beq _0217e2f0
@@ -111200,7 +111200,7 @@ _0217e42c:
ldr r0, _0217e4c0 ; =gInventory
mov r1, #0x2e
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
movne r5, #0
_0217e460:
@@ -112435,28 +112435,28 @@ _0217f564:
ldr r0, _0217f5fc ; =gInventory
mov r1, #0x21
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0217f57c:
ldr r0, _0217f5fc ; =gInventory
mov r1, #0x22
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0217f594:
ldr r0, _0217f5fc ; =gInventory
mov r1, #0x23
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0217f5ac:
ldr r0, _0217f5fc ; =gInventory
mov r1, #0x24
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
add sp, sp, #0x18
ldmia sp!, {r3, r4, r5, r6, r7, pc}
_0217f5c4:
@@ -117665,7 +117665,7 @@ func_ov15_02183cb4: ; 0x02183cb4
mov r4, r0
ldr r0, [r1]
mov r1, #0x28
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
moveq r0, #0
ldmeqia sp!, {r3, r4, r5, r6, r7, pc}
+3 -3
View File
@@ -93,7 +93,7 @@ func_ov21_0216d784: ; 0x0216d784
ldr r1, _0216d7c0 ; =data_ov21_02170bd4
ldr r0, [r0]
ldr r1, [r1, r2, lsl #2]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
movne r0, #5
moveq r0, #0xc
@@ -151,14 +151,14 @@ func_ov21_0216d830: ; 0x0216d830
ldr r3, [r0, #0xb4]
ldr r2, _0216d850 ; =data_ov21_02170bd4
ldr r0, [r1]
ldr ip, _0216d854 ; =func_ov00_020ada78
ldr ip, _0216d854 ; =_ZN9Inventory7HasItemEj
ldr r1, [r2, r3, lsl #2]
bx ip
.align 2, 0
arm_func_end func_ov21_0216d830
_0216d84c: .word gInventory
_0216d850: .word data_ov21_02170bd4
_0216d854: .word func_ov00_020ada78
_0216d854: .word _ZN9Inventory7HasItemEj
.global func_ov21_0216d858
arm_func_start func_ov21_0216d858
+5 -5
View File
@@ -1420,7 +1420,7 @@ func_ov26_0216e5b4: ; 0x0216e5b4
ldr r0, _0216e628 ; =gInventory
mov r1, #0x20
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0216e620
ldr r0, _0216e62c ; =data_027e077c
@@ -1693,7 +1693,7 @@ func_ov26_0216e8b8: ; 0x0216e8b8
ldr r0, _0216e9b8 ; =gInventory
mov r1, #0x20
ldr r0, [r0]
blx func_ov00_020ada78
blx _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0216e986
ldr r0, _0216e9b8 ; =gInventory
@@ -1785,7 +1785,7 @@ func_ov26_0216e9d0: ; 0x0216e9d0
mov r1, #0x20
ldr r0, [r0]
mov r5, #0
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0216ea08
ldrb r0, [r6, #0xc2]
@@ -4151,7 +4151,7 @@ func_ov26_02170894: ; 0x02170894
ldr r0, _02170934 ; =gInventory
mov r1, #0x25
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
bne _021708dc
ldr r0, _02170934 ; =gInventory
@@ -5599,7 +5599,7 @@ _02171cec:
ldr r1, _02171d24 ; =data_ov26_02179434
ldr r0, [r0]
ldr r1, [r1, r2, lsl #2]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
movne r0, #5
moveq r0, #0xc
+1 -1
View File
@@ -11391,7 +11391,7 @@ func_ov28_021768dc: ; 0x021768dc
ldr r0, _021769e4 ; =gInventory
mov r1, #0x25
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
movne r0, #0
strneb r0, [r4, #0x7ad]
+1 -1
View File
@@ -6964,7 +6964,7 @@ _021813d0:
ldr r0, _02181804 ; =gInventory
mov r1, #0x25
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0218146c
mov r2, #2
+7 -7
View File
@@ -1115,7 +1115,7 @@ _0217cbd8:
ldr r0, _0217cd00 ; =gInventory
mov r1, #4
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
bne _0217cc80
ldr r1, _0217cd04 ; =0x00140054
@@ -1126,7 +1126,7 @@ _0217cc00:
ldr r0, _0217cd00 ; =gInventory
mov r1, #5
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
bne _0217cc80
ldr r1, _0217cd08 ; =0x00140053
@@ -1137,7 +1137,7 @@ _0217cc28:
ldr r0, _0217cd00 ; =gInventory
mov r1, #7
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
bne _0217cc80
ldr r1, _0217cd0c ; =0x00140055
@@ -1592,21 +1592,21 @@ _0217d1a4:
_0217d1b4:
ldr r0, [fp]
mov r1, #4
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
moveq r8, r4
b _0217d25c
_0217d1cc:
ldr r0, [fp]
mov r1, #5
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
moveq r8, r4
b _0217d25c
_0217d1e4:
ldr r0, [fp]
mov r1, #7
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
moveq r8, r4
b _0217d25c
@@ -6459,7 +6459,7 @@ _02180930:
ldr r0, _0218095c ; =gInventory
mov r1, #1
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
movne r0, #0x10
moveq r0, #0xe
+3 -3
View File
@@ -388,7 +388,7 @@ func_ov40_0217c2b8: ; 0x0217c2b8
ldr r0, _0217c470 ; =gInventory
mov r1, #1
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
moveq r0, #0
streqb r0, [r6, #0x1c4]
@@ -10151,12 +10151,12 @@ _02183ba8:
ldr r0, _02183d04 ; =gInventory
mov r1, #0x25
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
ldr r1, _02183d04 ; =gInventory
mov r6, r0
ldr r0, [r1]
mov r1, #0
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _02183bdc
cmp r6, #0
+1 -1
View File
@@ -2888,7 +2888,7 @@ _0218b9b4:
ldr r0, _0218be0c ; =gInventory
mov r1, #0
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0218ba48
ldr r0, _0218be10 ; =data_027e0f74
+1 -1
View File
@@ -856,7 +856,7 @@ func_ov49_02196008: ; 0x02196008
ldr r0, _021960f0 ; =gInventory
mov r1, #1
ldr r0, [r0]
bl func_ov00_020ada78
bl _ZN9Inventory7HasItemEj
cmp r0, #0
beq _0219605c
ldr r0, _021960f0 ; =gInventory
+2 -2
View File
@@ -18,11 +18,11 @@ dcd 0x1234
This can also be written as:
```asm
lda 0x1234
ldconst 0x1234
bx lr
```
The built-in `lda` instruction will be replaced by an ARM load instruction and also append a pool constant to the function.
The built-in `ldconst` instruction will be replaced by an ARM load instruction and also append a pool constant to the function.
### Data sections
Directives such as `.section`, `.data` and `.bss` are not supported in the inline assembler. There might be a way to change
+6
View File
@@ -5,12 +5,15 @@
#include "Player/EquipItem.hpp"
#include "Actors/Navi/Navi.hpp"
#define MAX_HOURGLASS_SECONDS 1500 // 25 minutes
typedef u32 FairyId;
enum FairyId_ {
FairyId_None = -1,
FairyId_Courage = 0,
FairyId_Power = 1,
FairyId_Wisdom = 2,
FairyId_COUNT = 3,
};
enum Gem {
@@ -213,6 +216,9 @@ public:
void ClearPrevEquippedItem();
void Save(SaveInventory *save);
void Load(const SaveInventory *save);
bool HasItem(ItemFlag item);
};
extern Inventory *gInventory;
+2
View File
@@ -1,6 +1,8 @@
#ifndef PH_GLOBAL_H
#define PH_GLOBAL_H
#define GET_FLAG(arr, pos) (((1 << ((pos) & 0x1f)) & (arr)[pos >> 5]) != 0)
#ifdef NONMATCHING
#define NONMATCH
#else
+75
View File
@@ -65,4 +65,79 @@ NONMATCH void Inventory::Save(SaveInventory *save) {
save->equippedFairy = (u8) this->mEquippedFairy;
#endif
}
extern "C" bool _ZN9Inventory7HasItemEj();
NONMATCH void Inventory::Load(const SaveInventory *save) {
#ifndef NONMATCHING
#include "../asm/ov00/inventory/Inventory_Load.inc"
#else
this->mItemFlags = save->itemFlags;
this->mNumRupees = save->numRupees;
this->mHourglassSandFrames = save->hourglassSeconds <= MAX_HOURGLASS_SECONDS
? save->hourglassSeconds * 60
: MAX_HOURGLASS_SECONDS * 60;
for (s32 i = ItemFlag_EQUIP_START; i < ItemFlag_EQUIP_END; ++i) {
if (GET_FLAG(this->mItemFlags.flags, (u32) i)) {
(*this->mAmmo)[i] = 1;
}
}
(*this->mAmmo)[ItemFlag_BombBag] = save->numBombs;
(*this->mAmmo)[ItemFlag_BombchuBag] = save->numBombchus;
(*this->mAmmo)[ItemFlag_Bow] = save->numArrows;
for (s32 i = 0; i < NUM_POTIONS; ++i) {
this->mPotions[i] = save->potions[i];
}
this->mEquippedItem = save->equippedItem;
this->mSalvagedTreasureFlags = save->salvagedTreasureFlags;
for (s32 i = 0; i < Gem_COUNT; ++i) {
this->mNumGems[i] = save->numGems[i];
}
s32 i = 0; // ip (r0)
Inventory *this2 = this; // sp+0
const SaveInventory *save2 = save; // r3
Inventory *this3 = this; // r5
ShipParts (SaveInventory::*shipParts)[ShipPart_COUNT] = &SaveInventory::shipParts; // r7
do {
this2->mEquippedShipParts[0] = save->equippedShipParts[i];
for (s32 j = 0; j < ShipType_COUNT; ++j) {
u8 partCount = (((const SaveInventory*) ((u32)save2 + j))->*shipParts)[0].parts[0];
((Inventory*) ((u32)this3 + j))->mShipParts[0].parts[0] = partCount;
}
save2 = (const SaveInventory*) ((u32)save2 + sizeof(save->shipParts[0]));
this2 = (Inventory*) ((u32)this2 + sizeof(this->mEquippedShipParts[0]));
++i;
this3 = (Inventory*) ((u32)this3 + sizeof(this->mShipParts[0]));
}
while(i < ShipPart_COUNT);
this->mShipPartPricesShown = save->shipPartPricesShown;
for (s32 i = 0; i < Treasure_COUNT; ++i) {
this->mTreasure[i] = save->treasure[i];
}
this->mTreasurePriceShownFlags[0] = save->treasurePriceShownFlags[0];
for (s32 i = 0; i < 6; ++i) {
this->mUnk_098[i] = save->unk_9f[i];
this->mUnk_09e[i] = save->unk_82[i];
}
this->mQuiverSize = save->quiverSize;
this->mBombBagSize = save->bombBagSize;
this->mBombchuBagSize = save->bombchuBagSize;
this->mEquippedFairy = save->equippedFairy;
if (this->mEquippedFairy >= FairyId_COUNT) {
this->mEquippedFairy = FairyId_None;
}
if (this->mEquippedItem - 9 <= 1) {
if (this->HasItem(ItemFlag_Boomerang)) {
this->mEquippedItem = ItemFlag_Boomerang;
} else {
this->mEquippedItem = ItemFlag_None;
}
} else if (this->mEquippedItem == ItemFlag_None) {
if (this->HasItem(ItemFlag_Boomerang)) {
this->mEquippedItem = ItemFlag_Boomerang;
}
}
#endif
}
#pragma thumb off