port shedinja_maker_maybe; resolve within-array party pointers
This commit is contained in:
+2
-2
@@ -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
@@ -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
@@ -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}
|
||||
|
||||
+1
-1
@@ -551,7 +551,7 @@ gUnknown_8261FC4:: @ 8261FC4
|
||||
.string "システムメッセージADD$", 13
|
||||
.string "はいけいセット$", 13
|
||||
|
||||
gUnknown_8262034:: @ 8262034
|
||||
gJPText_Shedinja:: @ 8262034
|
||||
.string "ヌケニン$"
|
||||
.string "こうかんせいりつ $"
|
||||
.string "だめだたらしいよ $"
|
||||
|
||||
@@ -258,5 +258,6 @@ void ClearLinkCallback_2(void);
|
||||
void sub_80FA42C(void);
|
||||
void sub_800B284(struct LinkPlayer * linkPlayer);
|
||||
bool8 IsWirelessAdapterConnected(void);
|
||||
bool8 sub_800A474(u8 a0);
|
||||
|
||||
#endif // GUARD_LINK_H
|
||||
|
||||
+5
-3
@@ -64,9 +64,11 @@ struct OakSpeechNidoranFStruct
|
||||
struct SpriteFrameImage *frameImages;
|
||||
};
|
||||
|
||||
// TODO: move sLearningMoveTableID, gPlayerPartyCount, gEnemyPartyCount,
|
||||
// gEnemyParty, gPlayerParty here after resolving symbol ref in between.
|
||||
extern u8 sLearningMoveTableID;
|
||||
static EWRAM_DATA u8 sLearningMoveTableID = 0;
|
||||
EWRAM_DATA u8 gPlayerPartyCount = 0;
|
||||
EWRAM_DATA u8 gEnemyPartyCount = 0;
|
||||
EWRAM_DATA struct Pokemon gEnemyParty[PARTY_SIZE] = {};
|
||||
EWRAM_DATA struct Pokemon gPlayerParty[PARTY_SIZE] = {};
|
||||
EWRAM_DATA struct SpriteTemplate gMultiuseSpriteTemplate = {0};
|
||||
static EWRAM_DATA struct OakSpeechNidoranFStruct *sOakSpeechNidoranResources = NULL;
|
||||
|
||||
|
||||
+163
-2
@@ -13,7 +13,9 @@
|
||||
#include "link.h"
|
||||
#include "link_rfu.h"
|
||||
#include "cable_club.h"
|
||||
#include "data.h"
|
||||
#include "sound.h"
|
||||
#include "string_util.h"
|
||||
#include "party_menu.h"
|
||||
#include "pokemon_summary_screen.h"
|
||||
#include "pokemon_storage_system.h"
|
||||
@@ -67,8 +69,10 @@ IWRAM_DATA vu16 gUnknown_3000E78;
|
||||
|
||||
EWRAM_DATA u8 *gUnknown_2031C90 = NULL;
|
||||
EWRAM_DATA u8 *gUnknown_2031C94[14] = {};
|
||||
EWRAM_DATA u8 gUnknown_2031CCC[216] = {};
|
||||
EWRAM_DATA u8 gUnknown_2031DA4[2] = {0};
|
||||
EWRAM_DATA struct TradeResources * gUnknown_2031DA8 = NULL;
|
||||
EWRAM_DATA void * gUnknown_2031DAC = NULL;
|
||||
|
||||
void sub_804C728(void);
|
||||
void sub_804D4F8(void);
|
||||
@@ -101,6 +105,7 @@ extern const u8 *gUnknown_8261ECC[];
|
||||
extern const u8 gTradeUnknownSpriteCoords[][4];
|
||||
extern const struct SpriteTemplate gUnknown_8261CB0;
|
||||
extern const struct SpriteTemplate gUnknown_8261CC8;
|
||||
extern const u8 gJPText_Shedinja[];
|
||||
|
||||
void sub_804C600(void)
|
||||
{
|
||||
@@ -2346,9 +2351,165 @@ void sub_804D764(void)
|
||||
gUnknown_2031DA8->tradeMenuOptionsActive[12] = TRUE;
|
||||
}
|
||||
|
||||
void sub_804D814(char *dest, const char *src, size_t size)
|
||||
static void Trade_Memcpy(void *dest, const void *src, size_t size)
|
||||
{
|
||||
int i;
|
||||
char *_dest = dest;
|
||||
const char *_src = src;
|
||||
for (i = 0; i < size; i++)
|
||||
dest[i] = src[i];
|
||||
_dest[i] = _src[i];
|
||||
}
|
||||
|
||||
bool8 shedinja_maker_maybe(void)
|
||||
{
|
||||
u8 id = GetMultiplayerId();
|
||||
int i;
|
||||
struct Pokemon *mon;
|
||||
|
||||
switch (gUnknown_2031DA8->unk_69)
|
||||
{
|
||||
case 0:
|
||||
Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[0], 2 * sizeof(struct Pokemon));
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
gUnknown_2031DA8->unk_A8 = 0;
|
||||
break;
|
||||
case 1:
|
||||
if (IsLinkTaskFinished())
|
||||
{
|
||||
if (GetBlockReceivedStatus() == 0)
|
||||
{
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
}
|
||||
else
|
||||
{
|
||||
ResetBlockReceivedFlags();
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case 3:
|
||||
if (id == 0)
|
||||
{
|
||||
sub_800A474(1);
|
||||
}
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
break;
|
||||
case 4:
|
||||
if (GetBlockReceivedStatus() == 3)
|
||||
{
|
||||
Trade_Memcpy(&gEnemyParty[0], gBlockRecvBuffer[id ^ 1], 2 * sizeof(struct Pokemon));
|
||||
ResetBlockReceivedFlags();
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[2], 2 * sizeof(struct Pokemon));
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
break;
|
||||
case 7:
|
||||
if (id == 0)
|
||||
{
|
||||
sub_800A474(1);
|
||||
}
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
break;
|
||||
case 8:
|
||||
if (GetBlockReceivedStatus() == 3)
|
||||
{
|
||||
Trade_Memcpy(&gEnemyParty[2], gBlockRecvBuffer[id ^ 1], 200);
|
||||
ResetBlockReceivedFlags();
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
}
|
||||
break;
|
||||
case 9:
|
||||
Trade_Memcpy(gBlockSendBuffer, &gPlayerParty[4], 200);
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
break;
|
||||
case 11:
|
||||
if (id == 0)
|
||||
{
|
||||
sub_800A474(1);
|
||||
}
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
break;
|
||||
case 12:
|
||||
if (GetBlockReceivedStatus() == 3)
|
||||
{
|
||||
Trade_Memcpy(&gEnemyParty[4], gBlockRecvBuffer[id ^ 1], 200);
|
||||
ResetBlockReceivedFlags();
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
}
|
||||
break;
|
||||
case 13:
|
||||
Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->mail, 220);
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
break;
|
||||
case 15:
|
||||
if (id == 0)
|
||||
{
|
||||
sub_800A474(3);
|
||||
}
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
break;
|
||||
case 16:
|
||||
if (GetBlockReceivedStatus() == 3)
|
||||
{
|
||||
Trade_Memcpy(gUnknown_2031CCC, gBlockRecvBuffer[id ^ 1], 216);
|
||||
ResetBlockReceivedFlags();
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
}
|
||||
break;
|
||||
case 17:
|
||||
Trade_Memcpy(gBlockSendBuffer, gSaveBlock1Ptr->giftRibbons, 11);
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
break;
|
||||
case 19:
|
||||
if (id == 0)
|
||||
{
|
||||
sub_800A474(4);
|
||||
}
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
break;
|
||||
case 20:
|
||||
if (GetBlockReceivedStatus() == 3)
|
||||
{
|
||||
Trade_Memcpy(gUnknown_2031DA8->unk_A9, gBlockRecvBuffer[id ^ 1], 11);
|
||||
ResetBlockReceivedFlags();
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
}
|
||||
break;
|
||||
case 21:
|
||||
for (i = 0, mon = gEnemyParty; i < PARTY_SIZE; mon++, i++)
|
||||
{
|
||||
u8 name[POKEMON_NAME_LENGTH + 1];
|
||||
u16 species = GetMonData(mon, MON_DATA_SPECIES);
|
||||
|
||||
if (species != SPECIES_NONE)
|
||||
{
|
||||
if (species == SPECIES_SHEDINJA && GetMonData(mon, MON_DATA_LANGUAGE) != LANGUAGE_JAPANESE)
|
||||
{
|
||||
GetMonData(mon, MON_DATA_NICKNAME, name);
|
||||
|
||||
if (!StringCompareWithoutExtCtrlCodes(name, gJPText_Shedinja))
|
||||
{
|
||||
SetMonData(mon, MON_DATA_NICKNAME, gSpeciesNames[SPECIES_SHEDINJA]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
return TRUE;
|
||||
case 2:
|
||||
case 6:
|
||||
case 10:
|
||||
case 14:
|
||||
case 18:
|
||||
gUnknown_2031DA8->unk_A8++;
|
||||
if (gUnknown_2031DA8->unk_A8 > 10)
|
||||
{
|
||||
gUnknown_2031DA8->unk_A8 = 0;
|
||||
gUnknown_2031DA8->unk_69++;
|
||||
}
|
||||
break;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
+5
-62
@@ -18,75 +18,18 @@
|
||||
.space 8
|
||||
|
||||
@ .include "src/link_rfu.o"
|
||||
.align 2
|
||||
.include "src/battle_controllers.o"
|
||||
.align 2
|
||||
.include "src/battle_main.o"
|
||||
|
||||
sLearningMoveTableID: @ 2024028
|
||||
.space 0x1
|
||||
|
||||
gPlayerPartyCount: @ 2024029
|
||||
.space 0x1
|
||||
|
||||
gEnemyPartyCount: @ 202402A
|
||||
.space 0x2
|
||||
|
||||
gEnemyParty: @ 202402C
|
||||
.space 0xC8
|
||||
|
||||
gUnknown_20240F4: @ 20240F4
|
||||
.space 0x64
|
||||
|
||||
gUnknown_2024158: @ 2024158
|
||||
.space 0x64
|
||||
|
||||
gUnknown_20241BC: @ 20241BC
|
||||
.space 0x64
|
||||
|
||||
gUnknown_2024220: @ 2024220
|
||||
.space 0x64
|
||||
|
||||
gPlayerParty: @ 2024284
|
||||
.space 0x64
|
||||
|
||||
gUnknown_20242E8: @ 20242E8
|
||||
.space 0x64
|
||||
|
||||
gUnknown_202434C: @ 202434C
|
||||
.space 0x64
|
||||
|
||||
gUnknown_20243B0: @ 20243B0
|
||||
.space 0x64
|
||||
|
||||
gUnknown_2024414: @ 2024414
|
||||
.space 0x64
|
||||
|
||||
gUnknown_2024478: @ 2024478
|
||||
.space 0x64
|
||||
|
||||
.align 2
|
||||
.include "src/pokemon.o"
|
||||
.align 2
|
||||
.include "src/daycare.o"
|
||||
.align 2
|
||||
.include "src/load_save.o"
|
||||
|
||||
.align 2
|
||||
gUnknown_2031C90: @ 2031C90
|
||||
.space 0x4
|
||||
|
||||
gUnknown_2031C94: @ 2031C94
|
||||
.space 0x38
|
||||
|
||||
gUnknown_2031CCC: @ 2031CCC
|
||||
.space 0xD8
|
||||
|
||||
gUnknown_2031DA4: @ 2031DA4
|
||||
.space 0x4
|
||||
|
||||
gUnknown_2031DA8: @ 2031DA8
|
||||
.space 0x4
|
||||
|
||||
gUnknown_2031DAC: @ 2031DAC
|
||||
.space 0x4
|
||||
|
||||
.include "src/trade.o"
|
||||
.align 2
|
||||
.include "src/new_game.o"
|
||||
|
||||
|
||||
Reference in New Issue
Block a user