mirror of
https://github.com/pret/pmd-red.git
synced 2026-10-01 13:28:04 -05:00
Label all entities in Boss Fight Cutscenes (#78)
* label all entities in cutscenes * remove commented func.. wasn't matching anyway * Skarmony -> Skarmory
This commit is contained in:
@@ -4440,7 +4440,7 @@ _08014DDC:
|
||||
ldr r4, _08014DF8
|
||||
adds r0, r4, 0
|
||||
movs r2, 0
|
||||
bl sub_808D9AC
|
||||
bl PrintColoredPokeNameToBuffer
|
||||
b _08014F0E
|
||||
.align 2, 0
|
||||
_08014DF8: .4byte gUnknown_202EB80
|
||||
|
||||
@@ -5,649 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
|
||||
thumb_func_start sub_801B60C
|
||||
sub_801B60C:
|
||||
push {r4-r7,lr}
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
lsls r2, 24
|
||||
lsrs r7, r2, 24
|
||||
ldr r6, _0801B650
|
||||
movs r0, 0xAA
|
||||
lsls r0, 1
|
||||
movs r1, 0x8
|
||||
bl MemoryAlloc
|
||||
str r0, [r6]
|
||||
adds r2, r0, 0
|
||||
adds r2, 0xC8
|
||||
movs r1, 0
|
||||
str r1, [r2]
|
||||
str r5, [r0]
|
||||
strb r4, [r0, 0x12]
|
||||
ldr r0, [r6]
|
||||
ldrb r0, [r0, 0x12]
|
||||
bl IsThrowableItem
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
cmp r1, 0
|
||||
beq _0801B654
|
||||
ldr r0, [r6]
|
||||
strb r7, [r0, 0x11]
|
||||
ldr r0, [r6]
|
||||
strb r7, [r0, 0xC]
|
||||
b _0801B65E
|
||||
.align 2, 0
|
||||
_0801B650: .4byte gUnknown_203B234
|
||||
_0801B654:
|
||||
ldr r0, [r6]
|
||||
strb r1, [r0, 0x11]
|
||||
ldr r1, [r6]
|
||||
movs r0, 0x1
|
||||
strb r0, [r1, 0xC]
|
||||
_0801B65E:
|
||||
ldr r5, _0801B6A0
|
||||
ldr r0, [r5]
|
||||
movs r1, 0
|
||||
movs r2, 0x1
|
||||
strb r2, [r0, 0x10]
|
||||
ldr r0, [r5]
|
||||
str r1, [r0, 0x14]
|
||||
strb r1, [r0, 0x18]
|
||||
ldr r0, [r5]
|
||||
strb r2, [r0, 0x1C]
|
||||
ldr r4, _0801B6A4
|
||||
bl GetPlayerPokemonStruct
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x6
|
||||
bl sub_808D9AC
|
||||
ldr r0, _0801B6A8
|
||||
ldr r2, [r5]
|
||||
adds r1, r2, 0
|
||||
adds r1, 0x10
|
||||
adds r2, 0x14
|
||||
bl sub_8090E14
|
||||
movs r0, 0
|
||||
bl sub_801B748
|
||||
movs r0, 0x1
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_0801B6A0: .4byte gUnknown_203B234
|
||||
_0801B6A4: .4byte gAvailablePokemonNames
|
||||
_0801B6A8: .4byte gUnknown_202DE58
|
||||
thumb_func_end sub_801B60C
|
||||
|
||||
thumb_func_start sub_801B6AC
|
||||
sub_801B6AC:
|
||||
push {lr}
|
||||
ldr r0, _0801B6C4
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, 0x4]
|
||||
subs r0, 0x6
|
||||
cmp r0, 0xA
|
||||
bhi _0801B720
|
||||
lsls r0, 2
|
||||
ldr r1, _0801B6C8
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0801B6C4: .4byte gUnknown_203B234
|
||||
_0801B6C8: .4byte _0801B6CC
|
||||
.align 2, 0
|
||||
_0801B6CC:
|
||||
.4byte _0801B6FC
|
||||
.4byte _0801B702
|
||||
.4byte _0801B708
|
||||
.4byte _0801B708
|
||||
.4byte _0801B70E
|
||||
.4byte _0801B714
|
||||
.4byte _0801B71A
|
||||
.4byte _0801B720
|
||||
.4byte _0801B720
|
||||
.4byte _0801B720
|
||||
.4byte _0801B6F8
|
||||
_0801B6F8:
|
||||
movs r0, 0x3
|
||||
b _0801B726
|
||||
_0801B6FC:
|
||||
bl sub_801BC64
|
||||
b _0801B724
|
||||
_0801B702:
|
||||
bl sub_801BC94
|
||||
b _0801B724
|
||||
_0801B708:
|
||||
bl sub_801BCCC
|
||||
b _0801B724
|
||||
_0801B70E:
|
||||
bl sub_801BD80
|
||||
b _0801B724
|
||||
_0801B714:
|
||||
bl sub_801BEAC
|
||||
b _0801B724
|
||||
_0801B71A:
|
||||
bl sub_801BE30
|
||||
b _0801B724
|
||||
_0801B720:
|
||||
bl sub_801BEC8
|
||||
_0801B724:
|
||||
movs r0, 0
|
||||
_0801B726:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_801B6AC
|
||||
|
||||
thumb_func_start sub_801B72C
|
||||
sub_801B72C:
|
||||
push {r4,lr}
|
||||
ldr r4, _0801B744
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _0801B73E
|
||||
bl MemoryFree
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
_0801B73E:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0801B744: .4byte gUnknown_203B234
|
||||
thumb_func_end sub_801B72C
|
||||
|
||||
thumb_func_start sub_801B748
|
||||
sub_801B748:
|
||||
push {lr}
|
||||
ldr r1, _0801B75C
|
||||
ldr r1, [r1]
|
||||
str r0, [r1, 0x4]
|
||||
bl sub_801B760
|
||||
bl sub_801B874
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0801B75C: .4byte gUnknown_203B234
|
||||
thumb_func_end sub_801B748
|
||||
|
||||
thumb_func_start sub_801B760
|
||||
sub_801B760:
|
||||
push {r4-r7,lr}
|
||||
ldr r0, _0801B77C
|
||||
ldr r1, [r0]
|
||||
ldr r1, [r1, 0x4]
|
||||
subs r1, 0x1
|
||||
adds r4, r0, 0
|
||||
cmp r1, 0xE
|
||||
bls _0801B772
|
||||
b _0801B86A
|
||||
_0801B772:
|
||||
lsls r0, r1, 2
|
||||
ldr r1, _0801B780
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0801B77C: .4byte gUnknown_203B234
|
||||
_0801B780: .4byte _0801B784
|
||||
.align 2, 0
|
||||
_0801B784:
|
||||
.4byte _0801B7C0
|
||||
.4byte _0801B86A
|
||||
.4byte _0801B86A
|
||||
.4byte _0801B86A
|
||||
.4byte _0801B86A
|
||||
.4byte _0801B7C0
|
||||
.4byte _0801B7C0
|
||||
.4byte _0801B7C0
|
||||
.4byte _0801B7C0
|
||||
.4byte _0801B800
|
||||
.4byte _0801B7C0
|
||||
.4byte _0801B840
|
||||
.4byte _0801B7C0
|
||||
.4byte _0801B7C0
|
||||
.4byte _0801B7C0
|
||||
_0801B7C0:
|
||||
ldr r4, _0801B7F8
|
||||
ldr r0, [r4]
|
||||
adds r0, 0xF4
|
||||
bl sub_8006518
|
||||
mov r12, r4
|
||||
ldr r4, _0801B7FC
|
||||
movs r3, 0
|
||||
movs r2, 0x3
|
||||
_0801B7D2:
|
||||
mov r0, r12
|
||||
ldr r1, [r0]
|
||||
adds r1, r3
|
||||
adds r1, 0xF4
|
||||
adds r0, r4, 0
|
||||
ldm r0!, {r5-r7}
|
||||
stm r1!, {r5-r7}
|
||||
ldm r0!, {r5-r7}
|
||||
stm r1!, {r5-r7}
|
||||
adds r3, 0x18
|
||||
subs r2, 0x1
|
||||
cmp r2, 0
|
||||
bge _0801B7D2
|
||||
bl ResetUnusedInputStruct
|
||||
ldr r0, _0801B7F8
|
||||
ldr r0, [r0]
|
||||
b _0801B82E
|
||||
.align 2, 0
|
||||
_0801B7F8: .4byte gUnknown_203B234
|
||||
_0801B7FC: .4byte gUnknown_80DBA58
|
||||
_0801B800:
|
||||
ldr r0, [r4]
|
||||
adds r0, 0xF4
|
||||
bl sub_8006518
|
||||
bl sub_801BB5C
|
||||
ldr r2, [r4]
|
||||
movs r0, 0x92
|
||||
lsls r0, 1
|
||||
adds r2, r0
|
||||
ldr r1, _0801B83C
|
||||
ldm r1!, {r3,r5,r6}
|
||||
stm r2!, {r3,r5,r6}
|
||||
ldm r1!, {r3,r5,r7}
|
||||
stm r2!, {r3,r5,r7}
|
||||
ldr r1, [r4]
|
||||
adds r0, r1, r0
|
||||
adds r1, 0xCC
|
||||
bl sub_8012CAC
|
||||
bl ResetUnusedInputStruct
|
||||
ldr r0, [r4]
|
||||
_0801B82E:
|
||||
adds r0, 0xF4
|
||||
movs r1, 0x1
|
||||
movs r2, 0x1
|
||||
bl sub_800641C
|
||||
b _0801B86A
|
||||
.align 2, 0
|
||||
_0801B83C: .4byte gUnknown_80DBA70
|
||||
_0801B840:
|
||||
ldr r0, [r4]
|
||||
adds r0, 0xF4
|
||||
bl sub_8006518
|
||||
ldr r1, [r4]
|
||||
movs r6, 0x86
|
||||
lsls r6, 1
|
||||
adds r1, r6
|
||||
ldr r0, _0801B870
|
||||
ldm r0!, {r2,r3,r7}
|
||||
stm r1!, {r2,r3,r7}
|
||||
ldm r0!, {r5-r7}
|
||||
stm r1!, {r5-r7}
|
||||
bl ResetUnusedInputStruct
|
||||
ldr r0, [r4]
|
||||
adds r0, 0xF4
|
||||
movs r1, 0x1
|
||||
movs r2, 0x1
|
||||
bl sub_800641C
|
||||
_0801B86A:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0801B870: .4byte gUnknown_80DBA88
|
||||
thumb_func_end sub_801B760
|
||||
|
||||
thumb_func_start sub_801B874
|
||||
sub_801B874:
|
||||
push {r4,lr}
|
||||
sub sp, 0x14
|
||||
ldr r1, _0801B890
|
||||
ldr r0, [r1]
|
||||
ldr r0, [r0, 0x4]
|
||||
adds r4, r1, 0
|
||||
cmp r0, 0x10
|
||||
bls _0801B886
|
||||
b _0801BB0E
|
||||
_0801B886:
|
||||
lsls r0, 2
|
||||
ldr r1, _0801B894
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0801B890: .4byte gUnknown_203B234
|
||||
_0801B894: .4byte _0801B898
|
||||
.align 2, 0
|
||||
_0801B898:
|
||||
.4byte _0801B8DC
|
||||
.4byte _0801B9BC
|
||||
.4byte _0801B9D8
|
||||
.4byte _0801B9E0
|
||||
.4byte _0801B9F0
|
||||
.4byte _0801B9F8
|
||||
.4byte _0801BA08
|
||||
.4byte _0801BA34
|
||||
.4byte _0801BA60
|
||||
.4byte _0801BA6E
|
||||
.4byte _0801BA76
|
||||
.4byte _0801BA94
|
||||
.4byte _0801BA9E
|
||||
.4byte _0801BAD0
|
||||
.4byte _0801BAE0
|
||||
.4byte _0801BAFC
|
||||
.4byte _0801BB0E
|
||||
_0801B8DC:
|
||||
ldr r1, [r4]
|
||||
ldrb r0, [r1, 0x12]
|
||||
cmp r0, 0xEA
|
||||
bne _0801B8FE
|
||||
movs r0, 0x10
|
||||
str r0, [r1, 0x8]
|
||||
movs r0, 0
|
||||
movs r1, 0x47
|
||||
movs r2, 0x1
|
||||
bl sub_8001784
|
||||
cmp r0, 0
|
||||
bne _0801B914
|
||||
movs r0, 0
|
||||
movs r1, 0x47
|
||||
movs r2, 0x1
|
||||
b _0801B92A
|
||||
_0801B8FE:
|
||||
cmp r0, 0xEB
|
||||
bne _0801B938
|
||||
movs r0, 0x10
|
||||
str r0, [r1, 0x8]
|
||||
movs r0, 0
|
||||
movs r1, 0x47
|
||||
movs r2, 0
|
||||
bl sub_8001784
|
||||
cmp r0, 0
|
||||
beq _0801B924
|
||||
_0801B914:
|
||||
movs r0, 0xFA
|
||||
lsls r0, 2
|
||||
bl AddToTeamMoney
|
||||
movs r0, 0x4
|
||||
bl sub_801B748
|
||||
b _0801BB0E
|
||||
_0801B924:
|
||||
movs r0, 0
|
||||
movs r1, 0x47
|
||||
movs r2, 0
|
||||
_0801B92A:
|
||||
movs r3, 0x1
|
||||
bl sub_800199C
|
||||
movs r0, 0x3
|
||||
bl sub_801B748
|
||||
b _0801BB0E
|
||||
_0801B938:
|
||||
bl GetNumberOfFilledInventorySlots
|
||||
cmp r0, 0x13
|
||||
ble _0801B986
|
||||
ldr r0, [r4]
|
||||
ldrb r0, [r0, 0x12]
|
||||
bl IsNotMoneyOrUsedTMItem
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0801B968
|
||||
ldr r0, _0801B970
|
||||
ldr r1, [r0]
|
||||
ldr r2, [r4]
|
||||
ldrb r0, [r2, 0x12]
|
||||
lsls r0, 1
|
||||
adds r1, 0x50
|
||||
adds r3, r1, r0
|
||||
ldrh r1, [r3]
|
||||
ldrb r0, [r2, 0xC]
|
||||
adds r1, r0
|
||||
ldr r0, _0801B974
|
||||
cmp r1, r0
|
||||
ble _0801B978
|
||||
_0801B968:
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x6
|
||||
b _0801B99C
|
||||
.align 2, 0
|
||||
_0801B970: .4byte gTeamInventory_203B460
|
||||
_0801B974: .4byte 0x000003e7
|
||||
_0801B978:
|
||||
strh r1, [r3]
|
||||
movs r0, 0xCB
|
||||
bl PlaySound
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x5
|
||||
b _0801B99C
|
||||
_0801B986:
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x10
|
||||
bl AddItemToInventory
|
||||
bl FillInventoryGaps
|
||||
movs r0, 0xCB
|
||||
bl PlaySound
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x10
|
||||
_0801B99C:
|
||||
str r0, [r1, 0x8]
|
||||
ldr r0, _0801B9B0
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0x1
|
||||
bne _0801B9B4
|
||||
movs r0, 0x2
|
||||
bl sub_801B748
|
||||
b _0801BB0E
|
||||
.align 2, 0
|
||||
_0801B9B0: .4byte gUnknown_203B234
|
||||
_0801B9B4:
|
||||
movs r0, 0x1
|
||||
bl sub_801B748
|
||||
b _0801BB0E
|
||||
_0801B9BC:
|
||||
movs r0, 0
|
||||
bl sub_808D544
|
||||
cmp r0, 0x1
|
||||
bgt _0801B9D0
|
||||
ldr r0, _0801B9CC
|
||||
b _0801BAE8
|
||||
.align 2, 0
|
||||
_0801B9CC: .4byte gUnknown_80DBAA0
|
||||
_0801B9D0:
|
||||
ldr r0, _0801B9D4
|
||||
b _0801BAE8
|
||||
.align 2, 0
|
||||
_0801B9D4: .4byte gUnknown_80DBAD0
|
||||
_0801B9D8:
|
||||
ldr r0, _0801B9DC
|
||||
b _0801BAE8
|
||||
.align 2, 0
|
||||
_0801B9DC: .4byte gUnknown_80DBB08
|
||||
_0801B9E0:
|
||||
movs r0, 0xD4
|
||||
bl PlaySound
|
||||
ldr r0, _0801B9EC
|
||||
b _0801BAE8
|
||||
.align 2, 0
|
||||
_0801B9EC: .4byte gUnknown_80DBB38
|
||||
_0801B9F0:
|
||||
ldr r0, _0801B9F4
|
||||
b _0801BAE8
|
||||
.align 2, 0
|
||||
_0801B9F4: .4byte gUnknown_80DBB9C
|
||||
_0801B9F8:
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x10
|
||||
str r0, [r1, 0x8]
|
||||
ldr r0, _0801BA04
|
||||
b _0801BAE8
|
||||
.align 2, 0
|
||||
_0801BA04: .4byte gUnknown_80DBC28
|
||||
_0801BA08:
|
||||
bl sub_801BB20
|
||||
ldr r0, _0801BA2C
|
||||
ldr r1, _0801BA30
|
||||
ldr r3, [r1]
|
||||
adds r3, 0xCC
|
||||
movs r2, 0
|
||||
str r2, [sp]
|
||||
movs r1, 0x4
|
||||
str r1, [sp, 0x4]
|
||||
str r2, [sp, 0x8]
|
||||
str r2, [sp, 0xC]
|
||||
str r2, [sp, 0x10]
|
||||
movs r1, 0
|
||||
movs r2, 0x4
|
||||
bl sub_8014248
|
||||
b _0801BB0E
|
||||
.align 2, 0
|
||||
_0801BA2C: .4byte gUnknown_80DBC60
|
||||
_0801BA30: .4byte gUnknown_203B234
|
||||
_0801BA34:
|
||||
bl sub_801BC24
|
||||
ldr r0, _0801BA58
|
||||
ldr r1, _0801BA5C
|
||||
ldr r3, [r1]
|
||||
adds r3, 0xCC
|
||||
movs r2, 0
|
||||
str r2, [sp]
|
||||
movs r1, 0x4
|
||||
str r1, [sp, 0x4]
|
||||
str r2, [sp, 0x8]
|
||||
str r2, [sp, 0xC]
|
||||
str r2, [sp, 0x10]
|
||||
movs r1, 0
|
||||
movs r2, 0x3
|
||||
bl sub_8014248
|
||||
b _0801BB0E
|
||||
.align 2, 0
|
||||
_0801BA58: .4byte gUnknown_80DBC98
|
||||
_0801BA5C: .4byte gUnknown_203B234
|
||||
_0801BA60:
|
||||
movs r0, 0x1
|
||||
movs r1, 0x3
|
||||
movs r2, 0
|
||||
movs r3, 0xA
|
||||
bl sub_801A5D8
|
||||
b _0801BB0E
|
||||
_0801BA6E:
|
||||
movs r0, 0x1
|
||||
bl sub_801A8D0
|
||||
b _0801BB0E
|
||||
_0801BA76:
|
||||
bl sub_801A9E0
|
||||
ldr r0, _0801BA90
|
||||
ldr r2, [r0]
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x28
|
||||
adds r1, r2, 0
|
||||
adds r1, 0xCC
|
||||
adds r2, 0xC8
|
||||
ldr r2, [r2]
|
||||
str r2, [sp]
|
||||
movs r2, 0x2
|
||||
b _0801BAC0
|
||||
.align 2, 0
|
||||
_0801BA90: .4byte gUnknown_203B234
|
||||
_0801BA94:
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x20
|
||||
bl sub_801B3C0
|
||||
b _0801BB0E
|
||||
_0801BA9E:
|
||||
bl sub_801A9E0
|
||||
ldr r4, _0801BACC
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x28
|
||||
movs r1, 0
|
||||
bl sub_8012EA4
|
||||
bl sub_801BC24
|
||||
ldr r1, [r4]
|
||||
adds r0, r1, 0
|
||||
adds r0, 0x78
|
||||
adds r1, 0xCC
|
||||
movs r2, 0x3
|
||||
str r2, [sp]
|
||||
movs r2, 0x1
|
||||
_0801BAC0:
|
||||
str r2, [sp, 0x4]
|
||||
movs r2, 0
|
||||
movs r3, 0
|
||||
bl sub_8012D60
|
||||
b _0801BB0E
|
||||
.align 2, 0
|
||||
_0801BACC: .4byte gUnknown_203B234
|
||||
_0801BAD0:
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x10
|
||||
str r0, [r1, 0x8]
|
||||
ldr r0, _0801BADC
|
||||
b _0801BAE8
|
||||
.align 2, 0
|
||||
_0801BADC: .4byte gUnknown_80DBCC4
|
||||
_0801BAE0:
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x10
|
||||
str r0, [r1, 0x8]
|
||||
ldr r0, _0801BAF4
|
||||
_0801BAE8:
|
||||
ldr r3, _0801BAF8
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_80141B4
|
||||
b _0801BB0E
|
||||
.align 2, 0
|
||||
_0801BAF4: .4byte gUnknown_80DBCE8
|
||||
_0801BAF8: .4byte 0x00000101
|
||||
_0801BAFC:
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x10
|
||||
str r0, [r1, 0x8]
|
||||
ldr r0, _0801BB18
|
||||
ldr r3, _0801BB1C
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_80141B4
|
||||
_0801BB0E:
|
||||
add sp, 0x14
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0801BB18: .4byte gUnknown_80DBD24
|
||||
_0801BB1C: .4byte 0x00000101
|
||||
thumb_func_end sub_801B874
|
||||
|
||||
thumb_func_start sub_801BB20
|
||||
sub_801BB20:
|
||||
ldr r0, _0801BB50
|
||||
ldr r3, [r0]
|
||||
movs r2, 0
|
||||
adds r1, r3, 0
|
||||
adds r1, 0xCC
|
||||
ldr r0, _0801BB54
|
||||
str r0, [r1]
|
||||
adds r1, 0x4
|
||||
movs r0, 0x4
|
||||
str r0, [r1]
|
||||
adds r1, 0x4
|
||||
ldr r0, _0801BB58
|
||||
str r0, [r1]
|
||||
adds r1, 0x4
|
||||
movs r0, 0x5
|
||||
str r0, [r1]
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xDC
|
||||
str r2, [r0]
|
||||
adds r1, 0x8
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.align 2, 0
|
||||
_0801BB50: .4byte gUnknown_203B234
|
||||
_0801BB54: .4byte gKangaskhanTrashToolboxItem
|
||||
_0801BB58: .4byte gKangaskhanTrashReceivedItem
|
||||
thumb_func_end sub_801BB20
|
||||
|
||||
thumb_func_start sub_801BB5C
|
||||
sub_801BB5C:
|
||||
push {r4-r7,lr}
|
||||
|
||||
@@ -1445,7 +1445,7 @@ _0801D400:
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
movs r2, 0x7
|
||||
bl sub_808D9AC
|
||||
bl PrintColoredPokeNameToBuffer
|
||||
ldr r2, [r6]
|
||||
str r4, [r2, 0x18]
|
||||
adds r0, r2, 0
|
||||
|
||||
@@ -1730,7 +1730,7 @@ sub_801FB50:
|
||||
bl GetPlayerPokemonStruct
|
||||
adds r1, r0, 0
|
||||
adds r0, r5, 0
|
||||
bl sub_808DA34
|
||||
bl PrintPokeNameToBuffer
|
||||
ldr r2, [r6]
|
||||
ldr r0, [r2]
|
||||
cmp r0, 0x1
|
||||
@@ -3613,7 +3613,7 @@ _08020AB0:
|
||||
ldr r0, _08020AE8
|
||||
ldr r1, [r4]
|
||||
ldr r1, [r1, 0x10]
|
||||
bl sub_808DA34
|
||||
bl PrintPokeNameToBuffer
|
||||
movs r0, 0x11
|
||||
bl sub_801FDA8
|
||||
b _08020B32
|
||||
@@ -3639,7 +3639,7 @@ _08020AEC:
|
||||
ldr r0, _08020B24
|
||||
ldr r1, [r4]
|
||||
ldr r1, [r1, 0x10]
|
||||
bl sub_808DA34
|
||||
bl PrintPokeNameToBuffer
|
||||
movs r0, 0x12
|
||||
bl sub_801FDA8
|
||||
b _08020B32
|
||||
@@ -7265,12 +7265,12 @@ sub_80227B8:
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
movs r2, 0x7
|
||||
bl sub_808D9AC
|
||||
bl PrintColoredPokeNameToBuffer
|
||||
adds r4, 0x50
|
||||
adds r0, r4, 0
|
||||
adds r1, r5, 0
|
||||
movs r2, 0x6
|
||||
bl sub_808D9AC
|
||||
bl PrintColoredPokeNameToBuffer
|
||||
bl HasGummiItem
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
|
||||
@@ -110,7 +110,7 @@ sub_8042B34:
|
||||
adds r6, r2, 0
|
||||
movs r0, 0
|
||||
mov r8, r0
|
||||
bl sub_8085480
|
||||
bl xxx_call_GetLeaderEntity
|
||||
mov r10, r0
|
||||
ldr r7, _08042CB0
|
||||
movs r0, 0xCC
|
||||
|
||||
@@ -698,9 +698,9 @@ sub_8052910:
|
||||
push {r6,r7}
|
||||
sub sp, 0x14
|
||||
adds r6, r0, 0
|
||||
bl sub_8085480
|
||||
bl xxx_call_GetLeaderEntity
|
||||
adds r4, r0, 0
|
||||
bl sub_808548C
|
||||
bl GetPartnerEntity
|
||||
adds r5, r0, 0
|
||||
movs r0, 0
|
||||
mov r9, r0
|
||||
|
||||
6402
asm/code_8057824.s
6402
asm/code_8057824.s
File diff suppressed because it is too large
Load Diff
6234
asm/code_806CD90.s
Normal file
6234
asm/code_806CD90.s
Normal file
File diff suppressed because it is too large
Load Diff
@@ -29874,267 +29874,4 @@ _080848E4: .4byte gDungeonGlobalData
|
||||
_080848E8: .4byte 0x00000675
|
||||
thumb_func_end sub_8084854
|
||||
|
||||
thumb_func_start sub_80848EC
|
||||
sub_80848EC:
|
||||
movs r0, 0x1
|
||||
bx lr
|
||||
thumb_func_end sub_80848EC
|
||||
|
||||
thumb_func_start sub_80848F0
|
||||
sub_80848F0:
|
||||
push {lr}
|
||||
ldr r2, _08084918
|
||||
ldr r0, [r2]
|
||||
ldr r1, _0808491C
|
||||
adds r0, r1
|
||||
movs r1, 0x1
|
||||
strb r1, [r0]
|
||||
ldr r0, [r2]
|
||||
ldr r1, _08084920
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x3C
|
||||
bls _0808490C
|
||||
b _08084B5C
|
||||
_0808490C:
|
||||
lsls r0, 2
|
||||
ldr r1, _08084924
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08084918: .4byte gDungeonGlobalData
|
||||
_0808491C: .4byte 0x0001356c
|
||||
_08084920: .4byte 0x00003a0d
|
||||
_08084924: .4byte _08084928
|
||||
.align 2, 0
|
||||
_08084928:
|
||||
.4byte _08084A1C
|
||||
.4byte _08084A2C
|
||||
.4byte _08084A2C
|
||||
.4byte _08084A32
|
||||
.4byte _08084A38
|
||||
.4byte _08084A38
|
||||
.4byte _08084A3E
|
||||
.4byte _08084A44
|
||||
.4byte _08084A44
|
||||
.4byte _08084A4A
|
||||
.4byte _08084A50
|
||||
.4byte _08084A50
|
||||
.4byte _08084A56
|
||||
.4byte _08084A5C
|
||||
.4byte _08084A62
|
||||
.4byte _08084A68
|
||||
.4byte _08084A6E
|
||||
.4byte _08084A74
|
||||
.4byte _08084A7A
|
||||
.4byte _08084A80
|
||||
.4byte _08084A86
|
||||
.4byte _08084A8C
|
||||
.4byte _08084A92
|
||||
.4byte _08084A98
|
||||
.4byte _08084A98
|
||||
.4byte _08084A9E
|
||||
.4byte _08084AA4
|
||||
.4byte _08084AA4
|
||||
.4byte _08084AAA
|
||||
.4byte _08084AB0
|
||||
.4byte _08084AB0
|
||||
.4byte _08084AB6
|
||||
.4byte _08084ABC
|
||||
.4byte _08084ABC
|
||||
.4byte _08084AC2
|
||||
.4byte _08084AC8
|
||||
.4byte _08084ACE
|
||||
.4byte _08084AD4
|
||||
.4byte _08084ADA
|
||||
.4byte _08084AE0
|
||||
.4byte _08084AE6
|
||||
.4byte _08084AEC
|
||||
.4byte _08084AF2
|
||||
.4byte _08084AF8
|
||||
.4byte _08084AFE
|
||||
.4byte _08084B04
|
||||
.4byte _08084B0A
|
||||
.4byte _08084B10
|
||||
.4byte _08084B16
|
||||
.4byte _08084B1C
|
||||
.4byte _08084B22
|
||||
.4byte _08084B28
|
||||
.4byte _08084B2E
|
||||
.4byte _08084B34
|
||||
.4byte _08084B3A
|
||||
.4byte _08084B40
|
||||
.4byte _08084B46
|
||||
.4byte _08084B4C
|
||||
.4byte _08084B52
|
||||
.4byte _08084B58
|
||||
.4byte _08084A1C
|
||||
_08084A1C:
|
||||
ldr r0, [r2]
|
||||
ldr r1, _08084A28
|
||||
adds r0, r1
|
||||
movs r1, 0
|
||||
strb r1, [r0]
|
||||
b _08084B5C
|
||||
.align 2, 0
|
||||
_08084A28: .4byte 0x0001356c
|
||||
_08084A2C:
|
||||
bl sub_8086B14
|
||||
b _08084B5C
|
||||
_08084A32:
|
||||
bl sub_8086B94
|
||||
b _08084B5C
|
||||
_08084A38:
|
||||
bl sub_8086E9C
|
||||
b _08084B5C
|
||||
_08084A3E:
|
||||
bl sub_8086F00
|
||||
b _08084B5C
|
||||
_08084A44:
|
||||
bl sub_8087230
|
||||
b _08084B5C
|
||||
_08084A4A:
|
||||
bl sub_808729C
|
||||
b _08084B5C
|
||||
_08084A50:
|
||||
bl sub_80877E8
|
||||
b _08084B5C
|
||||
_08084A56:
|
||||
bl sub_8087848
|
||||
b _08084B5C
|
||||
_08084A5C:
|
||||
bl sub_8087F54
|
||||
b _08084B5C
|
||||
_08084A62:
|
||||
bl sub_8087FB4
|
||||
b _08084B5C
|
||||
_08084A68:
|
||||
bl sub_8087FF8
|
||||
b _08084B5C
|
||||
_08084A6E:
|
||||
bl sub_80885A0
|
||||
b _08084B5C
|
||||
_08084A74:
|
||||
bl sub_80885C4
|
||||
b _08084B5C
|
||||
_08084A7A:
|
||||
bl sub_808862C
|
||||
b _08084B5C
|
||||
_08084A80:
|
||||
bl sub_80886C4
|
||||
b _08084B5C
|
||||
_08084A86:
|
||||
bl sub_808875C
|
||||
b _08084B5C
|
||||
_08084A8C:
|
||||
bl sub_8088DC0
|
||||
b _08084B5C
|
||||
_08084A92:
|
||||
bl sub_8088E5C
|
||||
b _08084B5C
|
||||
_08084A98:
|
||||
bl sub_80892C8
|
||||
b _08084B5C
|
||||
_08084A9E:
|
||||
bl sub_8089328
|
||||
b _08084B5C
|
||||
_08084AA4:
|
||||
bl sub_808970C
|
||||
b _08084B5C
|
||||
_08084AAA:
|
||||
bl sub_808974C
|
||||
b _08084B5C
|
||||
_08084AB0:
|
||||
bl sub_8089914
|
||||
b _08084B5C
|
||||
_08084AB6:
|
||||
bl sub_8089978
|
||||
b _08084B5C
|
||||
_08084ABC:
|
||||
bl sub_8089C44
|
||||
b _08084B5C
|
||||
_08084AC2:
|
||||
bl sub_8089C90
|
||||
b _08084B5C
|
||||
_08084AC8:
|
||||
bl sub_8089EFC
|
||||
b _08084B5C
|
||||
_08084ACE:
|
||||
bl sub_8089F44
|
||||
b _08084B5C
|
||||
_08084AD4:
|
||||
bl sub_8089F8C
|
||||
b _08084B5C
|
||||
_08084ADA:
|
||||
bl sub_808A264
|
||||
b _08084B5C
|
||||
_08084AE0:
|
||||
bl sub_808A2C0
|
||||
b _08084B5C
|
||||
_08084AE6:
|
||||
bl sub_808A308
|
||||
b _08084B5C
|
||||
_08084AEC:
|
||||
bl sub_808A608
|
||||
b _08084B5C
|
||||
_08084AF2:
|
||||
bl sub_808A668
|
||||
b _08084B5C
|
||||
_08084AF8:
|
||||
bl sub_808A9E4
|
||||
b _08084B5C
|
||||
_08084AFE:
|
||||
bl sub_808AA3C
|
||||
b _08084B5C
|
||||
_08084B04:
|
||||
bl sub_808AA94
|
||||
b _08084B5C
|
||||
_08084B0A:
|
||||
bl sub_808ACC0
|
||||
b _08084B5C
|
||||
_08084B10:
|
||||
bl sub_808AD48
|
||||
b _08084B5C
|
||||
_08084B16:
|
||||
bl sub_808ADCC
|
||||
b _08084B5C
|
||||
_08084B1C:
|
||||
bl sub_808B2F4
|
||||
b _08084B5C
|
||||
_08084B22:
|
||||
bl sub_808B35C
|
||||
b _08084B5C
|
||||
_08084B28:
|
||||
bl sub_808BDEC
|
||||
b _08084B5C
|
||||
_08084B2E:
|
||||
bl sub_808C10C
|
||||
b _08084B5C
|
||||
_08084B34:
|
||||
bl sub_808C3A0
|
||||
b _08084B5C
|
||||
_08084B3A:
|
||||
bl sub_808C5C0
|
||||
b _08084B5C
|
||||
_08084B40:
|
||||
bl sub_808C938
|
||||
b _08084B5C
|
||||
_08084B46:
|
||||
bl sub_808C9C4
|
||||
b _08084B5C
|
||||
_08084B4C:
|
||||
bl sub_808CB5C
|
||||
b _08084B5C
|
||||
_08084B52:
|
||||
bl sub_808CBB0
|
||||
b _08084B5C
|
||||
_08084B58:
|
||||
bl sub_808CD44
|
||||
_08084B5C:
|
||||
bl sub_8097FF8
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80848F0
|
||||
|
||||
.align 2,0
|
||||
|
||||
@@ -269,16 +269,16 @@ _0808546E:
|
||||
_0808547C: .4byte gUnknown_80F4598
|
||||
thumb_func_end sub_8085374
|
||||
|
||||
thumb_func_start sub_8085480
|
||||
sub_8085480:
|
||||
thumb_func_start xxx_call_GetLeaderEntity
|
||||
xxx_call_GetLeaderEntity:
|
||||
push {lr}
|
||||
bl GetLeaderEntity
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8085480
|
||||
thumb_func_end xxx_call_GetLeaderEntity
|
||||
|
||||
thumb_func_start sub_808548C
|
||||
sub_808548C:
|
||||
thumb_func_start GetPartnerEntity
|
||||
GetPartnerEntity:
|
||||
push {r4,r5,lr}
|
||||
movs r5, 0
|
||||
_08085490:
|
||||
@@ -314,7 +314,7 @@ _080854CC:
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_808548C
|
||||
thumb_func_end GetPartnerEntity
|
||||
|
||||
thumb_func_start sub_80854D4
|
||||
sub_80854D4:
|
||||
@@ -500,7 +500,7 @@ _08085618:
|
||||
ble _080855EC
|
||||
cmp r7, 0
|
||||
bne _0808562E
|
||||
bl sub_808548C
|
||||
bl GetPartnerEntity
|
||||
cmp r0, 0
|
||||
beq _0808562E
|
||||
bl _call_via_r6
|
||||
@@ -889,8 +889,8 @@ _080858FE:
|
||||
bx r0
|
||||
thumb_func_end sub_80858AC
|
||||
|
||||
thumb_func_start sub_8085918
|
||||
sub_8085918:
|
||||
thumb_func_start SetFacingDirection
|
||||
SetFacingDirection:
|
||||
push {r4,lr}
|
||||
ldr r3, [r0, 0x70]
|
||||
movs r4, 0x7
|
||||
@@ -902,7 +902,7 @@ sub_8085918:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8085918
|
||||
thumb_func_end SetFacingDirection
|
||||
|
||||
thumb_func_start sub_8085930
|
||||
sub_8085930:
|
||||
@@ -1045,4 +1045,4 @@ _08085A42:
|
||||
bx r0
|
||||
thumb_func_end sub_80859F0
|
||||
|
||||
.align 2, 0
|
||||
.align 2, 0
|
||||
|
||||
@@ -22,7 +22,7 @@ sub_8085B0C:
|
||||
_08085B26:
|
||||
ldrb r1, [r4]
|
||||
adds r0, r5, 0
|
||||
bl sub_8085918
|
||||
bl SetFacingDirection
|
||||
movs r0, 0x6
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
|
||||
@@ -5,350 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start SkarmoryPreFightDialogue
|
||||
SkarmoryPreFightDialogue:
|
||||
push {r4-r6,lr}
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5,r6}
|
||||
sub sp, 0x10
|
||||
bl sub_8085480
|
||||
mov r8, r0
|
||||
bl sub_808548C
|
||||
mov r9, r0
|
||||
movs r0, 0x4
|
||||
bl sub_8085680
|
||||
adds r4, r0, 0
|
||||
movs r0, 0x3
|
||||
bl sub_8085680
|
||||
adds r6, r0, 0
|
||||
ldr r0, [r4, 0xC]
|
||||
str r0, [sp]
|
||||
ldr r0, [r4, 0x10]
|
||||
movs r1, 0xC0
|
||||
lsls r1, 6
|
||||
adds r0, r1
|
||||
str r0, [sp, 0x4]
|
||||
ldr r0, [r6, 0xC]
|
||||
str r0, [sp, 0x8]
|
||||
ldr r0, [r6, 0x10]
|
||||
movs r2, 0x80
|
||||
lsls r2, 6
|
||||
adds r0, r2
|
||||
add r5, sp, 0x8
|
||||
str r0, [r5, 0x4]
|
||||
bl sub_8086448
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
mov r0, r9
|
||||
bl sub_80862BC
|
||||
movs r0, 0x20
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _08086D84
|
||||
bl sub_8052910
|
||||
mov r0, sp
|
||||
movs r1, 0x40
|
||||
bl sub_80858AC
|
||||
movs r0, 0x40
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x30
|
||||
bl sub_80858AC
|
||||
ldr r0, _08086D88
|
||||
bl sub_8052910
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, [r4, 0x70]
|
||||
ldr r2, _08086D8C
|
||||
adds r1, r0, r2
|
||||
movs r0, 0x1
|
||||
strb r0, [r1]
|
||||
mov r0, sp
|
||||
movs r1, 0x30
|
||||
bl sub_80858AC
|
||||
ldr r0, _08086D90
|
||||
bl sub_8052910
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x20
|
||||
bl sub_80858AC
|
||||
movs r0, 0x20
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
adds r0, r6, 0
|
||||
bl sub_8086E74
|
||||
ldr r0, _08086D94
|
||||
bl sub_8052910
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _08086D98
|
||||
bl sub_8052910
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _08086D9C
|
||||
bl sub_8052910
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _08086DA0
|
||||
bl sub_8052910
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
adds r0, r6, 0
|
||||
movs r1, 0xD
|
||||
movs r2, 0
|
||||
bl sub_806CDD4
|
||||
ldr r0, _08086DA4
|
||||
bl sub_8052910
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
mov r0, r9
|
||||
movs r1, 0x4
|
||||
movs r2, 0x1
|
||||
movs r3, 0x2
|
||||
bl sub_80869E4
|
||||
mov r0, r8
|
||||
movs r1, 0x4
|
||||
movs r2, 0x2
|
||||
movs r3, 0x6
|
||||
bl sub_80869E4
|
||||
ldr r0, _08086DA8
|
||||
bl sub_8052910
|
||||
mov r0, r9
|
||||
movs r1, 0x4
|
||||
movs r2, 0x2
|
||||
movs r3, 0x4
|
||||
bl sub_80869E4
|
||||
mov r0, r8
|
||||
movs r1, 0x4
|
||||
movs r2, 0x1
|
||||
movs r3, 0x4
|
||||
bl sub_80869E4
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
movs r0, 0xB
|
||||
bl sub_8083E88
|
||||
movs r0, 0xC
|
||||
add r8, r0
|
||||
mov r0, r8
|
||||
movs r1, 0x10
|
||||
bl sub_80858AC
|
||||
add sp, 0x10
|
||||
pop {r3,r4}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08086D84: .4byte gUnknown_8100768
|
||||
_08086D88: .4byte gUnknown_8100798
|
||||
_08086D8C: .4byte 0x0000015d
|
||||
_08086D90: .4byte gUnknown_8100820
|
||||
_08086D94: .4byte gUnknown_8100844
|
||||
_08086D98: .4byte gUnknown_8100880
|
||||
_08086D9C: .4byte gUnknown_8100928
|
||||
_08086DA0: .4byte gUnknown_8100A04
|
||||
_08086DA4: .4byte gUnknown_8100B80
|
||||
_08086DA8: .4byte gUnknown_8100BC0
|
||||
thumb_func_end SkarmoryPreFightDialogue
|
||||
|
||||
thumb_func_start SkarmoryReFightDialogue
|
||||
SkarmoryReFightDialogue:
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x8
|
||||
bl sub_8085480
|
||||
adds r5, r0, 0
|
||||
movs r0, 0x3
|
||||
bl sub_8085680
|
||||
adds r4, r0, 0
|
||||
ldr r0, [r4, 0xC]
|
||||
str r0, [sp]
|
||||
ldr r0, [r4, 0x10]
|
||||
movs r1, 0x80
|
||||
lsls r1, 6
|
||||
adds r0, r1
|
||||
str r0, [sp, 0x4]
|
||||
bl sub_8086448
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
adds r0, r4, 0
|
||||
bl sub_8086E74
|
||||
mov r0, sp
|
||||
movs r1, 0x10
|
||||
bl sub_80858AC
|
||||
ldr r0, _08086E34
|
||||
bl sub_8052910
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _08086E38
|
||||
bl sub_8052910
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
adds r0, r4, 0
|
||||
movs r1, 0xD
|
||||
movs r2, 0
|
||||
bl sub_806CDD4
|
||||
ldr r0, _08086E3C
|
||||
bl sub_8052910
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
adds r5, 0xC
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x10
|
||||
bl sub_80858AC
|
||||
movs r0, 0xB
|
||||
bl sub_8083E88
|
||||
add sp, 0x8
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08086E34: .4byte gUnknown_8100C90
|
||||
_08086E38: .4byte gUnknown_8100CBC
|
||||
_08086E3C: .4byte gUnknown_8100CDC
|
||||
thumb_func_end SkarmoryReFightDialogue
|
||||
|
||||
thumb_func_start sub_8086E40
|
||||
sub_8086E40:
|
||||
push {lr}
|
||||
bl sub_8085480
|
||||
bl SpriteLookAroundEffect
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _08086E6C
|
||||
bl sub_8052910
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
ldr r0, _08086E70
|
||||
ldr r1, [r0]
|
||||
movs r0, 0x1
|
||||
strb r0, [r1, 0x2]
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08086E6C: .4byte gUnknown_8100D3C
|
||||
_08086E70: .4byte gDungeonGlobalData
|
||||
thumb_func_end sub_8086E40
|
||||
|
||||
thumb_func_start sub_8086E74
|
||||
sub_8086E74:
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
movs r1, 0xF
|
||||
movs r2, 0
|
||||
bl sub_806CDD4
|
||||
adds r0, r4, 0
|
||||
bl sub_8086A54
|
||||
movs r0, 0xFC
|
||||
lsls r0, 1
|
||||
bl PlaySoundEffect
|
||||
movs r0, 0x44
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8086E74
|
||||
|
||||
thumb_func_start sub_8086E9C
|
||||
sub_8086E9C:
|
||||
push {r4,r5,lr}
|
||||
bl sub_8085480
|
||||
adds r5, r0, 0
|
||||
movs r0, 0x72
|
||||
bl sub_8083E88
|
||||
bl sub_8085374
|
||||
bl sub_80854D4
|
||||
movs r0, 0x4
|
||||
bl sub_8085930
|
||||
ldr r4, _08086EF8
|
||||
adds r0, r4, 0
|
||||
bl sub_80855E4
|
||||
adds r0, r4, 0
|
||||
bl sub_808563C
|
||||
movs r1, 0x4
|
||||
ldrsh r0, [r5, r1]
|
||||
movs r2, 0x6
|
||||
ldrsh r1, [r5, r2]
|
||||
subs r1, 0x3
|
||||
bl sub_8085860
|
||||
ldr r4, _08086EFC
|
||||
adds r0, r4, 0
|
||||
movs r1, 0xB
|
||||
bl CopySpeciesNametoBuffer
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x50
|
||||
movs r1, 0x5E
|
||||
bl CopySpeciesNametoBuffer
|
||||
adds r4, 0xA0
|
||||
adds r0, r4, 0
|
||||
movs r1, 0xA
|
||||
bl CopySpeciesNametoBuffer
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08086EF8: .4byte sub_8086A3C
|
||||
_08086EFC: .4byte gUnknown_202E038
|
||||
thumb_func_end sub_8086E9C
|
||||
|
||||
thumb_func_start sub_8086F00
|
||||
sub_8086F00:
|
||||
push {r4,lr}
|
||||
bl sub_8085480
|
||||
adds r4, r0, 0
|
||||
bl sub_80854D4
|
||||
movs r0, 0x4
|
||||
bl sub_8085930
|
||||
ldr r0, _08086F4C
|
||||
bl sub_80855E4
|
||||
movs r1, 0x4
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, 0x6
|
||||
ldrsh r1, [r4, r2]
|
||||
subs r1, 0x3
|
||||
bl sub_8085860
|
||||
ldr r4, _08086F50
|
||||
adds r0, r4, 0
|
||||
movs r1, 0xB
|
||||
bl CopySpeciesNametoBuffer
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x50
|
||||
movs r1, 0x5E
|
||||
bl CopySpeciesNametoBuffer
|
||||
adds r4, 0xA0
|
||||
adds r0, r4, 0
|
||||
movs r1, 0xA
|
||||
bl CopySpeciesNametoBuffer
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08086F4C: .4byte sub_8086A3C
|
||||
_08086F50: .4byte gUnknown_202E038
|
||||
thumb_func_end sub_8086F00
|
||||
|
||||
thumb_func_start sub_8086F54
|
||||
sub_8086F54:
|
||||
push {r4-r6,lr}
|
||||
@@ -405,7 +61,7 @@ _08086FB4: .4byte 0x0001358c
|
||||
thumb_func_start TeamMeaniesPreFightDialogue
|
||||
TeamMeaniesPreFightDialogue:
|
||||
push {r4,lr}
|
||||
bl sub_8085480
|
||||
bl xxx_call_GetLeaderEntity
|
||||
adds r4, r0, 0
|
||||
bl sub_8086448
|
||||
movs r0, 0xA
|
||||
@@ -469,9 +125,9 @@ _08087060: .4byte gUnknown_81010D0
|
||||
thumb_func_start TeamMeaniesReFightDialogue
|
||||
TeamMeaniesReFightDialogue:
|
||||
push {r4,r5,lr}
|
||||
bl sub_8085480
|
||||
bl xxx_call_GetLeaderEntity
|
||||
adds r4, r0, 0
|
||||
bl sub_808548C
|
||||
bl GetPartnerEntity
|
||||
adds r5, r0, 0
|
||||
bl sub_8086448
|
||||
ldr r0, _08087118
|
||||
@@ -665,7 +321,7 @@ _0808722C: .4byte 0x0000015f
|
||||
thumb_func_start sub_8087230
|
||||
sub_8087230:
|
||||
push {r4-r6,lr}
|
||||
bl sub_8085480
|
||||
bl xxx_call_GetLeaderEntity
|
||||
adds r6, r0, 0
|
||||
movs r0, 0x8
|
||||
bl sub_8085680
|
||||
@@ -681,7 +337,7 @@ sub_8087230:
|
||||
bl sub_80855E4
|
||||
adds r0, r5, 0
|
||||
movs r1, 0
|
||||
bl sub_8085918
|
||||
bl SetFacingDirection
|
||||
adds r0, r5, 0
|
||||
bl _call_via_r4
|
||||
movs r1, 0x4
|
||||
@@ -711,7 +367,7 @@ _08087298: .4byte gUnknown_202E038
|
||||
sub_808729C:
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x4
|
||||
bl sub_8085480
|
||||
bl xxx_call_GetLeaderEntity
|
||||
adds r5, r0, 0
|
||||
movs r0, 0x8
|
||||
bl sub_8085680
|
||||
@@ -747,7 +403,7 @@ _080872E0:
|
||||
bl sub_8072008
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_8085918
|
||||
bl SetFacingDirection
|
||||
adds r0, r4, 0
|
||||
bl _call_via_r6
|
||||
_08087300:
|
||||
@@ -810,9 +466,9 @@ ZapdosPreFightDialogue:
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x70
|
||||
bl sub_8085480
|
||||
bl xxx_call_GetLeaderEntity
|
||||
mov r9, r0
|
||||
bl sub_808548C
|
||||
bl GetPartnerEntity
|
||||
adds r6, r0, 0
|
||||
movs r0, 0x8
|
||||
bl sub_8085680
|
||||
|
||||
@@ -412,7 +412,7 @@ sub_809542C:
|
||||
bl GetPlayerPokemonStruct
|
||||
adds r1, r0, 0
|
||||
mov r0, sp
|
||||
bl sub_808DA34
|
||||
bl PrintPokeNameToBuffer
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x14
|
||||
mov r1, sp
|
||||
|
||||
@@ -364,13 +364,13 @@ _080255D2:
|
||||
ldr r1, [r0, 0x1C]
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x7
|
||||
bl sub_808D9AC
|
||||
bl PrintColoredPokeNameToBuffer
|
||||
adds r4, 0x50
|
||||
ldr r0, [r5]
|
||||
ldr r1, [r0, 0x1C]
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x6
|
||||
bl sub_808D9AC
|
||||
bl PrintColoredPokeNameToBuffer
|
||||
ldr r2, [r5]
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x78
|
||||
@@ -1911,13 +1911,13 @@ _0802625C:
|
||||
ldr r1, [r0, 0x18]
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x7
|
||||
bl sub_808D9AC
|
||||
bl PrintColoredPokeNameToBuffer
|
||||
adds r4, 0x50
|
||||
ldr r0, [r5]
|
||||
ldr r1, [r0, 0x18]
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x6
|
||||
bl sub_808D9AC
|
||||
bl PrintColoredPokeNameToBuffer
|
||||
ldr r2, [r5]
|
||||
adds r0, r2, 0
|
||||
adds r0, 0x7C
|
||||
@@ -1945,13 +1945,13 @@ _080262A8:
|
||||
ldr r1, [r0, 0x18]
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x7
|
||||
bl sub_808D9AC
|
||||
bl PrintColoredPokeNameToBuffer
|
||||
adds r4, 0x50
|
||||
ldr r0, [r5]
|
||||
ldr r1, [r0, 0x18]
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x6
|
||||
bl sub_808D9AC
|
||||
bl PrintColoredPokeNameToBuffer
|
||||
ldr r0, [r5]
|
||||
adds r0, 0x7C
|
||||
movs r1, 0x1
|
||||
|
||||
@@ -449,7 +449,7 @@ _0808B98E:
|
||||
bl CalculateFacingDir
|
||||
adds r1, r0, 0
|
||||
adds r0, r6, 0
|
||||
bl sub_8085918
|
||||
bl SetFacingDirection
|
||||
movs r0, 0xA
|
||||
movs r1, 0x46
|
||||
bl sub_803E708
|
||||
|
||||
289
asm/mailbox.s
289
asm/mailbox.s
@@ -268,293 +268,4 @@ _0802E4A8:
|
||||
bx r0
|
||||
thumb_func_end CreateMailActionMenu
|
||||
|
||||
thumb_func_start sub_802E4B0
|
||||
sub_802E4B0:
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
ldr r4, _0802E4F0
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x6C
|
||||
bl sub_8012FD8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0802E4DC
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x6C
|
||||
mov r1, sp
|
||||
bl sub_8013114
|
||||
ldr r1, [sp]
|
||||
cmp r1, 0x1
|
||||
beq _0802E4DC
|
||||
ldr r0, [r4]
|
||||
str r1, [r0, 0x64]
|
||||
_0802E4DC:
|
||||
ldr r0, [sp]
|
||||
subs r0, 0x1
|
||||
cmp r0, 0x7
|
||||
bhi _0802E56E
|
||||
lsls r0, 2
|
||||
ldr r1, _0802E4F4
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0802E4F0: .4byte gUnknown_203B304
|
||||
_0802E4F4: .4byte _0802E4F8
|
||||
.align 2, 0
|
||||
_0802E4F8:
|
||||
.4byte _0802E568
|
||||
.4byte _0802E518
|
||||
.4byte _0802E52A
|
||||
.4byte _0802E53C
|
||||
.4byte _0802E56E
|
||||
.4byte _0802E56E
|
||||
.4byte _0802E56E
|
||||
.4byte _0802E560
|
||||
_0802E518:
|
||||
bl HasNoMailinMailbox
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0802E54E
|
||||
movs r0, 0x4
|
||||
bl SetMailboxState
|
||||
b _0802E56E
|
||||
_0802E52A:
|
||||
bl HasNoAcceptedJobs
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0802E54E
|
||||
movs r0, 0x8
|
||||
bl SetMailboxState
|
||||
b _0802E56E
|
||||
_0802E53C:
|
||||
bl HasNoPKMNNews
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0802E54E
|
||||
movs r0, 0x9
|
||||
bl SetMailboxState
|
||||
b _0802E56E
|
||||
_0802E54E:
|
||||
ldr r0, _0802E55C
|
||||
ldr r0, [r0]
|
||||
adds r0, 0x6C
|
||||
movs r1, 0x1
|
||||
bl sub_8012EA4
|
||||
b _0802E56E
|
||||
.align 2, 0
|
||||
_0802E55C: .4byte gUnknown_203B304
|
||||
_0802E560:
|
||||
movs r0, 0x2
|
||||
bl SetMailboxState
|
||||
b _0802E56E
|
||||
_0802E568:
|
||||
movs r0, 0x3
|
||||
bl SetMailboxState
|
||||
_0802E56E:
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_802E4B0
|
||||
|
||||
thumb_func_start sub_802E578
|
||||
sub_802E578:
|
||||
push {r4,lr}
|
||||
movs r0, 0x1
|
||||
bl sub_802BDEC
|
||||
cmp r0, 0x4
|
||||
bhi _0802E606
|
||||
lsls r0, 2
|
||||
ldr r1, _0802E590
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0802E590: .4byte _0802E594
|
||||
.align 2, 0
|
||||
_0802E594:
|
||||
.4byte _0802E606
|
||||
.4byte _0802E606
|
||||
.4byte _0802E5FC
|
||||
.4byte _0802E5A8
|
||||
.4byte _0802E5C0
|
||||
_0802E5A8:
|
||||
bl sub_802BE74
|
||||
ldr r1, _0802E5BC
|
||||
ldr r1, [r1]
|
||||
strb r0, [r1, 0x8]
|
||||
movs r0, 0x6
|
||||
bl SetMailboxState
|
||||
b _0802E606
|
||||
.align 2, 0
|
||||
_0802E5BC: .4byte gUnknown_203B304
|
||||
_0802E5C0:
|
||||
bl sub_802BE74
|
||||
ldr r4, _0802E5F0
|
||||
ldr r1, [r4]
|
||||
strb r0, [r1, 0x8]
|
||||
ldr r0, [r4]
|
||||
ldrb r0, [r0, 0x8]
|
||||
bl sub_8095FE8
|
||||
adds r2, r0, 0
|
||||
ldrb r0, [r2]
|
||||
cmp r0, 0x1
|
||||
bne _0802E5F4
|
||||
ldr r1, [r4]
|
||||
ldrb r0, [r2, 0x5]
|
||||
strb r0, [r1, 0x9]
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x5
|
||||
str r0, [r1, 0x4]
|
||||
movs r0, 0xB
|
||||
bl SetMailboxState
|
||||
b _0802E606
|
||||
.align 2, 0
|
||||
_0802E5F0: .4byte gUnknown_203B304
|
||||
_0802E5F4:
|
||||
movs r0, 0x7
|
||||
bl SetMailboxState
|
||||
b _0802E606
|
||||
_0802E5FC:
|
||||
bl sub_802BEDC
|
||||
movs r0, 0x1
|
||||
bl SetMailboxState
|
||||
_0802E606:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_802E578
|
||||
|
||||
thumb_func_start sub_802E60C
|
||||
sub_802E60C:
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
bl sub_802BDEC
|
||||
ldr r4, _0802E650
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x6C
|
||||
bl sub_8012FD8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0802E63C
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x6C
|
||||
mov r1, sp
|
||||
bl sub_8013114
|
||||
ldr r1, [sp]
|
||||
cmp r1, 0x1
|
||||
beq _0802E63C
|
||||
ldr r0, [r4]
|
||||
str r1, [r0, 0x68]
|
||||
_0802E63C:
|
||||
ldr r0, [sp]
|
||||
subs r0, 0x1
|
||||
cmp r0, 0x7
|
||||
bhi _0802E732
|
||||
lsls r0, 2
|
||||
ldr r1, _0802E654
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0802E650: .4byte gUnknown_203B304
|
||||
_0802E654: .4byte _0802E658
|
||||
.align 2, 0
|
||||
_0802E658:
|
||||
.4byte _0802E72C
|
||||
.4byte _0802E732
|
||||
.4byte _0802E732
|
||||
.4byte _0802E732
|
||||
.4byte _0802E678
|
||||
.4byte _0802E6BC
|
||||
.4byte _0802E704
|
||||
.4byte _0802E6B4
|
||||
_0802E678:
|
||||
ldr r0, _0802E6AC
|
||||
bl PlaySound
|
||||
ldr r4, _0802E6B0
|
||||
ldr r0, [r4]
|
||||
ldrb r0, [r0, 0x8]
|
||||
bl sub_8095FE8
|
||||
bl sub_8096A78
|
||||
bl sub_8096C80
|
||||
bl sub_8096D24
|
||||
ldr r0, [r4]
|
||||
ldrb r0, [r0, 0x8]
|
||||
bl sub_8096040
|
||||
bl sub_8096078
|
||||
bl HasNoMailinMailbox
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0802E6E8
|
||||
b _0802E6FC
|
||||
.align 2, 0
|
||||
_0802E6AC: .4byte 0x00000133
|
||||
_0802E6B0: .4byte gUnknown_203B304
|
||||
_0802E6B4:
|
||||
movs r0, 0x7
|
||||
bl SetMailboxState
|
||||
b _0802E732
|
||||
_0802E6BC:
|
||||
ldr r0, _0802E6F4
|
||||
bl PlaySound
|
||||
ldr r4, _0802E6F8
|
||||
ldr r0, [r4]
|
||||
ldrb r0, [r0, 0x8]
|
||||
bl sub_8095FE8
|
||||
ldrb r0, [r0, 0x5]
|
||||
bl sub_8096DF8
|
||||
ldr r0, [r4]
|
||||
ldrb r0, [r0, 0x8]
|
||||
bl sub_8096040
|
||||
bl sub_8096078
|
||||
bl HasNoMailinMailbox
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0802E6FC
|
||||
_0802E6E8:
|
||||
bl sub_802BEDC
|
||||
movs r0, 0x1
|
||||
bl SetMailboxState
|
||||
b _0802E732
|
||||
.align 2, 0
|
||||
_0802E6F4: .4byte 0x00000133
|
||||
_0802E6F8: .4byte gUnknown_203B304
|
||||
_0802E6FC:
|
||||
movs r0, 0x5
|
||||
bl SetMailboxState
|
||||
b _0802E732
|
||||
_0802E704:
|
||||
movs r0, 0
|
||||
bl PlayMenuSoundEffect
|
||||
ldr r4, _0802E728
|
||||
ldr r0, [r4]
|
||||
ldrb r0, [r0, 0x8]
|
||||
bl sub_8095FE8
|
||||
ldr r1, [r4]
|
||||
ldrb r0, [r0, 0x5]
|
||||
strb r0, [r1, 0x9]
|
||||
ldr r1, [r4]
|
||||
movs r0, 0x5
|
||||
str r0, [r1, 0x4]
|
||||
movs r0, 0xB
|
||||
bl SetMailboxState
|
||||
b _0802E732
|
||||
.align 2, 0
|
||||
_0802E728: .4byte gUnknown_203B304
|
||||
_0802E72C:
|
||||
movs r0, 0x5
|
||||
bl SetMailboxState
|
||||
_0802E732:
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_802E60C
|
||||
|
||||
.align 2,0
|
||||
|
||||
@@ -194,7 +194,7 @@ _0803010C:
|
||||
adds r1, r0, 0
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x6
|
||||
bl sub_808D9AC
|
||||
bl PrintColoredPokeNameToBuffer
|
||||
ldr r0, _0803013C
|
||||
ldr r1, [r0]
|
||||
movs r0, 0xB
|
||||
|
||||
@@ -207,242 +207,4 @@ _0802ECAC: .4byte gUnknown_80D4990
|
||||
_0802ECB0: .4byte gUnknown_80D4970
|
||||
thumb_func_end sub_802EC10
|
||||
|
||||
thumb_func_start sub_802ECB4
|
||||
sub_802ECB4:
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
ldr r4, _0802ECF0
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x6C
|
||||
bl sub_8012FD8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0802ECE0
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x6C
|
||||
mov r1, sp
|
||||
bl sub_8013114
|
||||
ldr r1, [sp]
|
||||
cmp r1, 0x1
|
||||
beq _0802ECE0
|
||||
ldr r0, [r4]
|
||||
str r1, [r0, 0x64]
|
||||
_0802ECE0:
|
||||
ldr r0, [sp]
|
||||
cmp r0, 0x2
|
||||
beq _0802ECFE
|
||||
cmp r0, 0x2
|
||||
bgt _0802ECF4
|
||||
cmp r0, 0x1
|
||||
beq _0802ED3C
|
||||
b _0802ED42
|
||||
.align 2, 0
|
||||
_0802ECF0: .4byte gUnknown_203B308
|
||||
_0802ECF4:
|
||||
cmp r0, 0x3
|
||||
beq _0802ED10
|
||||
cmp r0, 0x5
|
||||
beq _0802ED34
|
||||
b _0802ED42
|
||||
_0802ECFE:
|
||||
bl sub_802C4A4
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0802ED22
|
||||
movs r0, 0x4
|
||||
bl SetPelipperBoardState
|
||||
b _0802ED42
|
||||
_0802ED10:
|
||||
bl HasNoAcceptedJobs
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0802ED22
|
||||
movs r0, 0x8
|
||||
bl SetPelipperBoardState
|
||||
b _0802ED42
|
||||
_0802ED22:
|
||||
ldr r0, _0802ED30
|
||||
ldr r0, [r0]
|
||||
adds r0, 0x6C
|
||||
movs r1, 0x1
|
||||
bl sub_8012EA4
|
||||
b _0802ED42
|
||||
.align 2, 0
|
||||
_0802ED30: .4byte gUnknown_203B308
|
||||
_0802ED34:
|
||||
movs r0, 0x2
|
||||
bl SetPelipperBoardState
|
||||
b _0802ED42
|
||||
_0802ED3C:
|
||||
movs r0, 0x3
|
||||
bl SetPelipperBoardState
|
||||
_0802ED42:
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_802ECB4
|
||||
|
||||
thumb_func_start sub_802ED4C
|
||||
sub_802ED4C:
|
||||
push {lr}
|
||||
movs r0, 0x1
|
||||
bl sub_802C1E4
|
||||
cmp r0, 0x4
|
||||
bhi _0802EDB6
|
||||
lsls r0, 2
|
||||
ldr r1, _0802ED64
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_0802ED64: .4byte _0802ED68
|
||||
.align 2, 0
|
||||
_0802ED68:
|
||||
.4byte _0802EDB6
|
||||
.4byte _0802EDB6
|
||||
.4byte _0802EDAC
|
||||
.4byte _0802ED7C
|
||||
.4byte _0802ED94
|
||||
_0802ED7C:
|
||||
bl sub_802C26C
|
||||
ldr r1, _0802ED90
|
||||
ldr r1, [r1]
|
||||
strb r0, [r1, 0x8]
|
||||
movs r0, 0x6
|
||||
bl SetPelipperBoardState
|
||||
b _0802EDB6
|
||||
.align 2, 0
|
||||
_0802ED90: .4byte gUnknown_203B308
|
||||
_0802ED94:
|
||||
bl sub_802C26C
|
||||
ldr r1, _0802EDA8
|
||||
ldr r1, [r1]
|
||||
strb r0, [r1, 0x8]
|
||||
movs r0, 0x7
|
||||
bl SetPelipperBoardState
|
||||
b _0802EDB6
|
||||
.align 2, 0
|
||||
_0802EDA8: .4byte gUnknown_203B308
|
||||
_0802EDAC:
|
||||
bl sub_802C2D4
|
||||
movs r0, 0x1
|
||||
bl SetPelipperBoardState
|
||||
_0802EDB6:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_802ED4C
|
||||
|
||||
thumb_func_start sub_802EDBC
|
||||
sub_802EDBC:
|
||||
push {r4,lr}
|
||||
sub sp, 0x4
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
bl sub_802C1E4
|
||||
ldr r4, _0802EDFC
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x6C
|
||||
bl sub_8012FD8
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _0802EDEC
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x6C
|
||||
mov r1, sp
|
||||
bl sub_8013114
|
||||
ldr r1, [sp]
|
||||
cmp r1, 0x1
|
||||
beq _0802EDEC
|
||||
ldr r0, [r4]
|
||||
str r1, [r0, 0x68]
|
||||
_0802EDEC:
|
||||
ldr r0, [sp]
|
||||
cmp r0, 0x4
|
||||
beq _0802EE06
|
||||
cmp r0, 0x4
|
||||
bgt _0802EE00
|
||||
cmp r0, 0x1
|
||||
beq _0802EE90
|
||||
b _0802EE96
|
||||
.align 2, 0
|
||||
_0802EDFC: .4byte gUnknown_203B308
|
||||
_0802EE00:
|
||||
cmp r0, 0x5
|
||||
beq _0802EE88
|
||||
b _0802EE96
|
||||
_0802EE06:
|
||||
ldr r0, _0802EE28
|
||||
bl PlaySound
|
||||
ldr r4, _0802EE2C
|
||||
ldr r0, [r4]
|
||||
ldrb r0, [r0, 0x8]
|
||||
bl sub_8096574
|
||||
ldrb r1, [r0]
|
||||
cmp r1, 0x3
|
||||
beq _0802EE3C
|
||||
cmp r1, 0x3
|
||||
bgt _0802EE30
|
||||
cmp r1, 0x2
|
||||
beq _0802EE36
|
||||
b _0802EE5E
|
||||
.align 2, 0
|
||||
_0802EE28: .4byte 0x00000133
|
||||
_0802EE2C: .4byte gUnknown_203B308
|
||||
_0802EE30:
|
||||
cmp r1, 0x4
|
||||
beq _0802EE42
|
||||
b _0802EE5E
|
||||
_0802EE36:
|
||||
ldr r0, [r4]
|
||||
movs r1, 0x1
|
||||
b _0802EE46
|
||||
_0802EE3C:
|
||||
ldr r0, [r4]
|
||||
movs r1, 0x2
|
||||
b _0802EE46
|
||||
_0802EE42:
|
||||
ldr r0, [r4]
|
||||
movs r1, 0x3
|
||||
_0802EE46:
|
||||
str r1, [r0, 0x4]
|
||||
ldrb r0, [r0, 0x8]
|
||||
bl sub_80965B8
|
||||
bl sub_80965F4
|
||||
bl sub_802C2D4
|
||||
movs r0, 0x3
|
||||
bl SetPelipperBoardState
|
||||
b _0802EE96
|
||||
_0802EE5E:
|
||||
bl sub_8096A78
|
||||
bl sub_8096C80
|
||||
bl sub_8096D24
|
||||
bl sub_802C4A4
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0802EE80
|
||||
bl sub_802C2D4
|
||||
movs r0, 0x1
|
||||
bl SetPelipperBoardState
|
||||
b _0802EE96
|
||||
_0802EE80:
|
||||
movs r0, 0x5
|
||||
bl SetPelipperBoardState
|
||||
b _0802EE96
|
||||
_0802EE88:
|
||||
movs r0, 0x7
|
||||
bl SetPelipperBoardState
|
||||
b _0802EE96
|
||||
_0802EE90:
|
||||
movs r0, 0x5
|
||||
bl SetPelipperBoardState
|
||||
_0802EE96:
|
||||
add sp, 0x4
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_802EDBC
|
||||
|
||||
.align 2,0
|
||||
|
||||
@@ -1352,7 +1352,7 @@ sub_808FF20:
|
||||
mov r8, r2
|
||||
adds r0, r5, 0x2
|
||||
movs r2, 0
|
||||
bl sub_808D9AC
|
||||
bl PrintColoredPokeNameToBuffer
|
||||
ldrh r0, [r6, 0x8]
|
||||
strh r0, [r5]
|
||||
movs r1, 0x16
|
||||
|
||||
@@ -446,7 +446,7 @@ _0802BFE8:
|
||||
bl GetPlayerPokemonStruct
|
||||
adds r1, r0, 0
|
||||
mov r0, r9
|
||||
bl sub_808DA34
|
||||
bl PrintPokeNameToBuffer
|
||||
ldrb r0, [r5, 0x5]
|
||||
bl GetPokemonMailHeadline
|
||||
adds r1, r0, 0
|
||||
|
||||
@@ -13,7 +13,7 @@ struct DungeonEntityData
|
||||
/* 0x0 */ u16 flags;
|
||||
/* 0x2 */ s16 entityID; // Pokémon species or item ID.
|
||||
// Everything from here on only applies to Pokémon.
|
||||
/* 0x4 */ u16 transformSpecies; // Shows a different Pokémon when using Transform.
|
||||
/* 0x4 */ s16 transformSpecies; // Shows a different Pokémon when using Transform.
|
||||
/* 0x6 */ bool8 isEnemy;
|
||||
/* 0x7 */ bool8 isLeader;
|
||||
/* 0x8 */ u8 shopkeeperMode;
|
||||
@@ -261,16 +261,19 @@ struct DungeonEntity
|
||||
// The sprite index to display, among the Pokémon's possible sprites.
|
||||
/* 0x48 */ u16 spriteIndexForEntity;
|
||||
/* 0x4A */ u16 spriteIndexForEntity2;
|
||||
u8 unk4C[0x50 - 0x4C];
|
||||
// Some kind of base sprite index depending on which way the Pokémon is facing.
|
||||
// and which animation is playing (e.g., idle, moving).
|
||||
// Compared to 0x48, 0x50 and 0x54 are much larger and could be global indexes among all sprites in the game.
|
||||
/* 0x50 */ u16 spriteBaseForDirection;
|
||||
u8 fill52[0x54 - 0x52];
|
||||
/* 0x54 */ u16 spriteGlobalIndex;
|
||||
u8 fill56[0x6C - 0x56];
|
||||
u8 fill56[0x6A - 0x56];
|
||||
/* 0x6A */ u8 unk6A;
|
||||
/* 0x6A */ u8 unk6B;
|
||||
/* 0x6C */ u8 facingDir;
|
||||
/* 0x6D */ u8 facingDir2; // Duplicate of 0x6C?
|
||||
u8 fill6D[0x70 - 0x6D];
|
||||
u8 fill6D[0x70 - 0x6E];
|
||||
/* 0x70 */ struct DungeonEntityData *entityData;
|
||||
};
|
||||
|
||||
|
||||
@@ -9,7 +9,7 @@ struct unkStruct_203B304
|
||||
{
|
||||
// size: 0xB6 << 1
|
||||
u32 state;
|
||||
u32 unk4;
|
||||
u32 fallbackState;
|
||||
u8 unk8;
|
||||
u8 mailIndex;
|
||||
u8 fillA[0xC - 0xA];
|
||||
|
||||
@@ -195,6 +195,10 @@ void InitializeRecruitedPokemon(void);
|
||||
void CopySpeciesNametoBuffer(u8 * buffer, s16 index);
|
||||
void CopyYellowSpeciesNametoBuffer(u8 *buffer, s16 index);
|
||||
void CopyCyanSpeciesNametoBuffer(u8 *buffer, s16 index);
|
||||
void PrintColoredPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon, s32 colorNum);
|
||||
void PeekPokemonItem(s16 index_, struct HeldItem* item);
|
||||
void GivePokemonItem(s16 index_, struct HeldItem* item);
|
||||
bool8 IsPokemonRenamed(struct PokemonStruct* pokemon);
|
||||
|
||||
u8 *GetCategoryString(s16 index);
|
||||
u8 GetPokemonSize(s16 index);
|
||||
|
||||
@@ -196,6 +196,8 @@ SECTIONS {
|
||||
asm/code_8057144.o(.text);
|
||||
src/code_8057824.o(.text);
|
||||
asm/code_8057824.o(.text);
|
||||
src/code_806CD90.o(.text);
|
||||
asm/code_806CD90.o(.text);
|
||||
asm/code_807001C.o(.text);
|
||||
src/dungeon_capabilities.o(.text);
|
||||
asm/code_8070BC0.o(.text);
|
||||
|
||||
@@ -35,7 +35,7 @@ extern void sub_8094060(void *, struct PokemonMove *);
|
||||
extern void PlaySound(u32);
|
||||
extern void sub_80141B4(u32 *, u32, u32 ,u32);
|
||||
extern void sub_8014248(u32 *, u32, u32, struct MenuItem *, u32, u32, u32, u32, u32);
|
||||
extern void sub_808DA34(u8 *buffer, struct PokemonStruct *pokemon);
|
||||
extern void PrintPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon);
|
||||
extern s32 sub_80144A4(s32 *);
|
||||
extern u32 sub_801E8C0(void);
|
||||
extern void sub_801E93C(void);
|
||||
@@ -163,7 +163,7 @@ void sub_801B178(void)
|
||||
for(monIndex = 0; monIndex < gUnknown_203B22C->monsAbleToLearnMove; monIndex++)
|
||||
{
|
||||
bufferPtr = gAvailablePokemonNames + (0x50 * monIndex);
|
||||
sub_808DA34(bufferPtr, &gRecruitedPokemonRef->pokemon[gUnknown_203B22C->unk50[monIndex]]);
|
||||
PrintPokeNameToBuffer(bufferPtr, &gRecruitedPokemonRef->pokemon[gUnknown_203B22C->unk50[monIndex]]);
|
||||
gUnknown_203B22C->menuItems[monIndex].text = bufferPtr;
|
||||
gUnknown_203B22C->menuItems[monIndex].menuAction = monIndex + 4;
|
||||
}
|
||||
@@ -188,7 +188,7 @@ void sub_801B200(void)
|
||||
default:
|
||||
gUnknown_203B22C->chosenPokemon = gUnknown_203B22C->unk50[temp - 4];
|
||||
gUnknown_203B22C->pokeStruct = &gRecruitedPokemonRef->pokemon[gUnknown_203B22C->chosenPokemon];
|
||||
sub_808DA34(gUnknown_202E218, gUnknown_203B22C->pokeStruct);
|
||||
PrintPokeNameToBuffer(gUnknown_202E218, gUnknown_203B22C->pokeStruct);
|
||||
sub_809401C(gUnknown_203B22C->moves, gUnknown_203B22C->pokeStruct->moves);
|
||||
for(moveIndex = 0; moveIndex < MAX_MON_MOVES * 2; moveIndex++)
|
||||
{
|
||||
|
||||
@@ -1,8 +1,11 @@
|
||||
#include "global.h"
|
||||
#include "constants/colors.h"
|
||||
#include "text.h"
|
||||
#include "input.h"
|
||||
#include "memory.h"
|
||||
#include "item.h"
|
||||
#include "memory.h"
|
||||
#include "menu.h"
|
||||
#include "pokemon.h"
|
||||
#include "team_inventory.h"
|
||||
|
||||
struct subStruct_203B240
|
||||
@@ -30,9 +33,54 @@ struct unkStruct_203B230
|
||||
};
|
||||
extern struct unkStruct_203B230 *gUnknown_203B230;
|
||||
|
||||
struct unkStruct_203B234
|
||||
{
|
||||
// size: 0x154
|
||||
u32 unk0;
|
||||
u32 state;
|
||||
u32 unk8;
|
||||
u8 unkC;
|
||||
u8 fillD[0x10 - 0xD];
|
||||
struct ItemSlot unk10;
|
||||
struct unkStruct_8090F58 unk14;
|
||||
struct ItemSlot unk20;
|
||||
u32 unk24;
|
||||
u32 unk28;
|
||||
u8 fill2C[0x78 - 0x2C];
|
||||
u32 unk78;
|
||||
u8 fill7C[0xC8 - 0x7C];
|
||||
u32 unkC8;
|
||||
struct MenuItem unkCC[5];
|
||||
struct UnkTextStruct2 unkF4[4];
|
||||
};
|
||||
|
||||
extern struct unkStruct_203B234 *gUnknown_203B234;
|
||||
|
||||
extern u8 gUnknown_202DE58[];
|
||||
extern u8 gAvailablePokemonNames[0x58];
|
||||
extern u8 gUnknown_80DBA4C[];
|
||||
extern u8 gUnknown_80DBB9C[];
|
||||
extern u8 gUnknown_80DBD24[];
|
||||
extern u8 gUnknown_80DBCE8[];
|
||||
extern u8 gUnknown_80DBCC4[];
|
||||
extern u8 gUnknown_80DBC98[];
|
||||
extern u8 gUnknown_80DBC60[];
|
||||
extern u8 gUnknown_80DBC28[];
|
||||
extern u8 gUnknown_80DBB9C[];
|
||||
extern u8 gUnknown_80DBAA0[];
|
||||
extern u8 gUnknown_80DBAD0[];
|
||||
extern u8 gUnknown_80DBB08[];
|
||||
extern u8 gUnknown_80DBB38[];
|
||||
extern u8 gKangaskhanTrashToolboxItem[];
|
||||
extern u8 gKangaskhanTrashReceivedItem[];
|
||||
extern struct UnkTextStruct2 gUnknown_80DBA58;
|
||||
extern struct UnkTextStruct2 gUnknown_80DBA88;
|
||||
extern struct UnkTextStruct2 gUnknown_80DBA70;
|
||||
|
||||
extern void sub_801BB5C(void);
|
||||
extern void sub_8012CAC(struct UnkTextStruct2 *, struct MenuItem *);
|
||||
extern struct PokemonStruct *GetPlayerPokemonStruct(void);
|
||||
extern void sub_801B748(u32);
|
||||
extern void sub_8008C54(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void sub_80073B8(u32);
|
||||
@@ -41,11 +89,32 @@ extern void PlayMenuSoundEffect(u32);
|
||||
extern void sub_8013F84(void);
|
||||
extern u32 sub_8012A64(u32 *, u32);
|
||||
extern s32 sub_80913E0(struct ItemSlot *, u32, struct subStruct_203B240 **);
|
||||
|
||||
extern void sub_80141B4(u8 *, u32, u32 *, u32);
|
||||
extern void sub_8012EA4(u32 *, u32);
|
||||
extern void sub_8012D60(u32 *, struct MenuItem *, u32, u16 *, u32, u32);
|
||||
extern void sub_801BB20(void);
|
||||
extern void sub_801A8D0(u32);
|
||||
extern void sub_801A9E0(void);
|
||||
extern void sub_801BC24(void);
|
||||
extern void sub_801A5D8(u32, u32, u32, u32);
|
||||
extern void sub_8014248(const char *, u32, u32, struct MenuItem *, u32, u32, u32, u32, u32);
|
||||
extern void sub_801317C(u32 *);
|
||||
extern void sub_80140B4(struct UnkTextStruct2 *);
|
||||
extern void sub_801B46C(u32);
|
||||
extern void ResetSprites(u32);
|
||||
extern void sub_801BC64(void);
|
||||
extern void sub_801BC94(void);
|
||||
extern void sub_801BCCC(void);
|
||||
extern void sub_801BD80(void);
|
||||
extern void sub_801BEAC(void);
|
||||
extern void sub_801BE30(void);
|
||||
extern void sub_801BEC8(void);
|
||||
extern void sub_801B760(void);
|
||||
extern void sub_801B874(void);
|
||||
extern u32 sub_8001784(u32, u32, u32);
|
||||
extern void sub_800199C(u32, u32, u32, u32);
|
||||
extern void PlaySound(u32);
|
||||
extern s32 sub_808D544(u32);
|
||||
|
||||
void sub_801B51C();
|
||||
void sub_801B590();
|
||||
@@ -181,3 +250,271 @@ void sub_801B590(void)
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
u32 sub_801B60C(u32 r0, u8 itemIndex, u8 numItems)
|
||||
{
|
||||
gUnknown_203B234 = MemoryAlloc(0x154, 8);
|
||||
gUnknown_203B234->unkC8 = 0;
|
||||
gUnknown_203B234->unk0 = r0;
|
||||
gUnknown_203B234->unk10.itemIndex = itemIndex;
|
||||
if(IsThrowableItem(gUnknown_203B234->unk10.itemIndex))
|
||||
{
|
||||
gUnknown_203B234->unk10.numItems = numItems;
|
||||
gUnknown_203B234->unkC = numItems;
|
||||
}
|
||||
else
|
||||
{
|
||||
gUnknown_203B234->unk10.numItems = 0;
|
||||
gUnknown_203B234->unkC = 1;
|
||||
}
|
||||
gUnknown_203B234->unk10.itemFlags = ITEM_FLAG_EXISTS;
|
||||
gUnknown_203B234->unk14.unk0 = 0;
|
||||
gUnknown_203B234->unk14.unk4 = 0;
|
||||
gUnknown_203B234->unk14.unk8 = 1;
|
||||
PrintColoredPokeNameToBuffer(gAvailablePokemonNames, GetPlayerPokemonStruct(), COLOR_YELLOW);
|
||||
sub_8090E14(gUnknown_202DE58, &gUnknown_203B234->unk10, &gUnknown_203B234->unk14);
|
||||
sub_801B748(0);
|
||||
return 1;
|
||||
}
|
||||
|
||||
u32 sub_801B6AC(void)
|
||||
{
|
||||
switch(gUnknown_203B234->state)
|
||||
{
|
||||
case 16:
|
||||
return 3;
|
||||
case 6:
|
||||
sub_801BC64();
|
||||
break;
|
||||
case 7:
|
||||
sub_801BC94();
|
||||
break;
|
||||
case 8:
|
||||
case 9:
|
||||
sub_801BCCC();
|
||||
break;
|
||||
case 10:
|
||||
sub_801BD80();
|
||||
break;
|
||||
case 11:
|
||||
sub_801BEAC();
|
||||
break;
|
||||
case 12:
|
||||
sub_801BE30();
|
||||
break;
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
default:
|
||||
sub_801BEC8();
|
||||
break;
|
||||
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
void sub_801B72C(void)
|
||||
{
|
||||
if(gUnknown_203B234 != NULL)
|
||||
{
|
||||
MemoryFree(gUnknown_203B234);
|
||||
gUnknown_203B234 = NULL;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_801B748(u32 newState)
|
||||
{
|
||||
gUnknown_203B234->state = newState;
|
||||
sub_801B760();
|
||||
sub_801B874();
|
||||
}
|
||||
|
||||
void sub_801B760(void)
|
||||
{
|
||||
s32 iVar4;
|
||||
switch(gUnknown_203B234->state)
|
||||
{
|
||||
case 1:
|
||||
case 6:
|
||||
case 7:
|
||||
case 8:
|
||||
case 9:
|
||||
case 11:
|
||||
case 13:
|
||||
case 14:
|
||||
case 15:
|
||||
sub_8006518(gUnknown_203B234->unkF4);
|
||||
for(iVar4 = 0; iVar4 < 4; iVar4++)
|
||||
{
|
||||
gUnknown_203B234->unkF4[iVar4] = gUnknown_80DBA58;
|
||||
}
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B234->unkF4, 1, 1);
|
||||
break;
|
||||
case 10:
|
||||
sub_8006518(gUnknown_203B234->unkF4);
|
||||
sub_801BB5C();
|
||||
gUnknown_203B234->unkF4[2] = gUnknown_80DBA70;
|
||||
sub_8012CAC(&gUnknown_203B234->unkF4[2], gUnknown_203B234->unkCC);
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B234->unkF4, 1, 1);
|
||||
break;
|
||||
case 12:
|
||||
sub_8006518(gUnknown_203B234->unkF4);
|
||||
gUnknown_203B234->unkF4[1] = gUnknown_80DBA88;
|
||||
ResetUnusedInputStruct();
|
||||
sub_800641C(gUnknown_203B234->unkF4, 1, 1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_801B874(void)
|
||||
{
|
||||
|
||||
switch(gUnknown_203B234->state)
|
||||
{
|
||||
case 0:
|
||||
if (gUnknown_203B234->unk10.itemIndex == ITEM_ID_WEAVILE_FIG) {
|
||||
gUnknown_203B234->unk8 = 0x10;
|
||||
if(sub_8001784(0,0x47,1) != 0)
|
||||
{
|
||||
AddToTeamMoney(1000);
|
||||
sub_801B748(4);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_800199C(0, 0x47, 1, 1);
|
||||
sub_801B748(3);
|
||||
}
|
||||
}
|
||||
else if (gUnknown_203B234->unk10.itemIndex == ITEM_ID_MIME_JR_FIG)
|
||||
{
|
||||
gUnknown_203B234->unk8 = 0x10;
|
||||
if(sub_8001784(0, 0x47, 0) != 0)
|
||||
{
|
||||
AddToTeamMoney(1000);
|
||||
sub_801B748(4);
|
||||
}
|
||||
else
|
||||
{
|
||||
sub_800199C(0, 0x47, 0, 1);
|
||||
sub_801B748(3);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if(GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE)
|
||||
{
|
||||
if(IsNotMoneyOrUsedTMItem(gUnknown_203B234->unk10.itemIndex))
|
||||
{
|
||||
if((gTeamInventory_203B460->teamStorage[gUnknown_203B234->unk10.itemIndex] + gUnknown_203B234->unkC) > 0x3e7)
|
||||
{
|
||||
store:
|
||||
gUnknown_203B234->unk8 = 6;
|
||||
}
|
||||
else
|
||||
{
|
||||
gTeamInventory_203B460->teamStorage[gUnknown_203B234->unk10.itemIndex] += gUnknown_203B234->unkC;
|
||||
PlaySound(0xCB);
|
||||
gUnknown_203B234->unk8 = 5;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
goto store;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
AddItemToInventory(&gUnknown_203B234->unk10);
|
||||
FillInventoryGaps();
|
||||
PlaySound(0xCB);
|
||||
gUnknown_203B234->unk8 = 0x10;
|
||||
}
|
||||
if(gUnknown_203B234->unk0 == 1)
|
||||
sub_801B748(2);
|
||||
else
|
||||
sub_801B748(1);
|
||||
}
|
||||
break;
|
||||
case 1:
|
||||
if (sub_808D544(0) < 2) {
|
||||
sub_80141B4(gUnknown_80DBAA0,0,0,0x101);
|
||||
}
|
||||
else {
|
||||
sub_80141B4(gUnknown_80DBAD0,0,0,0x101);
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
sub_80141B4(gUnknown_80DBB08,0,0,0x101);
|
||||
break;
|
||||
case 3:
|
||||
PlaySound(0xd4);
|
||||
sub_80141B4(gUnknown_80DBB38,0,0,0x101);
|
||||
break;
|
||||
case 4:
|
||||
sub_80141B4(gUnknown_80DBB9C,0,0,0x101);
|
||||
break;
|
||||
case 5:
|
||||
gUnknown_203B234->unk8 = 0x10;
|
||||
sub_80141B4(gUnknown_80DBC28,0,0,0x101);
|
||||
break;
|
||||
case 6:
|
||||
sub_801BB20();
|
||||
sub_8014248(gUnknown_80DBC60,0,4,gUnknown_203B234->unkCC,
|
||||
0,4,0,0,0);
|
||||
break;
|
||||
case 7:
|
||||
sub_801BC24();
|
||||
sub_8014248(gUnknown_80DBC98,0,3,gUnknown_203B234->unkCC,0,4,0,0,0);
|
||||
break;
|
||||
case 8:
|
||||
sub_801A5D8(1,3,0,10);
|
||||
break;
|
||||
case 9:
|
||||
sub_801A8D0(1);
|
||||
break;
|
||||
case 10:
|
||||
sub_801A9E0();
|
||||
sub_8012D60(&gUnknown_203B234->unk28,gUnknown_203B234->unkCC,0,0,gUnknown_203B234->unkC8,2);
|
||||
break;
|
||||
case 0xb:
|
||||
sub_801B3C0(&gUnknown_203B234->unk20);
|
||||
break;
|
||||
case 0xc:
|
||||
sub_801A9E0();
|
||||
sub_8012EA4(&gUnknown_203B234->unk28,0);
|
||||
sub_801BC24();
|
||||
sub_8012D60(&gUnknown_203B234->unk78,gUnknown_203B234->unkCC,0,0,3,1);
|
||||
break;
|
||||
case 0xd:
|
||||
gUnknown_203B234->unk8 = 0x10;
|
||||
sub_80141B4(gUnknown_80DBCC4,0,0,0x101);
|
||||
break;
|
||||
case 0xe:
|
||||
gUnknown_203B234->unk8 = 0x10;
|
||||
sub_80141B4(gUnknown_80DBCE8,0,0,0x101);
|
||||
break;
|
||||
case 0xf:
|
||||
gUnknown_203B234->unk8 = 0x10;
|
||||
sub_80141B4(gUnknown_80DBD24,0,0,0x101);
|
||||
break;
|
||||
case 0x10:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_801BB20(void)
|
||||
{
|
||||
struct unkStruct_203B234 *preload;
|
||||
u8 *nullText;
|
||||
|
||||
preload = gUnknown_203B234;
|
||||
nullText = NULL;
|
||||
preload->unkCC[0].text = gKangaskhanTrashToolboxItem;
|
||||
preload->unkCC[0].menuAction = 4;
|
||||
preload->unkCC[1].text = gKangaskhanTrashReceivedItem;
|
||||
preload->unkCC[1].menuAction = 5;
|
||||
preload->unkCC[2].text = nullText;
|
||||
preload->unkCC[2].menuAction = -1;
|
||||
}
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
#include "global.h"
|
||||
#include "dungeon_entity.h"
|
||||
#include "dungeon_global_data.h"
|
||||
#include "constants/direction.h"
|
||||
|
||||
struct unkStruct_80420E8
|
||||
{
|
||||
@@ -147,7 +148,7 @@ void sub_8041BE8(struct DungeonEntity *r0)
|
||||
|
||||
void sub_8041BF8(struct DungeonEntity *r0)
|
||||
{
|
||||
sub_806CDD4(r0, 0xA, 8);
|
||||
sub_806CDD4(r0, 0xA, NUM_DIRECTIONS);
|
||||
}
|
||||
|
||||
void sub_8041C08(struct DungeonEntity *r0)
|
||||
|
||||
@@ -6,7 +6,7 @@
|
||||
#include "pokemon.h"
|
||||
#include "constants/direction.h"
|
||||
|
||||
extern struct DungeonEntity *sub_8085480(void);
|
||||
extern struct DungeonEntity *xxx_call_GetLeaderEntity(void);
|
||||
extern struct DungeonEntity *sub_8085680(u32);
|
||||
extern char gUnknown_202E038[0x50];
|
||||
extern struct DungeonGlobalData *gDungeonGlobalData;
|
||||
@@ -90,8 +90,7 @@ extern void sub_806CE68(struct DungeonEntity *, u32);
|
||||
extern void sub_804539C(struct DungeonEntity *, u32, u32);
|
||||
extern void sub_803E46C(u32);
|
||||
extern void sub_8042B0C(struct DungeonEntity *);
|
||||
extern void sub_8085918(struct DungeonEntity *, u32);
|
||||
extern void sub_806CE68(struct DungeonEntity *r0, u32);
|
||||
extern void SetFacingDirection(struct DungeonEntity *, u32);
|
||||
extern void sub_8052910(u32 *);
|
||||
extern void sub_803E708(u32, u32);
|
||||
extern u8 EntityExists(struct DungeonEntity *);
|
||||
@@ -185,7 +184,7 @@ void sub_808BC20(struct DungeonEntity * param_1)
|
||||
|
||||
PlaySoundEffect(0x298);
|
||||
for(uVar1 = 0; uVar1 < 0x19; uVar1++){
|
||||
sub_8085918(param_1,uVar1 & 7);
|
||||
SetFacingDirection(param_1,uVar1 & DIRECTION_MASK);
|
||||
sub_803E708(3,0x46);
|
||||
}
|
||||
param_1->entityData->unk15E = 1;
|
||||
@@ -278,24 +277,24 @@ u8 JirachiFriendAreaSearch(void)
|
||||
|
||||
void sub_808BDEC(void)
|
||||
{
|
||||
struct DungeonEntity * iVar2;
|
||||
struct DungeonEntity * uVar3;
|
||||
struct DungeonEntity * LeaderEntity;
|
||||
struct DungeonEntity * LugiaEntity;
|
||||
|
||||
iVar2 = sub_8085480();
|
||||
uVar3 = sub_8085680(0x1b);
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
LugiaEntity = sub_8085680(0x1b);
|
||||
sub_8083F14();
|
||||
sub_80854D4();
|
||||
sub_8085930(4);
|
||||
sub_80855E4(sub_8086A3C);
|
||||
if (HasRecruitedMon(SPECIES_LUGIA)) {
|
||||
sub_8083E88(0x23);
|
||||
sub_8068FE0(uVar3,0x21c,0);
|
||||
sub_8068FE0(LugiaEntity,0x21c,0);
|
||||
}
|
||||
else {
|
||||
gDungeonGlobalData->unk7 = 1;
|
||||
sub_8085918(uVar3,0);
|
||||
SetFacingDirection(LugiaEntity, DIRECTION_SOUTH);
|
||||
}
|
||||
sub_8085860(iVar2->posWorldX,iVar2->posWorldY - 3);
|
||||
sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
|
||||
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_LUGIA);
|
||||
}
|
||||
|
||||
@@ -309,11 +308,11 @@ void sub_808BE70(u8 param_1,u8 param_2)
|
||||
|
||||
void LugiaPreFightDialogue(void)
|
||||
{
|
||||
struct DungeonEntity * iVar2;
|
||||
struct DungeonEntity * uVar3;
|
||||
struct DungeonEntity * LeaderEntity;
|
||||
struct DungeonEntity * LugiaEntity;
|
||||
|
||||
iVar2 = sub_8085480();
|
||||
uVar3 = sub_8085680(0x1b);
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
LugiaEntity = sub_8085680(0x1b);
|
||||
if (HasRecruitedMon(SPECIES_LUGIA)) {
|
||||
sub_8086448();
|
||||
sub_80866C4(&gUnknown_8106068);
|
||||
@@ -330,21 +329,21 @@ void LugiaPreFightDialogue(void)
|
||||
sub_803E708(10,0x46);
|
||||
sub_8052910(&gUnknown_8105F74);
|
||||
PlaySoundEffect(0x1f8);
|
||||
sub_80861D4(uVar3,0xd,0);
|
||||
sub_80861D4(LugiaEntity,0xd,0);
|
||||
sub_803E708(0x2b,0x46);
|
||||
sub_80861B8(uVar3,0,0);
|
||||
sub_80861B8(LugiaEntity,0,0);
|
||||
sub_8052910(&gUnknown_8105FA0);
|
||||
sub_808BFA0();
|
||||
sub_8052910(&gUnknown_8105FD8);
|
||||
sub_808C02C();
|
||||
sub_8085C54(0xffffff06,0xffffff06,0xffffff06,1,0);
|
||||
sub_8083F14();
|
||||
sub_80861D4(uVar3,7,0);
|
||||
sub_80861D4(LugiaEntity,7,0);
|
||||
sub_8052910(&gUnknown_8106024);
|
||||
sub_808BFA0();
|
||||
SetupBossFightHP(uVar3,800,0x20);
|
||||
SetupBossFightHP(LugiaEntity,800,0x20);
|
||||
sub_8083E88(0x23);
|
||||
sub_80858AC(&iVar2->posPixelX,0x10);
|
||||
sub_80858AC(&LeaderEntity->posPixelX,0x10);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -415,25 +414,25 @@ void sub_808C0CC(void)
|
||||
|
||||
void sub_808C10C(void)
|
||||
{
|
||||
struct DungeonEntity * iVar1;
|
||||
struct DungeonEntity * uVar2;
|
||||
struct DungeonEntity * LeaderEntity;
|
||||
struct DungeonEntity * KyogreEntity;
|
||||
|
||||
u32 uVar3;
|
||||
s32 iVar2;
|
||||
|
||||
iVar1 = sub_8085480();
|
||||
uVar2 = sub_8085680(0x1c);
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
KyogreEntity = sub_8085680(0x1c);
|
||||
sub_8083F14();
|
||||
sub_80854D4();
|
||||
sub_8085930(4);
|
||||
if (HasRecruitedMon(SPECIES_KYOGRE)) {
|
||||
sub_8068FE0(uVar2,0x21c,0);
|
||||
sub_8068FE0(KyogreEntity,0x21c,0);
|
||||
}
|
||||
else {
|
||||
gDungeonGlobalData->unk7 = 1;
|
||||
sub_8085918(uVar2,0);
|
||||
SetFacingDirection(KyogreEntity, DIRECTION_SOUTH);
|
||||
}
|
||||
sub_8085860(iVar1->posWorldX,iVar1->posWorldY);
|
||||
sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY);
|
||||
uVar3 = sub_803F994();
|
||||
iVar2 = sub_803F9B0();
|
||||
sub_803F878(uVar3,iVar2 + -0x1000);
|
||||
@@ -452,15 +451,15 @@ void sub_808C1A4(u8 param_1,u8 param_2)
|
||||
|
||||
void KyogrePreFightDialogue(void)
|
||||
{
|
||||
struct DungeonEntity *iVar2;
|
||||
struct DungeonEntity *uVar3;
|
||||
struct DungeonEntity *LeaderEntity;
|
||||
struct DungeonEntity *KyogreEntity;
|
||||
|
||||
iVar2 = sub_8085480();
|
||||
uVar3 = sub_8085680(0x1c);
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
KyogreEntity = sub_8085680(0x1c);
|
||||
sub_8083F14();
|
||||
if (HasRecruitedMon(SPECIES_KYOGRE)) {
|
||||
sub_8083EA8(0x23,0x3c);
|
||||
SpriteLookAroundEffect(iVar2);
|
||||
SpriteLookAroundEffect(LeaderEntity);
|
||||
sub_803E708(10,0x46);
|
||||
sub_8052910(&gUnknown_81062A8);
|
||||
sub_803E708(10,0x46);
|
||||
@@ -492,9 +491,9 @@ void KyogrePreFightDialogue(void)
|
||||
// power!
|
||||
sub_8052910(&gUnknown_810627C);
|
||||
sub_803E708(10,0x46);
|
||||
SetupBossFightHP(uVar3,600,0xb);
|
||||
SetupBossFightHP(KyogreEntity,600,0xb);
|
||||
sub_8083E88(0x23);
|
||||
sub_80858AC(&iVar2->posPixelX,0x10);
|
||||
sub_80858AC(&LeaderEntity->posPixelX,0x10);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -537,9 +536,9 @@ void sub_808C360(void)
|
||||
|
||||
void sub_808C3A0(void)
|
||||
{
|
||||
struct DungeonEntity * iVar2;
|
||||
struct DungeonEntity * LeaderEntity;
|
||||
|
||||
iVar2 = sub_8085480();
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
sub_8083F14();
|
||||
sub_80854D4();
|
||||
sub_8085930(4);
|
||||
@@ -551,7 +550,7 @@ void sub_808C3A0(void)
|
||||
gDungeonGlobalData->unk7 = 1;
|
||||
sub_808563C(sub_808C5A0);
|
||||
}
|
||||
sub_8085860(iVar2->posWorldX,iVar2->posWorldY - 3);
|
||||
sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
|
||||
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_DEOXYS_NORMAL);
|
||||
}
|
||||
|
||||
@@ -565,9 +564,9 @@ void sub_808C414(u8 param_1,u8 param_2)
|
||||
|
||||
void DeoxysPreFightDialogue(void)
|
||||
{
|
||||
struct DungeonEntity * iVar2;
|
||||
struct DungeonEntity * LeaderEntity;
|
||||
|
||||
iVar2 = sub_8085480();
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
sub_8086448();
|
||||
if (HasRecruitedMon(SPECIES_DEOXYS_NORMAL)) {
|
||||
// There appears to be no one here.
|
||||
@@ -585,7 +584,7 @@ void DeoxysPreFightDialogue(void)
|
||||
sub_8052910(&gUnknown_8106390);
|
||||
sub_803E708(10,0x46);
|
||||
sub_808563C(sub_808C5AC);
|
||||
sub_80858AC(&iVar2->posPixelX,0x10);
|
||||
sub_80858AC(&LeaderEntity->posPixelX,0x10);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -629,29 +628,29 @@ void sub_808C590(struct DungeonEntity *r0)
|
||||
|
||||
void sub_808C5A0(struct DungeonEntity *r0)
|
||||
{
|
||||
sub_8085918(r0, 0);
|
||||
SetFacingDirection(r0, DIRECTION_SOUTH);
|
||||
}
|
||||
|
||||
void sub_808C5AC(struct DungeonEntity *r0)
|
||||
{
|
||||
SetupBossFightHP(r0, 0x3b6, 0x20);
|
||||
SetupBossFightHP(r0, 950, 0x20);
|
||||
}
|
||||
|
||||
void sub_808C5C0(void)
|
||||
{
|
||||
struct DungeonEntity * iVar1;
|
||||
struct DungeonEntity * uVar2;
|
||||
struct DungeonEntity * LeaderEntity;
|
||||
struct DungeonEntity * CelebiEntity;
|
||||
|
||||
u32 uVar3;
|
||||
s32 iVar2;
|
||||
|
||||
iVar1 = sub_8085480();
|
||||
uVar2 = sub_8085680(0x1e);
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
CelebiEntity = sub_8085680(0x1e);
|
||||
sub_8083E88(0x7f);
|
||||
sub_80854D4();
|
||||
sub_8085930(4);
|
||||
sub_8085918(uVar2,0);
|
||||
sub_8085860(iVar1->posWorldX,iVar1->posWorldY);
|
||||
SetFacingDirection(CelebiEntity, DIRECTION_SOUTH);
|
||||
sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY);
|
||||
uVar3 = sub_803F994();
|
||||
iVar2 = sub_803F9B0();
|
||||
sub_803F878(uVar3,iVar2 + 0xfffff000);
|
||||
@@ -666,26 +665,26 @@ void nullsub_100(u32 r0, u32 r1, u32 r2)
|
||||
#ifdef NONMATCHING
|
||||
void CelebiJoinDialogue(void)
|
||||
{
|
||||
struct DungeonEntity *uVar2;
|
||||
struct DungeonEntity *LeaderEntity;
|
||||
s32 state;
|
||||
s32 menuChoice;
|
||||
struct DungeonEntity *local_1c;
|
||||
struct DungeonEntity *CelebiEntity;
|
||||
|
||||
uVar2 = sub_8085480();
|
||||
local_1c = sub_8085680(0x1e);
|
||||
if ((HasRecruitedMon(SPECIES_CELEBI)) || (sub_806FD18(local_1c) == '\0'))
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
CelebiEntity = sub_8085680(0x1e);
|
||||
if ((HasRecruitedMon(SPECIES_CELEBI)) || (sub_806FD18(CelebiEntity) == '\0'))
|
||||
{
|
||||
sub_8068FE0(local_1c,0x21c,0);
|
||||
SpriteLookAroundEffect(uVar2);
|
||||
SpriteLookAroundEffect(LeaderEntity);
|
||||
sub_803E708(10,0x46);
|
||||
// .........
|
||||
sub_8052910(&gUnknown_810663C);
|
||||
}
|
||||
else
|
||||
{
|
||||
SpriteLookAroundEffect(uVar2);
|
||||
SpriteLookAroundEffect(LeaderEntity);
|
||||
sub_803E708(10,0x46);
|
||||
sub_80862BC(uVar2);
|
||||
sub_80862BC(LeaderEntity);
|
||||
sub_803E708(10,0x46);
|
||||
// Oh? There's someone there.
|
||||
sub_8052910(&gUnknown_81063D0);
|
||||
@@ -697,12 +696,12 @@ void CelebiJoinDialogue(void)
|
||||
// The Time-Traveling Pokemon {ARG_POKEMON_2} (Celebi)!
|
||||
sub_8052910(&gUnknown_8106400);
|
||||
PlaySoundEffect(0x1c7);
|
||||
sub_806CDD4(local_1c,10,0);
|
||||
sub_806CDD4(CelebiEntity,10,DIRECTION_SOUTH);
|
||||
sub_803E708(0x14,0x46);
|
||||
sub_806CE68(local_1c,0);
|
||||
sub_806CE68(CelebiEntity, DIRECTION_SOUTH);
|
||||
sub_803E708(4,0x46);
|
||||
PlaySoundEffect(0x1c7);
|
||||
sub_806CDD4(local_1c,10,0);
|
||||
sub_806CDD4(CelebiEntity,10,DIRECTION_SOUTH);
|
||||
sub_8052910(&gUnknown_810643C);
|
||||
sub_803E708(10,0x46);
|
||||
state = 0;
|
||||
@@ -725,7 +724,7 @@ void CelebiJoinDialogue(void)
|
||||
}
|
||||
sub_8083E88(0x7f);
|
||||
PlaySoundEffect(0x1c7);
|
||||
sub_80861D4(local_1c,0xd,0);
|
||||
sub_80861D4(CelebiEntity,0xd,0);
|
||||
sub_803E708(0x37,0x46);
|
||||
PlaySoundEffect(0x1d5);
|
||||
sub_803E708(0x1a,0x46);
|
||||
@@ -733,12 +732,12 @@ void CelebiJoinDialogue(void)
|
||||
sub_803E708(0x1c,0x46);
|
||||
sub_8052910(&gUnknown_8106468);
|
||||
sub_803E708(10,0x46);
|
||||
sub_806FDF4(uVar2,local_1c,&local_1c);
|
||||
sub_806FDF4(LeaderEntity,CelebiEntity,&CelebiEntity);
|
||||
sub_8083E88(0x7f);
|
||||
sub_8052910(&gUnknown_810648C);
|
||||
sub_803E708(10,0x46);
|
||||
PlaySoundEffect(0x1c7);
|
||||
sub_80861D4(local_1c,0xd,0);
|
||||
sub_80861D4(CelebiEntity,0xd,0);
|
||||
sub_803E708(0x37,0x46);
|
||||
PlaySoundEffect(0x1d5);
|
||||
sub_803E708(0x1a,0x46);
|
||||
@@ -765,13 +764,13 @@ void CelebiJoinDialogue(void)
|
||||
{
|
||||
sub_803E708(10,0x46);
|
||||
sub_8052910(&gUnknown_8106500);
|
||||
sub_80861F8(0x3e,local_1c,1);
|
||||
sub_80861F8(0x3e,CelebiEntity,1);
|
||||
sub_803E708(0x18,0x46);
|
||||
sub_80861F8(0x3e,local_1c,1);
|
||||
sub_80861F8(0x3e,CelebiEntity,1);
|
||||
sub_803E708(0xe,0x46);
|
||||
sub_8052910(&gUnknown_8106534);
|
||||
sub_803E708(10,0x46);
|
||||
sub_808C8E0(local_1c);
|
||||
sub_808C8E0(CelebiEntity);
|
||||
sub_8052910(&gUnknown_8106560);
|
||||
sub_803E708(10,0x46);
|
||||
state = 2;
|
||||
@@ -793,7 +792,7 @@ void CelebiJoinDialogue(void)
|
||||
"\tmov r7, r8\n"
|
||||
"\tpush {r7}\n"
|
||||
"\tsub sp, 0x4\n"
|
||||
"\tbl sub_8085480\n"
|
||||
"\tbl xxx_call_GetLeaderEntity\n"
|
||||
"\tadds r7, r0, 0\n"
|
||||
"\tmovs r0, 0x1E\n"
|
||||
"\tbl sub_8085680\n"
|
||||
@@ -1075,7 +1074,7 @@ void sub_808C8E0(struct DungeonEntity *param_1)
|
||||
s32 iVar1;
|
||||
|
||||
PlaySoundEffect(0x1a5);
|
||||
sub_806CDD4(param_1, 0, 0);
|
||||
sub_806CDD4(param_1, 0, DIRECTION_SOUTH);
|
||||
for(iVar1 = 0; iVar1 < 16; iVar1++){
|
||||
param_1->entityData->unk174 = iVar1 * 256;
|
||||
sub_803E46C(0x46);
|
||||
@@ -1100,7 +1099,7 @@ void sub_808C948(struct DungeonEntity *param_1, u8 param_2)
|
||||
|
||||
if (param_2 == 0x37) {
|
||||
flag = FALSE;
|
||||
for(iVar3 = 0; iVar3 < 0x10; iVar3++){
|
||||
for(iVar3 = 0; iVar3 < DUNGEON_MAX_WILD_POKEMON; iVar3++){
|
||||
iVar2 = gDungeonGlobalData->wildPokemon[iVar3];
|
||||
if ((iVar2 != param_1) && (EntityExists(iVar2) != 0)) {
|
||||
flag = TRUE;
|
||||
@@ -1124,38 +1123,38 @@ void sub_808C998(void)
|
||||
void sub_808C9B0(struct DungeonEntity *param_1)
|
||||
{
|
||||
param_1->entityData->facingDir = DIRECTION_NORTH;
|
||||
sub_806CE68(param_1, 4);
|
||||
sub_806CE68(param_1, DIRECTION_NORTH);
|
||||
}
|
||||
|
||||
void sub_808C9C4(void)
|
||||
{
|
||||
struct DungeonEntity *temp;
|
||||
struct DungeonEntity *temp_2;
|
||||
struct DungeonEntity *LeaderEntity;
|
||||
struct DungeonEntity *MedichamEntity;
|
||||
|
||||
temp = sub_8085480();
|
||||
temp_2 = sub_8085680(7);
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
MedichamEntity = sub_8085680(7);
|
||||
sub_8083E88(0x72);
|
||||
sub_80854D4();
|
||||
sub_8085930(4);
|
||||
sub_80855E4(sub_8086A3C);
|
||||
sub_8085918(temp_2, 0);
|
||||
sub_8085860(temp->posWorldX, temp->posWorldY - 3);
|
||||
SetFacingDirection(MedichamEntity, DIRECTION_SOUTH);
|
||||
sub_8085860(LeaderEntity->posWorldX, LeaderEntity->posWorldY - 3);
|
||||
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MEDICHAM);
|
||||
}
|
||||
|
||||
// Medicham Rescue Dialogue?
|
||||
void MedichamRescueDialogue(void)
|
||||
{
|
||||
struct DungeonEntity *temp;
|
||||
struct DungeonEntity *MedichamEntity;
|
||||
s32 counter;
|
||||
|
||||
temp = sub_8085680(7);
|
||||
SpriteLookAroundEffect(temp);
|
||||
MedichamEntity = sub_8085680(7);
|
||||
SpriteLookAroundEffect(MedichamEntity);
|
||||
sub_803E708(0xA, 0x46);
|
||||
// Oh my I can't seem to find a way out...
|
||||
sub_8052910(&gUnknown_8106778);
|
||||
sub_803E708(0xA, 0x46);
|
||||
sub_80869E4(temp, 4, 2, 4);
|
||||
sub_80869E4(MedichamEntity, 4, 2, 4);
|
||||
sub_803E708(0xA, 0x46);
|
||||
// What am I to do...?
|
||||
sub_8052910(&gUnknown_81067BC);
|
||||
@@ -1163,18 +1162,18 @@ void MedichamRescueDialogue(void)
|
||||
sub_8086448();
|
||||
sub_8086598();
|
||||
sub_803E708(0x20, 0x46);
|
||||
sub_80862BC(temp);
|
||||
sub_80862BC(MedichamEntity);
|
||||
sub_803E708(0x20, 0x46);
|
||||
sub_80869E4(temp, 4, 2, 0);
|
||||
sub_80869E4(MedichamEntity, 4, 2, 0);
|
||||
sub_8052910(&gUnknown_81067E0);
|
||||
sub_803E708(0xA, 0x46);
|
||||
PlaySoundEffect(0x1c7);
|
||||
sub_806CDD4(temp, 0xA, 0);
|
||||
sub_806CDD4(MedichamEntity, 0xA, DIRECTION_SOUTH);
|
||||
sub_803E708(0x14, 0x46);
|
||||
sub_806CE68(temp, 0);
|
||||
sub_806CE68(MedichamEntity, DIRECTION_SOUTH);
|
||||
sub_803E708(0x4, 0x46);
|
||||
PlaySoundEffect(0x1c7);
|
||||
sub_806CDD4(temp, 0xA, 0);
|
||||
sub_806CDD4(MedichamEntity, 0xA, DIRECTION_SOUTH);
|
||||
sub_803E708(0x14, 0x46);
|
||||
// Yes Yes
|
||||
// I am so lucky
|
||||
@@ -1182,32 +1181,32 @@ void MedichamRescueDialogue(void)
|
||||
// There appears to be no one here
|
||||
sub_8052910(&gUnknown_8106834);
|
||||
sub_803E708(0xA, 0x46);
|
||||
sub_806CDD4(temp, 0, 0);
|
||||
sub_806CDD4(MedichamEntity, 0, DIRECTION_SOUTH);
|
||||
for(counter = 0x17; counter >= 0; counter--)
|
||||
{
|
||||
sub_804539C(temp, 0, 0x80 << 1);
|
||||
sub_804539C(MedichamEntity, 0, 0x80 << 1);
|
||||
sub_803E46C(0x46);
|
||||
}
|
||||
sub_806CE68(temp, 0);
|
||||
sub_806CE68(MedichamEntity, DIRECTION_SOUTH);
|
||||
sub_803E708(0x20, 0x46);
|
||||
sub_8042B0C(temp);
|
||||
sub_8068FE0(temp, 0x21C, 0);
|
||||
sub_8042B0C(MedichamEntity);
|
||||
sub_8068FE0(MedichamEntity, 0x21C, 0);
|
||||
gDungeonGlobalData->unk4 = 1;
|
||||
gDungeonGlobalData->unk11 = 4;
|
||||
}
|
||||
|
||||
void sub_808CB5C(void)
|
||||
{
|
||||
struct DungeonEntity *temp;
|
||||
struct DungeonEntity *temp_2;
|
||||
struct DungeonEntity *LeaderEntity;
|
||||
struct DungeonEntity *MedichamEntity;
|
||||
|
||||
temp = sub_8085480();
|
||||
temp_2 = sub_8085680(7);
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
MedichamEntity = sub_8085680(7);
|
||||
sub_8083E88(0x72);
|
||||
sub_80854D4();
|
||||
sub_8085930(4);
|
||||
sub_8068FE0(temp_2, 0x21C, 0);
|
||||
sub_8085860(temp->posWorldX, temp->posWorldY);
|
||||
sub_8068FE0(MedichamEntity, 0x21C, 0);
|
||||
sub_8085860(LeaderEntity->posWorldX, LeaderEntity->posWorldY);
|
||||
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_MEDICHAM);
|
||||
}
|
||||
|
||||
@@ -1217,34 +1216,34 @@ void DummyFightDialogue(void)
|
||||
|
||||
void sub_808CBB0(void)
|
||||
{
|
||||
struct DungeonEntity *temp;
|
||||
struct DungeonEntity *temp_2;
|
||||
struct DungeonEntity *LeaderEntity;
|
||||
struct DungeonEntity *SmeargleEntity;
|
||||
|
||||
temp = sub_8085480();
|
||||
temp_2 = sub_8085680(0x1F);
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
SmeargleEntity = sub_8085680(0x1F);
|
||||
sub_8083E88(0x72);
|
||||
sub_80854D4();
|
||||
sub_8085930(4);
|
||||
sub_80855E4(sub_8086A3C);
|
||||
sub_8085918(temp_2, 0);
|
||||
sub_8085860(temp->posWorldX, temp->posWorldY - 3);
|
||||
SetFacingDirection(SmeargleEntity, DIRECTION_SOUTH);
|
||||
sub_8085860(LeaderEntity->posWorldX, LeaderEntity->posWorldY - 3);
|
||||
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SMEARGLE);
|
||||
}
|
||||
|
||||
// Smeargle Rescue dialogue scene
|
||||
void SmeargleRescueDialogue(void)
|
||||
{
|
||||
struct DungeonEntity *temp;
|
||||
struct DungeonEntity *SmeargleEntity;
|
||||
s32 counter;
|
||||
|
||||
temp = sub_8085680(0x1F);
|
||||
SpriteLookAroundEffect(temp);
|
||||
SmeargleEntity = sub_8085680(0x1F);
|
||||
SpriteLookAroundEffect(SmeargleEntity);
|
||||
sub_803E708(0xA, 0x46);
|
||||
// Ohhh...
|
||||
// I've lost my bearings
|
||||
sub_8052910(&gUnknown_810688C);
|
||||
sub_803E708(0xA, 0x46);
|
||||
sub_80869E4(temp, 4, 2, 4);
|
||||
sub_80869E4(SmeargleEntity, 4, 2, 4);
|
||||
sub_803E708(0xA, 0x46);
|
||||
// I can't get out...
|
||||
// I'm hungry...
|
||||
@@ -1254,34 +1253,34 @@ void SmeargleRescueDialogue(void)
|
||||
sub_8086448();
|
||||
sub_8086598();
|
||||
sub_803E708(0x20, 0x46);
|
||||
sub_80862BC(temp);
|
||||
sub_80862BC(SmeargleEntity);
|
||||
sub_803E708(0x20, 0x46);
|
||||
sub_80869E4(temp, 4, 2, 0);
|
||||
sub_80869E4(SmeargleEntity, 4, 2, 0);
|
||||
// Oh! You are?
|
||||
sub_8052910(&gUnknown_8106918);
|
||||
sub_803E708(0xA, 0x46);
|
||||
PlaySoundEffect(0x1c7);
|
||||
sub_806CDD4(temp, 0xA, 0);
|
||||
sub_806CDD4(SmeargleEntity, 0xA, DIRECTION_SOUTH);
|
||||
sub_803E708(0x14, 0x46);
|
||||
sub_806CE68(temp, 0);
|
||||
sub_806CE68(SmeargleEntity, DIRECTION_SOUTH);
|
||||
sub_803E708(0x4, 0x46);
|
||||
PlaySoundEffect(0x1c7);
|
||||
sub_806CDD4(temp, 0xA, 0);
|
||||
sub_806CDD4(SmeargleEntity, 0xA, DIRECTION_SOUTH);
|
||||
sub_803E708(0x14, 0x46);
|
||||
// Did you maybe come to rescue me?
|
||||
// Am I glad to see you
|
||||
sub_8052910(&gUnknown_8106934);
|
||||
sub_803E708(0xA, 0x46);
|
||||
sub_806CDD4(temp, 0, 0);
|
||||
sub_806CDD4(SmeargleEntity, 0, DIRECTION_SOUTH);
|
||||
for(counter = 0x17; counter >= 0; counter--)
|
||||
{
|
||||
sub_804539C(temp, 0, 0x80 << 1);
|
||||
sub_804539C(SmeargleEntity, 0, 0x80 << 1);
|
||||
sub_803E46C(0x46);
|
||||
}
|
||||
sub_806CE68(temp, 0);
|
||||
sub_806CE68(SmeargleEntity, DIRECTION_SOUTH);
|
||||
sub_803E708(0x20, 0x46);
|
||||
sub_8042B0C(temp);
|
||||
sub_8068FE0(temp, 0x21C, 0);
|
||||
sub_8042B0C(SmeargleEntity);
|
||||
sub_8068FE0(SmeargleEntity, 0x21C, 0);
|
||||
gDungeonGlobalData->unk4 = 1;
|
||||
gDungeonGlobalData->unk11 = 4;
|
||||
|
||||
@@ -1289,17 +1288,17 @@ void SmeargleRescueDialogue(void)
|
||||
|
||||
void sub_808CD44(void)
|
||||
{
|
||||
struct DungeonEntity *temp;
|
||||
struct DungeonEntity *temp_2;
|
||||
struct DungeonEntity *LeaderEntity;
|
||||
struct DungeonEntity *SmeargleEntity;
|
||||
|
||||
temp = sub_8085480();
|
||||
temp_2 = sub_8085680(0x1F);
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
SmeargleEntity = sub_8085680(0x1F);
|
||||
sub_8083E88(0x72);
|
||||
sub_80854D4();
|
||||
sub_8085930(4);
|
||||
sub_80855E4(sub_8086A3C);
|
||||
sub_8068FE0(temp_2, 0x21C, 0);
|
||||
sub_8085860(temp->posWorldX, temp->posWorldY - 3);
|
||||
sub_8068FE0(SmeargleEntity, 0x21C, 0);
|
||||
sub_8085860(LeaderEntity->posWorldX, LeaderEntity->posWorldY - 3);
|
||||
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_SMEARGLE);
|
||||
}
|
||||
|
||||
|
||||
1107
src/code_8057824_1.c
1107
src/code_8057824_1.c
File diff suppressed because it is too large
Load Diff
88
src/code_806CD90.c
Normal file
88
src/code_806CD90.c
Normal file
@@ -0,0 +1,88 @@
|
||||
#include "global.h"
|
||||
#include "dungeon_global_data.h"
|
||||
#include "dungeon_entity.h"
|
||||
#include "constants/direction.h"
|
||||
|
||||
extern struct DungeonGlobalData *gDungeonGlobalData;
|
||||
|
||||
extern u8 sub_806CEBC(struct DungeonEntity *);
|
||||
extern bool8 EntityExists(struct DungeonEntity *);
|
||||
extern void sub_806CCB4(struct DungeonEntity *, u8);
|
||||
extern u32 GetEntityType(struct DungeonEntity *);
|
||||
|
||||
void sub_806CD90(void)
|
||||
{
|
||||
s32 iVar3;
|
||||
struct DungeonEntity *iVar2;
|
||||
for(iVar3 = 0; iVar3 < DUNGEON_MAX_POKEMON; iVar3++)
|
||||
{
|
||||
iVar2 = gDungeonGlobalData->allPokemon[iVar3];
|
||||
if(EntityExists(iVar2))
|
||||
sub_806CCB4(iVar2, sub_806CEBC(iVar2));
|
||||
}
|
||||
}
|
||||
|
||||
void sub_806CDD4(struct DungeonEntity *r0, u8 r1, u32 r2)
|
||||
{
|
||||
if(GetEntityType(r0) == ENTITY_POKEMON)
|
||||
{
|
||||
r0->unk6A = r1;
|
||||
if(r2 < NUM_DIRECTIONS) r0->facingDir = r2;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_806CDFC(struct DungeonEntity *r0, u8 r1, u32 r2)
|
||||
{
|
||||
if(GetEntityType(r0) == ENTITY_POKEMON)
|
||||
{
|
||||
if(r0->unk6B == r1)
|
||||
{
|
||||
if(r0->facingDir2 == r2)
|
||||
return;
|
||||
else
|
||||
goto change_dir;
|
||||
}
|
||||
else
|
||||
{
|
||||
change_dir:
|
||||
sub_806CDD4(r0, r1, r2);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_806CE34(struct DungeonEntity *r0, u32 newDir)
|
||||
{
|
||||
if(GetEntityType(r0) == ENTITY_POKEMON)
|
||||
{
|
||||
r0->unk6A = sub_806CEBC(r0);
|
||||
if(newDir < NUM_DIRECTIONS)
|
||||
{
|
||||
r0->entityData->facingDir = newDir & DIRECTION_MASK;
|
||||
r0->facingDir = newDir & DIRECTION_MASK;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_806CE68(struct DungeonEntity *r0, u32 newDir)
|
||||
{
|
||||
if(GetEntityType(r0) == ENTITY_POKEMON)
|
||||
{
|
||||
r0->unk6A = sub_806CEBC(r0);
|
||||
if(newDir < NUM_DIRECTIONS)
|
||||
{
|
||||
r0->facingDir = newDir;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
void sub_806CE94(struct DungeonEntity *r0, u32 newDir)
|
||||
{
|
||||
if(GetEntityType(r0) == ENTITY_POKEMON)
|
||||
{
|
||||
r0->unk6A = 6;
|
||||
if(newDir < NUM_DIRECTIONS)
|
||||
{
|
||||
r0->facingDir = newDir;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -94,6 +94,236 @@ extern void sub_808AFB0(u8);
|
||||
extern void sub_808B030(u8);
|
||||
extern void sub_808B0B0(u8);
|
||||
|
||||
extern void sub_8086B14(void);
|
||||
extern void sub_8086B94(void);
|
||||
extern void sub_8086E9C(void);
|
||||
extern void sub_8086F00(void);
|
||||
extern void sub_8087230(void);
|
||||
extern void sub_808729C(void);
|
||||
extern void sub_80877E8(void);
|
||||
extern void sub_8087848(void);
|
||||
extern void sub_8087F54(void);
|
||||
extern void sub_8087FB4(void);
|
||||
extern void sub_8087FF8(void);
|
||||
extern void sub_80885A0(void);
|
||||
extern void sub_80885C4(void);
|
||||
extern void sub_808862C(void);
|
||||
extern void sub_80886C4(void);
|
||||
extern void sub_808875C(void);
|
||||
extern void sub_8088DC0(void);
|
||||
extern void sub_8088E5C(void);
|
||||
extern void sub_80892C8(void);
|
||||
extern void sub_8089328(void);
|
||||
extern void sub_808970C(void);
|
||||
extern void sub_808974C(void);
|
||||
extern void sub_8089914(void);
|
||||
extern void sub_8089978(void);
|
||||
extern void sub_8089C44(void);
|
||||
extern void sub_8089C90(void);
|
||||
extern void sub_8089EFC(void);
|
||||
extern void sub_8089F44(void);
|
||||
extern void sub_8089F8C(void);
|
||||
extern void sub_808A264(void);
|
||||
extern void sub_808A2C0(void);
|
||||
extern void sub_808A308(void);
|
||||
extern void sub_808A608(void);
|
||||
extern void sub_808A668(void);
|
||||
extern void sub_808A9E4(void);
|
||||
extern void sub_808AA3C(void);
|
||||
extern void sub_808AA94(void);
|
||||
extern void sub_808ACC0(void);
|
||||
extern void sub_808AD48(void);
|
||||
extern void sub_808ADCC(void);
|
||||
extern void sub_808B2F4(void);
|
||||
extern void sub_808B35C(void);
|
||||
extern void sub_808BDEC(void);
|
||||
extern void sub_808C10C(void);
|
||||
extern void sub_808C3A0(void);
|
||||
extern void sub_808C5C0(void);
|
||||
extern void sub_808C938(void);
|
||||
extern void sub_808C9C4(void);
|
||||
extern void sub_808CB5C(void);
|
||||
extern void sub_808CBB0(void);
|
||||
extern void sub_808CD44(void);
|
||||
extern void sub_8097FF8(void);
|
||||
|
||||
u32 sub_80848EC(void)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
||||
void sub_80848F0(void)
|
||||
{
|
||||
gDungeonGlobalData->unk1356C = 1;
|
||||
switch(gDungeonGlobalData->unk3A0D) {
|
||||
case 0:
|
||||
case 0x3c:
|
||||
gDungeonGlobalData->unk1356C = 0;
|
||||
break;
|
||||
case 1:
|
||||
case 2:
|
||||
sub_8086B14();
|
||||
break;
|
||||
case 3:
|
||||
sub_8086B94();
|
||||
break;
|
||||
case 4:
|
||||
case 5:
|
||||
sub_8086E9C();
|
||||
break;
|
||||
case 6:
|
||||
sub_8086F00();
|
||||
break;
|
||||
case 7:
|
||||
case 8:
|
||||
sub_8087230();
|
||||
break;
|
||||
case 9:
|
||||
sub_808729C();
|
||||
break;
|
||||
case 10:
|
||||
case 0xb:
|
||||
sub_80877E8();
|
||||
break;
|
||||
case 0xc:
|
||||
sub_8087848();
|
||||
break;
|
||||
case 0xd:
|
||||
sub_8087F54();
|
||||
break;
|
||||
case 0xe:
|
||||
sub_8087FB4();
|
||||
break;
|
||||
case 0xf:
|
||||
sub_8087FF8();
|
||||
break;
|
||||
case 0x10:
|
||||
sub_80885A0();
|
||||
break;
|
||||
case 0x11:
|
||||
sub_80885C4();
|
||||
break;
|
||||
case 0x12:
|
||||
sub_808862C();
|
||||
break;
|
||||
case 0x13:
|
||||
sub_80886C4();
|
||||
break;
|
||||
case 0x14:
|
||||
sub_808875C();
|
||||
break;
|
||||
case 0x15:
|
||||
sub_8088DC0();
|
||||
break;
|
||||
case 0x16:
|
||||
sub_8088E5C();
|
||||
break;
|
||||
case 0x17:
|
||||
case 0x18:
|
||||
sub_80892C8();
|
||||
break;
|
||||
case 0x19:
|
||||
sub_8089328();
|
||||
break;
|
||||
case 0x1a:
|
||||
case 0x1b:
|
||||
sub_808970C();
|
||||
break;
|
||||
case 0x1c:
|
||||
sub_808974C();
|
||||
break;
|
||||
case 0x1d:
|
||||
case 0x1e:
|
||||
sub_8089914();
|
||||
break;
|
||||
case 0x1f:
|
||||
sub_8089978();
|
||||
break;
|
||||
case 0x20:
|
||||
case 0x21:
|
||||
sub_8089C44();
|
||||
break;
|
||||
case 0x22:
|
||||
sub_8089C90();
|
||||
break;
|
||||
case 0x23:
|
||||
sub_8089EFC();
|
||||
break;
|
||||
case 0x24:
|
||||
sub_8089F44();
|
||||
break;
|
||||
case 0x25:
|
||||
sub_8089F8C();
|
||||
break;
|
||||
case 0x26:
|
||||
sub_808A264();
|
||||
break;
|
||||
case 0x27:
|
||||
sub_808A2C0();
|
||||
break;
|
||||
case 0x28:
|
||||
sub_808A308();
|
||||
break;
|
||||
case 0x29:
|
||||
sub_808A608();
|
||||
break;
|
||||
case 0x2a:
|
||||
sub_808A668();
|
||||
break;
|
||||
case 0x2b:
|
||||
sub_808A9E4();
|
||||
break;
|
||||
case 0x2c:
|
||||
sub_808AA3C();
|
||||
break;
|
||||
case 0x2d:
|
||||
sub_808AA94();
|
||||
break;
|
||||
case 0x2e:
|
||||
sub_808ACC0();
|
||||
break;
|
||||
case 0x2f:
|
||||
sub_808AD48();
|
||||
break;
|
||||
case 0x30:
|
||||
sub_808ADCC();
|
||||
break;
|
||||
case 0x31:
|
||||
sub_808B2F4();
|
||||
break;
|
||||
case 0x32:
|
||||
sub_808B35C();
|
||||
break;
|
||||
case 0x33:
|
||||
sub_808BDEC();
|
||||
break;
|
||||
case 0x34:
|
||||
sub_808C10C();
|
||||
break;
|
||||
case 0x35:
|
||||
sub_808C3A0();
|
||||
break;
|
||||
case 0x36:
|
||||
sub_808C5C0();
|
||||
break;
|
||||
case 0x37:
|
||||
sub_808C938();
|
||||
break;
|
||||
case 0x38:
|
||||
sub_808C9C4();
|
||||
break;
|
||||
case 0x39:
|
||||
sub_808CB5C();
|
||||
break;
|
||||
case 0x3a:
|
||||
sub_808CBB0();
|
||||
break;
|
||||
case 0x3b:
|
||||
sub_808CD44();
|
||||
break;
|
||||
}
|
||||
sub_8097FF8();
|
||||
}
|
||||
|
||||
void DisplayPreFightDialogue(void)
|
||||
{
|
||||
|
||||
@@ -25,7 +25,7 @@ extern void sub_803E46C(u32);
|
||||
extern void sub_803E9D0(void);
|
||||
extern void sub_8085C54(u32, u32, u32, u32, u32);
|
||||
extern void PlaySoundEffect(u32);
|
||||
extern struct DungeonEntity *sub_8085480(void);
|
||||
extern struct DungeonEntity *xxx_call_GetLeaderEntity(void);
|
||||
void SpriteLookAroundEffect(struct DungeonEntity *r0);
|
||||
extern void sub_8052910(u32);
|
||||
void sub_8086494();
|
||||
@@ -64,7 +64,7 @@ void sub_80862DC(struct DungeonEntity *r0)
|
||||
array[1] = r0->posPixelY + (0xE0 << 6);
|
||||
|
||||
sub_804535C(r0, array);
|
||||
sub_806CDD4(r0, 0, 4);
|
||||
sub_806CDD4(r0, 0, DIRECTION_NORTH);
|
||||
sub_8086A54(r0);
|
||||
}
|
||||
|
||||
@@ -75,7 +75,7 @@ void sub_8086310(struct DungeonEntity *r0)
|
||||
array[1] = r0->posPixelY + (0x90 << 8);
|
||||
|
||||
sub_804535C(r0, array);
|
||||
sub_806CE68(r0, 0);
|
||||
sub_806CE68(r0, DIRECTION_SOUTH);
|
||||
sub_8086A3C(r0);
|
||||
r0->visible = 0;
|
||||
}
|
||||
@@ -87,7 +87,7 @@ void sub_8086348(struct DungeonEntity *r0)
|
||||
array[1] = r0->posPixelY + 0xffffe000;
|
||||
|
||||
sub_804535C(r0, array);
|
||||
sub_806CDD4(r0, 0, 6);
|
||||
sub_806CDD4(r0, 0, DIRECTION_WEST);
|
||||
sub_8086A54(r0);
|
||||
}
|
||||
|
||||
@@ -98,38 +98,38 @@ void sub_8086384(struct DungeonEntity *r0)
|
||||
array[1] = r0->posPixelY;
|
||||
|
||||
sub_804535C(r0, array);
|
||||
sub_806CDD4(r0, 0, 6);
|
||||
sub_806CDD4(r0, 0, DIRECTION_WEST);
|
||||
sub_8086A54(r0);
|
||||
}
|
||||
|
||||
void sub_80863B8(struct DungeonEntity *r0)
|
||||
{
|
||||
sub_806CDD4(r0, 0, 4);
|
||||
sub_806CDD4(r0, 0, DIRECTION_NORTH);
|
||||
}
|
||||
|
||||
void sub_80863C8(struct DungeonEntity *r0)
|
||||
{
|
||||
sub_806CDD4(r0, 0, 0);
|
||||
sub_806CDD4(r0, 0, DIRECTION_SOUTH);
|
||||
}
|
||||
|
||||
void sub_80863D8(struct DungeonEntity *r0)
|
||||
{
|
||||
sub_806CDD4(r0, 0, 6);
|
||||
sub_806CDD4(r0, 0, DIRECTION_WEST);
|
||||
}
|
||||
|
||||
void sub_80863E8(struct DungeonEntity *r0)
|
||||
{
|
||||
sub_806CDD4(r0, 6, 4);
|
||||
sub_806CDD4(r0, 6, DIRECTION_NORTH);
|
||||
}
|
||||
|
||||
void sub_80863F8(struct DungeonEntity *r0)
|
||||
{
|
||||
sub_806CE68(r0, 4);
|
||||
sub_806CE68(r0, DIRECTION_NORTH);
|
||||
}
|
||||
|
||||
void sub_8086404(struct DungeonEntity *r0)
|
||||
{
|
||||
sub_806CE68(r0, 6);
|
||||
sub_806CE68(r0, DIRECTION_WEST);
|
||||
}
|
||||
|
||||
void sub_8086410(struct DungeonEntity *r0)
|
||||
@@ -310,7 +310,7 @@ void sub_8086690(void)
|
||||
void sub_80866C4(u32 r0)
|
||||
{
|
||||
|
||||
SpriteLookAroundEffect(sub_8085480());
|
||||
SpriteLookAroundEffect(xxx_call_GetLeaderEntity());
|
||||
sub_803E708(0xA, 0x46);
|
||||
sub_8052910(r0);
|
||||
sub_803E708(0xA, 0x46);
|
||||
|
||||
@@ -5,7 +5,8 @@
|
||||
|
||||
extern struct DungeonGlobalData *gDungeonGlobalData;
|
||||
extern void LoadIQSkills(struct DungeonEntity *);
|
||||
extern struct DungeonEntity *sub_8085480(void);
|
||||
extern struct DungeonEntity *GetPartnerEntity();
|
||||
extern struct DungeonEntity *xxx_call_GetLeaderEntity(void);
|
||||
extern struct DungeonEntity *sub_8085680(u32);
|
||||
extern void SetDefaultIQSkills(u8 *param_1, u8 param_2);
|
||||
extern void sub_8097FF8(void);
|
||||
@@ -20,6 +21,40 @@ extern void sub_80855E4(void *);
|
||||
extern void sub_8085860(s32 r0, u32 r1);
|
||||
extern void sub_8068FE0(struct DungeonEntity *, u32, u32);
|
||||
extern void sub_8097FA8(u32);
|
||||
extern void sub_80858AC(void *, u32);
|
||||
extern void sub_8052910(u8 *);
|
||||
extern void sub_806CDD4(struct DungeonEntity *, u32, u32);
|
||||
extern void sub_80869E4(struct DungeonEntity *, u32, u32, u32);
|
||||
extern void sub_8083E88(u32);
|
||||
extern void sub_803E708(u32, u32);
|
||||
extern void sub_8086448(void);
|
||||
extern void sub_80862BC(struct DungeonEntity *);
|
||||
extern void sub_8086E74(struct DungeonEntity *);
|
||||
extern void SpriteLookAroundEffect(struct DungeonEntity *);
|
||||
extern void sub_8086A54(struct DungeonEntity *);
|
||||
extern void PlaySoundEffect(u32);
|
||||
extern void sub_808563C(void *);
|
||||
|
||||
// X / Y Coords??
|
||||
struct subStruct_Skarmory
|
||||
{
|
||||
int x;
|
||||
int y;
|
||||
};
|
||||
|
||||
extern u8 gUnknown_8100768;
|
||||
extern u8 gUnknown_8100798;
|
||||
extern u8 gUnknown_8100820;
|
||||
extern u8 gUnknown_8100844;
|
||||
extern u8 gUnknown_8100880;
|
||||
extern u8 gUnknown_8100928;
|
||||
extern u8 gUnknown_8100A04;
|
||||
extern u8 gUnknown_8100B80;
|
||||
extern u8 gUnknown_8100BC0;
|
||||
extern u8 gUnknown_8100C90;
|
||||
extern u8 gUnknown_8100CBC;
|
||||
extern u8 gUnknown_8100CDC;
|
||||
extern u8 gUnknown_8100D3C;
|
||||
|
||||
void sub_8086A3C(struct DungeonEntity *param_1)
|
||||
{
|
||||
@@ -79,40 +114,40 @@ u8 sub_8086AE4(s16 _index)
|
||||
|
||||
void sub_8086B14(void)
|
||||
{
|
||||
struct DungeonEntity * iVar1;
|
||||
struct DungeonEntity * iVar2;
|
||||
struct DungeonEntity * uVar3;
|
||||
struct DungeonEntity * LeaderEntity;
|
||||
struct DungeonEntity * DiglettEntity;
|
||||
struct DungeonEntity * SkarmoryEntity;
|
||||
|
||||
iVar1 = sub_8085480();
|
||||
iVar2 = sub_8085680(4);
|
||||
uVar3 = sub_8085680(3);
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
DiglettEntity = sub_8085680(4);
|
||||
SkarmoryEntity = sub_8085680(3);
|
||||
sub_8083E88(0x72);
|
||||
sub_8085374();
|
||||
sub_80854D4();
|
||||
sub_8085930(4);
|
||||
sub_80855E4(sub_8086A3C);
|
||||
sub_8086A3C(uVar3);
|
||||
iVar2->entityData->unk15C = 1;
|
||||
sub_8085860(iVar1->posWorldX,iVar1->posWorldY + -2);
|
||||
sub_8086A3C(SkarmoryEntity);
|
||||
DiglettEntity->entityData->unk15C = 1;
|
||||
sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY + -2);
|
||||
CopySpeciesNametoBuffer(gUnknown_202E038,SPECIES_DIGLETT);
|
||||
CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_SKARMORY);
|
||||
}
|
||||
|
||||
void sub_8086B94(void)
|
||||
{
|
||||
struct DungeonEntity * iVar1;
|
||||
struct DungeonEntity * iVar2;
|
||||
struct DungeonEntity * uVar3;
|
||||
struct DungeonEntity * LeaderEntity;
|
||||
struct DungeonEntity * DiglettEntity;
|
||||
struct DungeonEntity * SkarmoryEntity;
|
||||
|
||||
iVar1 = sub_8085480();
|
||||
iVar2 = sub_8085680(4);
|
||||
uVar3 = sub_8085680(3);
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
DiglettEntity = sub_8085680(4);
|
||||
SkarmoryEntity = sub_8085680(3);
|
||||
|
||||
sub_8068FE0(uVar3,0x21c,0);
|
||||
sub_8068FE0(iVar2,0x21c,0);
|
||||
sub_8068FE0(SkarmoryEntity,0x21c,0);
|
||||
sub_8068FE0(DiglettEntity,0x21c,0);
|
||||
sub_80854D4();
|
||||
sub_8085930(4);
|
||||
sub_8085860(iVar1->posWorldX,iVar1->posWorldY);
|
||||
sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY);
|
||||
}
|
||||
|
||||
void sub_8086BDC(char param_1, s32 param_2)
|
||||
@@ -122,3 +157,136 @@ void sub_8086BDC(char param_1, s32 param_2)
|
||||
gDungeonGlobalData->unk2 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
void SkarmoryPreFightDialogue(void)
|
||||
{
|
||||
struct DungeonEntity *LeaderEntity;
|
||||
struct DungeonEntity *PartnerEntity;
|
||||
struct DungeonEntity * DiglettEntity;
|
||||
struct DungeonEntity * SkarmoryEntity;
|
||||
|
||||
struct subStruct_Skarmory local_1c;
|
||||
struct subStruct_Skarmory local_20;
|
||||
|
||||
LeaderEntity = xxx_call_GetLeaderEntity(); // Player
|
||||
PartnerEntity = GetPartnerEntity(); // Partner
|
||||
DiglettEntity = sub_8085680(4); // Diglett
|
||||
SkarmoryEntity = sub_8085680(3); // Skarmory
|
||||
|
||||
local_1c.x = DiglettEntity->posPixelX;
|
||||
local_1c.y = DiglettEntity->posPixelY + 0x3000;
|
||||
|
||||
local_20.x = SkarmoryEntity->posPixelX;
|
||||
local_20.y = SkarmoryEntity->posPixelY + 0x2000;
|
||||
|
||||
sub_8086448();
|
||||
sub_803E708(10,0x46);
|
||||
sub_80862BC(PartnerEntity);
|
||||
sub_803E708(0x20,0x46);
|
||||
sub_803E708(10,0x46);
|
||||
sub_8052910(&gUnknown_8100768);
|
||||
sub_80858AC(&local_1c,0x40);
|
||||
sub_803E708(0x40,0x46);
|
||||
sub_80858AC(&local_20,0x30);
|
||||
sub_8052910(&gUnknown_8100798);
|
||||
sub_803E708(10,0x46);
|
||||
DiglettEntity->entityData->unk15D = 1;
|
||||
sub_80858AC(&local_1c,0x30);
|
||||
sub_8052910(&gUnknown_8100820); // Diglett: ...I...\nI'm scared.
|
||||
sub_803E708(10,0x46);
|
||||
sub_80858AC(&local_20,0x20);
|
||||
sub_803E708(0x20,0x46);
|
||||
sub_8086E74(SkarmoryEntity);
|
||||
sub_8052910(&gUnknown_8100844); // Skarmory: You!\nWhat do you think you're doing here?!
|
||||
sub_803E708(10,0x46);
|
||||
sub_8052910(&gUnknown_8100880);
|
||||
sub_803E708(10,0x46);
|
||||
sub_8052910(&gUnknown_8100928);
|
||||
sub_803E708(10,0x46);
|
||||
sub_8052910(&gUnknown_8100A04);
|
||||
sub_803E708(10,0x46);
|
||||
sub_806CDD4(SkarmoryEntity,0xd,0);
|
||||
sub_8052910(&gUnknown_8100B80);
|
||||
sub_803E708(10,0x46);
|
||||
sub_80869E4(PartnerEntity,4,1,2);
|
||||
sub_80869E4(LeaderEntity,4,2,6);
|
||||
sub_8052910(&gUnknown_8100BC0);
|
||||
sub_80869E4(PartnerEntity,4,2,4);
|
||||
sub_80869E4(LeaderEntity,4,1,4);
|
||||
sub_803E708(10,0x46);
|
||||
sub_8083E88(0xb);
|
||||
sub_80858AC(&LeaderEntity->posPixelX,0x10);
|
||||
}
|
||||
|
||||
void SkarmoryReFightDialogue(void)
|
||||
{
|
||||
struct DungeonEntity * LeaderEntity;
|
||||
struct DungeonEntity * SkarmoryEntity;
|
||||
struct subStruct_Skarmory local_14;
|
||||
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
SkarmoryEntity = sub_8085680(3);
|
||||
local_14.x = SkarmoryEntity->posPixelX;
|
||||
local_14.y = SkarmoryEntity->posPixelY + 0x2000;
|
||||
sub_8086448();
|
||||
sub_803E708(10,0x46);
|
||||
sub_8086E74(SkarmoryEntity);
|
||||
sub_80858AC(&local_14,0x10);
|
||||
sub_8052910(&gUnknown_8100C90);
|
||||
sub_803E708(10,0x46);
|
||||
sub_8052910(&gUnknown_8100CBC);
|
||||
sub_803E708(10,0x46);
|
||||
sub_806CDD4(SkarmoryEntity,0xd,0);
|
||||
sub_8052910(&gUnknown_8100CDC);
|
||||
sub_803E708(10,0x46);
|
||||
sub_80858AC(&LeaderEntity->posPixelX,0x10);
|
||||
sub_8083E88(0xb);
|
||||
}
|
||||
|
||||
void sub_8086E40(void)
|
||||
{
|
||||
SpriteLookAroundEffect(xxx_call_GetLeaderEntity());
|
||||
sub_803E708(10,0x46);
|
||||
sub_8052910(&gUnknown_8100D3C);
|
||||
sub_803E708(10,0x46);
|
||||
gDungeonGlobalData->unk2 = 1;
|
||||
}
|
||||
|
||||
void sub_8086E74(struct DungeonEntity * param_1)
|
||||
{
|
||||
sub_806CDD4(param_1,0xf,0);
|
||||
sub_8086A54(param_1);
|
||||
PlaySoundEffect(0x1f8);
|
||||
sub_803E708(0x44,0x46);
|
||||
}
|
||||
|
||||
void sub_8086E9C(void)
|
||||
{
|
||||
struct DungeonEntity * LeaderEntity;
|
||||
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
sub_8083E88(0x72);
|
||||
sub_8085374();
|
||||
sub_80854D4();
|
||||
sub_8085930(4);
|
||||
sub_80855E4(sub_8086A3C);
|
||||
sub_808563C(sub_8086A3C);
|
||||
sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
|
||||
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_METAPOD);
|
||||
CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_GENGAR);
|
||||
CopySpeciesNametoBuffer(gUnknown_202E038 + 0xA0, SPECIES_CATERPIE);
|
||||
}
|
||||
|
||||
void sub_8086F00(void)
|
||||
{
|
||||
struct DungeonEntity * LeaderEntity;
|
||||
|
||||
LeaderEntity = xxx_call_GetLeaderEntity();
|
||||
sub_80854D4();
|
||||
sub_8085930(4);
|
||||
sub_80855E4(sub_8086A3C);
|
||||
sub_8085860(LeaderEntity->posWorldX,LeaderEntity->posWorldY - 3);
|
||||
CopySpeciesNametoBuffer(gUnknown_202E038, SPECIES_METAPOD);
|
||||
CopySpeciesNametoBuffer(gUnknown_202E038 + 0x50, SPECIES_GENGAR);
|
||||
CopySpeciesNametoBuffer(gUnknown_202E038 + 0xA0, SPECIES_CATERPIE);
|
||||
}
|
||||
|
||||
@@ -22,7 +22,6 @@ extern void PlaySound(u32);
|
||||
extern void nullsub_104();
|
||||
extern void sub_801A928();
|
||||
extern void sub_8099690(u32);
|
||||
extern void GivePokemonItem(s16, struct HeldItem *);
|
||||
extern u32 sub_801A8AC();
|
||||
extern u32 sub_801A6E8(u32);
|
||||
|
||||
|
||||
@@ -37,7 +37,6 @@ extern u8 gPartyMenuItemPlaceholder[];
|
||||
extern struct UnkTextStruct2 gUnknown_80DD370;
|
||||
|
||||
extern u32 sub_8026F04(struct PokemonStruct *);
|
||||
extern void GivePokemonItem(s16 index_, struct HeldItem* item);
|
||||
extern void sub_8026074(u32);
|
||||
extern void PlaySound(u32);
|
||||
bool8 sub_8026F38(struct PokemonStruct *r0);
|
||||
|
||||
@@ -204,7 +204,7 @@ void sub_8017D24(void)
|
||||
switch(menuAction)
|
||||
{
|
||||
case 3:
|
||||
if (GetNumberOfFilledInventorySlots() > 0x13)
|
||||
if (GetNumberOfFilledInventorySlots() >= INVENTORY_SIZE)
|
||||
{
|
||||
sub_801CBB8();
|
||||
UpdateKangaskhanStorageState(6);
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
#include "global.h"
|
||||
#include "constants/bg_music.h"
|
||||
#include "constants/colors.h"
|
||||
#include "input.h"
|
||||
#include "item.h"
|
||||
#include "memory.h"
|
||||
@@ -75,7 +76,6 @@ extern u8 *gUnknown_80D4934[];
|
||||
extern u8 gUnknown_80DCA24[];
|
||||
extern u8 gUnknown_80DCA2C[];
|
||||
|
||||
extern bool8 IsPokemonRenamed(struct PokemonStruct* pokemon);
|
||||
extern struct PokemonStruct *GetPlayerPokemonStruct(void);
|
||||
extern void UpdateLuminousCaveState(u32);
|
||||
|
||||
@@ -116,7 +116,6 @@ extern void sub_8012D60(u32 *, struct MenuItem *, u32, u16 *, u32, u32);
|
||||
void sub_808F734(struct PokemonStruct *, s16);
|
||||
void BoundedCopyStringtoBuffer(u8 *buffer, u8 *string, s32 size);
|
||||
u32 sub_801602C(u32 r0, u8 *name);
|
||||
void sub_808D9AC(u8 *buffer, struct PokemonStruct *pokemon, s32 colorNum);
|
||||
extern s32 sub_80144A4(s32 *);
|
||||
extern u32 sub_801A6E8(u32);
|
||||
extern s32 sub_801A8AC(void);
|
||||
@@ -377,7 +376,7 @@ void UpdateLuminousCaveDialogue(void)
|
||||
sub_80141B4(gLuminousCaveLetUsBegin,0,0,0x105);
|
||||
break;
|
||||
case LUMINOUS_CAVE_CHANGED_APPEARANCE:
|
||||
sub_808D9AC(gPlayerName,gUnknown_203B2B0->pokeStruct,5);
|
||||
PrintColoredPokeNameToBuffer(gPlayerName,gUnknown_203B2B0->pokeStruct, COLOR_CYAN);
|
||||
PlaySound(0x1ff);
|
||||
gUnknown_203B2B0->fallbackState = LUMINOUS_CAVE_EVOLVED;
|
||||
sub_80141B4(gLuminousCaveChangedAppearance,0,0,0x105);
|
||||
|
||||
@@ -6,10 +6,10 @@
|
||||
#include "mailbox.h"
|
||||
|
||||
|
||||
extern void sub_802E4B0(void);
|
||||
extern void HandleMailboxMenu(void);
|
||||
extern void nullsub_133(void);
|
||||
extern void sub_802E578(void);
|
||||
extern void sub_802E60C(void);
|
||||
extern void HandleMailActionMenu(void);
|
||||
extern void sub_802E73C(void);
|
||||
extern void sub_802E758(void);
|
||||
extern void sub_802E774(void);
|
||||
@@ -61,7 +61,7 @@ u32 sub_802DFD8(void)
|
||||
SetMailboxState(1);
|
||||
break;
|
||||
case 1:
|
||||
sub_802E4B0();
|
||||
HandleMailboxMenu();
|
||||
break;
|
||||
case 2:
|
||||
nullsub_133();
|
||||
@@ -71,7 +71,7 @@ u32 sub_802DFD8(void)
|
||||
sub_802E578();
|
||||
break;
|
||||
case 6:
|
||||
sub_802E60C();
|
||||
HandleMailActionMenu();
|
||||
break;
|
||||
case 7:
|
||||
sub_802E73C();
|
||||
|
||||
161
src/mailbox_1.c
161
src/mailbox_1.c
@@ -5,8 +5,11 @@
|
||||
#include "input.h"
|
||||
#include "mailbox.h"
|
||||
|
||||
extern struct unkStruct_203B304 *gUnknown_203B304;
|
||||
|
||||
extern u8 gMailAccepted[];
|
||||
extern u8 gUnknown_80E0324[];
|
||||
|
||||
extern void xxx_call_draw_string(s32 x, u32 y, u8 *, u32 , u32);
|
||||
extern void sub_8012BC4(u32 x, u32 y, u32, u32, u32, u32);
|
||||
extern void sub_8008C54(u32);
|
||||
@@ -21,9 +24,159 @@ extern u32 sub_802C898(void);
|
||||
extern void sub_802C8F4(void);
|
||||
extern u32 sub_802DEE0(void);
|
||||
extern void sub_802DF24(void);
|
||||
extern u8 *sub_8095FE8(u8);
|
||||
extern u8 HasNoMailinMailbox(void);
|
||||
extern u8 sub_8012FD8(u32 *);
|
||||
extern void sub_8013114(u32 *, s32 *);
|
||||
extern u32 sub_802BDEC(u32);
|
||||
extern void sub_8096A78(void);
|
||||
extern void sub_8096C80(void);
|
||||
extern void sub_8096D24(void);
|
||||
extern void sub_8096040(u8);
|
||||
extern void sub_8096DF8(u8);
|
||||
extern void sub_8096078(void);
|
||||
extern void PlayMenuSoundEffect(u32);
|
||||
extern void PlaySound(u32);
|
||||
extern void sub_802BEDC(void);
|
||||
extern u8 sub_802BE74(void);
|
||||
extern u8 HasNoAcceptedJobs(void);
|
||||
extern u8 HasNoPKMNNews(void);
|
||||
extern void sub_8012EA4(u32 *, u32);
|
||||
|
||||
extern struct unkStruct_203B304 *gUnknown_203B304;
|
||||
void HandleMailboxMenu(void)
|
||||
{
|
||||
s32 menuAction = 0;
|
||||
|
||||
if(!sub_8012FD8(&gUnknown_203B304->unk6C))
|
||||
{
|
||||
sub_8013114(&gUnknown_203B304->unk6C, &menuAction);
|
||||
if(menuAction != 1) gUnknown_203B304->unk64 = menuAction;
|
||||
}
|
||||
switch(menuAction)
|
||||
{
|
||||
case 2:
|
||||
if(!HasNoMailinMailbox())
|
||||
SetMailboxState(4);
|
||||
else
|
||||
sub_8012EA4(&gUnknown_203B304->unk6C, 1);
|
||||
break;
|
||||
case 3:
|
||||
if(!HasNoAcceptedJobs())
|
||||
SetMailboxState(8);
|
||||
else
|
||||
sub_8012EA4(&gUnknown_203B304->unk6C, 1);
|
||||
break;
|
||||
case 4:
|
||||
if(!HasNoPKMNNews())
|
||||
SetMailboxState(9);
|
||||
else
|
||||
sub_8012EA4(&gUnknown_203B304->unk6C, 1);
|
||||
break;
|
||||
case 8:
|
||||
SetMailboxState(2);
|
||||
break;
|
||||
case 1:
|
||||
SetMailboxState(3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802E578(void)
|
||||
{
|
||||
u8 *return_var;
|
||||
|
||||
switch(sub_802BDEC(1))
|
||||
{
|
||||
|
||||
case 3:
|
||||
gUnknown_203B304->unk8 = sub_802BE74();
|
||||
SetMailboxState(6);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B304->unk8 = sub_802BE74();
|
||||
return_var = sub_8095FE8(gUnknown_203B304->unk8);
|
||||
if(return_var[0] == 1)
|
||||
{
|
||||
gUnknown_203B304->mailIndex = return_var[5];
|
||||
gUnknown_203B304->fallbackState = 5;
|
||||
SetMailboxState(0xB);
|
||||
}
|
||||
else
|
||||
SetMailboxState(7);
|
||||
break;
|
||||
case 2:
|
||||
sub_802BEDC();
|
||||
SetMailboxState(1);
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void HandleMailActionMenu(void)
|
||||
{
|
||||
s32 menuAction = 0;
|
||||
u8 *return_var;
|
||||
|
||||
|
||||
sub_802BDEC(0);
|
||||
if(!sub_8012FD8(&gUnknown_203B304->unk6C))
|
||||
{
|
||||
sub_8013114(&gUnknown_203B304->unk6C, &menuAction);
|
||||
if(menuAction != 1) gUnknown_203B304->unk68 = menuAction;
|
||||
}
|
||||
switch(menuAction)
|
||||
{
|
||||
case 2:
|
||||
case 3:
|
||||
case 4:
|
||||
break;
|
||||
case 5:
|
||||
PlaySound(0x133);
|
||||
sub_8095FE8(gUnknown_203B304->unk8);
|
||||
sub_8096A78();
|
||||
sub_8096C80();
|
||||
sub_8096D24();
|
||||
sub_8096040(gUnknown_203B304->unk8);
|
||||
sub_8096078();
|
||||
if(HasNoMailinMailbox())
|
||||
{
|
||||
sub_802BEDC();
|
||||
SetMailboxState(1);
|
||||
}
|
||||
else
|
||||
SetMailboxState(5);
|
||||
break;
|
||||
case 8:
|
||||
SetMailboxState(7);
|
||||
break;
|
||||
case 6:
|
||||
PlaySound(0x133);
|
||||
return_var = sub_8095FE8(gUnknown_203B304->unk8);
|
||||
sub_8096DF8(return_var[5]);
|
||||
sub_8096040(gUnknown_203B304->unk8);
|
||||
sub_8096078();
|
||||
if(HasNoMailinMailbox())
|
||||
{
|
||||
sub_802BEDC();
|
||||
SetMailboxState(1);
|
||||
}
|
||||
else
|
||||
SetMailboxState(5);
|
||||
break;
|
||||
case 7:
|
||||
PlayMenuSoundEffect(0);
|
||||
return_var = sub_8095FE8(gUnknown_203B304->unk8);
|
||||
gUnknown_203B304->mailIndex = return_var[5];
|
||||
gUnknown_203B304->fallbackState = 5;
|
||||
SetMailboxState(0xB);
|
||||
break;
|
||||
case 1:
|
||||
SetMailboxState(5);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802E73C(void)
|
||||
{
|
||||
@@ -63,12 +216,12 @@ void sub_802E774(void)
|
||||
case 3:
|
||||
case 4:
|
||||
gUnknown_203B304->mailIndex = GetPokemonNewsIndex();
|
||||
gUnknown_203B304->unk4 = 0xA;
|
||||
gUnknown_203B304->fallbackState = 0xA;
|
||||
SetMailboxState(0xB);
|
||||
break;
|
||||
case 2:
|
||||
sub_802B81C();
|
||||
SetMailboxState(0x1);
|
||||
SetMailboxState(1);
|
||||
break;
|
||||
}
|
||||
}
|
||||
@@ -80,7 +233,7 @@ void sub_802E7D0(void)
|
||||
case 2:
|
||||
case 3:
|
||||
sub_802BACC();
|
||||
SetMailboxState(gUnknown_203B304->unk4);
|
||||
SetMailboxState(gUnknown_203B304->fallbackState);
|
||||
case 0:
|
||||
case 1:
|
||||
break;
|
||||
|
||||
@@ -1,5 +1,32 @@
|
||||
#include "global.h"
|
||||
#include "mailbox.h"
|
||||
#include "pokemon.h"
|
||||
#include "item.h"
|
||||
#include "memory.h"
|
||||
#include "menu.h"
|
||||
#include "text.h"
|
||||
#include "team_inventory.h"
|
||||
|
||||
struct unkStruct_203B308
|
||||
{
|
||||
// size: 0xB6 << 1
|
||||
u32 state;
|
||||
u32 unk4;
|
||||
u8 unk8;
|
||||
u8 fill9[0xC - 9];
|
||||
u32 unkC;
|
||||
u8 fill10[0x50 - 0x10];
|
||||
u8 unk50;
|
||||
u8 fill51[0x64 - 0x51];
|
||||
u32 unk64;
|
||||
u32 unk68;
|
||||
u32 unk6C;
|
||||
u8 fill70[0xBC - 0x70];
|
||||
struct MenuItem unkBC[8];
|
||||
u16 unkFC[8];
|
||||
struct UnkTextStruct2 unk10C[4];
|
||||
};
|
||||
extern struct unkStruct_203B308 *gUnknown_203B308;
|
||||
|
||||
extern u8 gPelipperBoard_Accepted[];
|
||||
extern u8 gUnknown_80E03B8[];
|
||||
@@ -10,10 +37,141 @@ extern void sub_80073B8(u32);
|
||||
extern void sub_80073E0(u32);
|
||||
extern u32 sub_802C898(void);
|
||||
extern void sub_802C8F4(void);
|
||||
extern void SetPelipperBoardState(u32);
|
||||
extern u32 sub_802DEE0(void);
|
||||
extern void sub_802DF24(void);
|
||||
extern u8 *sub_8096574(u8);
|
||||
extern u8 sub_802C4A4(void);
|
||||
extern void sub_8096C80(void);
|
||||
extern void sub_8096D24(void);
|
||||
extern void sub_8096A78(u8 *);
|
||||
extern void sub_80965B8(u8);
|
||||
extern void sub_80965F4(void);
|
||||
extern void sub_802C2D4(void);
|
||||
extern u8 sub_8012FD8(u32 *);
|
||||
extern void sub_8013114(u32 *, s32 *);
|
||||
extern u32 sub_802C1E4(u32);
|
||||
extern void PlaySound(u32);
|
||||
extern void SetPelipperBoardState(u32);
|
||||
extern u8 sub_802C26C(void);
|
||||
extern u8 HasNoAcceptedJobs(void);
|
||||
extern void sub_8012EA4(u32 *, u32);
|
||||
|
||||
void sub_802ECB4(void)
|
||||
{
|
||||
s32 menuAction = 0;
|
||||
|
||||
if(!sub_8012FD8(&gUnknown_203B308->unk6C))
|
||||
{
|
||||
sub_8013114(&gUnknown_203B308->unk6C, &menuAction);
|
||||
if(menuAction != 1) gUnknown_203B308->unk64 = menuAction;
|
||||
}
|
||||
|
||||
switch(menuAction)
|
||||
{
|
||||
case 2:
|
||||
if(!sub_802C4A4())
|
||||
SetPelipperBoardState(4);
|
||||
else
|
||||
sub_8012EA4(&gUnknown_203B308->unk6C, 1);
|
||||
break;
|
||||
case 3:
|
||||
if(!HasNoAcceptedJobs())
|
||||
SetPelipperBoardState(8);
|
||||
else
|
||||
sub_8012EA4(&gUnknown_203B308->unk6C, 1);
|
||||
break;
|
||||
case 5:
|
||||
SetPelipperBoardState(2);
|
||||
break;
|
||||
case 1:
|
||||
SetPelipperBoardState(3);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802ED4C(void)
|
||||
{
|
||||
switch(sub_802C1E4(1))
|
||||
{
|
||||
case 3:
|
||||
gUnknown_203B308->unk8 = sub_802C26C();
|
||||
SetPelipperBoardState(6);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B308->unk8 = sub_802C26C();
|
||||
SetPelipperBoardState(7);
|
||||
break;
|
||||
case 2:
|
||||
sub_802C2D4();
|
||||
SetPelipperBoardState(1);
|
||||
break;
|
||||
case 0:
|
||||
case 1:
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802EDBC(void)
|
||||
{
|
||||
u8 *return_var;
|
||||
s32 menuAction = 0;
|
||||
|
||||
sub_802C1E4(0);
|
||||
if(!sub_8012FD8(&gUnknown_203B308->unk6C))
|
||||
{
|
||||
sub_8013114(&gUnknown_203B308->unk6C, &menuAction);
|
||||
if(menuAction != 1) gUnknown_203B308->unk68 = menuAction;
|
||||
}
|
||||
switch(menuAction)
|
||||
{
|
||||
case 4:
|
||||
PlaySound(0x133);
|
||||
return_var = sub_8096574(gUnknown_203B308->unk8);
|
||||
switch(*return_var)
|
||||
{
|
||||
case 2:
|
||||
gUnknown_203B308->unk4 = 1;
|
||||
sub_80965B8(gUnknown_203B308->unk8);
|
||||
sub_80965F4();
|
||||
sub_802C2D4();
|
||||
SetPelipperBoardState(3);
|
||||
break;
|
||||
case 3:
|
||||
gUnknown_203B308->unk4 = 2;
|
||||
sub_80965B8(gUnknown_203B308->unk8);
|
||||
sub_80965F4();
|
||||
sub_802C2D4();
|
||||
SetPelipperBoardState(3);
|
||||
break;
|
||||
case 4:
|
||||
gUnknown_203B308->unk4 = 3;
|
||||
sub_80965B8(gUnknown_203B308->unk8);
|
||||
sub_80965F4();
|
||||
sub_802C2D4();
|
||||
SetPelipperBoardState(3);
|
||||
break;
|
||||
default:
|
||||
sub_8096A78(return_var);
|
||||
sub_8096C80();
|
||||
sub_8096D24();
|
||||
if(sub_802C4A4())
|
||||
{
|
||||
sub_802C2D4();
|
||||
SetPelipperBoardState(1);
|
||||
}
|
||||
else
|
||||
SetPelipperBoardState(5);
|
||||
break;
|
||||
}
|
||||
break;
|
||||
case 5:
|
||||
SetPelipperBoardState(7);
|
||||
break;
|
||||
case 1:
|
||||
SetPelipperBoardState(5);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void sub_802EEA0(void)
|
||||
{
|
||||
|
||||
@@ -270,12 +270,12 @@ char * GetMonSpecies(s16 index)
|
||||
return gMonsterParameters[index].species;
|
||||
}
|
||||
|
||||
void sub_808D9AC(u8 *buffer, struct PokemonStruct *pokemon, s32 colorNum)
|
||||
void PrintColoredPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon, s32 colorNum)
|
||||
{
|
||||
u8 nameBuffer [20];
|
||||
|
||||
sub_80922B4(nameBuffer, pokemon->name, POKEMON_NAME_LENGTH);
|
||||
if (colorNum == 0) {
|
||||
if (colorNum == COLOR_WHITE) {
|
||||
colorNum = COLOR_CYAN;
|
||||
}
|
||||
ExpandPlaceholdersBuffer(buffer,gUnknown_810763C,colorNum,nameBuffer); // #c%c%s{END_COLOR_TEXT_2}
|
||||
@@ -286,7 +286,7 @@ void sub_808D9DC(u8 *buffer, u8 *param_2, s32 colorNum)
|
||||
u8 nameBuffer [20];
|
||||
|
||||
sub_80922B4(nameBuffer, param_2 + 0x58, POKEMON_NAME_LENGTH);
|
||||
if (colorNum == 0) {
|
||||
if (colorNum == COLOR_WHITE) {
|
||||
colorNum = COLOR_YELLOW;
|
||||
}
|
||||
ExpandPlaceholdersBuffer(buffer,gUnknown_810763C,colorNum,nameBuffer); // #c%c%s{END_COLOR_TEXT_2}
|
||||
@@ -300,7 +300,7 @@ void sub_808DA0C(u8 *buffer, u8 *param_2)
|
||||
ExpandPlaceholdersBuffer(buffer,gUnknown_8107638,nameBuffer); // %s
|
||||
}
|
||||
|
||||
void sub_808DA34(u8 *buffer, struct PokemonStruct *pokemon)
|
||||
void PrintPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon)
|
||||
{
|
||||
sub_80922B4(buffer, pokemon->name, POKEMON_NAME_LENGTH);
|
||||
}
|
||||
|
||||
@@ -86,7 +86,7 @@ extern void sub_8013984(u32 *);
|
||||
extern u8 HasNoPKMNNews(void);
|
||||
extern u8 CheckPKMNNewsSlot(u8 r0);
|
||||
extern struct PokemonStruct *sub_808D3BC(void);
|
||||
extern void sub_808DA34(u8 *buffer, struct PokemonStruct *pokemon);
|
||||
extern void PrintPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon);
|
||||
extern u16 gUnknown_203B2D0;
|
||||
extern u16 gUnknown_203B2D2;
|
||||
|
||||
@@ -719,7 +719,7 @@ void sub_802BC08(void)
|
||||
|
||||
void sub_802BC7C(void)
|
||||
{
|
||||
sub_808DA34(gAvailablePokemonNames, sub_808D3BC());
|
||||
PrintPokeNameToBuffer(gAvailablePokemonNames, sub_808D3BC());
|
||||
if(gUnknown_203B46C->playerGender == FEMALE)
|
||||
{
|
||||
strcpy(gAvailablePokemonNames + 0x50, gUnknown_80DFC4C); // She
|
||||
|
||||
@@ -135,7 +135,7 @@ extern u8 sub_8012FD8(u32 *r0);
|
||||
extern void sub_8013114(u32 *, s32 *);
|
||||
extern u32 sub_802DEE0(void);
|
||||
extern void sub_802DF24(void);
|
||||
extern void sub_808DA34(u8 *buffer, struct PokemonStruct *pokemon);
|
||||
extern void PrintPokeNameToBuffer(u8 *buffer, struct PokemonStruct *pokemon);
|
||||
extern struct PokemonStruct *GetPlayerPokemonStruct(void);
|
||||
extern void sub_802F6FC(void);
|
||||
extern void sub_802F718(void);
|
||||
@@ -368,7 +368,7 @@ u32 sub_802F204(struct unkStruct_802F204 *r0, u8 r1)
|
||||
// NOTE: dumb var to get correct ordering
|
||||
preload = gUnknown_203B310;
|
||||
strcpy(gUnknown_202E5D8, preload->unk10->clientName);
|
||||
sub_808DA34(gAvailablePokemonNames, GetPlayerPokemonStruct());
|
||||
PrintPokeNameToBuffer(gAvailablePokemonNames, GetPlayerPokemonStruct());
|
||||
|
||||
gUnknown_203B310->faceFile = GetDialogueSpriteDataPtr(gUnknown_203B310->unk10->unk14);
|
||||
gUnknown_203B310->faceData = NULL;
|
||||
|
||||
Reference in New Issue
Block a user