port shedinja_maker_maybe; resolve within-array party pointers

This commit is contained in:
PikalaxALT
2019-10-28 12:16:01 -04:00
parent a5ff9f2d00
commit e9cf9fc104
8 changed files with 187 additions and 480 deletions
+2 -2
View File
@@ -2832,7 +2832,7 @@ _080E6F68:
ldrb r1, [r0]
movs r0, 0x64
muls r0, r1
ldr r1, _080E6FB4 @ =gUnknown_2024220
ldr r1, _080E6FB4 @ =gEnemyParty + 0x1f4
adds r0, r1
movs r1, 0x2C
muls r1, r4
@@ -2855,7 +2855,7 @@ _080E6FA4: .4byte gSaveBlock2Ptr
_080E6FA8: .4byte gSaveBlock1Ptr
_080E6FAC: .4byte 0x00002cac
_080E6FB0: .4byte 0x0000056d
_080E6FB4: .4byte gUnknown_2024220
_080E6FB4: .4byte gEnemyParty + 0x1f4
thumb_func_end sub_80E6EE0
thumb_func_start SaveBattleTowerProgress
+10 -10
View File
@@ -3033,7 +3033,7 @@ _081201C0:
lsrs r6, r0, 29
cmp r6, 0x3
bne _081201F0
ldr r0, _081201EC @ =gUnknown_20243B0
ldr r0, _081201EC @ =gPlayerParty + 0x12C
movs r1, 0xB
bl GetMonData
cmp r0, 0
@@ -3042,12 +3042,12 @@ _081201C0:
b _08120290
.align 2, 0
_081201E8: .4byte gUnknown_203B09C
_081201EC: .4byte gUnknown_20243B0
_081201EC: .4byte gPlayerParty + 0x12C
_081201F0:
ldr r0, _081201F4 @ =gUnknown_202434C
ldr r0, _081201F4 @ =gPlayerParty + 0xC8
b _0812020C
.align 2, 0
_081201F4: .4byte gUnknown_202434C
_081201F4: .4byte gPlayerParty + 0xC8
_081201F8:
cmp r0, 0x1
bne _08120290
@@ -3058,7 +3058,7 @@ _081201F8:
lsrs r5, r0, 29
cmp r5, 0x5
bne _08120224
ldr r0, _08120220 @ =gUnknown_2024478
ldr r0, _08120220 @ =gPlayerParty + 0x1F4
_0812020C:
movs r1, 0xB
bl GetMonData
@@ -3068,9 +3068,9 @@ _0812020C:
b _08120290
.align 2, 0
_0812021C: .4byte gUnknown_203B09C
_08120220: .4byte gUnknown_2024478
_08120220: .4byte gPlayerParty + 0x1F4
_08120224:
ldr r0, _08120234 @ =gUnknown_2024414
ldr r0, _08120234 @ =gPlayerParty + 0x190
movs r1, 0xB
bl GetMonData
cmp r0, 0
@@ -3078,7 +3078,7 @@ _08120224:
movs r0, 0x4
b _0812028E
.align 2, 0
_08120234: .4byte gUnknown_2024414
_08120234: .4byte gPlayerParty + 0x190
_08120238:
ldrb r1, [r4]
subs r0, r1, 0x2
@@ -18129,7 +18129,7 @@ _08127A80: .4byte sub_811FB28
sub_8127A84: @ 8127A84
push {r4,lr}
adds r4, r0, 0
ldr r0, _08127AA4 @ =gUnknown_20242E8
ldr r0, _08127AA4 @ =gPlayerParty + 0x64
movs r1, 0xB
bl GetMonData
cmp r0, 0
@@ -18143,7 +18143,7 @@ _08127AA0:
movs r0, 0x7
b _08127ABA
.align 2, 0
_08127AA4: .4byte gUnknown_20242E8
_08127AA4: .4byte gPlayerParty + 0x64
_08127AA8:
ldr r0, _08127AB4 @ =gUnknown_203B0A0
ldrb r0, [r0, 0xB]
-400
View File
@@ -5,406 +5,6 @@
.text
thumb_func_start shedinja_maker_maybe
shedinja_maker_maybe: @ 804D834
push {r4-r6,lr}
sub sp, 0xC
bl GetMultiplayerId
lsls r0, 24
lsrs r5, r0, 24
ldr r0, _0804D858 @ =gUnknown_2031DA8
ldr r0, [r0]
adds r0, 0x69
ldrb r0, [r0]
cmp r0, 0x15
bls _0804D84E
b _0804DB9E
_0804D84E:
lsls r0, 2
ldr r1, _0804D85C @ =_0804D860
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0804D858: .4byte gUnknown_2031DA8
_0804D85C: .4byte _0804D860
.align 2, 0
_0804D860:
.4byte _0804D8B8
.4byte _0804D8E4
.4byte _0804DB78
.4byte _0804D914
.4byte _0804D928
.4byte _0804D960
.4byte _0804DB78
.4byte _0804D97C
.4byte _0804D990
.4byte _0804D9C8
.4byte _0804DB78
.4byte _0804D9E4
.4byte _0804D9F8
.4byte _0804DA30
.4byte _0804DB78
.4byte _0804DA58
.4byte _0804DA6C
.4byte _0804DAA4
.4byte _0804DB78
.4byte _0804DACC
.4byte _0804DAE0
.4byte _0804DB14
_0804D8B8:
ldr r0, _0804D8D8 @ =gBlockSendBuffer
ldr r1, _0804D8DC @ =gPlayerParty
movs r2, 0xC8
bl sub_804D814
ldr r3, _0804D8E0 @ =gUnknown_2031DA8
ldr r1, [r3]
adds r1, 0x69
ldrb r0, [r1]
adds r0, 0x1
movs r2, 0
strb r0, [r1]
ldr r0, [r3]
adds r0, 0xA8
strb r2, [r0]
b _0804DB9E
.align 2, 0
_0804D8D8: .4byte gBlockSendBuffer
_0804D8DC: .4byte gPlayerParty
_0804D8E0: .4byte gUnknown_2031DA8
_0804D8E4:
bl IsLinkTaskFinished
lsls r0, 24
cmp r0, 0
bne _0804D8F0
b _0804DB9E
_0804D8F0:
bl GetBlockReceivedStatus
lsls r0, 24
cmp r0, 0
bne _0804D904
ldr r0, _0804D900 @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804D900: .4byte gUnknown_2031DA8
_0804D904:
bl ResetBlockReceivedFlags
ldr r0, _0804D910 @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804D910: .4byte gUnknown_2031DA8
_0804D914:
cmp r5, 0
bne _0804D91E
movs r0, 0x1
bl sub_800A474
_0804D91E:
ldr r0, _0804D924 @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804D924: .4byte gUnknown_2031DA8
_0804D928:
bl GetBlockReceivedStatus
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
beq _0804D936
b _0804DB9E
_0804D936:
ldr r0, _0804D954 @ =gEnemyParty
movs r2, 0x1
adds r1, r5, 0
eors r1, r2
lsls r1, 8
ldr r2, _0804D958 @ =gBlockRecvBuffer
adds r1, r2
movs r2, 0xC8
bl sub_804D814
bl ResetBlockReceivedFlags
ldr r0, _0804D95C @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804D954: .4byte gEnemyParty
_0804D958: .4byte gBlockRecvBuffer
_0804D95C: .4byte gUnknown_2031DA8
_0804D960:
ldr r0, _0804D970 @ =gBlockSendBuffer
ldr r1, _0804D974 @ =gUnknown_202434C
movs r2, 0xC8
bl sub_804D814
ldr r0, _0804D978 @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804D970: .4byte gBlockSendBuffer
_0804D974: .4byte gUnknown_202434C
_0804D978: .4byte gUnknown_2031DA8
_0804D97C:
cmp r5, 0
bne _0804D986
movs r0, 0x1
bl sub_800A474
_0804D986:
ldr r0, _0804D98C @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804D98C: .4byte gUnknown_2031DA8
_0804D990:
bl GetBlockReceivedStatus
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
beq _0804D99E
b _0804DB9E
_0804D99E:
ldr r0, _0804D9BC @ =gUnknown_20240F4
movs r2, 0x1
adds r1, r5, 0
eors r1, r2
lsls r1, 8
ldr r2, _0804D9C0 @ =gBlockRecvBuffer
adds r1, r2
movs r2, 0xC8
bl sub_804D814
bl ResetBlockReceivedFlags
ldr r0, _0804D9C4 @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804D9BC: .4byte gUnknown_20240F4
_0804D9C0: .4byte gBlockRecvBuffer
_0804D9C4: .4byte gUnknown_2031DA8
_0804D9C8:
ldr r0, _0804D9D8 @ =gBlockSendBuffer
ldr r1, _0804D9DC @ =gUnknown_2024414
movs r2, 0xC8
bl sub_804D814
ldr r0, _0804D9E0 @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804D9D8: .4byte gBlockSendBuffer
_0804D9DC: .4byte gUnknown_2024414
_0804D9E0: .4byte gUnknown_2031DA8
_0804D9E4:
cmp r5, 0
bne _0804D9EE
movs r0, 0x1
bl sub_800A474
_0804D9EE:
ldr r0, _0804D9F4 @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804D9F4: .4byte gUnknown_2031DA8
_0804D9F8:
bl GetBlockReceivedStatus
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
beq _0804DA06
b _0804DB9E
_0804DA06:
ldr r0, _0804DA24 @ =gUnknown_20241BC
movs r2, 0x1
adds r1, r5, 0
eors r1, r2
lsls r1, 8
ldr r2, _0804DA28 @ =gBlockRecvBuffer
adds r1, r2
movs r2, 0xC8
bl sub_804D814
bl ResetBlockReceivedFlags
ldr r0, _0804DA2C @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804DA24: .4byte gUnknown_20241BC
_0804DA28: .4byte gBlockRecvBuffer
_0804DA2C: .4byte gUnknown_2031DA8
_0804DA30:
ldr r0, _0804DA48 @ =gBlockSendBuffer
ldr r1, _0804DA4C @ =gSaveBlock1Ptr
ldr r1, [r1]
ldr r2, _0804DA50 @ =0x00002cd0
adds r1, r2
movs r2, 0xDC
bl sub_804D814
ldr r0, _0804DA54 @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804DA48: .4byte gBlockSendBuffer
_0804DA4C: .4byte gSaveBlock1Ptr
_0804DA50: .4byte 0x00002cd0
_0804DA54: .4byte gUnknown_2031DA8
_0804DA58:
cmp r5, 0
bne _0804DA62
movs r0, 0x3
bl sub_800A474
_0804DA62:
ldr r0, _0804DA68 @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804DA68: .4byte gUnknown_2031DA8
_0804DA6C:
bl GetBlockReceivedStatus
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
beq _0804DA7A
b _0804DB9E
_0804DA7A:
ldr r0, _0804DA98 @ =gUnknown_2031CCC
movs r2, 0x1
adds r1, r5, 0
eors r1, r2
lsls r1, 8
ldr r2, _0804DA9C @ =gBlockRecvBuffer
adds r1, r2
movs r2, 0xD8
bl sub_804D814
bl ResetBlockReceivedFlags
ldr r0, _0804DAA0 @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804DA98: .4byte gUnknown_2031CCC
_0804DA9C: .4byte gBlockRecvBuffer
_0804DAA0: .4byte gUnknown_2031DA8
_0804DAA4:
ldr r0, _0804DABC @ =gBlockSendBuffer
ldr r1, _0804DAC0 @ =gSaveBlock1Ptr
ldr r1, [r1]
ldr r2, _0804DAC4 @ =0x0000309c
adds r1, r2
movs r2, 0xB
bl sub_804D814
ldr r0, _0804DAC8 @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804DABC: .4byte gBlockSendBuffer
_0804DAC0: .4byte gSaveBlock1Ptr
_0804DAC4: .4byte 0x0000309c
_0804DAC8: .4byte gUnknown_2031DA8
_0804DACC:
cmp r5, 0
bne _0804DAD6
movs r0, 0x4
bl sub_800A474
_0804DAD6:
ldr r0, _0804DADC @ =gUnknown_2031DA8
ldr r1, [r0]
b _0804DB96
.align 2, 0
_0804DADC: .4byte gUnknown_2031DA8
_0804DAE0:
bl GetBlockReceivedStatus
lsls r0, 24
lsrs r0, 24
cmp r0, 0x3
bne _0804DB9E
ldr r4, _0804DB0C @ =gUnknown_2031DA8
ldr r0, [r4]
adds r0, 0xA9
movs r2, 0x1
adds r1, r5, 0
eors r1, r2
lsls r1, 8
ldr r2, _0804DB10 @ =gBlockRecvBuffer
adds r1, r2
movs r2, 0xB
bl sub_804D814
bl ResetBlockReceivedFlags
ldr r1, [r4]
b _0804DB96
.align 2, 0
_0804DB0C: .4byte gUnknown_2031DA8
_0804DB10: .4byte gBlockRecvBuffer
_0804DB14:
ldr r4, _0804DB68 @ =gEnemyParty
ldr r6, _0804DB6C @ =0x0000012f
movs r5, 0x5
_0804DB1A:
adds r0, r4, 0
movs r1, 0xB
bl GetMonData
lsls r0, 16
lsrs r0, 16
cmp r0, 0
beq _0804DB5A
cmp r0, r6
bne _0804DB5A
adds r0, r4, 0
movs r1, 0x3
bl GetMonData
cmp r0, 0x1
beq _0804DB5A
adds r0, r4, 0
movs r1, 0x2
mov r2, sp
bl GetMonData
mov r0, sp
ldr r1, _0804DB70 @ =gUnknown_8262034
bl StringCompareWithoutExtCtrlCodes
cmp r0, 0
bne _0804DB5A
adds r0, r4, 0
movs r1, 0x2
ldr r2, _0804DB74 @ = gSpeciesNames + 0xD05
bl SetMonData
_0804DB5A:
adds r4, 0x64
subs r5, 0x1
cmp r5, 0
bge _0804DB1A
movs r0, 0x1
b _0804DBA0
.align 2, 0
_0804DB68: .4byte gEnemyParty
_0804DB6C: .4byte 0x0000012f
_0804DB70: .4byte gUnknown_8262034
_0804DB74: .4byte gSpeciesNames+0xD05
_0804DB78:
ldr r2, _0804DBA8 @ =gUnknown_2031DA8
ldr r1, [r2]
adds r1, 0xA8
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
ldr r0, [r2]
adds r1, r0, 0
adds r1, 0xA8
ldrb r0, [r1]
cmp r0, 0xA
bls _0804DB9E
movs r0, 0
strb r0, [r1]
ldr r1, [r2]
_0804DB96:
adds r1, 0x69
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
_0804DB9E:
movs r0, 0
_0804DBA0:
add sp, 0xC
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_0804DBA8: .4byte gUnknown_2031DA8
thumb_func_end shedinja_maker_maybe
thumb_func_start sub_804DBAC
sub_804DBAC: @ 804DBAC
push {lr}