mirror of
https://github.com/pret/pokefirered.git
synced 2026-05-09 04:23:14 -05:00
Nonmatching sub_804CF14
This commit is contained in:
parent
47534a1471
commit
3710c0a370
684
asm/trade.s
684
asm/trade.s
|
|
@ -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}
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ void OpenPartyMenuInBattle(u8 arg);
|
|||
void sub_8127EC4(u8 battlerId, u8 unk, u8 arrayIndex);
|
||||
bool8 IsMultiBattle(void);
|
||||
void sub_8126EDC(void);
|
||||
void sub_812256C(u8 *partyCount, u8 *icons, u8 side);
|
||||
void sub_812256C(u8 *partyCount, u8 (*icons)[6], u8 side);
|
||||
void PartyMenuInit_FromPlayerPc(void);
|
||||
void CB2_PartyMenuFromStartMenu(void);
|
||||
void sub_8128198(void);
|
||||
|
|
|
|||
|
|
@ -33,4 +33,6 @@ enum PokemonSummaryScreenPage
|
|||
PSS_PAGE_CONTEST_MOVES,
|
||||
};
|
||||
|
||||
s32 sub_8138B20(void);
|
||||
|
||||
#endif // GUARD_POKEMON_SUMMARY_SCREEN_H
|
||||
|
|
|
|||
882
src/trade.c
882
src/trade.c
|
|
@ -15,6 +15,7 @@
|
|||
#include "cable_club.h"
|
||||
#include "sound.h"
|
||||
#include "party_menu.h"
|
||||
#include "pokemon_summary_screen.h"
|
||||
#include "pokemon_storage_system.h"
|
||||
#include "constants/species.h"
|
||||
#include "constants/items.h"
|
||||
|
|
@ -138,6 +139,7 @@ void sub_804C718(void)
|
|||
}
|
||||
|
||||
#ifdef NONMATCHING
|
||||
// See note on case 12 below
|
||||
void sub_804C728(void)
|
||||
{
|
||||
int i;
|
||||
|
|
@ -290,11 +292,11 @@ void sub_804C728(void)
|
|||
break;
|
||||
case 8:
|
||||
LoadHeldItemIcons();
|
||||
sub_812256C(&gUnknown_2031DA8->partyCounts[0], gUnknown_2031DA8->partyIcons[0], 0);
|
||||
sub_812256C(gUnknown_2031DA8->partyCounts, gUnknown_2031DA8->partyIcons, 0);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 9:
|
||||
sub_812256C(&gUnknown_2031DA8->partyCounts[0], gUnknown_2031DA8->partyIcons[0], 1);
|
||||
sub_812256C(gUnknown_2031DA8->partyCounts, gUnknown_2031DA8->partyIcons, 1);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 10:
|
||||
|
|
@ -1323,3 +1325,879 @@ void sub_804C728(void)
|
|||
"_0804CF10: .4byte sub_804D638");
|
||||
}
|
||||
#endif //NONMATCHING
|
||||
|
||||
#ifdef NONMATCHING
|
||||
// Nonmatching behaviour is the same as the function above
|
||||
void sub_804CF14(void)
|
||||
{
|
||||
int i;
|
||||
struct SpriteTemplate temp;
|
||||
u8 id;
|
||||
s32 width;
|
||||
u32 xPos;
|
||||
|
||||
switch (gMain.state)
|
||||
{
|
||||
case 0:
|
||||
sub_804C600();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 1:
|
||||
gMain.state++;
|
||||
gUnknown_2031DA8->unk_A8 = 0;
|
||||
break;
|
||||
case 2:
|
||||
gMain.state++;
|
||||
break;
|
||||
case 3:
|
||||
gMain.state++;
|
||||
break;
|
||||
case 4:
|
||||
CalculatePlayerPartyCount();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 5:
|
||||
if (gWirelessCommType != 0)
|
||||
{
|
||||
LoadWirelessStatusIndicatorSpriteGfx();
|
||||
CreateWirelessStatusIndicatorSprite(0, 0);
|
||||
}
|
||||
gMain.state++;
|
||||
break;
|
||||
case 6:
|
||||
gMain.state++;
|
||||
break;
|
||||
case 7:
|
||||
CalculateEnemyPartyCount();
|
||||
gUnknown_2031DA8->partyCounts[0] = gPlayerPartyCount;
|
||||
gUnknown_2031DA8->partyCounts[1] = gEnemyPartyCount;
|
||||
ClearWindowTilemap(0);
|
||||
sub_804F020(0);
|
||||
sub_804F020(1);
|
||||
for (i = 0; i < gUnknown_2031DA8->partyCounts[0]; i++)
|
||||
{
|
||||
gUnknown_2031DA8->partyIcons[0][i] = CreateMonIcon(
|
||||
GetMonData(&gPlayerParty[i], MON_DATA_SPECIES2, NULL),
|
||||
SpriteCB_MonIcon,
|
||||
gTradeMonSpriteCoords[i][0] * 8 + 14,
|
||||
gTradeMonSpriteCoords[i][1] * 8 - 12,
|
||||
1,
|
||||
GetMonData(&gPlayerParty[i], MON_DATA_PERSONALITY),
|
||||
TRUE
|
||||
);
|
||||
}
|
||||
for (i = 0; i < gUnknown_2031DA8->partyCounts[1]; i++)
|
||||
{
|
||||
gUnknown_2031DA8->partyIcons[1][i] = CreateMonIcon(
|
||||
GetMonData(&gEnemyParty[i], MON_DATA_SPECIES2, NULL),
|
||||
SpriteCB_MonIcon,
|
||||
gTradeMonSpriteCoords[i + 6][0] * 8 + 14,
|
||||
gTradeMonSpriteCoords[i + 6][1] * 8 - 12,
|
||||
1,
|
||||
GetMonData(&gEnemyParty[i], MON_DATA_PERSONALITY),
|
||||
FALSE
|
||||
);
|
||||
}
|
||||
gMain.state++;
|
||||
break;
|
||||
case 8:
|
||||
LoadHeldItemIcons();
|
||||
sub_812256C(gUnknown_2031DA8->partyCounts, gUnknown_2031DA8->partyIcons, 0);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 9:
|
||||
sub_812256C(gUnknown_2031DA8->partyCounts, gUnknown_2031DA8->partyIcons, 1);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 10:
|
||||
sub_808BEB4(gSaveBlock2Ptr->playerName, gUnknown_2031C94[0], 0, 0, gDecompressionBuffer, 3);
|
||||
id = GetMultiplayerId();
|
||||
sub_808BEB4(gLinkPlayers[id ^ 1].name, gUnknown_2031C94[3], 0, 0, gDecompressionBuffer, 3);
|
||||
sub_808BEB4(gUnknown_8261ECC[0], gUnknown_2031C94[6], 0, 0, gDecompressionBuffer, 2);
|
||||
sub_804F728(gUnknown_8261ECC[1], gUnknown_2031C94[8], 24);
|
||||
gMain.state++;
|
||||
gUnknown_2031DA8->unk_A8 = 0;
|
||||
break;
|
||||
case 11:
|
||||
if (sub_804F610())
|
||||
{
|
||||
gMain.state++;
|
||||
}
|
||||
break;
|
||||
case 12:
|
||||
width = GetStringWidth(1, gSaveBlock2Ptr->playerName, 0);
|
||||
xPos = (56 - width) / 2;
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
temp = gUnknown_8261CC8;
|
||||
temp.tileTag += i;
|
||||
CreateSprite(&temp, xPos + gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][0] + (i * 32), gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][1], 1);
|
||||
}
|
||||
|
||||
/*
|
||||
* These three lines are a pain to match due to register alloc and
|
||||
* pointer arithmetic misbehavior.
|
||||
*/
|
||||
id = GetMultiplayerId();
|
||||
id ^= 1;
|
||||
width = GetStringWidth(1, gLinkPlayers[id].name, 0);
|
||||
xPos = (56 - width) / 2;
|
||||
for (i = 0; i < 3; i++)
|
||||
{
|
||||
temp = gUnknown_8261CC8;
|
||||
temp.tileTag += i + 3;
|
||||
CreateSprite(&temp, xPos + gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][2] + (i * 32), gTradeUnknownSpriteCoords[LANGUAGE_ENGLISH - 1][3], 1);
|
||||
}
|
||||
gMain.state++;
|
||||
break;
|
||||
case 13:
|
||||
temp = gUnknown_8261CC8;
|
||||
temp.tileTag += 6;
|
||||
CreateSprite(&temp, 215, 151, 1);
|
||||
temp = gUnknown_8261CC8;
|
||||
temp.tileTag += 7;
|
||||
CreateSprite(&temp, 247, 151, 1);
|
||||
|
||||
for (i = 0; i < PARTY_SIZE; i++)
|
||||
{
|
||||
temp = gUnknown_8261CC8;
|
||||
temp.tileTag += i + 8;
|
||||
CreateSprite(&temp, (i * 32) + 24, 150, 1);
|
||||
}
|
||||
|
||||
if (gUnknown_2031DA8->tradeMenuCursorPosition < 6)
|
||||
gUnknown_2031DA8->tradeMenuCursorPosition = sub_8138B20();
|
||||
else
|
||||
gUnknown_2031DA8->tradeMenuCursorPosition = sub_8138B20() + 6;
|
||||
|
||||
gUnknown_2031DA8->tradeMenuCursorSpriteIdx = CreateSprite(&gUnknown_8261CB0, gTradeMonSpriteCoords[gUnknown_2031DA8->tradeMenuCursorPosition][0] * 8 + 32, gTradeMonSpriteCoords[gUnknown_2031DA8->tradeMenuCursorPosition][1] * 8, 2);
|
||||
gMain.state = 16;
|
||||
break;
|
||||
case 16:
|
||||
sub_804D694(0);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 17:
|
||||
sub_804D694(1);
|
||||
gUnknown_2031DA8->unk_0 = 0;
|
||||
gUnknown_2031DA8->unk_1 = 0;
|
||||
sub_804D764();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 18:
|
||||
gPaletteFade.bufferTransferDisabled = FALSE;
|
||||
BlendPalettes(0xFFFFFFFF, 16, RGB_BLACK);
|
||||
BeginNormalPaletteFade(0xFFFFFFFF, 0, 16, 0, RGB_BLACK);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 19:
|
||||
SetGpuReg(REG_OFFSET_DISPCNT, DISPCNT_OBJ_1D_MAP | DISPCNT_OBJ_ON);
|
||||
sub_804D694(2);
|
||||
gMain.state++;
|
||||
break;
|
||||
case 20:
|
||||
gMain.state++;
|
||||
break;
|
||||
case 21:
|
||||
sub_804F964();
|
||||
gMain.state++;
|
||||
break;
|
||||
case 22:
|
||||
if (!gPaletteFade.active)
|
||||
{
|
||||
SetMainCallback2(sub_804D638);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
||||
RunTasks();
|
||||
AnimateSprites();
|
||||
BuildOamBuffer();
|
||||
UpdatePaletteFade();
|
||||
}
|
||||
#else
|
||||
NAKED
|
||||
void sub_804CF14(void)
|
||||
{
|
||||
asm_unified("\tpush {r4-r7,lr}\n"
|
||||
"\tmov r7, r8\n"
|
||||
"\tpush {r7}\n"
|
||||
"\tsub sp, 0x24\n"
|
||||
"\tldr r1, _0804CF38 @ =gMain\n"
|
||||
"\tmovs r2, 0x87\n"
|
||||
"\tlsls r2, 3\n"
|
||||
"\tadds r0, r1, r2\n"
|
||||
"\tldrb r0, [r0]\n"
|
||||
"\tadds r2, r1, 0\n"
|
||||
"\tcmp r0, 0x16\n"
|
||||
"\tbls _0804CF2E\n"
|
||||
"\tb _0804D4D2\n"
|
||||
"_0804CF2E:\n"
|
||||
"\tlsls r0, 2\n"
|
||||
"\tldr r1, _0804CF3C @ =_0804CF40\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tldr r0, [r0]\n"
|
||||
"\tmov pc, r0\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804CF38: .4byte gMain\n"
|
||||
"_0804CF3C: .4byte _0804CF40\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804CF40:\n"
|
||||
"\t.4byte _0804CF9C\n"
|
||||
"\t.4byte _0804CFB0\n"
|
||||
"\t.4byte _0804CFB8\n"
|
||||
"\t.4byte _0804CFC0\n"
|
||||
"\t.4byte _0804CFC8\n"
|
||||
"\t.4byte _0804CFDC\n"
|
||||
"\t.4byte _0804D004\n"
|
||||
"\t.4byte _0804D00C\n"
|
||||
"\t.4byte _0804D150\n"
|
||||
"\t.4byte _0804D178\n"
|
||||
"\t.4byte _0804D19C\n"
|
||||
"\t.4byte _0804D230\n"
|
||||
"\t.4byte _0804D24C\n"
|
||||
"\t.4byte _0804D320\n"
|
||||
"\t.4byte _0804D4D2\n"
|
||||
"\t.4byte _0804D4D2\n"
|
||||
"\t.4byte _0804D414\n"
|
||||
"\t.4byte _0804D41C\n"
|
||||
"\t.4byte _0804D444\n"
|
||||
"\t.4byte _0804D480\n"
|
||||
"\t.4byte _0804D4A0\n"
|
||||
"\t.4byte _0804D4A8\n"
|
||||
"\t.4byte _0804D4C0\n"
|
||||
"_0804CF9C:\n"
|
||||
"\tbl sub_804C600\n"
|
||||
"\tldr r1, _0804CFAC @ =gMain\n"
|
||||
"\tmovs r3, 0x87\n"
|
||||
"\tlsls r3, 3\n"
|
||||
"\tadds r1, r3\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804CFAC: .4byte gMain\n"
|
||||
"_0804CFB0:\n"
|
||||
"\tmovs r5, 0x87\n"
|
||||
"\tlsls r5, 3\n"
|
||||
"\tadds r1, r2, r5\n"
|
||||
"\tb _0804D200\n"
|
||||
"_0804CFB8:\n"
|
||||
"\tmovs r7, 0x87\n"
|
||||
"\tlsls r7, 3\n"
|
||||
"\tadds r1, r2, r7\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"_0804CFC0:\n"
|
||||
"\tmovs r0, 0x87\n"
|
||||
"\tlsls r0, 3\n"
|
||||
"\tadds r1, r2, r0\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"_0804CFC8:\n"
|
||||
"\tbl CalculatePlayerPartyCount\n"
|
||||
"\tldr r1, _0804CFD8 @ =gMain\n"
|
||||
"\tmovs r2, 0x87\n"
|
||||
"\tlsls r2, 3\n"
|
||||
"\tadds r1, r2\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804CFD8: .4byte gMain\n"
|
||||
"_0804CFDC:\n"
|
||||
"\tldr r0, _0804CFFC @ =gWirelessCommType\n"
|
||||
"\tldrb r0, [r0]\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbeq _0804CFF0\n"
|
||||
"\tbl LoadWirelessStatusIndicatorSpriteGfx\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tbl CreateWirelessStatusIndicatorSprite\n"
|
||||
"_0804CFF0:\n"
|
||||
"\tldr r1, _0804D000 @ =gMain\n"
|
||||
"\tmovs r3, 0x87\n"
|
||||
"\tlsls r3, 3\n"
|
||||
"\tadds r1, r3\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804CFFC: .4byte gWirelessCommType\n"
|
||||
"_0804D000: .4byte gMain\n"
|
||||
"_0804D004:\n"
|
||||
"\tmovs r5, 0x87\n"
|
||||
"\tlsls r5, 3\n"
|
||||
"\tadds r1, r2, r5\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"_0804D00C:\n"
|
||||
"\tbl CalculateEnemyPartyCount\n"
|
||||
"\tldr r4, _0804D12C @ =gUnknown_2031DA8\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tldr r1, _0804D130 @ =gPlayerPartyCount\n"
|
||||
"\tldrb r1, [r1]\n"
|
||||
"\tadds r0, 0x36\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tldr r1, _0804D134 @ =gEnemyPartyCount\n"
|
||||
"\tldrb r1, [r1]\n"
|
||||
"\tadds r0, 0x37\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl ClearWindowTilemap\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl sub_804F020\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tbl sub_804F020\n"
|
||||
"\tmovs r6, 0\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x36\n"
|
||||
"\tldrb r0, [r0]\n"
|
||||
"\tcmp r6, r0\n"
|
||||
"\tbge _0804D0A8\n"
|
||||
"\tmov r8, r4\n"
|
||||
"\tldr r7, _0804D138 @ =gTradeMonSpriteCoords\n"
|
||||
"_0804D048:\n"
|
||||
"\tmovs r0, 0x64\n"
|
||||
"\tadds r4, r6, 0\n"
|
||||
"\tmuls r4, r0\n"
|
||||
"\tldr r0, _0804D13C @ =gPlayerParty\n"
|
||||
"\tadds r4, r0\n"
|
||||
"\tadds r0, r4, 0\n"
|
||||
"\tmovs r1, 0x41\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl GetMonData\n"
|
||||
"\tadds r5, r0, 0\n"
|
||||
"\tlsls r5, 16\n"
|
||||
"\tlsrs r5, 16\n"
|
||||
"\tadds r0, r4, 0\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tbl GetMonData\n"
|
||||
"\tldrb r2, [r7]\n"
|
||||
"\tlsls r2, 19\n"
|
||||
"\tmovs r1, 0xE0\n"
|
||||
"\tlsls r1, 12\n"
|
||||
"\tadds r2, r1\n"
|
||||
"\tasrs r2, 16\n"
|
||||
"\tldrb r3, [r7, 0x1]\n"
|
||||
"\tlsls r3, 19\n"
|
||||
"\tldr r1, _0804D140 @ =0xfff40000\n"
|
||||
"\tadds r3, r1\n"
|
||||
"\tasrs r3, 16\n"
|
||||
"\tmovs r1, 0x1\n"
|
||||
"\tstr r1, [sp]\n"
|
||||
"\tstr r0, [sp, 0x4]\n"
|
||||
"\tstr r1, [sp, 0x8]\n"
|
||||
"\tadds r0, r5, 0\n"
|
||||
"\tldr r1, _0804D144 @ =SpriteCB_MonIcon\n"
|
||||
"\tbl CreateMonIcon\n"
|
||||
"\tmov r2, r8\n"
|
||||
"\tldr r1, [r2]\n"
|
||||
"\tadds r1, 0x28\n"
|
||||
"\tadds r1, r6\n"
|
||||
"\tstrb r0, [r1]\n"
|
||||
"\tadds r7, 0x2\n"
|
||||
"\tadds r6, 0x1\n"
|
||||
"\tldr r0, [r2]\n"
|
||||
"\tadds r0, 0x36\n"
|
||||
"\tldrb r0, [r0]\n"
|
||||
"\tcmp r6, r0\n"
|
||||
"\tblt _0804D048\n"
|
||||
"_0804D0A8:\n"
|
||||
"\tmovs r6, 0\n"
|
||||
"\tldr r1, _0804D12C @ =gUnknown_2031DA8\n"
|
||||
"\tldr r0, [r1]\n"
|
||||
"\tadds r0, 0x37\n"
|
||||
"\tldrb r0, [r0]\n"
|
||||
"\tcmp r6, r0\n"
|
||||
"\tbge _0804D120\n"
|
||||
"\tldr r0, _0804D138 @ =gTradeMonSpriteCoords\n"
|
||||
"\tmov r8, r1\n"
|
||||
"\tadds r7, r0, 0\n"
|
||||
"\tadds r7, 0xC\n"
|
||||
"_0804D0BE:\n"
|
||||
"\tmovs r0, 0x64\n"
|
||||
"\tadds r4, r6, 0\n"
|
||||
"\tmuls r4, r0\n"
|
||||
"\tldr r0, _0804D148 @ =gEnemyParty\n"
|
||||
"\tadds r4, r0\n"
|
||||
"\tadds r0, r4, 0\n"
|
||||
"\tmovs r1, 0x41\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl GetMonData\n"
|
||||
"\tadds r5, r0, 0\n"
|
||||
"\tlsls r5, 16\n"
|
||||
"\tlsrs r5, 16\n"
|
||||
"\tadds r0, r4, 0\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tbl GetMonData\n"
|
||||
"\tldrb r2, [r7]\n"
|
||||
"\tlsls r2, 19\n"
|
||||
"\tmovs r3, 0xE0\n"
|
||||
"\tlsls r3, 12\n"
|
||||
"\tadds r2, r3\n"
|
||||
"\tasrs r2, 16\n"
|
||||
"\tldrb r3, [r7, 0x1]\n"
|
||||
"\tlsls r3, 19\n"
|
||||
"\tldr r1, _0804D140 @ =0xfff40000\n"
|
||||
"\tadds r3, r1\n"
|
||||
"\tasrs r3, 16\n"
|
||||
"\tmovs r1, 0x1\n"
|
||||
"\tstr r1, [sp]\n"
|
||||
"\tstr r0, [sp, 0x4]\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tstr r0, [sp, 0x8]\n"
|
||||
"\tadds r0, r5, 0\n"
|
||||
"\tldr r1, _0804D144 @ =SpriteCB_MonIcon\n"
|
||||
"\tbl CreateMonIcon\n"
|
||||
"\tmov r2, r8\n"
|
||||
"\tldr r1, [r2]\n"
|
||||
"\tadds r1, 0x2E\n"
|
||||
"\tadds r1, r6\n"
|
||||
"\tstrb r0, [r1]\n"
|
||||
"\tadds r7, 0x2\n"
|
||||
"\tadds r6, 0x1\n"
|
||||
"\tldr r0, [r2]\n"
|
||||
"\tadds r0, 0x37\n"
|
||||
"\tldrb r0, [r0]\n"
|
||||
"\tcmp r6, r0\n"
|
||||
"\tblt _0804D0BE\n"
|
||||
"_0804D120:\n"
|
||||
"\tldr r1, _0804D14C @ =gMain\n"
|
||||
"\tmovs r3, 0x87\n"
|
||||
"\tlsls r3, 3\n"
|
||||
"\tadds r1, r3\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804D12C: .4byte gUnknown_2031DA8\n"
|
||||
"_0804D130: .4byte gPlayerPartyCount\n"
|
||||
"_0804D134: .4byte gEnemyPartyCount\n"
|
||||
"_0804D138: .4byte gTradeMonSpriteCoords\n"
|
||||
"_0804D13C: .4byte gPlayerParty\n"
|
||||
"_0804D140: .4byte 0xfff40000\n"
|
||||
"_0804D144: .4byte SpriteCB_MonIcon\n"
|
||||
"_0804D148: .4byte gEnemyParty\n"
|
||||
"_0804D14C: .4byte gMain\n"
|
||||
"_0804D150:\n"
|
||||
"\tbl LoadHeldItemIcons\n"
|
||||
"\tldr r0, _0804D170 @ =gUnknown_2031DA8\n"
|
||||
"\tldr r1, [r0]\n"
|
||||
"\tadds r0, r1, 0\n"
|
||||
"\tadds r0, 0x36\n"
|
||||
"\tadds r1, 0x28\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl sub_812256C\n"
|
||||
"\tldr r1, _0804D174 @ =gMain\n"
|
||||
"\tmovs r5, 0x87\n"
|
||||
"\tlsls r5, 3\n"
|
||||
"\tadds r1, r5\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804D170: .4byte gUnknown_2031DA8\n"
|
||||
"_0804D174: .4byte gMain\n"
|
||||
"_0804D178:\n"
|
||||
"\tldr r0, _0804D194 @ =gUnknown_2031DA8\n"
|
||||
"\tldr r1, [r0]\n"
|
||||
"\tadds r0, r1, 0\n"
|
||||
"\tadds r0, 0x36\n"
|
||||
"\tadds r1, 0x28\n"
|
||||
"\tmovs r2, 0x1\n"
|
||||
"\tbl sub_812256C\n"
|
||||
"\tldr r1, _0804D198 @ =gMain\n"
|
||||
"\tmovs r7, 0x87\n"
|
||||
"\tlsls r7, 3\n"
|
||||
"\tadds r1, r7\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804D194: .4byte gUnknown_2031DA8\n"
|
||||
"_0804D198: .4byte gMain\n"
|
||||
"_0804D19C:\n"
|
||||
"\tldr r0, _0804D214 @ =gSaveBlock2Ptr\n"
|
||||
"\tldr r0, [r0]\n"
|
||||
"\tldr r6, _0804D218 @ =gUnknown_2031C94\n"
|
||||
"\tldr r1, [r6]\n"
|
||||
"\tldr r5, _0804D21C @ =gDecompressionBuffer\n"
|
||||
"\tstr r5, [sp]\n"
|
||||
"\tmovs r4, 0x3\n"
|
||||
"\tstr r4, [sp, 0x4]\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl sub_808BEB4\n"
|
||||
"\tbl GetMultiplayerId\n"
|
||||
"\tlsls r0, 24\n"
|
||||
"\tmovs r1, 0x80\n"
|
||||
"\tlsls r1, 17\n"
|
||||
"\teors r1, r0\n"
|
||||
"\tlsrs r1, 24\n"
|
||||
"\tlsls r0, r1, 3\n"
|
||||
"\tsubs r0, r1\n"
|
||||
"\tlsls r0, 2\n"
|
||||
"\tldr r1, _0804D220 @ =gLinkPlayers + 8\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tldr r1, [r6, 0xC]\n"
|
||||
"\tstr r5, [sp]\n"
|
||||
"\tstr r4, [sp, 0x4]\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl sub_808BEB4\n"
|
||||
"\tldr r4, _0804D224 @ =gUnknown_8261ECC\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tldr r1, [r6, 0x18]\n"
|
||||
"\tstr r5, [sp]\n"
|
||||
"\tmovs r2, 0x2\n"
|
||||
"\tstr r2, [sp, 0x4]\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl sub_808BEB4\n"
|
||||
"\tldr r0, [r4, 0x4]\n"
|
||||
"\tldr r1, [r6, 0x20]\n"
|
||||
"\tmovs r2, 0x18\n"
|
||||
"\tbl sub_804F728\n"
|
||||
"\tldr r1, _0804D228 @ =gMain\n"
|
||||
"\tmovs r0, 0x87\n"
|
||||
"\tlsls r0, 3\n"
|
||||
"\tadds r1, r0\n"
|
||||
"_0804D200:\n"
|
||||
"\tldrb r0, [r1]\n"
|
||||
"\tadds r0, 0x1\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tstrb r0, [r1]\n"
|
||||
"\tldr r0, _0804D22C @ =gUnknown_2031DA8\n"
|
||||
"\tldr r0, [r0]\n"
|
||||
"\tadds r0, 0xA8\n"
|
||||
"\tstrb r2, [r0]\n"
|
||||
"\tb _0804D4D2\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804D214: .4byte gSaveBlock2Ptr\n"
|
||||
"_0804D218: .4byte gUnknown_2031C94\n"
|
||||
"_0804D21C: .4byte gDecompressionBuffer\n"
|
||||
"_0804D220: .4byte gLinkPlayers + 8\n"
|
||||
"_0804D224: .4byte gUnknown_8261ECC\n"
|
||||
"_0804D228: .4byte gMain\n"
|
||||
"_0804D22C: .4byte gUnknown_2031DA8\n"
|
||||
"_0804D230:\n"
|
||||
"\tbl sub_804F610\n"
|
||||
"\tlsls r0, 24\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbne _0804D23C\n"
|
||||
"\tb _0804D4D2\n"
|
||||
"_0804D23C:\n"
|
||||
"\tldr r1, _0804D248 @ =gMain\n"
|
||||
"\tmovs r2, 0x87\n"
|
||||
"\tlsls r2, 3\n"
|
||||
"\tadds r1, r2\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804D248: .4byte gMain\n"
|
||||
"_0804D24C:\n"
|
||||
"\tldr r0, _0804D30C @ =gSaveBlock2Ptr\n"
|
||||
"\tldr r1, [r0]\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl GetStringWidth\n"
|
||||
"\tadds r1, r0, 0\n"
|
||||
"\tmovs r0, 0x38\n"
|
||||
"\tsubs r0, r1\n"
|
||||
"\tlsrs r1, r0, 31\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tmovs r6, 0\n"
|
||||
"\tadd r5, sp, 0xC\n"
|
||||
"\tldr r3, _0804D310 @ =gTradeUnknownSpriteCoords\n"
|
||||
"\tmov r8, r3\n"
|
||||
"\tasrs r0, 1\n"
|
||||
"\tldrb r7, [r3, 0x4]\n"
|
||||
"\tadds r4, r0, r7\n"
|
||||
"_0804D270:\n"
|
||||
"\tadd r1, sp, 0xC\n"
|
||||
"\tldr r0, _0804D314 @ =gUnknown_8261CC8\n"
|
||||
"\tldm r0!, {r2,r3,r7}\n"
|
||||
"\tstm r1!, {r2,r3,r7}\n"
|
||||
"\tldm r0!, {r2,r3,r7}\n"
|
||||
"\tstm r1!, {r2,r3,r7}\n"
|
||||
"\tldrh r0, [r5]\n"
|
||||
"\tadds r0, r6\n"
|
||||
"\tstrh r0, [r5]\n"
|
||||
"\tlsls r1, r4, 16\n"
|
||||
"\tasrs r1, 16\n"
|
||||
"\tadd r0, sp, 0xC\n"
|
||||
"\tmov r3, r8\n"
|
||||
"\tldrb r2, [r3, 0x5]\n"
|
||||
"\tmovs r3, 0x1\n"
|
||||
"\tbl CreateSprite\n"
|
||||
"\tadds r4, 0x20\n"
|
||||
"\tadds r6, 0x1\n"
|
||||
"\tcmp r6, 0x2\n"
|
||||
"\tble _0804D270\n"
|
||||
"\tbl GetMultiplayerId\n"
|
||||
"\tlsls r0, 24\n"
|
||||
"\tmovs r1, 0x80\n"
|
||||
"\tlsls r1, 17\n"
|
||||
"\teors r1, r0\n"
|
||||
"\tlsrs r1, 24\n"
|
||||
"\tlsls r0, r1, 3\n"
|
||||
"\tsubs r0, r1\n"
|
||||
"\tlsls r0, 2\n"
|
||||
"\tldr r1, _0804D318 @ =gLinkPlayers + 8\n"
|
||||
"\tadds r1, r0, r1\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl GetStringWidth\n"
|
||||
"\tadds r1, r0, 0\n"
|
||||
"\tmovs r0, 0x38\n"
|
||||
"\tsubs r0, r1\n"
|
||||
"\tlsrs r1, r0, 31\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tmovs r6, 0\n"
|
||||
"\tadd r5, sp, 0xC\n"
|
||||
"\tldr r7, _0804D310 @ =gTradeUnknownSpriteCoords\n"
|
||||
"\tmov r8, r7\n"
|
||||
"\tasrs r0, 1\n"
|
||||
"\tmov r1, r8\n"
|
||||
"\tldrb r1, [r1, 0x6]\n"
|
||||
"\tadds r4, r0, r1\n"
|
||||
"_0804D2D4:\n"
|
||||
"\tadd r1, sp, 0xC\n"
|
||||
"\tldr r0, _0804D314 @ =gUnknown_8261CC8\n"
|
||||
"\tldm r0!, {r2,r3,r7}\n"
|
||||
"\tstm r1!, {r2,r3,r7}\n"
|
||||
"\tldm r0!, {r2,r3,r7}\n"
|
||||
"\tstm r1!, {r2,r3,r7}\n"
|
||||
"\tadds r0, r6, 0x3\n"
|
||||
"\tldrh r1, [r5]\n"
|
||||
"\tadds r0, r1\n"
|
||||
"\tstrh r0, [r5]\n"
|
||||
"\tlsls r1, r4, 16\n"
|
||||
"\tasrs r1, 16\n"
|
||||
"\tadd r0, sp, 0xC\n"
|
||||
"\tmov r3, r8\n"
|
||||
"\tldrb r2, [r3, 0x7]\n"
|
||||
"\tmovs r3, 0x1\n"
|
||||
"\tbl CreateSprite\n"
|
||||
"\tadds r4, 0x20\n"
|
||||
"\tadds r6, 0x1\n"
|
||||
"\tcmp r6, 0x2\n"
|
||||
"\tble _0804D2D4\n"
|
||||
"\tldr r1, _0804D31C @ =gMain\n"
|
||||
"\tmovs r5, 0x87\n"
|
||||
"\tlsls r5, 3\n"
|
||||
"\tadds r1, r5\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804D30C: .4byte gSaveBlock2Ptr\n"
|
||||
"_0804D310: .4byte gTradeUnknownSpriteCoords\n"
|
||||
"_0804D314: .4byte gUnknown_8261CC8\n"
|
||||
"_0804D318: .4byte gLinkPlayers + 8\n"
|
||||
"_0804D31C: .4byte gMain\n"
|
||||
"_0804D320:\n"
|
||||
"\tldr r4, _0804D3B0 @ =gUnknown_8261CC8\n"
|
||||
"\tadd r1, sp, 0xC\n"
|
||||
"\tadds r0, r4, 0\n"
|
||||
"\tldm r0!, {r2,r3,r7}\n"
|
||||
"\tstm r1!, {r2,r3,r7}\n"
|
||||
"\tldm r0!, {r2,r5,r7}\n"
|
||||
"\tstm r1!, {r2,r5,r7}\n"
|
||||
"\tadd r1, sp, 0xC\n"
|
||||
"\tadds r0, r1, 0\n"
|
||||
"\tldrh r0, [r0]\n"
|
||||
"\tadds r0, 0x6\n"
|
||||
"\tstrh r0, [r1]\n"
|
||||
"\tadds r0, r1, 0\n"
|
||||
"\tmovs r1, 0xD7\n"
|
||||
"\tmovs r2, 0x97\n"
|
||||
"\tmovs r3, 0x1\n"
|
||||
"\tbl CreateSprite\n"
|
||||
"\tadd r0, sp, 0xC\n"
|
||||
"\tldm r4!, {r3,r5,r7}\n"
|
||||
"\tstm r0!, {r3,r5,r7}\n"
|
||||
"\tldm r4!, {r1-r3}\n"
|
||||
"\tstm r0!, {r1-r3}\n"
|
||||
"\tadd r1, sp, 0xC\n"
|
||||
"\tadds r0, r1, 0\n"
|
||||
"\tldrh r0, [r0]\n"
|
||||
"\tadds r0, 0x7\n"
|
||||
"\tstrh r0, [r1]\n"
|
||||
"\tadds r0, r1, 0\n"
|
||||
"\tmovs r1, 0xF7\n"
|
||||
"\tmovs r2, 0x97\n"
|
||||
"\tmovs r3, 0x1\n"
|
||||
"\tbl CreateSprite\n"
|
||||
"\tmovs r6, 0\n"
|
||||
"\tadd r4, sp, 0xC\n"
|
||||
"\tmovs r5, 0xC0\n"
|
||||
"\tlsls r5, 13\n"
|
||||
"_0804D36C:\n"
|
||||
"\tadd r1, sp, 0xC\n"
|
||||
"\tldr r0, _0804D3B0 @ =gUnknown_8261CC8\n"
|
||||
"\tldm r0!, {r2,r3,r7}\n"
|
||||
"\tstm r1!, {r2,r3,r7}\n"
|
||||
"\tldm r0!, {r2,r3,r7}\n"
|
||||
"\tstm r1!, {r2,r3,r7}\n"
|
||||
"\tadds r0, r6, 0\n"
|
||||
"\tadds r0, 0x8\n"
|
||||
"\tldrh r7, [r4]\n"
|
||||
"\tadds r0, r7\n"
|
||||
"\tstrh r0, [r4]\n"
|
||||
"\tasrs r1, r5, 16\n"
|
||||
"\tadd r0, sp, 0xC\n"
|
||||
"\tmovs r2, 0x96\n"
|
||||
"\tmovs r3, 0x1\n"
|
||||
"\tbl CreateSprite\n"
|
||||
"\tmovs r0, 0x80\n"
|
||||
"\tlsls r0, 14\n"
|
||||
"\tadds r5, r0\n"
|
||||
"\tadds r6, 0x1\n"
|
||||
"\tcmp r6, 0x5\n"
|
||||
"\tble _0804D36C\n"
|
||||
"\tldr r4, _0804D3B4 @ =gUnknown_2031DA8\n"
|
||||
"\tldr r0, [r4]\n"
|
||||
"\tadds r0, 0x35\n"
|
||||
"\tldrb r0, [r0]\n"
|
||||
"\tcmp r0, 0x5\n"
|
||||
"\tbhi _0804D3B8\n"
|
||||
"\tbl sub_8138B20\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tb _0804D3C0\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804D3B0: .4byte gUnknown_8261CC8\n"
|
||||
"_0804D3B4: .4byte gUnknown_2031DA8\n"
|
||||
"_0804D3B8:\n"
|
||||
"\tbl sub_8138B20\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tadds r0, 0x6\n"
|
||||
"_0804D3C0:\n"
|
||||
"\tadds r1, 0x35\n"
|
||||
"\tstrb r0, [r1]\n"
|
||||
"\tldr r0, _0804D404 @ =gUnknown_8261CB0\n"
|
||||
"\tldr r3, _0804D408 @ =gTradeMonSpriteCoords\n"
|
||||
"\tldr r4, _0804D40C @ =gUnknown_2031DA8\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tadds r1, 0x35\n"
|
||||
"\tldrb r2, [r1]\n"
|
||||
"\tlsls r2, 1\n"
|
||||
"\tadds r1, r2, r3\n"
|
||||
"\tldrb r1, [r1]\n"
|
||||
"\tlsls r1, 19\n"
|
||||
"\tmovs r5, 0x80\n"
|
||||
"\tlsls r5, 14\n"
|
||||
"\tadds r1, r5\n"
|
||||
"\tasrs r1, 16\n"
|
||||
"\tadds r3, 0x1\n"
|
||||
"\tadds r2, r3\n"
|
||||
"\tldrb r2, [r2]\n"
|
||||
"\tlsls r2, 3\n"
|
||||
"\tmovs r3, 0x2\n"
|
||||
"\tbl CreateSprite\n"
|
||||
"\tldr r1, [r4]\n"
|
||||
"\tadds r1, 0x34\n"
|
||||
"\tstrb r0, [r1]\n"
|
||||
"\tldr r0, _0804D410 @ =gMain\n"
|
||||
"\tmovs r7, 0x87\n"
|
||||
"\tlsls r7, 3\n"
|
||||
"\tadds r0, r7\n"
|
||||
"\tmovs r1, 0x10\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tb _0804D4D2\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804D404: .4byte gUnknown_8261CB0\n"
|
||||
"_0804D408: .4byte gTradeMonSpriteCoords\n"
|
||||
"_0804D40C: .4byte gUnknown_2031DA8\n"
|
||||
"_0804D410: .4byte gMain\n"
|
||||
"_0804D414:\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl sub_804D694\n"
|
||||
"\tb _0804D4AC\n"
|
||||
"_0804D41C:\n"
|
||||
"\tmovs r0, 0x1\n"
|
||||
"\tbl sub_804D694\n"
|
||||
"\tldr r2, _0804D43C @ =gUnknown_2031DA8\n"
|
||||
"\tldr r0, [r2]\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tstrb r1, [r0]\n"
|
||||
"\tldr r0, [r2]\n"
|
||||
"\tstrb r1, [r0, 0x1]\n"
|
||||
"\tbl sub_804D764\n"
|
||||
"\tldr r1, _0804D440 @ =gMain\n"
|
||||
"\tmovs r2, 0x87\n"
|
||||
"\tlsls r2, 3\n"
|
||||
"\tadds r1, r2\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804D43C: .4byte gUnknown_2031DA8\n"
|
||||
"_0804D440: .4byte gMain\n"
|
||||
"_0804D444:\n"
|
||||
"\tldr r2, _0804D478 @ =gPaletteFade\n"
|
||||
"\tldrb r1, [r2, 0x8]\n"
|
||||
"\tmovs r0, 0x7F\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tstrb r0, [r2, 0x8]\n"
|
||||
"\tmovs r4, 0x1\n"
|
||||
"\tnegs r4, r4\n"
|
||||
"\tadds r0, r4, 0\n"
|
||||
"\tmovs r1, 0x10\n"
|
||||
"\tmovs r2, 0\n"
|
||||
"\tbl BlendPalettes\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tstr r0, [sp]\n"
|
||||
"\tadds r0, r4, 0\n"
|
||||
"\tmovs r1, 0\n"
|
||||
"\tmovs r2, 0x10\n"
|
||||
"\tmovs r3, 0\n"
|
||||
"\tbl BeginNormalPaletteFade\n"
|
||||
"\tldr r1, _0804D47C @ =gMain\n"
|
||||
"\tmovs r3, 0x87\n"
|
||||
"\tlsls r3, 3\n"
|
||||
"\tadds r1, r3\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804D478: .4byte gPaletteFade\n"
|
||||
"_0804D47C: .4byte gMain\n"
|
||||
"_0804D480:\n"
|
||||
"\tmovs r1, 0x82\n"
|
||||
"\tlsls r1, 5\n"
|
||||
"\tmovs r0, 0\n"
|
||||
"\tbl SetGpuReg\n"
|
||||
"\tmovs r0, 0x2\n"
|
||||
"\tbl sub_804D694\n"
|
||||
"\tldr r1, _0804D49C @ =gMain\n"
|
||||
"\tmovs r5, 0x87\n"
|
||||
"\tlsls r5, 3\n"
|
||||
"\tadds r1, r5\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804D49C: .4byte gMain\n"
|
||||
"_0804D4A0:\n"
|
||||
"\tmovs r7, 0x87\n"
|
||||
"\tlsls r7, 3\n"
|
||||
"\tadds r1, r2, r7\n"
|
||||
"\tb _0804D4B4\n"
|
||||
"_0804D4A8:\n"
|
||||
"\tbl sub_804F964\n"
|
||||
"_0804D4AC:\n"
|
||||
"\tldr r1, _0804D4BC @ =gMain\n"
|
||||
"\tmovs r0, 0x87\n"
|
||||
"\tlsls r0, 3\n"
|
||||
"\tadds r1, r0\n"
|
||||
"_0804D4B4:\n"
|
||||
"\tldrb r0, [r1]\n"
|
||||
"\tadds r0, 0x1\n"
|
||||
"\tstrb r0, [r1]\n"
|
||||
"\tb _0804D4D2\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804D4BC: .4byte gMain\n"
|
||||
"_0804D4C0:\n"
|
||||
"\tldr r0, _0804D4F0 @ =gPaletteFade\n"
|
||||
"\tldrb r1, [r0, 0x7]\n"
|
||||
"\tmovs r0, 0x80\n"
|
||||
"\tands r0, r1\n"
|
||||
"\tcmp r0, 0\n"
|
||||
"\tbne _0804D4D2\n"
|
||||
"\tldr r0, _0804D4F4 @ =sub_804D638\n"
|
||||
"\tbl SetMainCallback2\n"
|
||||
"_0804D4D2:\n"
|
||||
"\tbl RunTasks\n"
|
||||
"\tbl AnimateSprites\n"
|
||||
"\tbl BuildOamBuffer\n"
|
||||
"\tbl UpdatePaletteFade\n"
|
||||
"\tadd sp, 0x24\n"
|
||||
"\tpop {r3}\n"
|
||||
"\tmov r8, r3\n"
|
||||
"\tpop {r4-r7}\n"
|
||||
"\tpop {r0}\n"
|
||||
"\tbx r0\n"
|
||||
"\t.align 2, 0\n"
|
||||
"_0804D4F0: .4byte gPaletteFade\n"
|
||||
"_0804D4F4: .4byte sub_804D638");
|
||||
}
|
||||
#endif //NONMATCHING
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user