Trade through sub_804FFE4

This commit is contained in:
PikalaxALT
2019-10-29 12:58:40 -04:00
parent a1ec6ccff1
commit ce5c3fdd77
5 changed files with 170 additions and 397 deletions
-389
View File
@@ -5,395 +5,6 @@
.text
thumb_func_start sub_804FE24
sub_804FE24: @ 804FE24
push {r4,r5,lr}
sub sp, 0x20
ldr r0, _0804FEB0 @ =gUnknown_2031DAC
ldr r0, [r0]
mov r12, r0
adds r0, 0xD4
ldrh r1, [r0]
lsls r1, 8
adds r0, 0x2
ldrh r2, [r0]
lsls r2, 8
adds r0, 0x6
movs r4, 0
ldrsh r3, [r0, r4]
adds r0, 0x2
movs r5, 0
ldrsh r0, [r0, r5]
str r0, [sp]
mov r4, r12
adds r4, 0xE8
movs r5, 0
ldrsh r0, [r4, r5]
str r0, [sp, 0x4]
movs r5, 0
ldrsh r0, [r4, r5]
str r0, [sp, 0x8]
mov r0, r12
adds r0, 0xEC
ldrh r0, [r0]
str r0, [sp, 0xC]
add r0, sp, 0x10
bl DoBgAffineSet
add r0, sp, 0x10
ldrh r1, [r0]
movs r0, 0x20
bl SetGpuReg
add r0, sp, 0x10
ldrh r1, [r0, 0x2]
movs r0, 0x22
bl SetGpuReg
add r0, sp, 0x10
ldrh r1, [r0, 0x4]
movs r0, 0x24
bl SetGpuReg
add r0, sp, 0x10
ldrh r1, [r0, 0x6]
movs r0, 0x26
bl SetGpuReg
ldr r1, [sp, 0x18]
lsls r1, 16
lsrs r1, 16
movs r0, 0x28
bl SetGpuReg
ldr r1, [sp, 0x1C]
lsls r1, 16
lsrs r1, 16
movs r0, 0x2C
bl SetGpuReg
add sp, 0x20
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0804FEB0: .4byte gUnknown_2031DAC
thumb_func_end sub_804FE24
thumb_func_start sub_804FEB4
sub_804FEB4: @ 804FEB4
push {r4,lr}
ldr r4, _0804FEFC @ =gUnknown_2031DAC
ldr r0, [r4]
adds r0, 0xE0
ldrh r1, [r0]
movs r0, 0x16
bl SetGpuReg
ldr r0, [r4]
adds r0, 0xE2
ldrh r1, [r0]
movs r0, 0x14
bl SetGpuReg
movs r0, 0
bl GetGpuReg
lsls r0, 16
movs r1, 0xE0
lsls r1, 11
ands r1, r0
cmp r1, 0
bne _0804FF00
ldr r0, [r4]
adds r0, 0xE4
ldrh r1, [r0]
movs r0, 0x1A
bl SetGpuReg
ldr r0, [r4]
adds r0, 0xE6
ldrh r1, [r0]
movs r0, 0x18
bl SetGpuReg
b _0804FF04
.align 2, 0
_0804FEFC: .4byte gUnknown_2031DAC
_0804FF00:
bl sub_804FE24
_0804FF04:
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_804FEB4
thumb_func_start sub_804FF0C
sub_804FF0C: @ 804FF0C
push {lr}
bl sub_804FEB4
bl LoadOam
bl ProcessSpriteCopyRequests
bl TransferPlttBuffer
pop {r0}
bx r0
thumb_func_end sub_804FF0C
thumb_func_start sub_804FF24
sub_804FF24: @ 804FF24
push {r4,lr}
ldr r3, _0804FF48 @ =gUnknown_2031DAC
ldr r1, [r3]
movs r0, 0x8A
adds r0, r1
mov r12, r0
movs r2, 0
movs r0, 0
mov r4, r12
strh r0, [r4]
adds r1, 0x88
strb r2, [r1]
ldr r0, [r3]
adds r0, 0x89
strb r2, [r0]
pop {r4}
pop {r0}
bx r0
.align 2, 0
_0804FF48: .4byte gUnknown_2031DAC
thumb_func_end sub_804FF24
thumb_func_start sub_804FF4C
sub_804FF4C: @ 804FF4C
push {r4,r5,lr}
ldr r0, _0804FF70 @ =gUnknown_2031DAC
ldr r2, [r0]
adds r1, r2, 0
adds r1, 0x88
adds r3, r2, 0
adds r3, 0x89
ldrb r1, [r1]
adds r5, r0, 0
ldrb r3, [r3]
cmp r1, r3
bne _0804FF74
adds r1, r2, 0
adds r1, 0x8A
ldrh r0, [r1]
adds r0, 0x1
b _0804FF7A
.align 2, 0
_0804FF70: .4byte gUnknown_2031DAC
_0804FF74:
adds r1, r2, 0
adds r1, 0x8A
movs r0, 0
_0804FF7A:
strh r0, [r1]
adds r4, r5, 0
ldr r0, [r4]
adds r0, 0x8A
ldrh r1, [r0]
movs r0, 0x96
lsls r0, 1
cmp r1, r0
bls _0804FFAC
bl CloseLink
ldr r0, _0804FFC0 @ =CB2_LinkError
bl SetMainCallback2
ldr r1, [r4]
adds r3, r1, 0
adds r3, 0x8A
movs r2, 0
movs r0, 0
strh r0, [r3]
adds r1, 0x89
strb r2, [r1]
ldr r0, [r4]
adds r0, 0x88
strb r2, [r0]
_0804FFAC:
ldr r0, [r5]
adds r1, r0, 0
adds r1, 0x88
ldrb r1, [r1]
adds r0, 0x89
strb r1, [r0]
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_0804FFC0: .4byte CB2_LinkError
thumb_func_end sub_804FF4C
thumb_func_start sub_804FFC4
sub_804FFC4: @ 804FFC4
push {lr}
ldr r0, _0804FFD4 @ =gReceivedRemoteLinkPlayers
ldrb r0, [r0]
cmp r0, 0
bne _0804FFD8
movs r0, 0
b _0804FFE0
.align 2, 0
_0804FFD4: .4byte gReceivedRemoteLinkPlayers
_0804FFD8:
bl GetMultiplayerId
lsls r0, 24
lsrs r0, 24
_0804FFE0:
pop {r1}
bx r1
thumb_func_end sub_804FFC4
thumb_func_start sub_804FFE4
sub_804FFE4: @ 804FFE4
push {r4-r7,lr}
mov r7, r8
push {r7}
lsls r0, 24
lsrs r6, r0, 24
lsls r1, 24
lsrs r5, r1, 24
movs r4, 0
mov r8, r4
cmp r6, 0
bne _0805000A
ldr r0, _08050034 @ =gUnknown_2031DA4
ldrb r1, [r0]
movs r0, 0x64
muls r1, r0
ldr r0, _08050038 @ =gPlayerParty
adds r1, r0
mov r8, r1
movs r4, 0x1
_0805000A:
cmp r6, 0x1
bne _08050028
ldr r0, _08050034 @ =gUnknown_2031DA4
ldrb r0, [r0, 0x1]
movs r1, 0x6
bl __umodsi3
lsls r0, 24
lsrs r0, 24
movs r1, 0x64
muls r1, r0
ldr r0, _0805003C @ =gEnemyParty
adds r1, r0
mov r8, r1
movs r4, 0x3
_08050028:
cmp r5, 0
beq _08050040
cmp r5, 0x1
beq _080500C8
b _0805011E
.align 2, 0
_08050034: .4byte gUnknown_2031DA4
_08050038: .4byte gPlayerParty
_0805003C: .4byte gEnemyParty
_08050040:
mov r0, r8
movs r1, 0x41
bl GetMonData
lsls r0, 16
lsrs r5, r0, 16
mov r0, r8
movs r1, 0
bl GetMonData
adds r7, r0, 0
cmp r6, 0
bne _0805007C
lsls r0, r5, 3
ldr r1, _08050074 @ =gMonFrontPicTable
adds r0, r1
ldr r1, _08050078 @ =gMonSpritesGfxPtr
ldr r1, [r1]
ldr r1, [r1, 0x8]
adds r2, r5, 0
adds r3, r7, 0
bl HandleLoadSpecialPokePic
movs r4, 0
b _0805009A
.align 2, 0
_08050074: .4byte gMonFrontPicTable
_08050078: .4byte gMonSpritesGfxPtr
_0805007C:
lsls r0, r5, 3
ldr r1, _080500BC @ =gMonFrontPicTable
adds r0, r1
ldr r1, _080500C0 @ =gMonSpritesGfxPtr
ldr r2, [r1]
lsls r4, r6, 1
adds r1, r4, 0x1
lsls r1, 2
adds r2, 0x4
adds r2, r1
ldr r1, [r2]
adds r2, r5, 0
adds r3, r7, 0
bl HandleLoadSpecialPokePic_DontHandleDeoxys
_0805009A:
mov r0, r8
bl GetMonSpritePalStruct
bl LoadCompressedSpritePalette
ldr r0, _080500C4 @ =gUnknown_2031DAC
ldr r1, [r0]
adds r0, r1, 0
adds r0, 0xF0
adds r0, r4
strh r5, [r0]
lsls r0, r6, 2
adds r1, 0x68
adds r1, r0
str r7, [r1]
b _0805011E
.align 2, 0
_080500BC: .4byte gMonFrontPicTable
_080500C0: .4byte gMonSpritesGfxPtr
_080500C4: .4byte gUnknown_2031DAC
_080500C8:
mov r0, r8
bl GetMonSpritePalStruct
ldrh r0, [r0, 0x4]
adds r1, r4, 0
bl SetMultiuseSpriteTemplateToPokemon
ldr r0, _08050128 @ =gMultiuseSpriteTemplate
movs r1, 0x78
movs r2, 0x3C
movs r3, 0x6
bl CreateSprite
ldr r4, _0805012C @ =gUnknown_2031DAC
ldr r1, [r4]
adds r1, 0x8E
adds r1, r6
strb r0, [r1]
ldr r3, _08050130 @ =gSprites
ldr r0, [r4]
adds r0, 0x8E
adds r0, r6
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r0, r3
adds r0, 0x3E
ldrb r1, [r0]
movs r2, 0x4
orrs r1, r2
strb r1, [r0]
ldr r0, [r4]
adds r0, 0x8E
adds r0, r6
ldrb r1, [r0]
lsls r0, r1, 4
adds r0, r1
lsls r0, 2
adds r3, 0x1C
adds r0, r3
ldr r1, _08050134 @ =SpriteCallbackDummy
str r1, [r0]
_0805011E:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08050128: .4byte gMultiuseSpriteTemplate
_0805012C: .4byte gUnknown_2031DAC
_08050130: .4byte gSprites
_08050134: .4byte SpriteCallbackDummy
thumb_func_end sub_804FFE4
thumb_func_start sub_8050138
sub_8050138: @ 8050138
push {r4-r6,lr}