Nonmatching sub_804CF14

This commit is contained in:
PikalaxALT
2019-10-28 10:23:51 -04:00
parent 47534a1471
commit 3710c0a370
4 changed files with 883 additions and 687 deletions
-684
View File
@@ -5,690 +5,6 @@
.text
thumb_func_start sub_804CF14
sub_804CF14: @ 804CF14
push {r4-r7,lr}
mov r7, r8
push {r7}
sub sp, 0x24
ldr r1, _0804CF38 @ =gMain
movs r2, 0x87
lsls r2, 3
adds r0, r1, r2
ldrb r0, [r0]
adds r2, r1, 0
cmp r0, 0x16
bls _0804CF2E
b _0804D4D2
_0804CF2E:
lsls r0, 2
ldr r1, _0804CF3C @ =_0804CF40
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_0804CF38: .4byte gMain
_0804CF3C: .4byte _0804CF40
.align 2, 0
_0804CF40:
.4byte _0804CF9C
.4byte _0804CFB0
.4byte _0804CFB8
.4byte _0804CFC0
.4byte _0804CFC8
.4byte _0804CFDC
.4byte _0804D004
.4byte _0804D00C
.4byte _0804D150
.4byte _0804D178
.4byte _0804D19C
.4byte _0804D230
.4byte _0804D24C
.4byte _0804D320
.4byte _0804D4D2
.4byte _0804D4D2
.4byte _0804D414
.4byte _0804D41C
.4byte _0804D444
.4byte _0804D480
.4byte _0804D4A0
.4byte _0804D4A8
.4byte _0804D4C0
_0804CF9C:
bl sub_804C600
ldr r1, _0804CFAC @ =gMain
movs r3, 0x87
lsls r3, 3
adds r1, r3
b _0804D4B4
.align 2, 0
_0804CFAC: .4byte gMain
_0804CFB0:
movs r5, 0x87
lsls r5, 3
adds r1, r2, r5
b _0804D200
_0804CFB8:
movs r7, 0x87
lsls r7, 3
adds r1, r2, r7
b _0804D4B4
_0804CFC0:
movs r0, 0x87
lsls r0, 3
adds r1, r2, r0
b _0804D4B4
_0804CFC8:
bl CalculatePlayerPartyCount
ldr r1, _0804CFD8 @ =gMain
movs r2, 0x87
lsls r2, 3
adds r1, r2
b _0804D4B4
.align 2, 0
_0804CFD8: .4byte gMain
_0804CFDC:
ldr r0, _0804CFFC @ =gWirelessCommType
ldrb r0, [r0]
cmp r0, 0
beq _0804CFF0
bl LoadWirelessStatusIndicatorSpriteGfx
movs r0, 0
movs r1, 0
bl CreateWirelessStatusIndicatorSprite
_0804CFF0:
ldr r1, _0804D000 @ =gMain
movs r3, 0x87
lsls r3, 3
adds r1, r3
b _0804D4B4
.align 2, 0
_0804CFFC: .4byte gWirelessCommType
_0804D000: .4byte gMain
_0804D004:
movs r5, 0x87
lsls r5, 3
adds r1, r2, r5
b _0804D4B4
_0804D00C:
bl CalculateEnemyPartyCount
ldr r4, _0804D12C @ =gUnknown_2031DA8
ldr r0, [r4]
ldr r1, _0804D130 @ =gPlayerPartyCount
ldrb r1, [r1]
adds r0, 0x36
strb r1, [r0]
ldr r0, [r4]
ldr r1, _0804D134 @ =gEnemyPartyCount
ldrb r1, [r1]
adds r0, 0x37
strb r1, [r0]
movs r0, 0
bl ClearWindowTilemap
movs r0, 0
bl sub_804F020
movs r0, 0x1
bl sub_804F020
movs r6, 0
ldr r0, [r4]
adds r0, 0x36
ldrb r0, [r0]
cmp r6, r0
bge _0804D0A8
mov r8, r4
ldr r7, _0804D138 @ =gTradeMonSpriteCoords
_0804D048:
movs r0, 0x64
adds r4, r6, 0
muls r4, r0
ldr r0, _0804D13C @ =gPlayerParty
adds r4, r0
adds r0, r4, 0
movs r1, 0x41
movs r2, 0
bl GetMonData
adds r5, r0, 0
lsls r5, 16
lsrs r5, 16
adds r0, r4, 0
movs r1, 0
bl GetMonData
ldrb r2, [r7]
lsls r2, 19
movs r1, 0xE0
lsls r1, 12
adds r2, r1
asrs r2, 16
ldrb r3, [r7, 0x1]
lsls r3, 19
ldr r1, _0804D140 @ =0xfff40000
adds r3, r1
asrs r3, 16
movs r1, 0x1
str r1, [sp]
str r0, [sp, 0x4]
str r1, [sp, 0x8]
adds r0, r5, 0
ldr r1, _0804D144 @ =SpriteCB_MonIcon
bl CreateMonIcon
mov r2, r8
ldr r1, [r2]
adds r1, 0x28
adds r1, r6
strb r0, [r1]
adds r7, 0x2
adds r6, 0x1
ldr r0, [r2]
adds r0, 0x36
ldrb r0, [r0]
cmp r6, r0
blt _0804D048
_0804D0A8:
movs r6, 0
ldr r1, _0804D12C @ =gUnknown_2031DA8
ldr r0, [r1]
adds r0, 0x37
ldrb r0, [r0]
cmp r6, r0
bge _0804D120
ldr r0, _0804D138 @ =gTradeMonSpriteCoords
mov r8, r1
adds r7, r0, 0
adds r7, 0xC
_0804D0BE:
movs r0, 0x64
adds r4, r6, 0
muls r4, r0
ldr r0, _0804D148 @ =gEnemyParty
adds r4, r0
adds r0, r4, 0
movs r1, 0x41
movs r2, 0
bl GetMonData
adds r5, r0, 0
lsls r5, 16
lsrs r5, 16
adds r0, r4, 0
movs r1, 0
bl GetMonData
ldrb r2, [r7]
lsls r2, 19
movs r3, 0xE0
lsls r3, 12
adds r2, r3
asrs r2, 16
ldrb r3, [r7, 0x1]
lsls r3, 19
ldr r1, _0804D140 @ =0xfff40000
adds r3, r1
asrs r3, 16
movs r1, 0x1
str r1, [sp]
str r0, [sp, 0x4]
movs r0, 0
str r0, [sp, 0x8]
adds r0, r5, 0
ldr r1, _0804D144 @ =SpriteCB_MonIcon
bl CreateMonIcon
mov r2, r8
ldr r1, [r2]
adds r1, 0x2E
adds r1, r6
strb r0, [r1]
adds r7, 0x2
adds r6, 0x1
ldr r0, [r2]
adds r0, 0x37
ldrb r0, [r0]
cmp r6, r0
blt _0804D0BE
_0804D120:
ldr r1, _0804D14C @ =gMain
movs r3, 0x87
lsls r3, 3
adds r1, r3
b _0804D4B4
.align 2, 0
_0804D12C: .4byte gUnknown_2031DA8
_0804D130: .4byte gPlayerPartyCount
_0804D134: .4byte gEnemyPartyCount
_0804D138: .4byte gTradeMonSpriteCoords
_0804D13C: .4byte gPlayerParty
_0804D140: .4byte 0xfff40000
_0804D144: .4byte SpriteCB_MonIcon
_0804D148: .4byte gEnemyParty
_0804D14C: .4byte gMain
_0804D150:
bl LoadHeldItemIcons
ldr r0, _0804D170 @ =gUnknown_2031DA8
ldr r1, [r0]
adds r0, r1, 0
adds r0, 0x36
adds r1, 0x28
movs r2, 0
bl sub_812256C
ldr r1, _0804D174 @ =gMain
movs r5, 0x87
lsls r5, 3
adds r1, r5
b _0804D4B4
.align 2, 0
_0804D170: .4byte gUnknown_2031DA8
_0804D174: .4byte gMain
_0804D178:
ldr r0, _0804D194 @ =gUnknown_2031DA8
ldr r1, [r0]
adds r0, r1, 0
adds r0, 0x36
adds r1, 0x28
movs r2, 0x1
bl sub_812256C
ldr r1, _0804D198 @ =gMain
movs r7, 0x87
lsls r7, 3
adds r1, r7
b _0804D4B4
.align 2, 0
_0804D194: .4byte gUnknown_2031DA8
_0804D198: .4byte gMain
_0804D19C:
ldr r0, _0804D214 @ =gSaveBlock2Ptr
ldr r0, [r0]
ldr r6, _0804D218 @ =gUnknown_2031C94
ldr r1, [r6]
ldr r5, _0804D21C @ =gDecompressionBuffer
str r5, [sp]
movs r4, 0x3
str r4, [sp, 0x4]
movs r2, 0
movs r3, 0
bl sub_808BEB4
bl GetMultiplayerId
lsls r0, 24
movs r1, 0x80
lsls r1, 17
eors r1, r0
lsrs r1, 24
lsls r0, r1, 3
subs r0, r1
lsls r0, 2
ldr r1, _0804D220 @ =gLinkPlayers + 8
adds r0, r1
ldr r1, [r6, 0xC]
str r5, [sp]
str r4, [sp, 0x4]
movs r2, 0
movs r3, 0
bl sub_808BEB4
ldr r4, _0804D224 @ =gUnknown_8261ECC
ldr r0, [r4]
ldr r1, [r6, 0x18]
str r5, [sp]
movs r2, 0x2
str r2, [sp, 0x4]
movs r2, 0
movs r3, 0
bl sub_808BEB4
ldr r0, [r4, 0x4]
ldr r1, [r6, 0x20]
movs r2, 0x18
bl sub_804F728
ldr r1, _0804D228 @ =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
_0804D200:
ldrb r0, [r1]
adds r0, 0x1
movs r2, 0
strb r0, [r1]
ldr r0, _0804D22C @ =gUnknown_2031DA8
ldr r0, [r0]
adds r0, 0xA8
strb r2, [r0]
b _0804D4D2
.align 2, 0
_0804D214: .4byte gSaveBlock2Ptr
_0804D218: .4byte gUnknown_2031C94
_0804D21C: .4byte gDecompressionBuffer
_0804D220: .4byte gLinkPlayers + 8
_0804D224: .4byte gUnknown_8261ECC
_0804D228: .4byte gMain
_0804D22C: .4byte gUnknown_2031DA8
_0804D230:
bl sub_804F610
lsls r0, 24
cmp r0, 0
bne _0804D23C
b _0804D4D2
_0804D23C:
ldr r1, _0804D248 @ =gMain
movs r2, 0x87
lsls r2, 3
adds r1, r2
b _0804D4B4
.align 2, 0
_0804D248: .4byte gMain
_0804D24C:
ldr r0, _0804D30C @ =gSaveBlock2Ptr
ldr r1, [r0]
movs r0, 0x1
movs r2, 0
bl GetStringWidth
adds r1, r0, 0
movs r0, 0x38
subs r0, r1
lsrs r1, r0, 31
adds r0, r1
movs r6, 0
add r5, sp, 0xC
ldr r3, _0804D310 @ =gTradeUnknownSpriteCoords
mov r8, r3
asrs r0, 1
ldrb r7, [r3, 0x4]
adds r4, r0, r7
_0804D270:
add r1, sp, 0xC
ldr r0, _0804D314 @ =gUnknown_8261CC8
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldrh r0, [r5]
adds r0, r6
strh r0, [r5]
lsls r1, r4, 16
asrs r1, 16
add r0, sp, 0xC
mov r3, r8
ldrb r2, [r3, 0x5]
movs r3, 0x1
bl CreateSprite
adds r4, 0x20
adds r6, 0x1
cmp r6, 0x2
ble _0804D270
bl GetMultiplayerId
lsls r0, 24
movs r1, 0x80
lsls r1, 17
eors r1, r0
lsrs r1, 24
lsls r0, r1, 3
subs r0, r1
lsls r0, 2
ldr r1, _0804D318 @ =gLinkPlayers + 8
adds r1, r0, r1
movs r0, 0x1
movs r2, 0
bl GetStringWidth
adds r1, r0, 0
movs r0, 0x38
subs r0, r1
lsrs r1, r0, 31
adds r0, r1
movs r6, 0
add r5, sp, 0xC
ldr r7, _0804D310 @ =gTradeUnknownSpriteCoords
mov r8, r7
asrs r0, 1
mov r1, r8
ldrb r1, [r1, 0x6]
adds r4, r0, r1
_0804D2D4:
add r1, sp, 0xC
ldr r0, _0804D314 @ =gUnknown_8261CC8
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
adds r0, r6, 0x3
ldrh r1, [r5]
adds r0, r1
strh r0, [r5]
lsls r1, r4, 16
asrs r1, 16
add r0, sp, 0xC
mov r3, r8
ldrb r2, [r3, 0x7]
movs r3, 0x1
bl CreateSprite
adds r4, 0x20
adds r6, 0x1
cmp r6, 0x2
ble _0804D2D4
ldr r1, _0804D31C @ =gMain
movs r5, 0x87
lsls r5, 3
adds r1, r5
b _0804D4B4
.align 2, 0
_0804D30C: .4byte gSaveBlock2Ptr
_0804D310: .4byte gTradeUnknownSpriteCoords
_0804D314: .4byte gUnknown_8261CC8
_0804D318: .4byte gLinkPlayers + 8
_0804D31C: .4byte gMain
_0804D320:
ldr r4, _0804D3B0 @ =gUnknown_8261CC8
add r1, sp, 0xC
adds r0, r4, 0
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r5,r7}
stm r1!, {r2,r5,r7}
add r1, sp, 0xC
adds r0, r1, 0
ldrh r0, [r0]
adds r0, 0x6
strh r0, [r1]
adds r0, r1, 0
movs r1, 0xD7
movs r2, 0x97
movs r3, 0x1
bl CreateSprite
add r0, sp, 0xC
ldm r4!, {r3,r5,r7}
stm r0!, {r3,r5,r7}
ldm r4!, {r1-r3}
stm r0!, {r1-r3}
add r1, sp, 0xC
adds r0, r1, 0
ldrh r0, [r0]
adds r0, 0x7
strh r0, [r1]
adds r0, r1, 0
movs r1, 0xF7
movs r2, 0x97
movs r3, 0x1
bl CreateSprite
movs r6, 0
add r4, sp, 0xC
movs r5, 0xC0
lsls r5, 13
_0804D36C:
add r1, sp, 0xC
ldr r0, _0804D3B0 @ =gUnknown_8261CC8
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
ldm r0!, {r2,r3,r7}
stm r1!, {r2,r3,r7}
adds r0, r6, 0
adds r0, 0x8
ldrh r7, [r4]
adds r0, r7
strh r0, [r4]
asrs r1, r5, 16
add r0, sp, 0xC
movs r2, 0x96
movs r3, 0x1
bl CreateSprite
movs r0, 0x80
lsls r0, 14
adds r5, r0
adds r6, 0x1
cmp r6, 0x5
ble _0804D36C
ldr r4, _0804D3B4 @ =gUnknown_2031DA8
ldr r0, [r4]
adds r0, 0x35
ldrb r0, [r0]
cmp r0, 0x5
bhi _0804D3B8
bl sub_8138B20
ldr r1, [r4]
b _0804D3C0
.align 2, 0
_0804D3B0: .4byte gUnknown_8261CC8
_0804D3B4: .4byte gUnknown_2031DA8
_0804D3B8:
bl sub_8138B20
ldr r1, [r4]
adds r0, 0x6
_0804D3C0:
adds r1, 0x35
strb r0, [r1]
ldr r0, _0804D404 @ =gUnknown_8261CB0
ldr r3, _0804D408 @ =gTradeMonSpriteCoords
ldr r4, _0804D40C @ =gUnknown_2031DA8
ldr r1, [r4]
adds r1, 0x35
ldrb r2, [r1]
lsls r2, 1
adds r1, r2, r3
ldrb r1, [r1]
lsls r1, 19
movs r5, 0x80
lsls r5, 14
adds r1, r5
asrs r1, 16
adds r3, 0x1
adds r2, r3
ldrb r2, [r2]
lsls r2, 3
movs r3, 0x2
bl CreateSprite
ldr r1, [r4]
adds r1, 0x34
strb r0, [r1]
ldr r0, _0804D410 @ =gMain
movs r7, 0x87
lsls r7, 3
adds r0, r7
movs r1, 0x10
strb r1, [r0]
b _0804D4D2
.align 2, 0
_0804D404: .4byte gUnknown_8261CB0
_0804D408: .4byte gTradeMonSpriteCoords
_0804D40C: .4byte gUnknown_2031DA8
_0804D410: .4byte gMain
_0804D414:
movs r0, 0
bl sub_804D694
b _0804D4AC
_0804D41C:
movs r0, 0x1
bl sub_804D694
ldr r2, _0804D43C @ =gUnknown_2031DA8
ldr r0, [r2]
movs r1, 0
strb r1, [r0]
ldr r0, [r2]
strb r1, [r0, 0x1]
bl sub_804D764
ldr r1, _0804D440 @ =gMain
movs r2, 0x87
lsls r2, 3
adds r1, r2
b _0804D4B4
.align 2, 0
_0804D43C: .4byte gUnknown_2031DA8
_0804D440: .4byte gMain
_0804D444:
ldr r2, _0804D478 @ =gPaletteFade
ldrb r1, [r2, 0x8]
movs r0, 0x7F
ands r0, r1
strb r0, [r2, 0x8]
movs r4, 0x1
negs r4, r4
adds r0, r4, 0
movs r1, 0x10
movs r2, 0
bl BlendPalettes
movs r0, 0
str r0, [sp]
adds r0, r4, 0
movs r1, 0
movs r2, 0x10
movs r3, 0
bl BeginNormalPaletteFade
ldr r1, _0804D47C @ =gMain
movs r3, 0x87
lsls r3, 3
adds r1, r3
b _0804D4B4
.align 2, 0
_0804D478: .4byte gPaletteFade
_0804D47C: .4byte gMain
_0804D480:
movs r1, 0x82
lsls r1, 5
movs r0, 0
bl SetGpuReg
movs r0, 0x2
bl sub_804D694
ldr r1, _0804D49C @ =gMain
movs r5, 0x87
lsls r5, 3
adds r1, r5
b _0804D4B4
.align 2, 0
_0804D49C: .4byte gMain
_0804D4A0:
movs r7, 0x87
lsls r7, 3
adds r1, r2, r7
b _0804D4B4
_0804D4A8:
bl sub_804F964
_0804D4AC:
ldr r1, _0804D4BC @ =gMain
movs r0, 0x87
lsls r0, 3
adds r1, r0
_0804D4B4:
ldrb r0, [r1]
adds r0, 0x1
strb r0, [r1]
b _0804D4D2
.align 2, 0
_0804D4BC: .4byte gMain
_0804D4C0:
ldr r0, _0804D4F0 @ =gPaletteFade
ldrb r1, [r0, 0x7]
movs r0, 0x80
ands r0, r1
cmp r0, 0
bne _0804D4D2
ldr r0, _0804D4F4 @ =sub_804D638
bl SetMainCallback2
_0804D4D2:
bl RunTasks
bl AnimateSprites
bl BuildOamBuffer
bl UpdatePaletteFade
add sp, 0x24
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_0804D4F0: .4byte gPaletteFade
_0804D4F4: .4byte sub_804D638
thumb_func_end sub_804CF14
thumb_func_start sub_804D4F8
sub_804D4F8: @ 804D4F8
push {lr}