mirror of
https://github.com/pret/pokeheartgold.git
synced 2025-02-17 03:48:00 +00:00
Split asm/unk_02095DF4.s
This commit is contained in:
parent
5055db0c10
commit
e8f9f705f7
@ -1659,7 +1659,7 @@ _02031566:
|
||||
add r1, r5, #0
|
||||
add r0, r7, #0
|
||||
add r1, #0x20
|
||||
bl sub_0202ABD0
|
||||
bl SaveMisc_GetBattleGreeting
|
||||
add r0, sp, #4
|
||||
ldrb r0, [r0, #0xe]
|
||||
strb r0, [r5, #0x15]
|
||||
|
@ -140,613 +140,3 @@ _02095EF4:
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end sub_02095E30
|
||||
|
||||
thumb_func_start AllocAndReadPhoneBook
|
||||
AllocAndReadPhoneBook: ; 0x02095EF8
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #0x48
|
||||
add r5, r0, #0
|
||||
add r0, sp, #0
|
||||
bl FS_InitFile
|
||||
ldr r1, _02095F64 ; =_021105C8
|
||||
add r0, sp, #0
|
||||
bl FS_OpenFile
|
||||
cmp r0, #0
|
||||
bne _02095F1A
|
||||
bl GF_AssertFail
|
||||
add sp, #0x48
|
||||
mov r0, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
_02095F1A:
|
||||
ldr r1, [sp, #0x28]
|
||||
ldr r0, [sp, #0x24]
|
||||
sub r6, r1, r0
|
||||
add r0, r5, #0
|
||||
add r1, r6, #0
|
||||
bl AllocFromHeap
|
||||
add r4, r0, #0
|
||||
mov r1, #0
|
||||
add r2, r6, #0
|
||||
bl MI_CpuFill8
|
||||
add r0, sp, #0
|
||||
add r1, r4, #0
|
||||
mov r2, #4
|
||||
bl FS_ReadFile
|
||||
ldr r2, [r4]
|
||||
mov r1, #0x14
|
||||
add r0, r5, #0
|
||||
mul r1, r2
|
||||
bl AllocFromHeap
|
||||
str r0, [r4, #4]
|
||||
ldr r3, [r4]
|
||||
mov r2, #0x14
|
||||
ldr r1, [r4, #4]
|
||||
add r0, sp, #0
|
||||
mul r2, r3
|
||||
bl FS_ReadFile
|
||||
add r0, sp, #0
|
||||
bl FS_CloseFile
|
||||
add r0, r4, #0
|
||||
add sp, #0x48
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
_02095F64: .word _021105C8
|
||||
thumb_func_end AllocAndReadPhoneBook
|
||||
|
||||
thumb_func_start FreePhoneBook
|
||||
FreePhoneBook: ; 0x02095F68
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r3, [r4]
|
||||
mov r2, #0x14
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #0
|
||||
mul r2, r3
|
||||
bl MI_CpuFill8
|
||||
ldr r0, [r4, #4]
|
||||
bl FreeToHeap
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
mov r2, #8
|
||||
bl MI_CpuFill8
|
||||
add r0, r4, #0
|
||||
bl FreeToHeap
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end FreePhoneBook
|
||||
|
||||
thumb_func_start LoadPhoneBookEntryI
|
||||
LoadPhoneBookEntryI: ; 0x02095F94
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
add r0, r2, #0
|
||||
add r4, r1, #0
|
||||
bl AllocAndReadPhoneBook
|
||||
add r6, r0, #0
|
||||
ldr r3, [r6]
|
||||
mov r1, #0
|
||||
cmp r3, #0
|
||||
ble _02095FD4
|
||||
ldr r7, [r6, #4]
|
||||
add r2, r7, #0
|
||||
_02095FAE:
|
||||
ldrh r0, [r2, #4]
|
||||
cmp r5, r0
|
||||
bne _02095FCC
|
||||
add r0, r1, #0
|
||||
mov r2, #0x14
|
||||
mul r0, r2
|
||||
add r0, r7, r0
|
||||
add r1, r4, #0
|
||||
bl MI_CpuCopy8
|
||||
add r0, r6, #0
|
||||
bl FreePhoneBook
|
||||
ldrb r0, [r4]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02095FCC:
|
||||
add r1, r1, #1
|
||||
add r2, #0x14
|
||||
cmp r1, r3
|
||||
blt _02095FAE
|
||||
_02095FD4:
|
||||
add r0, r6, #0
|
||||
bl FreePhoneBook
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
mov r2, #0x14
|
||||
bl MI_CpuFill8
|
||||
mov r0, #0xff
|
||||
strb r0, [r4]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end LoadPhoneBookEntryI
|
||||
|
||||
thumb_func_start GetPhoneMessageGmm
|
||||
GetPhoneMessageGmm: ; 0x02095FEC
|
||||
lsl r1, r0, #1
|
||||
ldr r0, _02095FF4 ; =sPhoneMessageGmm
|
||||
ldrh r0, [r0, r1]
|
||||
bx lr
|
||||
.balign 4, 0
|
||||
_02095FF4: .word sPhoneMessageGmm
|
||||
thumb_func_end GetPhoneMessageGmm
|
||||
|
||||
thumb_func_start sub_02095FF8
|
||||
sub_02095FF8: ; 0x02095FF8
|
||||
push {r3, lr}
|
||||
mov r1, #3
|
||||
bl _s32_div_f
|
||||
cmp r1, #2
|
||||
bne _02096008
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
_02096008:
|
||||
mov r0, #0
|
||||
pop {r3, pc}
|
||||
thumb_func_end sub_02095FF8
|
||||
|
||||
thumb_func_start LaunchStarterChoiceScene
|
||||
LaunchStarterChoiceScene: ; 0x0209600C
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
mov r0, #0xb
|
||||
mov r1, #8
|
||||
bl AllocFromHeapAtEnd
|
||||
add r2, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [r2]
|
||||
ldr r0, [r4, #0x10]
|
||||
ldr r1, _02096028 ; =CreateStarter
|
||||
bl TaskManager_Call
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
_02096028: .word CreateStarter
|
||||
thumb_func_end LaunchStarterChoiceScene
|
||||
|
||||
thumb_func_start CreateStarter
|
||||
CreateStarter: ; 0x0209602C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x34
|
||||
add r4, r0, #0
|
||||
bl TaskManager_GetSys
|
||||
str r0, [sp, #0x1c]
|
||||
add r0, r4, #0
|
||||
bl TaskManager_GetEnv
|
||||
add r7, r0, #0
|
||||
ldr r0, [r7]
|
||||
cmp r0, #5
|
||||
bhi _02096084
|
||||
add r0, r0, r0
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_02096052: ; jump table
|
||||
.short _0209605E - _02096052 - 2 ; case 0
|
||||
.short _0209607C - _02096052 - 2 ; case 1
|
||||
.short _0209612C - _02096052 - 2 ; case 2
|
||||
.short _0209613C - _02096052 - 2 ; case 3
|
||||
.short _0209618E - _02096052 - 2 ; case 4
|
||||
.short _020961B4 - _02096052 - 2 ; case 5
|
||||
_0209605E:
|
||||
mov r0, #6
|
||||
str r0, [sp]
|
||||
mov r0, #1
|
||||
str r0, [sp, #4]
|
||||
mov r0, #4
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
add r1, r0, #0
|
||||
add r2, r0, #0
|
||||
add r3, r0, #0
|
||||
bl BeginNormalPaletteFade
|
||||
mov r0, #1
|
||||
str r0, [r7]
|
||||
b _020961CE
|
||||
_0209607C:
|
||||
bl IsPaletteFadeActive
|
||||
cmp r0, #0
|
||||
bne _02096086
|
||||
_02096084:
|
||||
b _020961CE
|
||||
_02096086:
|
||||
ldr r3, _020961D4 ; =_02108514
|
||||
add r2, sp, #0x28
|
||||
ldmia r3!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldr r0, [r3]
|
||||
str r0, [r2]
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r0, [r0, #0x20]
|
||||
ldr r0, [r0]
|
||||
bl MapHeader_GetMapSec
|
||||
mov r1, #0xb3
|
||||
str r0, [sp, #0x14]
|
||||
mov r0, #0xb
|
||||
lsl r1, r1, #2
|
||||
bl AllocFromHeapAtEnd
|
||||
str r0, [r7, #4]
|
||||
mov r1, #0
|
||||
str r1, [r0]
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl Sav2_PlayerData_GetOptionsAddr
|
||||
ldr r1, [r7, #4]
|
||||
mov r5, #0
|
||||
str r0, [r1, #4]
|
||||
str r5, [sp, #0x18]
|
||||
add r6, sp, #0x28
|
||||
_020960C0:
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r4, [r7, #4]
|
||||
ldr r0, [r0, #0xc]
|
||||
add r4, #8
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
str r0, [sp, #0x20]
|
||||
add r0, r4, r5
|
||||
bl ZeroMonData
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
str r0, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
str r0, [sp, #0xc]
|
||||
ldr r1, [r6]
|
||||
add r0, r4, r5
|
||||
mov r2, #5
|
||||
mov r3, #0x20
|
||||
bl CreateMon
|
||||
mov r0, #0xc
|
||||
str r0, [sp]
|
||||
mov r0, #0xb
|
||||
str r0, [sp, #4]
|
||||
ldr r1, [sp, #0x20]
|
||||
ldr r3, [sp, #0x14]
|
||||
add r0, r4, r5
|
||||
mov r2, #4
|
||||
bl sub_020720FC
|
||||
mov r0, #0
|
||||
str r0, [sp, #0x24]
|
||||
add r0, r4, r5
|
||||
mov r1, #6
|
||||
add r2, sp, #0x24
|
||||
bl SetMonData
|
||||
ldr r0, [sp, #0x18]
|
||||
add r5, #0xec
|
||||
add r0, r0, #1
|
||||
add r6, r6, #4
|
||||
str r0, [sp, #0x18]
|
||||
cmp r0, #3
|
||||
blt _020960C0
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r1, [r7, #4]
|
||||
bl FieldSys_LaunchChooseStarterApplication
|
||||
bl sub_0203E30C
|
||||
mov r0, #2
|
||||
str r0, [r7]
|
||||
b _020961CE
|
||||
_0209612C:
|
||||
ldr r0, [sp, #0x1c]
|
||||
bl FieldSys_ApplicationIsRunning
|
||||
cmp r0, #0
|
||||
bne _020961CE
|
||||
mov r0, #3
|
||||
str r0, [r7]
|
||||
b _020961CE
|
||||
_0209613C:
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl Sav2_Pokedex_get
|
||||
add r6, r0, #0
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl SavArray_PlayerParty_get
|
||||
ldr r1, [r7, #4]
|
||||
str r0, [sp, #0x10]
|
||||
ldr r2, [r1]
|
||||
add r4, r1, #0
|
||||
mov r1, #0xec
|
||||
add r5, r2, #0
|
||||
add r4, #8
|
||||
mul r5, r1
|
||||
add r1, r4, r5
|
||||
bl AddMonToParty
|
||||
cmp r0, #0
|
||||
beq _02096172
|
||||
ldr r0, [sp, #0x1c]
|
||||
add r1, r4, r5
|
||||
ldr r0, [r0, #0xc]
|
||||
bl UpdatePokedexWithReceivedSpecies
|
||||
_02096172:
|
||||
ldr r0, [sp, #0x10]
|
||||
mov r1, #0
|
||||
bl GetPartyMonByIndex
|
||||
add r1, r0, #0
|
||||
add r0, r6, #0
|
||||
bl Pokedex_SetMonCaughtFlag
|
||||
mov r0, #4
|
||||
str r0, [r7]
|
||||
ldr r0, [sp, #0x1c]
|
||||
bl sub_020505C0
|
||||
b _020961CE
|
||||
_0209618E:
|
||||
ldr r0, [sp, #0x1c]
|
||||
bl sub_020505C8
|
||||
cmp r0, #0
|
||||
beq _020961CE
|
||||
mov r0, #6
|
||||
str r0, [sp]
|
||||
mov r1, #1
|
||||
str r1, [sp, #4]
|
||||
mov r0, #4
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
add r2, r1, #0
|
||||
add r3, r0, #0
|
||||
bl BeginNormalPaletteFade
|
||||
mov r0, #5
|
||||
str r0, [r7]
|
||||
b _020961CE
|
||||
_020961B4:
|
||||
bl IsPaletteFadeActive
|
||||
cmp r0, #0
|
||||
beq _020961CE
|
||||
ldr r0, [r7, #4]
|
||||
bl FreeToHeap
|
||||
add r0, r7, #0
|
||||
bl FreeToHeap
|
||||
add sp, #0x34
|
||||
mov r0, #1
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_020961CE:
|
||||
mov r0, #0
|
||||
add sp, #0x34
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
_020961D4: .word _02108514
|
||||
thumb_func_end CreateStarter
|
||||
|
||||
thumb_func_start sub_020961D8
|
||||
sub_020961D8: ; 0x020961D8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r7, r0, #0
|
||||
add r6, r1, #0
|
||||
bl TaskManager_GetSys
|
||||
add r5, r0, #0
|
||||
mov r0, #0x20
|
||||
mov r1, #0x24
|
||||
bl AllocFromHeap
|
||||
add r4, r0, #0
|
||||
str r5, [r4]
|
||||
mov r0, #0x20
|
||||
bl ScrStrBufs_new
|
||||
str r0, [r4, #4]
|
||||
mov r3, #0x20
|
||||
str r3, [sp]
|
||||
ldr r2, [r4]
|
||||
add r3, #0xec
|
||||
ldr r2, [r2, #0xc]
|
||||
mov r0, #2
|
||||
mov r1, #0
|
||||
add r3, r5, r3
|
||||
bl sub_02090C94
|
||||
str r0, [r4, #0x10]
|
||||
ldr r0, [r5, #0xc]
|
||||
bl Sav2_Misc_get
|
||||
str r0, [r4, #0x14]
|
||||
add r0, r4, #0
|
||||
str r6, [r4, #0x20]
|
||||
add r0, #8
|
||||
mov r1, #4
|
||||
bl MailMsg_init_withBank
|
||||
add r1, r4, #0
|
||||
ldr r0, [r4, #0x14]
|
||||
add r1, #8
|
||||
bl sub_0202ABD0
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_02090D40
|
||||
mov r0, #0
|
||||
str r0, [r4, #0x18]
|
||||
ldr r1, _02096244 ; =sub_02096260
|
||||
add r0, r7, #0
|
||||
add r2, r4, #0
|
||||
bl TaskManager_Call
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02096244: .word sub_02096260
|
||||
thumb_func_end sub_020961D8
|
||||
|
||||
thumb_func_start sub_02096248
|
||||
sub_02096248: ; 0x02096248
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_02090D0C
|
||||
ldr r0, [r4, #4]
|
||||
bl ScrStrBufs_delete
|
||||
add r0, r4, #0
|
||||
bl FreeToHeap
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_02096248
|
||||
|
||||
thumb_func_start sub_02096260
|
||||
sub_02096260: ; 0x02096260
|
||||
push {r4, lr}
|
||||
bl TaskManager_GetEnv
|
||||
add r4, r0, #0
|
||||
ldr r1, [r4, #0x18]
|
||||
cmp r1, #4
|
||||
bhi _02096314
|
||||
add r1, r1, r1
|
||||
add r1, pc
|
||||
ldrh r1, [r1, #6]
|
||||
lsl r1, r1, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add pc, r1
|
||||
_0209627A: ; jump table
|
||||
.short _02096284 - _0209627A - 2 ; case 0
|
||||
.short _020962A2 - _0209627A - 2 ; case 1
|
||||
.short _020962B8 - _0209627A - 2 ; case 2
|
||||
.short _020962CE - _0209627A - 2 ; case 3
|
||||
.short _0209630C - _0209627A - 2 ; case 4
|
||||
_02096284:
|
||||
add r1, r4, #0
|
||||
ldr r0, [r4, #0x10]
|
||||
add r1, #8
|
||||
bl sub_02090D20
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_02090D34
|
||||
ldr r0, [r4]
|
||||
ldr r1, [r4, #0x10]
|
||||
bl sub_0203EA24
|
||||
mov r0, #1
|
||||
str r0, [r4, #0x18]
|
||||
b _02096314
|
||||
_020962A2:
|
||||
ldr r0, [r4]
|
||||
bl FieldSys_ApplicationIsRunning
|
||||
cmp r0, #0
|
||||
bne _02096314
|
||||
ldr r0, [r4]
|
||||
bl sub_020505C0
|
||||
mov r0, #2
|
||||
str r0, [r4, #0x18]
|
||||
b _02096314
|
||||
_020962B8:
|
||||
ldr r0, [r4]
|
||||
bl sub_020505C8
|
||||
cmp r0, #0
|
||||
beq _02096314
|
||||
mov r0, #1
|
||||
bl ov01_021E636C
|
||||
mov r0, #3
|
||||
str r0, [r4, #0x18]
|
||||
b _02096314
|
||||
_020962CE:
|
||||
bl IsPaletteFadeActive
|
||||
cmp r0, #0
|
||||
beq _02096314
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_02090D48
|
||||
cmp r0, #0
|
||||
beq _020962EC
|
||||
ldr r0, [r4, #0x20]
|
||||
mov r1, #0
|
||||
strh r1, [r0]
|
||||
mov r0, #4
|
||||
str r0, [r4, #0x18]
|
||||
b _02096314
|
||||
_020962EC:
|
||||
ldr r0, [r4, #0x20]
|
||||
mov r1, #1
|
||||
strh r1, [r0]
|
||||
add r1, r4, #0
|
||||
ldr r0, [r4, #0x10]
|
||||
add r1, #8
|
||||
bl sub_02090D60
|
||||
add r1, r4, #0
|
||||
ldr r0, [r4, #0x14]
|
||||
add r1, #8
|
||||
bl sub_0202ABEC
|
||||
mov r0, #4
|
||||
str r0, [r4, #0x18]
|
||||
b _02096314
|
||||
_0209630C:
|
||||
bl sub_02096248
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
_02096314:
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_02096260
|
||||
|
||||
.rodata
|
||||
|
||||
sPhoneMessageGmm:
|
||||
.short 664 ; PHONE_CONTACT_MOTHER
|
||||
.short 716 ; PHONE_CONTACT_PROF__ELM
|
||||
.short 666 ; PHONE_CONTACT_PROF__OAK
|
||||
.short 662 ; PHONE_CONTACT_ETHAN
|
||||
.short 663 ; PHONE_CONTACT_LYRA
|
||||
.short 643 ; PHONE_CONTACT_KURT
|
||||
.short 661 ; PHONE_CONTACT_DAY_C_MAN
|
||||
.short 660 ; PHONE_CONTACT_DAY_C_LADY
|
||||
.short 641 ; PHONE_CONTACT_BUENA
|
||||
.short 665 ; PHONE_CONTACT_BILL
|
||||
.short 675 ; PHONE_CONTACT_JOEY
|
||||
.short 712 ; PHONE_CONTACT_RALPH
|
||||
.short 680 ; PHONE_CONTACT_LIZ
|
||||
.short 684 ; PHONE_CONTACT_WADE
|
||||
.short 711 ; PHONE_CONTACT_ANTHONY
|
||||
.short 642 ; PHONE_CONTACT_BIKE_SHOP
|
||||
.short 706 ; PHONE_CONTACT_KENJI
|
||||
.short 644 ; PHONE_CONTACT_WHITNEY
|
||||
.short 648 ; PHONE_CONTACT_FALKNER
|
||||
.short 704 ; PHONE_CONTACT_JACK
|
||||
.short 685 ; PHONE_CONTACT_CHAD
|
||||
.short 688 ; PHONE_CONTACT_BRENT
|
||||
.short 713 ; PHONE_CONTACT_TODD
|
||||
.short 714 ; PHONE_CONTACT_ARNIE
|
||||
.short 667 ; PHONE_CONTACT_BAOBA
|
||||
.short 691 ; PHONE_CONTACT_IRWIN
|
||||
.short 645 ; PHONE_CONTACT_JANINE
|
||||
.short 649 ; PHONE_CONTACT_CLAIR
|
||||
.short 646 ; PHONE_CONTACT_ERIKA
|
||||
.short 650 ; PHONE_CONTACT_MISTY
|
||||
.short 651 ; PHONE_CONTACT_BLAINE
|
||||
.short 647 ; PHONE_CONTACT_BLUE
|
||||
.short 656 ; PHONE_CONTACT_CHUCK
|
||||
.short 657 ; PHONE_CONTACT_BROCK
|
||||
.short 658 ; PHONE_CONTACT_BUGSY
|
||||
.short 655 ; PHONE_CONTACT_SABRINA
|
||||
.short 652 ; PHONE_CONTACT_LT__SURGE
|
||||
.short 653 ; PHONE_CONTACT_MORTY
|
||||
.short 654 ; PHONE_CONTACT_JASMINE
|
||||
.short 659 ; PHONE_CONTACT_PRYCE
|
||||
.short 674 ; PHONE_CONTACT_HUEY
|
||||
.short 705 ; PHONE_CONTACT_GAVEN
|
||||
.short 677 ; PHONE_CONTACT_JAMIE
|
||||
.short 698 ; PHONE_CONTACT_REENA
|
||||
.short 696 ; PHONE_CONTACT_VANCE
|
||||
.short 708 ; PHONE_CONTACT_PARRY
|
||||
.short 672 ; PHONE_CONTACT_ERIN
|
||||
.short 690 ; PHONE_CONTACT_BEVERLY
|
||||
.short 671 ; PHONE_CONTACT_JOSE
|
||||
.short 695 ; PHONE_CONTACT_GINA
|
||||
.short 689 ; PHONE_CONTACT_ALAN
|
||||
.short 700 ; PHONE_CONTACT_DANA
|
||||
.short 693 ; PHONE_CONTACT_DEREK
|
||||
.short 694 ; PHONE_CONTACT_TULLY
|
||||
.short 669 ; PHONE_CONTACT_TIFFANY
|
||||
.short 676 ; PHONE_CONTACT_WILTON
|
||||
.short 715 ; PHONE_CONTACT_KRISE
|
||||
.short 703 ; PHONE_CONTACT_IAN
|
||||
.short 710 ; PHONE_CONTACT_WALT
|
||||
.short 670 ; PHONE_CONTACT_ALFRED
|
||||
.short 692 ; PHONE_CONTACT_DOUG
|
||||
.short 681 ; PHONE_CONTACT_ROB
|
||||
.short 697 ; PHONE_CONTACT_KYLE
|
||||
.short 687 ; PHONE_CONTACT_KYLER
|
||||
.short 702 ; PHONE_CONTACT_TIM_AND_SUE
|
||||
.short 699 ; PHONE_CONTACT_KENNY
|
||||
.short 707 ; PHONE_CONTACT_TANNER
|
||||
.short 682 ; PHONE_CONTACT_JOSH
|
||||
.short 673 ; PHONE_CONTACT_TORIN
|
||||
.short 686 ; PHONE_CONTACT_HILLARY
|
||||
.short 683 ; PHONE_CONTACT_BILLY
|
||||
.short 679 ; PHONE_CONTACT_KAY_AND_TIA
|
||||
.short 701 ; PHONE_CONTACT_REESE
|
||||
.short 709 ; PHONE_CONTACT_AIDEN
|
||||
.short 678 ; PHONE_CONTACT_ERNEST
|
||||
|
||||
; File boundary
|
||||
.balign 4, 0
|
||||
_02108514:
|
||||
.word SPECIES_CHIKORITA
|
||||
.word SPECIES_CYNDAQUIL
|
||||
.word SPECIES_TOTODILE
|
||||
|
||||
.data
|
||||
|
||||
_021105C8:
|
||||
.asciz "tel/pmtel_book.dat"
|
||||
|
237
asm/unk_02095EF8.s
Normal file
237
asm/unk_02095EF8.s
Normal file
@ -0,0 +1,237 @@
|
||||
#include "constants/easy_chat.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/maps.h"
|
||||
#include "constants/moves.h"
|
||||
#include "constants/species.h"
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start AllocAndReadPhoneBook
|
||||
AllocAndReadPhoneBook: ; 0x02095EF8
|
||||
push {r4, r5, r6, lr}
|
||||
sub sp, #0x48
|
||||
add r5, r0, #0
|
||||
add r0, sp, #0
|
||||
bl FS_InitFile
|
||||
ldr r1, _02095F64 ; =_021105C8
|
||||
add r0, sp, #0
|
||||
bl FS_OpenFile
|
||||
cmp r0, #0
|
||||
bne _02095F1A
|
||||
bl GF_AssertFail
|
||||
add sp, #0x48
|
||||
mov r0, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
_02095F1A:
|
||||
ldr r1, [sp, #0x28]
|
||||
ldr r0, [sp, #0x24]
|
||||
sub r6, r1, r0
|
||||
add r0, r5, #0
|
||||
add r1, r6, #0
|
||||
bl AllocFromHeap
|
||||
add r4, r0, #0
|
||||
mov r1, #0
|
||||
add r2, r6, #0
|
||||
bl MI_CpuFill8
|
||||
add r0, sp, #0
|
||||
add r1, r4, #0
|
||||
mov r2, #4
|
||||
bl FS_ReadFile
|
||||
ldr r2, [r4]
|
||||
mov r1, #0x14
|
||||
add r0, r5, #0
|
||||
mul r1, r2
|
||||
bl AllocFromHeap
|
||||
str r0, [r4, #4]
|
||||
ldr r3, [r4]
|
||||
mov r2, #0x14
|
||||
ldr r1, [r4, #4]
|
||||
add r0, sp, #0
|
||||
mul r2, r3
|
||||
bl FS_ReadFile
|
||||
add r0, sp, #0
|
||||
bl FS_CloseFile
|
||||
add r0, r4, #0
|
||||
add sp, #0x48
|
||||
pop {r4, r5, r6, pc}
|
||||
.balign 4, 0
|
||||
_02095F64: .word _021105C8
|
||||
thumb_func_end AllocAndReadPhoneBook
|
||||
|
||||
thumb_func_start FreePhoneBook
|
||||
FreePhoneBook: ; 0x02095F68
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r3, [r4]
|
||||
mov r2, #0x14
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #0
|
||||
mul r2, r3
|
||||
bl MI_CpuFill8
|
||||
ldr r0, [r4, #4]
|
||||
bl FreeToHeap
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
mov r2, #8
|
||||
bl MI_CpuFill8
|
||||
add r0, r4, #0
|
||||
bl FreeToHeap
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end FreePhoneBook
|
||||
|
||||
thumb_func_start LoadPhoneBookEntryI
|
||||
LoadPhoneBookEntryI: ; 0x02095F94
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
add r0, r2, #0
|
||||
add r4, r1, #0
|
||||
bl AllocAndReadPhoneBook
|
||||
add r6, r0, #0
|
||||
ldr r3, [r6]
|
||||
mov r1, #0
|
||||
cmp r3, #0
|
||||
ble _02095FD4
|
||||
ldr r7, [r6, #4]
|
||||
add r2, r7, #0
|
||||
_02095FAE:
|
||||
ldrh r0, [r2, #4]
|
||||
cmp r5, r0
|
||||
bne _02095FCC
|
||||
add r0, r1, #0
|
||||
mov r2, #0x14
|
||||
mul r0, r2
|
||||
add r0, r7, r0
|
||||
add r1, r4, #0
|
||||
bl MI_CpuCopy8
|
||||
add r0, r6, #0
|
||||
bl FreePhoneBook
|
||||
ldrb r0, [r4]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_02095FCC:
|
||||
add r1, r1, #1
|
||||
add r2, #0x14
|
||||
cmp r1, r3
|
||||
blt _02095FAE
|
||||
_02095FD4:
|
||||
add r0, r6, #0
|
||||
bl FreePhoneBook
|
||||
add r0, r4, #0
|
||||
mov r1, #0
|
||||
mov r2, #0x14
|
||||
bl MI_CpuFill8
|
||||
mov r0, #0xff
|
||||
strb r0, [r4]
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
thumb_func_end LoadPhoneBookEntryI
|
||||
|
||||
thumb_func_start GetPhoneMessageGmm
|
||||
GetPhoneMessageGmm: ; 0x02095FEC
|
||||
lsl r1, r0, #1
|
||||
ldr r0, _02095FF4 ; =sPhoneMessageGmm
|
||||
ldrh r0, [r0, r1]
|
||||
bx lr
|
||||
.balign 4, 0
|
||||
_02095FF4: .word sPhoneMessageGmm
|
||||
thumb_func_end GetPhoneMessageGmm
|
||||
|
||||
thumb_func_start sub_02095FF8
|
||||
sub_02095FF8: ; 0x02095FF8
|
||||
push {r3, lr}
|
||||
mov r1, #3
|
||||
bl _s32_div_f
|
||||
cmp r1, #2
|
||||
bne _02096008
|
||||
mov r0, #1
|
||||
pop {r3, pc}
|
||||
_02096008:
|
||||
mov r0, #0
|
||||
pop {r3, pc}
|
||||
thumb_func_end sub_02095FF8
|
||||
|
||||
.rodata
|
||||
|
||||
sPhoneMessageGmm:
|
||||
.short 664 ; PHONE_CONTACT_MOTHER
|
||||
.short 716 ; PHONE_CONTACT_PROF__ELM
|
||||
.short 666 ; PHONE_CONTACT_PROF__OAK
|
||||
.short 662 ; PHONE_CONTACT_ETHAN
|
||||
.short 663 ; PHONE_CONTACT_LYRA
|
||||
.short 643 ; PHONE_CONTACT_KURT
|
||||
.short 661 ; PHONE_CONTACT_DAY_C_MAN
|
||||
.short 660 ; PHONE_CONTACT_DAY_C_LADY
|
||||
.short 641 ; PHONE_CONTACT_BUENA
|
||||
.short 665 ; PHONE_CONTACT_BILL
|
||||
.short 675 ; PHONE_CONTACT_JOEY
|
||||
.short 712 ; PHONE_CONTACT_RALPH
|
||||
.short 680 ; PHONE_CONTACT_LIZ
|
||||
.short 684 ; PHONE_CONTACT_WADE
|
||||
.short 711 ; PHONE_CONTACT_ANTHONY
|
||||
.short 642 ; PHONE_CONTACT_BIKE_SHOP
|
||||
.short 706 ; PHONE_CONTACT_KENJI
|
||||
.short 644 ; PHONE_CONTACT_WHITNEY
|
||||
.short 648 ; PHONE_CONTACT_FALKNER
|
||||
.short 704 ; PHONE_CONTACT_JACK
|
||||
.short 685 ; PHONE_CONTACT_CHAD
|
||||
.short 688 ; PHONE_CONTACT_BRENT
|
||||
.short 713 ; PHONE_CONTACT_TODD
|
||||
.short 714 ; PHONE_CONTACT_ARNIE
|
||||
.short 667 ; PHONE_CONTACT_BAOBA
|
||||
.short 691 ; PHONE_CONTACT_IRWIN
|
||||
.short 645 ; PHONE_CONTACT_JANINE
|
||||
.short 649 ; PHONE_CONTACT_CLAIR
|
||||
.short 646 ; PHONE_CONTACT_ERIKA
|
||||
.short 650 ; PHONE_CONTACT_MISTY
|
||||
.short 651 ; PHONE_CONTACT_BLAINE
|
||||
.short 647 ; PHONE_CONTACT_BLUE
|
||||
.short 656 ; PHONE_CONTACT_CHUCK
|
||||
.short 657 ; PHONE_CONTACT_BROCK
|
||||
.short 658 ; PHONE_CONTACT_BUGSY
|
||||
.short 655 ; PHONE_CONTACT_SABRINA
|
||||
.short 652 ; PHONE_CONTACT_LT__SURGE
|
||||
.short 653 ; PHONE_CONTACT_MORTY
|
||||
.short 654 ; PHONE_CONTACT_JASMINE
|
||||
.short 659 ; PHONE_CONTACT_PRYCE
|
||||
.short 674 ; PHONE_CONTACT_HUEY
|
||||
.short 705 ; PHONE_CONTACT_GAVEN
|
||||
.short 677 ; PHONE_CONTACT_JAMIE
|
||||
.short 698 ; PHONE_CONTACT_REENA
|
||||
.short 696 ; PHONE_CONTACT_VANCE
|
||||
.short 708 ; PHONE_CONTACT_PARRY
|
||||
.short 672 ; PHONE_CONTACT_ERIN
|
||||
.short 690 ; PHONE_CONTACT_BEVERLY
|
||||
.short 671 ; PHONE_CONTACT_JOSE
|
||||
.short 695 ; PHONE_CONTACT_GINA
|
||||
.short 689 ; PHONE_CONTACT_ALAN
|
||||
.short 700 ; PHONE_CONTACT_DANA
|
||||
.short 693 ; PHONE_CONTACT_DEREK
|
||||
.short 694 ; PHONE_CONTACT_TULLY
|
||||
.short 669 ; PHONE_CONTACT_TIFFANY
|
||||
.short 676 ; PHONE_CONTACT_WILTON
|
||||
.short 715 ; PHONE_CONTACT_KRISE
|
||||
.short 703 ; PHONE_CONTACT_IAN
|
||||
.short 710 ; PHONE_CONTACT_WALT
|
||||
.short 670 ; PHONE_CONTACT_ALFRED
|
||||
.short 692 ; PHONE_CONTACT_DOUG
|
||||
.short 681 ; PHONE_CONTACT_ROB
|
||||
.short 697 ; PHONE_CONTACT_KYLE
|
||||
.short 687 ; PHONE_CONTACT_KYLER
|
||||
.short 702 ; PHONE_CONTACT_TIM_AND_SUE
|
||||
.short 699 ; PHONE_CONTACT_KENNY
|
||||
.short 707 ; PHONE_CONTACT_TANNER
|
||||
.short 682 ; PHONE_CONTACT_JOSH
|
||||
.short 673 ; PHONE_CONTACT_TORIN
|
||||
.short 686 ; PHONE_CONTACT_HILLARY
|
||||
.short 683 ; PHONE_CONTACT_BILLY
|
||||
.short 679 ; PHONE_CONTACT_KAY_AND_TIA
|
||||
.short 701 ; PHONE_CONTACT_REESE
|
||||
.short 709 ; PHONE_CONTACT_AIDEN
|
||||
.short 678 ; PHONE_CONTACT_ERNEST
|
||||
|
||||
.data
|
||||
|
||||
_021105C8:
|
||||
.asciz "tel/pmtel_book.dat"
|
239
asm/unk_0209600C.s
Normal file
239
asm/unk_0209600C.s
Normal file
@ -0,0 +1,239 @@
|
||||
#include "constants/easy_chat.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/maps.h"
|
||||
#include "constants/moves.h"
|
||||
#include "constants/species.h"
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start LaunchStarterChoiceScene
|
||||
LaunchStarterChoiceScene: ; 0x0209600C
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
mov r0, #0xb
|
||||
mov r1, #8
|
||||
bl AllocFromHeapAtEnd
|
||||
add r2, r0, #0
|
||||
mov r0, #0
|
||||
str r0, [r2]
|
||||
ldr r0, [r4, #0x10]
|
||||
ldr r1, _02096028 ; =CreateStarter
|
||||
bl TaskManager_Call
|
||||
pop {r4, pc}
|
||||
.balign 4, 0
|
||||
_02096028: .word CreateStarter
|
||||
thumb_func_end LaunchStarterChoiceScene
|
||||
|
||||
thumb_func_start CreateStarter
|
||||
CreateStarter: ; 0x0209602C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x34
|
||||
add r4, r0, #0
|
||||
bl TaskManager_GetSys
|
||||
str r0, [sp, #0x1c]
|
||||
add r0, r4, #0
|
||||
bl TaskManager_GetEnv
|
||||
add r7, r0, #0
|
||||
ldr r0, [r7]
|
||||
cmp r0, #5
|
||||
bhi _02096084
|
||||
add r0, r0, r0
|
||||
add r0, pc
|
||||
ldrh r0, [r0, #6]
|
||||
lsl r0, r0, #0x10
|
||||
asr r0, r0, #0x10
|
||||
add pc, r0
|
||||
_02096052: ; jump table
|
||||
.short _0209605E - _02096052 - 2 ; case 0
|
||||
.short _0209607C - _02096052 - 2 ; case 1
|
||||
.short _0209612C - _02096052 - 2 ; case 2
|
||||
.short _0209613C - _02096052 - 2 ; case 3
|
||||
.short _0209618E - _02096052 - 2 ; case 4
|
||||
.short _020961B4 - _02096052 - 2 ; case 5
|
||||
_0209605E:
|
||||
mov r0, #6
|
||||
str r0, [sp]
|
||||
mov r0, #1
|
||||
str r0, [sp, #4]
|
||||
mov r0, #4
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
add r1, r0, #0
|
||||
add r2, r0, #0
|
||||
add r3, r0, #0
|
||||
bl BeginNormalPaletteFade
|
||||
mov r0, #1
|
||||
str r0, [r7]
|
||||
b _020961CE
|
||||
_0209607C:
|
||||
bl IsPaletteFadeActive
|
||||
cmp r0, #0
|
||||
bne _02096086
|
||||
_02096084:
|
||||
b _020961CE
|
||||
_02096086:
|
||||
ldr r3, _020961D4 ; =_02108514
|
||||
add r2, sp, #0x28
|
||||
ldmia r3!, {r0, r1}
|
||||
stmia r2!, {r0, r1}
|
||||
ldr r0, [r3]
|
||||
str r0, [r2]
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r0, [r0, #0x20]
|
||||
ldr r0, [r0]
|
||||
bl MapHeader_GetMapSec
|
||||
mov r1, #0xb3
|
||||
str r0, [sp, #0x14]
|
||||
mov r0, #0xb
|
||||
lsl r1, r1, #2
|
||||
bl AllocFromHeapAtEnd
|
||||
str r0, [r7, #4]
|
||||
mov r1, #0
|
||||
str r1, [r0]
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl Sav2_PlayerData_GetOptionsAddr
|
||||
ldr r1, [r7, #4]
|
||||
mov r5, #0
|
||||
str r0, [r1, #4]
|
||||
str r5, [sp, #0x18]
|
||||
add r6, sp, #0x28
|
||||
_020960C0:
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r4, [r7, #4]
|
||||
ldr r0, [r0, #0xc]
|
||||
add r4, #8
|
||||
bl Sav2_PlayerData_GetProfileAddr
|
||||
str r0, [sp, #0x20]
|
||||
add r0, r4, r5
|
||||
bl ZeroMonData
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
str r0, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
str r0, [sp, #0xc]
|
||||
ldr r1, [r6]
|
||||
add r0, r4, r5
|
||||
mov r2, #5
|
||||
mov r3, #0x20
|
||||
bl CreateMon
|
||||
mov r0, #0xc
|
||||
str r0, [sp]
|
||||
mov r0, #0xb
|
||||
str r0, [sp, #4]
|
||||
ldr r1, [sp, #0x20]
|
||||
ldr r3, [sp, #0x14]
|
||||
add r0, r4, r5
|
||||
mov r2, #4
|
||||
bl sub_020720FC
|
||||
mov r0, #0
|
||||
str r0, [sp, #0x24]
|
||||
add r0, r4, r5
|
||||
mov r1, #6
|
||||
add r2, sp, #0x24
|
||||
bl SetMonData
|
||||
ldr r0, [sp, #0x18]
|
||||
add r5, #0xec
|
||||
add r0, r0, #1
|
||||
add r6, r6, #4
|
||||
str r0, [sp, #0x18]
|
||||
cmp r0, #3
|
||||
blt _020960C0
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r1, [r7, #4]
|
||||
bl FieldSys_LaunchChooseStarterApplication
|
||||
bl sub_0203E30C
|
||||
mov r0, #2
|
||||
str r0, [r7]
|
||||
b _020961CE
|
||||
_0209612C:
|
||||
ldr r0, [sp, #0x1c]
|
||||
bl FieldSys_ApplicationIsRunning
|
||||
cmp r0, #0
|
||||
bne _020961CE
|
||||
mov r0, #3
|
||||
str r0, [r7]
|
||||
b _020961CE
|
||||
_0209613C:
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl Sav2_Pokedex_get
|
||||
add r6, r0, #0
|
||||
ldr r0, [sp, #0x1c]
|
||||
ldr r0, [r0, #0xc]
|
||||
bl SavArray_PlayerParty_get
|
||||
ldr r1, [r7, #4]
|
||||
str r0, [sp, #0x10]
|
||||
ldr r2, [r1]
|
||||
add r4, r1, #0
|
||||
mov r1, #0xec
|
||||
add r5, r2, #0
|
||||
add r4, #8
|
||||
mul r5, r1
|
||||
add r1, r4, r5
|
||||
bl AddMonToParty
|
||||
cmp r0, #0
|
||||
beq _02096172
|
||||
ldr r0, [sp, #0x1c]
|
||||
add r1, r4, r5
|
||||
ldr r0, [r0, #0xc]
|
||||
bl UpdatePokedexWithReceivedSpecies
|
||||
_02096172:
|
||||
ldr r0, [sp, #0x10]
|
||||
mov r1, #0
|
||||
bl GetPartyMonByIndex
|
||||
add r1, r0, #0
|
||||
add r0, r6, #0
|
||||
bl Pokedex_SetMonCaughtFlag
|
||||
mov r0, #4
|
||||
str r0, [r7]
|
||||
ldr r0, [sp, #0x1c]
|
||||
bl sub_020505C0
|
||||
b _020961CE
|
||||
_0209618E:
|
||||
ldr r0, [sp, #0x1c]
|
||||
bl sub_020505C8
|
||||
cmp r0, #0
|
||||
beq _020961CE
|
||||
mov r0, #6
|
||||
str r0, [sp]
|
||||
mov r1, #1
|
||||
str r1, [sp, #4]
|
||||
mov r0, #4
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0
|
||||
add r2, r1, #0
|
||||
add r3, r0, #0
|
||||
bl BeginNormalPaletteFade
|
||||
mov r0, #5
|
||||
str r0, [r7]
|
||||
b _020961CE
|
||||
_020961B4:
|
||||
bl IsPaletteFadeActive
|
||||
cmp r0, #0
|
||||
beq _020961CE
|
||||
ldr r0, [r7, #4]
|
||||
bl FreeToHeap
|
||||
add r0, r7, #0
|
||||
bl FreeToHeap
|
||||
add sp, #0x34
|
||||
mov r0, #1
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
_020961CE:
|
||||
mov r0, #0
|
||||
add sp, #0x34
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.balign 4, 0
|
||||
_020961D4: .word _02108514
|
||||
thumb_func_end CreateStarter
|
||||
|
||||
.rodata
|
||||
|
||||
; File boundary
|
||||
.balign 4, 0
|
||||
_02108514:
|
||||
.word SPECIES_CHIKORITA
|
||||
.word SPECIES_CYNDAQUIL
|
||||
.word SPECIES_TOTODILE
|
163
asm/unk_020961D8.s
Normal file
163
asm/unk_020961D8.s
Normal file
@ -0,0 +1,163 @@
|
||||
#include "constants/easy_chat.h"
|
||||
#include "constants/items.h"
|
||||
#include "constants/maps.h"
|
||||
#include "constants/moves.h"
|
||||
#include "constants/species.h"
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_020961D8
|
||||
sub_020961D8: ; 0x020961D8
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r7, r0, #0
|
||||
add r6, r1, #0
|
||||
bl TaskManager_GetSys
|
||||
add r5, r0, #0
|
||||
mov r0, #0x20
|
||||
mov r1, #0x24
|
||||
bl AllocFromHeap
|
||||
add r4, r0, #0
|
||||
str r5, [r4]
|
||||
mov r0, #0x20
|
||||
bl ScrStrBufs_new
|
||||
str r0, [r4, #4]
|
||||
mov r3, #0x20
|
||||
str r3, [sp]
|
||||
ldr r2, [r4]
|
||||
add r3, #0xec
|
||||
ldr r2, [r2, #0xc]
|
||||
mov r0, #2
|
||||
mov r1, #0
|
||||
add r3, r5, r3
|
||||
bl sub_02090C94
|
||||
str r0, [r4, #0x10]
|
||||
ldr r0, [r5, #0xc]
|
||||
bl Sav2_Misc_get
|
||||
str r0, [r4, #0x14]
|
||||
add r0, r4, #0
|
||||
str r6, [r4, #0x20]
|
||||
add r0, #8
|
||||
mov r1, #4
|
||||
bl MailMsg_init_withBank
|
||||
add r1, r4, #0
|
||||
ldr r0, [r4, #0x14]
|
||||
add r1, #8
|
||||
bl SaveMisc_GetBattleGreeting
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_02090D40
|
||||
mov r0, #0
|
||||
str r0, [r4, #0x18]
|
||||
ldr r1, _02096244 ; =sub_02096260
|
||||
add r0, r7, #0
|
||||
add r2, r4, #0
|
||||
bl TaskManager_Call
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_02096244: .word sub_02096260
|
||||
thumb_func_end sub_020961D8
|
||||
|
||||
thumb_func_start sub_02096248
|
||||
sub_02096248: ; 0x02096248
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_02090D0C
|
||||
ldr r0, [r4, #4]
|
||||
bl ScrStrBufs_delete
|
||||
add r0, r4, #0
|
||||
bl FreeToHeap
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_02096248
|
||||
|
||||
thumb_func_start sub_02096260
|
||||
sub_02096260: ; 0x02096260
|
||||
push {r4, lr}
|
||||
bl TaskManager_GetEnv
|
||||
add r4, r0, #0
|
||||
ldr r1, [r4, #0x18]
|
||||
cmp r1, #4
|
||||
bhi _02096314
|
||||
add r1, r1, r1
|
||||
add r1, pc
|
||||
ldrh r1, [r1, #6]
|
||||
lsl r1, r1, #0x10
|
||||
asr r1, r1, #0x10
|
||||
add pc, r1
|
||||
_0209627A: ; jump table
|
||||
.short _02096284 - _0209627A - 2 ; case 0
|
||||
.short _020962A2 - _0209627A - 2 ; case 1
|
||||
.short _020962B8 - _0209627A - 2 ; case 2
|
||||
.short _020962CE - _0209627A - 2 ; case 3
|
||||
.short _0209630C - _0209627A - 2 ; case 4
|
||||
_02096284:
|
||||
add r1, r4, #0
|
||||
ldr r0, [r4, #0x10]
|
||||
add r1, #8
|
||||
bl sub_02090D20
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_02090D34
|
||||
ldr r0, [r4]
|
||||
ldr r1, [r4, #0x10]
|
||||
bl sub_0203EA24
|
||||
mov r0, #1
|
||||
str r0, [r4, #0x18]
|
||||
b _02096314
|
||||
_020962A2:
|
||||
ldr r0, [r4]
|
||||
bl FieldSys_ApplicationIsRunning
|
||||
cmp r0, #0
|
||||
bne _02096314
|
||||
ldr r0, [r4]
|
||||
bl sub_020505C0
|
||||
mov r0, #2
|
||||
str r0, [r4, #0x18]
|
||||
b _02096314
|
||||
_020962B8:
|
||||
ldr r0, [r4]
|
||||
bl sub_020505C8
|
||||
cmp r0, #0
|
||||
beq _02096314
|
||||
mov r0, #1
|
||||
bl ov01_021E636C
|
||||
mov r0, #3
|
||||
str r0, [r4, #0x18]
|
||||
b _02096314
|
||||
_020962CE:
|
||||
bl IsPaletteFadeActive
|
||||
cmp r0, #0
|
||||
beq _02096314
|
||||
ldr r0, [r4, #0x10]
|
||||
bl sub_02090D48
|
||||
cmp r0, #0
|
||||
beq _020962EC
|
||||
ldr r0, [r4, #0x20]
|
||||
mov r1, #0
|
||||
strh r1, [r0]
|
||||
mov r0, #4
|
||||
str r0, [r4, #0x18]
|
||||
b _02096314
|
||||
_020962EC:
|
||||
ldr r0, [r4, #0x20]
|
||||
mov r1, #1
|
||||
strh r1, [r0]
|
||||
add r1, r4, #0
|
||||
ldr r0, [r4, #0x10]
|
||||
add r1, #8
|
||||
bl sub_02090D60
|
||||
add r1, r4, #0
|
||||
ldr r0, [r4, #0x14]
|
||||
add r1, #8
|
||||
bl SaveMisc_SetBattleGreeting
|
||||
mov r0, #4
|
||||
str r0, [r4, #0x18]
|
||||
b _02096314
|
||||
_0209630C:
|
||||
bl sub_02096248
|
||||
mov r0, #1
|
||||
pop {r4, pc}
|
||||
_02096314:
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
thumb_func_end sub_02096260
|
@ -28096,8 +28096,8 @@
|
||||
.public sub_0202AB18
|
||||
.public sub_0202ABB0
|
||||
.public sub_0202ABBC
|
||||
.public sub_0202ABD0
|
||||
.public sub_0202ABEC
|
||||
.public SaveMisc_GetBattleGreeting
|
||||
.public SaveMisc_SetBattleGreeting
|
||||
.public sub_0202AC0C
|
||||
.public sub_0202AC1C
|
||||
.public sub_0202AC38
|
||||
|
@ -38,7 +38,7 @@ typedef struct SAVE_MISC_DATA {
|
||||
u8 extraChunksExist:1;
|
||||
u8 unk_029B_1:4;
|
||||
u8 filer_029C[4];
|
||||
MAIL_MESSAGE unk_02A0;
|
||||
MAIL_MESSAGE battleGreetingEC;
|
||||
u32 unk_02A8[2][5];
|
||||
u8 unk_02D0[5];
|
||||
u8 dummy_02D5[3];
|
||||
@ -69,8 +69,8 @@ u8 sub_0202AAD4(SAVE_MISC_DATA *saveMiscData, int a1);
|
||||
void sub_0202AB18(SAVE_MISC_DATA *saveMiscData, u8 a1, u8 a2, u8 a3);
|
||||
void sub_0202ABB0(SAVE_MISC_DATA * saveMiscData, int a1, u8 a2);
|
||||
void sub_0202ABBC(SAVE_MISC_DATA * saveMiscData, int *a1, u8 *a2);
|
||||
void sub_0202ABD0(SAVE_MISC_DATA *saveMiscData, MAIL_MESSAGE *a1);
|
||||
void sub_0202ABEC(SAVE_MISC_DATA *saveMiscData, MAIL_MESSAGE *a1);
|
||||
void SaveMisc_GetBattleGreeting(SAVE_MISC_DATA *saveMiscData, MAIL_MESSAGE *a1);
|
||||
void SaveMisc_SetBattleGreeting(SAVE_MISC_DATA *saveMiscData, MAIL_MESSAGE *a1);
|
||||
void sub_0202AC0C(SAVE_MISC_DATA *saveMiscData, u8 *a1);
|
||||
void sub_0202AC1C(SAVE_MISC_DATA *saveMiscData, u8 a1);
|
||||
void sub_0202AC38(SAVE_MISC_DATA *saveMiscData, int a1, u32 *a2, u32 *a3, u8 *a4);
|
||||
|
3
main.lsf
3
main.lsf
@ -304,6 +304,9 @@ Static main
|
||||
Object asm/unk_020932E0.o
|
||||
Object asm/unk_020957B0.o
|
||||
Object asm/unk_02095DF4.o
|
||||
Object asm/unk_02095EF8.o
|
||||
Object asm/unk_0209600C.o
|
||||
Object asm/unk_020961D8.o
|
||||
Object src/error_message_reset.o
|
||||
Object src/sin_vcount.o
|
||||
Object asm/unk_020965A4.o
|
||||
|
@ -31,10 +31,10 @@ void Sav2_Misc_init(SAVE_MISC_DATA *saveMiscData) {
|
||||
SavGymmick_Clear(&saveMiscData->gymmick);
|
||||
MI_CpuFill16(saveMiscData->rivalName, EOS, OT_NAME_LENGTH + 1);
|
||||
MI_CpuFill8(saveMiscData->unk_0280, 0xFF, 8);
|
||||
MailMsg_init_withBank(&saveMiscData->unk_02A0, MAILMSG_BANK_0295_GMM);
|
||||
saveMiscData->unk_02A0.msg_no = msg_0295_00000;
|
||||
saveMiscData->unk_02A0.fields[0] = GetECWordIndexByPair(NARC_msg_msg_0287_bin, msg_0287_regards);
|
||||
saveMiscData->unk_02A0.fields[1] = EC_WORD_NULL;
|
||||
MailMsg_init_withBank(&saveMiscData->battleGreetingEC, MAILMSG_BANK_0295_GMM);
|
||||
saveMiscData->battleGreetingEC.msg_no = msg_0295_00000;
|
||||
saveMiscData->battleGreetingEC.fields[0] = GetECWordIndexByPair(NARC_msg_msg_0287_bin, msg_0287_regards);
|
||||
saveMiscData->battleGreetingEC.fields[1] = EC_WORD_NULL;
|
||||
for (i = 0; i < 5; i++) {
|
||||
saveMiscData->unk_02A8[0][i] = -1;
|
||||
saveMiscData->unk_02A8[1][i] = -1;
|
||||
@ -101,7 +101,7 @@ void sub_0202AA20(SAVE_MISC_DATA *saveMiscData, int *a1, int *a2, int *a3) {
|
||||
*a3 = saveMiscData->unk_029A_7;
|
||||
}
|
||||
|
||||
const u8 _020F677C[3][2] = {
|
||||
static const u8 _020F677C[3][2] = {
|
||||
{0, 4},
|
||||
{4, 2},
|
||||
{6, 2},
|
||||
@ -182,12 +182,12 @@ void sub_0202ABBC(SAVE_MISC_DATA * saveMiscData, int *a1, u8 *a2) {
|
||||
*a2 = saveMiscData->unk_02DC;
|
||||
}
|
||||
|
||||
void sub_0202ABD0(SAVE_MISC_DATA *saveMiscData, MAIL_MESSAGE *a1) {
|
||||
*a1 = saveMiscData->unk_02A0;
|
||||
void SaveMisc_GetBattleGreeting(SAVE_MISC_DATA *saveMiscData, MAIL_MESSAGE *a1) {
|
||||
*a1 = saveMiscData->battleGreetingEC;
|
||||
}
|
||||
|
||||
void sub_0202ABEC(SAVE_MISC_DATA *saveMiscData, MAIL_MESSAGE *a1) {
|
||||
saveMiscData->unk_02A0 = *a1;
|
||||
void SaveMisc_SetBattleGreeting(SAVE_MISC_DATA *saveMiscData, MAIL_MESSAGE *a1) {
|
||||
saveMiscData->battleGreetingEC = *a1;
|
||||
}
|
||||
|
||||
void sub_0202AC0C(SAVE_MISC_DATA *saveMiscData, u8 *a1) {
|
||||
|
Loading…
x
Reference in New Issue
Block a user