mirror of
https://github.com/pret/pmd-red.git
synced 2026-08-02 16:53:46 -05:00
decomp some more saving functions
This commit is contained in:
parent
30fea2d6f3
commit
a5c90b0970
|
|
@ -452,488 +452,4 @@ sub_8095494:
|
|||
_080954B0: .4byte gUnknown_203B480
|
||||
thumb_func_end sub_8095494
|
||||
|
||||
thumb_func_start sub_80954B4
|
||||
sub_80954B4:
|
||||
push {lr}
|
||||
movs r0, 0x3
|
||||
bl sub_8095324
|
||||
cmp r0, 0
|
||||
bne _080954C4
|
||||
movs r0, 0
|
||||
b _080954C6
|
||||
_080954C4:
|
||||
movs r0, 0x1
|
||||
_080954C6:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80954B4
|
||||
|
||||
thumb_func_start sub_80954CC
|
||||
sub_80954CC:
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x10
|
||||
adds r3, r0, 0
|
||||
adds r2, r1, 0
|
||||
mov r0, sp
|
||||
adds r1, r3, 0
|
||||
bl xxx_init_struct_8094924_restore_809485C
|
||||
ldr r6, _08095618
|
||||
movs r5, 0
|
||||
movs r4, 0x1F
|
||||
_080954E2:
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
mov r0, sp
|
||||
bl sub_8095774
|
||||
adds r5, 0x30
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _080954E2
|
||||
ldr r4, _0809561C
|
||||
ldr r1, [r4]
|
||||
mov r0, sp
|
||||
movs r2, 0x20
|
||||
bl RestoreIntegerBits
|
||||
ldr r5, [r4]
|
||||
adds r4, r5, 0x4
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
movs r2, 0x58
|
||||
bl memset
|
||||
mov r0, sp
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x2
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0x6
|
||||
mov r0, sp
|
||||
movs r2, 0x1
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0x7
|
||||
mov r0, sp
|
||||
movs r2, 0x7
|
||||
bl RestoreIntegerBits
|
||||
adds r4, 0x4
|
||||
mov r0, sp
|
||||
adds r1, r4, 0
|
||||
bl xxx_restore_poke_sub_4_8090314
|
||||
adds r1, r5, 0
|
||||
adds r1, 0xC
|
||||
mov r0, sp
|
||||
movs r2, 0x9
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x10
|
||||
mov r0, sp
|
||||
bl xxx_restore_poke_sub_c_808F410
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x14
|
||||
mov r0, sp
|
||||
bl xxx_restore_poke_sub_c_808F410
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x18
|
||||
mov r0, sp
|
||||
movs r2, 0xA
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x1A
|
||||
mov r0, sp
|
||||
movs r2, 0xA
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x1C
|
||||
mov r0, sp
|
||||
movs r2, 0x8
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x1D
|
||||
mov r0, sp
|
||||
movs r2, 0x8
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x1E
|
||||
mov r0, sp
|
||||
movs r2, 0x8
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x1F
|
||||
mov r0, sp
|
||||
movs r2, 0x8
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x20
|
||||
mov r0, sp
|
||||
movs r2, 0x18
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x24
|
||||
mov r0, sp
|
||||
movs r2, 0x18
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x28
|
||||
mov r0, sp
|
||||
movs r2, 0x4
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x2C
|
||||
mov r0, sp
|
||||
bl RestoreHeldItem
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x30
|
||||
mov r0, sp
|
||||
bl RestorePokemonMoves
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x50
|
||||
mov r0, sp
|
||||
movs r2, 0x50
|
||||
bl RestoreIntegerBits
|
||||
ldr r4, _08095620
|
||||
ldr r1, [r4]
|
||||
mov r0, sp
|
||||
movs r2, 0x20
|
||||
bl RestoreIntegerBits
|
||||
adds r6, r4, 0
|
||||
movs r5, 0x4
|
||||
movs r4, 0x1F
|
||||
_080955F4:
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
mov r0, sp
|
||||
movs r2, 0x20
|
||||
bl RestoreIntegerBits
|
||||
adds r5, 0x4
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _080955F4
|
||||
mov r0, sp
|
||||
bl nullsub_102
|
||||
ldr r0, [sp, 0x8]
|
||||
add sp, 0x10
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08095618: .4byte gUnknown_203B480
|
||||
_0809561C: .4byte gUnknown_203B484
|
||||
_08095620: .4byte gUnknown_203B48C
|
||||
thumb_func_end sub_80954CC
|
||||
|
||||
thumb_func_start sub_8095624
|
||||
sub_8095624:
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x10
|
||||
adds r3, r0, 0
|
||||
adds r2, r1, 0
|
||||
mov r0, sp
|
||||
adds r1, r3, 0
|
||||
bl xxx_init_struct_8094924_save_809486C
|
||||
ldr r6, _08095768
|
||||
movs r5, 0
|
||||
movs r4, 0x1F
|
||||
_0809563A:
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
mov r0, sp
|
||||
bl sub_8095824
|
||||
adds r5, 0x30
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _0809563A
|
||||
ldr r4, _0809576C
|
||||
ldr r1, [r4]
|
||||
mov r0, sp
|
||||
movs r2, 0x20
|
||||
bl SaveIntegerBits
|
||||
ldr r5, [r4]
|
||||
adds r4, r5, 0x4
|
||||
mov r0, sp
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x2
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0x6
|
||||
mov r0, sp
|
||||
movs r2, 0x1
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0x7
|
||||
mov r0, sp
|
||||
movs r2, 0x7
|
||||
bl SaveIntegerBits
|
||||
adds r4, 0x4
|
||||
mov r0, sp
|
||||
adds r1, r4, 0
|
||||
bl xxx_save_poke_sub_4_80902F4
|
||||
adds r1, r5, 0
|
||||
adds r1, 0xC
|
||||
mov r0, sp
|
||||
movs r2, 0x9
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x10
|
||||
mov r0, sp
|
||||
bl xxx_save_poke_sub_c_808F41C
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x14
|
||||
mov r0, sp
|
||||
bl xxx_save_poke_sub_c_808F41C
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x18
|
||||
mov r0, sp
|
||||
movs r2, 0xA
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x1A
|
||||
mov r0, sp
|
||||
movs r2, 0xA
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x1C
|
||||
mov r0, sp
|
||||
movs r2, 0x8
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x1D
|
||||
mov r0, sp
|
||||
movs r2, 0x8
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x1E
|
||||
mov r0, sp
|
||||
movs r2, 0x8
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x1F
|
||||
mov r0, sp
|
||||
movs r2, 0x8
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x20
|
||||
mov r0, sp
|
||||
movs r2, 0x18
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x24
|
||||
mov r0, sp
|
||||
movs r2, 0x18
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x28
|
||||
mov r0, sp
|
||||
movs r2, 0x4
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x2C
|
||||
mov r0, sp
|
||||
bl SaveHeldItem
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x30
|
||||
mov r0, sp
|
||||
bl SavePokemonMoves
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x50
|
||||
mov r0, sp
|
||||
movs r2, 0x50
|
||||
bl SaveIntegerBits
|
||||
ldr r4, _08095770
|
||||
ldr r1, [r4]
|
||||
mov r0, sp
|
||||
movs r2, 0x20
|
||||
bl SaveIntegerBits
|
||||
adds r6, r4, 0
|
||||
movs r5, 0x4
|
||||
movs r4, 0x1F
|
||||
_08095742:
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
mov r0, sp
|
||||
movs r2, 0x20
|
||||
bl SaveIntegerBits
|
||||
adds r5, 0x4
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _08095742
|
||||
mov r0, sp
|
||||
bl nullsub_102
|
||||
ldr r0, [sp, 0x8]
|
||||
add sp, 0x10
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_08095768: .4byte gUnknown_203B480
|
||||
_0809576C: .4byte gUnknown_203B484
|
||||
_08095770: .4byte gUnknown_203B48C
|
||||
thumb_func_end sub_8095624
|
||||
|
||||
thumb_func_start sub_8095774
|
||||
sub_8095774:
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
adds r4, r0, 0
|
||||
adds r5, r1, 0
|
||||
movs r2, 0x4
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0x4
|
||||
adds r0, r4, 0
|
||||
bl xxx_restore_poke_sub_4_8090314
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x8
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x18
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0xC
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x9
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x10
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x20
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x14
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x50
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x20
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x21
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x22
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x24
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x20
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x28
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x20
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x2C
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
bl RestoreIntegerBits
|
||||
adds r0, r4, 0
|
||||
mov r1, sp
|
||||
movs r2, 0x1
|
||||
bl RestoreIntegerBits
|
||||
mov r0, sp
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x2D
|
||||
strb r0, [r1]
|
||||
add sp, 0x4
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8095774
|
||||
|
||||
thumb_func_start sub_8095824
|
||||
sub_8095824:
|
||||
push {r4-r6,lr}
|
||||
sub sp, 0x4
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
movs r1, 0xFF
|
||||
mov r0, sp
|
||||
strb r1, [r0]
|
||||
mov r6, sp
|
||||
adds r6, 0x1
|
||||
movs r0, 0
|
||||
strb r0, [r6]
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x4
|
||||
bl SaveIntegerBits
|
||||
adds r1, r4, 0x4
|
||||
adds r0, r5, 0
|
||||
bl xxx_save_poke_sub_4_80902F4
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x8
|
||||
adds r0, r5, 0
|
||||
movs r2, 0x18
|
||||
bl SaveIntegerBits
|
||||
adds r1, r4, 0
|
||||
adds r1, 0xC
|
||||
adds r0, r5, 0
|
||||
movs r2, 0x9
|
||||
bl SaveIntegerBits
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x10
|
||||
adds r0, r5, 0
|
||||
movs r2, 0x20
|
||||
bl SaveIntegerBits
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x14
|
||||
adds r0, r5, 0
|
||||
movs r2, 0x50
|
||||
bl SaveIntegerBits
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x20
|
||||
adds r0, r5, 0
|
||||
movs r2, 0x8
|
||||
bl SaveIntegerBits
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x21
|
||||
adds r0, r5, 0
|
||||
movs r2, 0x8
|
||||
bl SaveIntegerBits
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x22
|
||||
adds r0, r5, 0
|
||||
movs r2, 0x8
|
||||
bl SaveIntegerBits
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x24
|
||||
adds r0, r5, 0
|
||||
movs r2, 0x20
|
||||
bl SaveIntegerBits
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x28
|
||||
adds r0, r5, 0
|
||||
movs r2, 0x20
|
||||
bl SaveIntegerBits
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x2C
|
||||
adds r0, r5, 0
|
||||
movs r2, 0x8
|
||||
bl SaveIntegerBits
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x2D
|
||||
ldrb r0, [r0]
|
||||
mov r1, sp
|
||||
cmp r0, 0
|
||||
bne _080958D2
|
||||
adds r1, r6, 0
|
||||
_080958D2:
|
||||
adds r0, r5, 0
|
||||
movs r2, 0x1
|
||||
bl SaveIntegerBits
|
||||
add sp, 0x4
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8095824
|
||||
|
||||
thumb_func_start sub_80958E4
|
||||
sub_80958E4:
|
||||
str r1, [r0]
|
||||
bx lr
|
||||
thumb_func_end sub_80958E4
|
||||
|
||||
|
||||
.align 2,0
|
||||
|
|
|
|||
|
|
@ -2816,680 +2816,4 @@ _08096EFE:
|
|||
_08096F4C: .4byte gUnknown_203B490
|
||||
thumb_func_end sub_8096EEC
|
||||
|
||||
thumb_func_start sub_8096F50
|
||||
sub_8096F50:
|
||||
push {r4-r7,lr}
|
||||
adds r4, r0, 0
|
||||
bl sub_8096EB0
|
||||
mov r12, r0
|
||||
movs r5, 0
|
||||
ldr r0, _08096F8C
|
||||
ldr r7, [r0]
|
||||
ldrb r6, [r4, 0x4]
|
||||
movs r3, 0
|
||||
_08096F64:
|
||||
movs r1, 0x8C
|
||||
lsls r1, 2
|
||||
adds r0, r3, r1
|
||||
adds r2, r7, r0
|
||||
ldrb r0, [r2]
|
||||
cmp r0, r6
|
||||
bne _08096F90
|
||||
ldrb r0, [r2, 0x1]
|
||||
ldrb r1, [r4, 0x5]
|
||||
cmp r0, r1
|
||||
bne _08096F90
|
||||
ldr r1, [r2, 0x4]
|
||||
ldr r0, [r4, 0x8]
|
||||
cmp r1, r0
|
||||
bne _08096F90
|
||||
ldr r0, [r2, 0x8]
|
||||
cmp r0, r12
|
||||
bne _08096F90
|
||||
movs r0, 0x1
|
||||
b _08096F9A
|
||||
.align 2, 0
|
||||
_08096F8C: .4byte gUnknown_203B490
|
||||
_08096F90:
|
||||
adds r3, 0xC
|
||||
adds r5, 0x1
|
||||
cmp r5, 0xF
|
||||
ble _08096F64
|
||||
movs r0, 0
|
||||
_08096F9A:
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8096F50
|
||||
|
||||
thumb_func_start sub_8096FA0
|
||||
sub_8096FA0:
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x14
|
||||
adds r3, r0, 0
|
||||
adds r2, r1, 0
|
||||
mov r0, sp
|
||||
adds r1, r3, 0
|
||||
bl xxx_init_struct_8094924_restore_809485C
|
||||
add r7, sp, 0x10
|
||||
ldr r6, _08097020
|
||||
movs r5, 0
|
||||
movs r4, 0x3
|
||||
_08096FB8:
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
mov r0, sp
|
||||
bl sub_80971EC
|
||||
adds r5, 0x14
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _08096FB8
|
||||
ldr r6, _08097020
|
||||
movs r5, 0x50
|
||||
movs r4, 0x7
|
||||
_08096FD0:
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
mov r0, sp
|
||||
bl sub_80971EC
|
||||
adds r5, 0x14
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _08096FD0
|
||||
ldr r6, _08097020
|
||||
movs r5, 0xF0
|
||||
movs r4, 0x7
|
||||
_08096FE8:
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
mov r0, sp
|
||||
bl sub_80971EC
|
||||
adds r5, 0x14
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _08096FE8
|
||||
movs r4, 0
|
||||
movs r6, 0x1
|
||||
ldr r5, _08097020
|
||||
_08097000:
|
||||
mov r0, sp
|
||||
adds r1, r7, 0
|
||||
movs r2, 0x1
|
||||
bl RestoreIntegerBits
|
||||
ldr r1, [sp, 0x10]
|
||||
ands r1, r6
|
||||
cmp r1, 0
|
||||
beq _08097024
|
||||
ldr r0, [r5]
|
||||
movs r1, 0xBC
|
||||
lsls r1, 2
|
||||
adds r0, r1
|
||||
adds r0, r4
|
||||
strb r6, [r0]
|
||||
b _08097030
|
||||
.align 2, 0
|
||||
_08097020: .4byte gUnknown_203B490
|
||||
_08097024:
|
||||
ldr r0, [r5]
|
||||
movs r2, 0xBC
|
||||
lsls r2, 2
|
||||
adds r0, r2
|
||||
adds r0, r4
|
||||
strb r1, [r0]
|
||||
_08097030:
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x37
|
||||
ble _08097000
|
||||
mov r0, sp
|
||||
adds r1, r7, 0
|
||||
movs r2, 0x1
|
||||
bl RestoreIntegerBits
|
||||
ldr r1, [sp, 0x10]
|
||||
movs r2, 0x1
|
||||
ands r1, r2
|
||||
cmp r1, 0
|
||||
beq _0809705C
|
||||
ldr r0, _08097058
|
||||
ldr r0, [r0]
|
||||
movs r1, 0xCA
|
||||
lsls r1, 2
|
||||
adds r0, r1
|
||||
strb r2, [r0]
|
||||
b _08097068
|
||||
.align 2, 0
|
||||
_08097058: .4byte gUnknown_203B490
|
||||
_0809705C:
|
||||
ldr r0, _080970D4
|
||||
ldr r0, [r0]
|
||||
movs r2, 0xCA
|
||||
lsls r2, 2
|
||||
adds r0, r2
|
||||
strb r1, [r0]
|
||||
_08097068:
|
||||
ldr r4, _080970D4
|
||||
ldr r1, [r4]
|
||||
movs r0, 0xC8
|
||||
lsls r0, 1
|
||||
adds r1, r0
|
||||
movs r2, 0xA0
|
||||
lsls r2, 1
|
||||
mov r0, sp
|
||||
bl RestoreIntegerBits
|
||||
ldr r1, [r4]
|
||||
movs r2, 0xDC
|
||||
lsls r2, 1
|
||||
adds r1, r2
|
||||
movs r2, 0xF0
|
||||
lsls r2, 2
|
||||
mov r0, sp
|
||||
bl RestoreIntegerBits
|
||||
adds r6, r4, 0
|
||||
movs r5, 0x8C
|
||||
lsls r5, 2
|
||||
movs r4, 0xF
|
||||
_08097096:
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
adds r1, 0x8
|
||||
mov r0, sp
|
||||
movs r2, 0x20
|
||||
bl RestoreIntegerBits
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
adds r1, 0x4
|
||||
mov r0, sp
|
||||
movs r2, 0x18
|
||||
bl RestoreIntegerBits
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
mov r0, sp
|
||||
bl xxx_restore_poke_sub_4_8090314
|
||||
adds r5, 0xC
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _08097096
|
||||
mov r0, sp
|
||||
bl nullsub_102
|
||||
ldr r0, [sp, 0x8]
|
||||
add sp, 0x14
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080970D4: .4byte gUnknown_203B490
|
||||
thumb_func_end sub_8096FA0
|
||||
|
||||
thumb_func_start sub_80970D8
|
||||
sub_80970D8:
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x14
|
||||
adds r3, r0, 0
|
||||
adds r2, r1, 0
|
||||
mov r0, sp
|
||||
adds r1, r3, 0
|
||||
bl xxx_init_struct_8094924_save_809486C
|
||||
add r7, sp, 0x10
|
||||
ldr r6, _080971E8
|
||||
movs r5, 0
|
||||
movs r4, 0x3
|
||||
_080970F0:
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
mov r0, sp
|
||||
bl sub_8097270
|
||||
adds r5, 0x14
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _080970F0
|
||||
ldr r6, _080971E8
|
||||
movs r5, 0x50
|
||||
movs r4, 0x7
|
||||
_08097108:
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
mov r0, sp
|
||||
bl sub_8097270
|
||||
adds r5, 0x14
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _08097108
|
||||
ldr r6, _080971E8
|
||||
movs r5, 0xF0
|
||||
movs r4, 0x7
|
||||
_08097120:
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
mov r0, sp
|
||||
bl sub_8097270
|
||||
adds r5, 0x14
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _08097120
|
||||
movs r4, 0
|
||||
_08097134:
|
||||
ldr r0, _080971E8
|
||||
ldr r0, [r0]
|
||||
movs r1, 0xBC
|
||||
lsls r1, 2
|
||||
adds r0, r1
|
||||
adds r0, r4
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _0809714A
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
_0809714A:
|
||||
str r0, [sp, 0x10]
|
||||
mov r0, sp
|
||||
adds r1, r7, 0
|
||||
movs r2, 0x1
|
||||
bl SaveIntegerBits
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x37
|
||||
ble _08097134
|
||||
ldr r0, _080971E8
|
||||
ldr r0, [r0]
|
||||
movs r1, 0xCA
|
||||
lsls r1, 2
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
beq _08097170
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
_08097170:
|
||||
str r0, [sp, 0x10]
|
||||
mov r0, sp
|
||||
adds r1, r7, 0
|
||||
movs r2, 0x1
|
||||
bl SaveIntegerBits
|
||||
ldr r4, _080971E8
|
||||
ldr r1, [r4]
|
||||
movs r0, 0xC8
|
||||
lsls r0, 1
|
||||
adds r1, r0
|
||||
movs r2, 0xA0
|
||||
lsls r2, 1
|
||||
mov r0, sp
|
||||
bl SaveIntegerBits
|
||||
ldr r1, [r4]
|
||||
movs r0, 0xDC
|
||||
lsls r0, 1
|
||||
adds r1, r0
|
||||
movs r2, 0xF0
|
||||
lsls r2, 2
|
||||
mov r0, sp
|
||||
bl SaveIntegerBits
|
||||
adds r6, r4, 0
|
||||
movs r5, 0x8C
|
||||
lsls r5, 2
|
||||
movs r4, 0xF
|
||||
_080971AA:
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
adds r1, 0x8
|
||||
mov r0, sp
|
||||
movs r2, 0x20
|
||||
bl SaveIntegerBits
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
adds r1, 0x4
|
||||
mov r0, sp
|
||||
movs r2, 0x18
|
||||
bl SaveIntegerBits
|
||||
ldr r1, [r6]
|
||||
adds r1, r5
|
||||
mov r0, sp
|
||||
bl xxx_save_poke_sub_4_80902F4
|
||||
adds r5, 0xC
|
||||
subs r4, 0x1
|
||||
cmp r4, 0
|
||||
bge _080971AA
|
||||
mov r0, sp
|
||||
bl nullsub_102
|
||||
ldr r0, [sp, 0x8]
|
||||
add sp, 0x14
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.align 2, 0
|
||||
_080971E8: .4byte gUnknown_203B490
|
||||
thumb_func_end sub_80970D8
|
||||
|
||||
thumb_func_start sub_80971EC
|
||||
sub_80971EC:
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
adds r5, r1, 0
|
||||
movs r2, 0x4
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0x1
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x3
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0x2
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x4
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0xC
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x9
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0xE
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x9
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x10
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x11
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x4
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x12
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x13
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x6
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x8
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x18
|
||||
bl RestoreIntegerBits
|
||||
adds r1, r5, 0x4
|
||||
adds r0, r4, 0
|
||||
bl xxx_restore_poke_sub_4_8090314
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80971EC
|
||||
|
||||
thumb_func_start sub_8097270
|
||||
sub_8097270:
|
||||
push {r4,r5,lr}
|
||||
adds r4, r0, 0
|
||||
adds r5, r1, 0
|
||||
movs r2, 0x4
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0x1
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x3
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0x2
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x4
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0xC
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x9
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0xE
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x9
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x10
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x11
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x4
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x12
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x8
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x13
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x6
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0
|
||||
adds r1, 0x8
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x18
|
||||
bl SaveIntegerBits
|
||||
adds r1, r5, 0x4
|
||||
adds r0, r4, 0
|
||||
bl xxx_save_poke_sub_4_80902F4
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_8097270
|
||||
|
||||
thumb_func_start sub_80972F4
|
||||
sub_80972F4:
|
||||
push {lr}
|
||||
movs r0, 0
|
||||
movs r1, 0x2B
|
||||
bl sub_80015C0
|
||||
movs r0, 0
|
||||
movs r1, 0x2C
|
||||
bl sub_80015C0
|
||||
movs r0, 0
|
||||
movs r1, 0x2D
|
||||
bl sub_80015C0
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80972F4
|
||||
|
||||
thumb_func_start nullsub_128
|
||||
nullsub_128:
|
||||
bx lr
|
||||
thumb_func_end nullsub_128
|
||||
|
||||
thumb_func_start sub_8097318
|
||||
sub_8097318:
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
cmp r0, 0xD
|
||||
bne _08097326
|
||||
movs r0, 0
|
||||
b _08097338
|
||||
_08097326:
|
||||
lsls r2, r0, 16
|
||||
lsrs r2, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2B
|
||||
bl sub_8001784
|
||||
cmp r0, 0
|
||||
beq _08097338
|
||||
movs r0, 0x1
|
||||
_08097338:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8097318
|
||||
|
||||
thumb_func_start sub_809733C
|
||||
sub_809733C:
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 16
|
||||
asrs r4, r0, 16
|
||||
lsls r1, 24
|
||||
lsrs r6, r1, 24
|
||||
cmp r4, 0xD
|
||||
beq _0809737C
|
||||
lsls r0, r4, 16
|
||||
lsrs r5, r0, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2C
|
||||
adds r2, r5, 0
|
||||
bl sub_8001784
|
||||
cmp r0, 0
|
||||
bne _0809737C
|
||||
movs r0, 0
|
||||
movs r1, 0x2B
|
||||
adds r2, r5, 0
|
||||
adds r3, r6, 0
|
||||
bl sub_800199C
|
||||
cmp r6, 0
|
||||
beq _0809737C
|
||||
cmp r4, 0xE
|
||||
blt _0809737C
|
||||
cmp r4, 0xF
|
||||
ble _08097378
|
||||
cmp r4, 0x1C
|
||||
bne _0809737C
|
||||
_08097378:
|
||||
bl sub_809674C
|
||||
_0809737C:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_809733C
|
||||
|
||||
thumb_func_start sub_8097384
|
||||
sub_8097384:
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
cmp r0, 0xD
|
||||
bne _08097392
|
||||
movs r0, 0
|
||||
b _080973A4
|
||||
_08097392:
|
||||
lsls r2, r0, 16
|
||||
lsrs r2, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2C
|
||||
bl sub_8001784
|
||||
cmp r0, 0
|
||||
beq _080973A4
|
||||
movs r0, 0x1
|
||||
_080973A4:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8097384
|
||||
|
||||
thumb_func_start sub_80973A8
|
||||
sub_80973A8:
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
lsls r1, 24
|
||||
lsrs r6, r1, 24
|
||||
cmp r0, 0xD
|
||||
beq _080973EE
|
||||
lsls r5, r0, 16
|
||||
cmp r6, 0
|
||||
beq _080973E2
|
||||
bl sub_80A26B8
|
||||
lsls r0, 16
|
||||
asrs r4, r0, 16
|
||||
lsrs r2, r5, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2B
|
||||
movs r3, 0
|
||||
bl sub_800199C
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r4, r0
|
||||
beq _080973E2
|
||||
movs r0, 0
|
||||
movs r1, 0x12
|
||||
adds r2, r4, 0
|
||||
bl sub_80018D8
|
||||
_080973E2:
|
||||
lsrs r2, r5, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2C
|
||||
adds r3, r6, 0
|
||||
bl sub_800199C
|
||||
_080973EE:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80973A8
|
||||
|
||||
thumb_func_start sub_80973F4
|
||||
sub_80973F4:
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
cmp r0, 0xD
|
||||
bne _08097402
|
||||
movs r0, 0
|
||||
b _08097414
|
||||
_08097402:
|
||||
lsls r2, r0, 16
|
||||
lsrs r2, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2D
|
||||
bl sub_8001784
|
||||
cmp r0, 0
|
||||
beq _08097414
|
||||
movs r0, 0x1
|
||||
_08097414:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80973F4
|
||||
|
||||
thumb_func_start sub_8097418
|
||||
sub_8097418:
|
||||
push {r4-r7,lr}
|
||||
lsls r0, 16
|
||||
asrs r5, r0, 16
|
||||
lsls r1, 24
|
||||
lsrs r7, r1, 24
|
||||
cmp r5, 0xD
|
||||
beq _08097470
|
||||
lsls r6, r5, 16
|
||||
cmp r7, 0
|
||||
beq _08097464
|
||||
lsrs r2, r6, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2C
|
||||
movs r3, 0
|
||||
bl sub_800199C
|
||||
cmp r5, 0x1E
|
||||
bgt _08097464
|
||||
lsls r0, r5, 3
|
||||
ldr r1, _08097478
|
||||
adds r4, r0, r1
|
||||
ldrb r0, [r4, 0x4]
|
||||
cmp r0, 0xFF
|
||||
beq _0809744C
|
||||
bl sub_8097FA8
|
||||
_0809744C:
|
||||
ldrb r0, [r4, 0x5]
|
||||
cmp r0, 0xFF
|
||||
beq _08097456
|
||||
bl sub_8097FA8
|
||||
_08097456:
|
||||
cmp r5, 0x9
|
||||
bne _08097460
|
||||
movs r0, 0x1F
|
||||
bl sub_8097FA8
|
||||
_08097460:
|
||||
bl sub_8097FF8
|
||||
_08097464:
|
||||
lsrs r2, r6, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2D
|
||||
adds r3, r7, 0
|
||||
bl sub_800199C
|
||||
_08097470:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08097478: .4byte gStoryMissionText
|
||||
thumb_func_end sub_8097418
|
||||
|
||||
.align 2,0
|
||||
|
|
|
|||
207
asm/code_8097318.s
Normal file
207
asm/code_8097318.s
Normal file
|
|
@ -0,0 +1,207 @@
|
|||
#include "asm/constants/gba_constants.inc"
|
||||
#include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_8097318
|
||||
sub_8097318:
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
cmp r0, 0xD
|
||||
bne _08097326
|
||||
movs r0, 0
|
||||
b _08097338
|
||||
_08097326:
|
||||
lsls r2, r0, 16
|
||||
lsrs r2, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2B
|
||||
bl sub_8001784
|
||||
cmp r0, 0
|
||||
beq _08097338
|
||||
movs r0, 0x1
|
||||
_08097338:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8097318
|
||||
|
||||
thumb_func_start sub_809733C
|
||||
sub_809733C:
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 16
|
||||
asrs r4, r0, 16
|
||||
lsls r1, 24
|
||||
lsrs r6, r1, 24
|
||||
cmp r4, 0xD
|
||||
beq _0809737C
|
||||
lsls r0, r4, 16
|
||||
lsrs r5, r0, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2C
|
||||
adds r2, r5, 0
|
||||
bl sub_8001784
|
||||
cmp r0, 0
|
||||
bne _0809737C
|
||||
movs r0, 0
|
||||
movs r1, 0x2B
|
||||
adds r2, r5, 0
|
||||
adds r3, r6, 0
|
||||
bl sub_800199C
|
||||
cmp r6, 0
|
||||
beq _0809737C
|
||||
cmp r4, 0xE
|
||||
blt _0809737C
|
||||
cmp r4, 0xF
|
||||
ble _08097378
|
||||
cmp r4, 0x1C
|
||||
bne _0809737C
|
||||
_08097378:
|
||||
bl sub_809674C
|
||||
_0809737C:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_809733C
|
||||
|
||||
thumb_func_start sub_8097384
|
||||
sub_8097384:
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
cmp r0, 0xD
|
||||
bne _08097392
|
||||
movs r0, 0
|
||||
b _080973A4
|
||||
_08097392:
|
||||
lsls r2, r0, 16
|
||||
lsrs r2, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2C
|
||||
bl sub_8001784
|
||||
cmp r0, 0
|
||||
beq _080973A4
|
||||
movs r0, 0x1
|
||||
_080973A4:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8097384
|
||||
|
||||
thumb_func_start sub_80973A8
|
||||
sub_80973A8:
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
lsls r1, 24
|
||||
lsrs r6, r1, 24
|
||||
cmp r0, 0xD
|
||||
beq _080973EE
|
||||
lsls r5, r0, 16
|
||||
cmp r6, 0
|
||||
beq _080973E2
|
||||
bl sub_80A26B8
|
||||
lsls r0, 16
|
||||
asrs r4, r0, 16
|
||||
lsrs r2, r5, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2B
|
||||
movs r3, 0
|
||||
bl sub_800199C
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r4, r0
|
||||
beq _080973E2
|
||||
movs r0, 0
|
||||
movs r1, 0x12
|
||||
adds r2, r4, 0
|
||||
bl sub_80018D8
|
||||
_080973E2:
|
||||
lsrs r2, r5, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2C
|
||||
adds r3, r6, 0
|
||||
bl sub_800199C
|
||||
_080973EE:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80973A8
|
||||
|
||||
thumb_func_start sub_80973F4
|
||||
sub_80973F4:
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
cmp r0, 0xD
|
||||
bne _08097402
|
||||
movs r0, 0
|
||||
b _08097414
|
||||
_08097402:
|
||||
lsls r2, r0, 16
|
||||
lsrs r2, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2D
|
||||
bl sub_8001784
|
||||
cmp r0, 0
|
||||
beq _08097414
|
||||
movs r0, 0x1
|
||||
_08097414:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_80973F4
|
||||
|
||||
thumb_func_start sub_8097418
|
||||
sub_8097418:
|
||||
push {r4-r7,lr}
|
||||
lsls r0, 16
|
||||
asrs r5, r0, 16
|
||||
lsls r1, 24
|
||||
lsrs r7, r1, 24
|
||||
cmp r5, 0xD
|
||||
beq _08097470
|
||||
lsls r6, r5, 16
|
||||
cmp r7, 0
|
||||
beq _08097464
|
||||
lsrs r2, r6, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2C
|
||||
movs r3, 0
|
||||
bl sub_800199C
|
||||
cmp r5, 0x1E
|
||||
bgt _08097464
|
||||
lsls r0, r5, 3
|
||||
ldr r1, _08097478
|
||||
adds r4, r0, r1
|
||||
ldrb r0, [r4, 0x4]
|
||||
cmp r0, 0xFF
|
||||
beq _0809744C
|
||||
bl sub_8097FA8
|
||||
_0809744C:
|
||||
ldrb r0, [r4, 0x5]
|
||||
cmp r0, 0xFF
|
||||
beq _08097456
|
||||
bl sub_8097FA8
|
||||
_08097456:
|
||||
cmp r5, 0x9
|
||||
bne _08097460
|
||||
movs r0, 0x1F
|
||||
bl sub_8097FA8
|
||||
_08097460:
|
||||
bl sub_8097FF8
|
||||
_08097464:
|
||||
lsrs r2, r6, 16
|
||||
movs r0, 0
|
||||
movs r1, 0x2D
|
||||
adds r3, r7, 0
|
||||
bl sub_800199C
|
||||
_08097470:
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08097478: .4byte gStoryMissionText
|
||||
thumb_func_end sub_8097418
|
||||
|
||||
.align 2,0
|
||||
35
include/code_8094F88.h
Normal file
35
include/code_8094F88.h
Normal file
|
|
@ -0,0 +1,35 @@
|
|||
#ifndef GUARD_CODE_8094F88_H
|
||||
#define GUARD_CODE_8094F88_H
|
||||
|
||||
struct unkStruct_203B480
|
||||
{
|
||||
u8 unk0;
|
||||
struct unkPokeSubStruct_4 unk4;
|
||||
u32 unk8;
|
||||
u32 unkC;
|
||||
u32 unk10;
|
||||
u32 unk14;
|
||||
u32 unk18;
|
||||
u32 unk1C;
|
||||
u8 unk20;
|
||||
u8 unk21;
|
||||
u8 unk22;
|
||||
u32 unk24;
|
||||
u32 unk28;
|
||||
u8 unk2C;
|
||||
u8 unk2D;
|
||||
};
|
||||
|
||||
struct unkStruct_203B484
|
||||
{
|
||||
u32 unk0;
|
||||
struct PokemonStruct unk4;
|
||||
};
|
||||
|
||||
struct unkStruct_203B48C
|
||||
{
|
||||
s32 unk0;
|
||||
s32 unk4[0x20];
|
||||
};
|
||||
|
||||
#endif
|
||||
|
|
@ -34,21 +34,21 @@ struct unkPokeSubStruct_C
|
|||
struct PokemonStruct
|
||||
{
|
||||
// size: 0x58
|
||||
u16 unk0; // recruited??
|
||||
u8 unk2;
|
||||
u8 unkHasNextStage; // set to a random value?
|
||||
struct unkPokeSubStruct_4 unk4;
|
||||
/* 0x0 */ u16 unk0; // recruited??
|
||||
/* 0x1 */ u8 unk2;
|
||||
/* 0x3 */ u8 unkHasNextStage; // set to a random value?
|
||||
/* 0x4 */ struct unkPokeSubStruct_4 unk4;
|
||||
/* 0x8 */ s16 speciesNum; // species #
|
||||
struct unkPokeSubStruct_C unkC[2];
|
||||
/* 0xC */ struct unkPokeSubStruct_C unkC[2];
|
||||
/* 0x14 */ s16 IQ;
|
||||
/* 0x16 */ u16 pokeHP; // HP
|
||||
/* 0x18 */ struct Offense offense;
|
||||
u32 unk1C;
|
||||
u32 IQSkills;
|
||||
u8 unk24;
|
||||
u8 fill25[3];
|
||||
struct HeldItem heldItem;
|
||||
struct PokemonMove moves[MAX_MON_MOVES];
|
||||
/* 0x1C */ u32 unk1C;
|
||||
/* 0x20 */ u32 IQSkills;
|
||||
/* 0x24 */ u8 unk24;
|
||||
/* 0x25 */ u8 fill25[3];
|
||||
/* 0x28 */ struct HeldItem heldItem;
|
||||
/* 0x2C */ struct PokemonMove moves[MAX_MON_MOVES];
|
||||
/* 0x4C */ u8 name[POKEMON_NAME_LENGTH];
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -299,8 +299,11 @@ SECTIONS {
|
|||
src/play_time.o(.text);
|
||||
src/code_8094F88.o(.text);
|
||||
asm/code_8095014.o(.text);
|
||||
src/code_8095824.o(.text);
|
||||
src/code_80958E8.o(.text);
|
||||
asm/code_80958E8.o(.text);
|
||||
src/code_80972F4.o(.text);
|
||||
asm/code_8097318.o(.text);
|
||||
src/code_809747C.o(.text);
|
||||
asm/code_809747C.o(.text);
|
||||
src/code_809747C_1.o(.text);
|
||||
|
|
|
|||
|
|
@ -1,33 +1,18 @@
|
|||
#include "global.h"
|
||||
#include "pokemon.h"
|
||||
#include "code_8094F88.h"
|
||||
#include "memory.h"
|
||||
|
||||
struct unkStruct_203B480
|
||||
{
|
||||
//size of 48
|
||||
u8 unk0;
|
||||
u8 fill1[0x22 - 1];
|
||||
u8 unk22;
|
||||
u8 fill23[0x2D - 0x23];
|
||||
u8 unk2D;
|
||||
};
|
||||
|
||||
struct unkStruct_203B48C
|
||||
{
|
||||
s32 unk0;
|
||||
s32 unk4[0x20];
|
||||
};
|
||||
|
||||
extern struct unkStruct_203B480 gUnknown_2038C88;
|
||||
extern u8 gUnknown_2039288;
|
||||
extern u32 gUnknown_20392E8;
|
||||
extern struct unkStruct_203B48C gUnknown_20393C0;
|
||||
extern u8 *gUnknown_203B484;
|
||||
extern u32 *gUnknown_203B488;
|
||||
|
||||
|
||||
extern struct unkStruct_203B480 *gUnknown_203B480;
|
||||
extern struct unkStruct_203B484 gUnknown_2039288;
|
||||
extern struct unkStruct_203B484 *gUnknown_203B484;
|
||||
extern struct unkStruct_203B48C gUnknown_20393C0;
|
||||
extern struct unkStruct_203B48C *gUnknown_203B48C;
|
||||
extern u32 *gUnknown_203B488;
|
||||
extern u32 gUnknown_20392E8;
|
||||
|
||||
|
||||
extern struct unkStruct_203B48C *gUnknown_203B48C; // def a pointer
|
||||
|
||||
|
||||
void sub_80950BC(void)
|
||||
|
|
@ -43,7 +28,7 @@ struct unkStruct_203B480 *sub_80950F8(void)
|
|||
return &gUnknown_2038C88;
|
||||
}
|
||||
|
||||
u8 *sub_8095100(void)
|
||||
struct unkStruct_203B484 *sub_8095100(void)
|
||||
{
|
||||
return &gUnknown_2039288;
|
||||
}
|
||||
|
|
|
|||
165
src/code_8095824.c
Normal file
165
src/code_8095824.c
Normal file
|
|
@ -0,0 +1,165 @@
|
|||
#include "global.h"
|
||||
#include "pokemon.h"
|
||||
#include "code_8094F88.h"
|
||||
|
||||
extern struct unkStruct_203B484 *gUnknown_203B484;
|
||||
extern struct unkStruct_203B480 *gUnknown_203B480;
|
||||
extern struct unkStruct_203B48C *gUnknown_203B48C;
|
||||
|
||||
extern void xxx_save_poke_sub_4_80902F4(struct unkStruct_8094924*, struct unkPokeSubStruct_4*);
|
||||
extern void xxx_restore_poke_sub_4_8090314(struct unkStruct_8094924*, struct unkPokeSubStruct_4*);
|
||||
extern void xxx_save_poke_sub_c_808F41C(struct unkStruct_8094924* a1, struct unkPokeSubStruct_C* unkC);
|
||||
extern void xxx_restore_poke_sub_c_808F410(struct unkStruct_8094924*, struct unkPokeSubStruct_C*);
|
||||
extern void SavePokemonMoves(struct unkStruct_8094924 *r0, struct PokemonMove *moveSet);
|
||||
extern void RestorePokemonMoves(struct unkStruct_8094924 *r0, struct PokemonMove *moveSet);
|
||||
|
||||
void sub_8095824(struct unkStruct_8094924 * a, struct unkStruct_203B480 *b);
|
||||
void sub_8095774(struct unkStruct_8094924 * a, struct unkStruct_203B480 *b);
|
||||
extern u32 sub_8095324(u32);
|
||||
|
||||
u32 sub_80954B4(void)
|
||||
{
|
||||
if(sub_8095324(3) != 0)
|
||||
return 1;
|
||||
else
|
||||
return 0;
|
||||
}
|
||||
|
||||
u32 sub_80954CC(u8 *a, u32 b)
|
||||
{
|
||||
struct unkStruct_8094924 backup;
|
||||
struct PokemonStruct *temp;
|
||||
s32 index;
|
||||
|
||||
xxx_init_struct_8094924_restore_809485C(&backup, a, b);
|
||||
for(index = 0; index < 0x20; index++)
|
||||
{
|
||||
sub_8095774(&backup, &gUnknown_203B480[index]);
|
||||
}
|
||||
RestoreIntegerBits(&backup, &gUnknown_203B484->unk0, 0x20);
|
||||
temp = &gUnknown_203B484->unk4;
|
||||
memset(temp, 0, sizeof(struct PokemonStruct));
|
||||
RestoreIntegerBits(&backup, &temp->unk0, 2);
|
||||
RestoreIntegerBits(&backup, &temp->unk2, 1);
|
||||
RestoreIntegerBits(&backup, &temp->unkHasNextStage, 7);
|
||||
xxx_restore_poke_sub_4_8090314(&backup, &temp->unk4);
|
||||
RestoreIntegerBits(&backup, &temp->speciesNum, 9);
|
||||
xxx_restore_poke_sub_c_808F410(&backup, &temp->unkC[0]);
|
||||
xxx_restore_poke_sub_c_808F410(&backup, &temp->unkC[1]);
|
||||
RestoreIntegerBits(&backup, &temp->IQ, 0xA);
|
||||
RestoreIntegerBits(&backup, &temp->pokeHP, 0xA);
|
||||
RestoreIntegerBits(&backup, &temp->offense.att[0], 8);
|
||||
RestoreIntegerBits(&backup, &temp->offense.att[1], 8);
|
||||
RestoreIntegerBits(&backup, &temp->offense.def[0], 8);
|
||||
RestoreIntegerBits(&backup, &temp->offense.def[1], 8);
|
||||
RestoreIntegerBits(&backup, &temp->unk1C, 0x18);
|
||||
RestoreIntegerBits(&backup, &temp->IQSkills, 0x18);
|
||||
RestoreIntegerBits(&backup, &temp->unk24, 4);
|
||||
RestoreHeldItem(&backup, &temp->heldItem);
|
||||
RestorePokemonMoves(&backup, temp->moves);
|
||||
RestoreIntegerBits(&backup, temp->name, 0x50);
|
||||
|
||||
RestoreIntegerBits(&backup, &gUnknown_203B48C->unk0, 0x20);
|
||||
for(index = 0; index < 0x20; index++)
|
||||
{
|
||||
RestoreIntegerBits(&backup, &gUnknown_203B48C->unk4[index], 0x20);
|
||||
}
|
||||
nullsub_102(&backup);
|
||||
return backup.unk8;
|
||||
}
|
||||
|
||||
u32 sub_8095624(u8 *a, u32 b)
|
||||
{
|
||||
struct unkStruct_8094924 backup;
|
||||
struct PokemonStruct *temp;
|
||||
s32 index;
|
||||
|
||||
xxx_init_struct_8094924_save_809486C(&backup, a, b);
|
||||
for(index = 0; index < 0x20; index++)
|
||||
{
|
||||
sub_8095824(&backup, &gUnknown_203B480[index]);
|
||||
}
|
||||
SaveIntegerBits(&backup, &gUnknown_203B484->unk0, 0x20);
|
||||
temp = &gUnknown_203B484->unk4;
|
||||
SaveIntegerBits(&backup, &temp->unk0, 2);
|
||||
SaveIntegerBits(&backup, &temp->unk2, 1);
|
||||
SaveIntegerBits(&backup, &temp->unkHasNextStage, 7);
|
||||
xxx_save_poke_sub_4_80902F4(&backup, &temp->unk4);
|
||||
SaveIntegerBits(&backup, &temp->speciesNum, 9);
|
||||
xxx_save_poke_sub_c_808F41C(&backup, &temp->unkC[0]);
|
||||
xxx_save_poke_sub_c_808F41C(&backup, &temp->unkC[1]);
|
||||
SaveIntegerBits(&backup, &temp->IQ, 0xA);
|
||||
SaveIntegerBits(&backup, &temp->pokeHP, 0xA);
|
||||
SaveIntegerBits(&backup, &temp->offense.att[0], 8);
|
||||
SaveIntegerBits(&backup, &temp->offense.att[1], 8);
|
||||
SaveIntegerBits(&backup, &temp->offense.def[0], 8);
|
||||
SaveIntegerBits(&backup, &temp->offense.def[1], 8);
|
||||
SaveIntegerBits(&backup, &temp->unk1C, 0x18);
|
||||
SaveIntegerBits(&backup, &temp->IQSkills, 0x18);
|
||||
SaveIntegerBits(&backup, &temp->unk24, 4);
|
||||
SaveHeldItem(&backup, &temp->heldItem);
|
||||
SavePokemonMoves(&backup, temp->moves);
|
||||
SaveIntegerBits(&backup, temp->name, 0x50);
|
||||
|
||||
SaveIntegerBits(&backup, &gUnknown_203B48C->unk0, 0x20);
|
||||
for(index = 0; index < 0x20; index++)
|
||||
{
|
||||
SaveIntegerBits(&backup, &gUnknown_203B48C->unk4[index], 0x20);
|
||||
}
|
||||
nullsub_102(&backup);
|
||||
return backup.unk8;
|
||||
}
|
||||
|
||||
void sub_8095774(struct unkStruct_8094924 * a, struct unkStruct_203B480 *b)
|
||||
{
|
||||
u8 temp;
|
||||
|
||||
RestoreIntegerBits(a, &b->unk0, 4);
|
||||
xxx_restore_poke_sub_4_8090314(a, &b->unk4);
|
||||
RestoreIntegerBits(a, &b->unk8, 0x18);
|
||||
RestoreIntegerBits(a, &b->unkC, 0x9);
|
||||
RestoreIntegerBits(a, &b->unk10, 0x20);
|
||||
RestoreIntegerBits(a, &b->unk14, 0x50);
|
||||
RestoreIntegerBits(a, &b->unk20, 0x8);
|
||||
RestoreIntegerBits(a, &b->unk21, 0x8);
|
||||
RestoreIntegerBits(a, &b->unk22, 0x8);
|
||||
RestoreIntegerBits(a, &b->unk24, 0x20);
|
||||
RestoreIntegerBits(a, &b->unk28, 0x20);
|
||||
RestoreIntegerBits(a, &b->unk2C, 0x8);
|
||||
|
||||
RestoreIntegerBits(a, &temp, 1);
|
||||
b->unk2D = temp & 1;
|
||||
}
|
||||
|
||||
void sub_8095824(struct unkStruct_8094924 * a, struct unkStruct_203B480 *b)
|
||||
{
|
||||
u8 neg1;
|
||||
u8 zero;
|
||||
u8 *puVar2;
|
||||
neg1 = -1;
|
||||
zero = 0;
|
||||
|
||||
SaveIntegerBits(a, &b->unk0, 4);
|
||||
xxx_save_poke_sub_4_80902F4(a, &b->unk4);
|
||||
SaveIntegerBits(a, &b->unk8, 0x18);
|
||||
SaveIntegerBits(a, &b->unkC, 0x9);
|
||||
SaveIntegerBits(a, &b->unk10, 0x20);
|
||||
SaveIntegerBits(a, &b->unk14, 0x50);
|
||||
SaveIntegerBits(a, &b->unk20, 0x8);
|
||||
SaveIntegerBits(a, &b->unk21, 0x8);
|
||||
SaveIntegerBits(a, &b->unk22, 0x8);
|
||||
SaveIntegerBits(a, &b->unk24, 0x20);
|
||||
SaveIntegerBits(a, &b->unk28, 0x20);
|
||||
SaveIntegerBits(a, &b->unk2C, 0x8);
|
||||
|
||||
if(b->unk2D != 0)
|
||||
puVar2 = &neg1;
|
||||
else
|
||||
puVar2 = &zero;
|
||||
SaveIntegerBits(a, puVar2, 1);
|
||||
}
|
||||
|
||||
void sub_80958E4(u32 *a, u32 b)
|
||||
{
|
||||
*a = b;
|
||||
}
|
||||
200
src/code_80972F4.c
Normal file
200
src/code_80972F4.c
Normal file
|
|
@ -0,0 +1,200 @@
|
|||
#include "global.h"
|
||||
#include "pokemon.h"
|
||||
#include "wonder_mail.h"
|
||||
|
||||
extern void xxx_save_poke_sub_4_80902F4(struct unkStruct_8094924*, struct unkPokeSubStruct_4*);
|
||||
extern void xxx_restore_poke_sub_4_8090314(struct unkStruct_8094924*, struct unkPokeSubStruct_4*);
|
||||
extern void sub_80015C0(u32, u32);
|
||||
|
||||
struct unkStruct_8097270
|
||||
{
|
||||
u8 unk0;
|
||||
u8 unk1;
|
||||
u8 unk2;
|
||||
struct unkPokeSubStruct_4 unk4;
|
||||
u32 unk8;
|
||||
u16 unkC;
|
||||
u16 unkE;
|
||||
u8 unk10;
|
||||
u8 unk11;
|
||||
u8 unk12;
|
||||
u8 unk13;
|
||||
};
|
||||
|
||||
struct subStruct_203B490
|
||||
{
|
||||
// size: 0xC
|
||||
struct unkPokeSubStruct_4 unk0;
|
||||
u32 unk4;
|
||||
u32 unk8;
|
||||
};
|
||||
|
||||
|
||||
struct unkStruct_203B490
|
||||
{
|
||||
// size: 0x330?
|
||||
|
||||
struct unkStruct_8097270 unk0[4];
|
||||
struct unkStruct_8097270 unk50[8];
|
||||
struct unkStruct_8097270 unkF0[8];
|
||||
u8 unk190[0x28];
|
||||
u8 unk1B8[0x78];
|
||||
struct subStruct_203B490 unk230[16];
|
||||
u8 unk2F0[0x38];
|
||||
u8 unk328;
|
||||
};
|
||||
extern struct unkStruct_203B490 *gUnknown_203B490;
|
||||
|
||||
void sub_8097270(struct unkStruct_8094924 *a, struct unkStruct_8097270 *b);
|
||||
void sub_80971EC(struct unkStruct_8094924 *a, struct unkStruct_8097270 *b);
|
||||
extern s32 sub_8096EB0(void);
|
||||
|
||||
bool8 sub_8096F50(struct WonderMail *r0)
|
||||
{
|
||||
s32 index;
|
||||
s32 temp2;
|
||||
struct subStruct_203B490 *temp;
|
||||
|
||||
temp2 = sub_8096EB0();
|
||||
|
||||
|
||||
for(index = 0; index < 0x10; index++)
|
||||
{
|
||||
temp = &gUnknown_203B490->unk230[index];
|
||||
if(temp->unk0.unk4 == r0->dungeon)
|
||||
if(temp->unk0.unk5 == r0->floor)
|
||||
if(temp->unk4 == r0->unk8)
|
||||
if(temp->unk8 == temp2)
|
||||
return TRUE;
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
u32 sub_8096FA0(u8 *r0, u32 size)
|
||||
{
|
||||
s32 index;
|
||||
struct unkStruct_8094924 backup;
|
||||
u32 temp;
|
||||
|
||||
xxx_init_struct_8094924_restore_809485C(&backup, r0, size);
|
||||
for(index = 0; index < 4; index++)
|
||||
{
|
||||
sub_80971EC(&backup, &gUnknown_203B490->unk0[index]);
|
||||
}
|
||||
for(index = 0; index < 8; index++)
|
||||
{
|
||||
sub_80971EC(&backup, &gUnknown_203B490->unk50[index]);
|
||||
}
|
||||
for(index = 0; index < 8; index++)
|
||||
{
|
||||
sub_80971EC(&backup, &gUnknown_203B490->unkF0[index]);
|
||||
}
|
||||
for(index = 0; index < 0x38; index++)
|
||||
{
|
||||
RestoreIntegerBits(&backup, &temp, 1);
|
||||
if(temp & 1)
|
||||
gUnknown_203B490->unk2F0[index] = 1;
|
||||
else
|
||||
gUnknown_203B490->unk2F0[index] = 0;
|
||||
}
|
||||
RestoreIntegerBits(&backup, &temp, 1);
|
||||
if(temp & 1)
|
||||
gUnknown_203B490->unk328 = 1;
|
||||
else
|
||||
gUnknown_203B490->unk328 = 0;
|
||||
|
||||
RestoreIntegerBits(&backup, gUnknown_203B490->unk190, 0x140);
|
||||
RestoreIntegerBits(&backup, gUnknown_203B490->unk1B8, 0x3C0);
|
||||
for(index = 0; index < 0x10; index++)
|
||||
{
|
||||
RestoreIntegerBits(&backup, &gUnknown_203B490->unk230[index].unk8, 0x20);
|
||||
RestoreIntegerBits(&backup, &gUnknown_203B490->unk230[index].unk4, 0x18);
|
||||
xxx_restore_poke_sub_4_8090314(&backup, &gUnknown_203B490->unk230[index].unk0);
|
||||
}
|
||||
nullsub_102(&backup);
|
||||
return backup.unk8;
|
||||
}
|
||||
|
||||
u32 sub_80970D8(u8 *r0, u32 size)
|
||||
{
|
||||
s32 index;
|
||||
struct unkStruct_8094924 backup;
|
||||
u32 temp;
|
||||
|
||||
xxx_init_struct_8094924_save_809486C(&backup, r0, size);
|
||||
for(index = 0; index < 4; index++)
|
||||
{
|
||||
sub_8097270(&backup, &gUnknown_203B490->unk0[index]);
|
||||
}
|
||||
for(index = 0; index < 8; index++)
|
||||
{
|
||||
sub_8097270(&backup, &gUnknown_203B490->unk50[index]);
|
||||
}
|
||||
for(index = 0; index < 8; index++)
|
||||
{
|
||||
sub_8097270(&backup, &gUnknown_203B490->unkF0[index]);
|
||||
}
|
||||
for(index = 0; index < 0x38; index++)
|
||||
{
|
||||
if(gUnknown_203B490->unk2F0[index] != 0)
|
||||
temp = -1;
|
||||
else
|
||||
temp = 0;
|
||||
SaveIntegerBits(&backup, &temp, 1);
|
||||
}
|
||||
if(gUnknown_203B490->unk328 != 0)
|
||||
temp = -1;
|
||||
else
|
||||
temp = 0;
|
||||
SaveIntegerBits(&backup, &temp, 1);
|
||||
SaveIntegerBits(&backup, gUnknown_203B490->unk190, 0x140);
|
||||
SaveIntegerBits(&backup, gUnknown_203B490->unk1B8, 0x3C0);
|
||||
for(index = 0; index < 0x10; index++)
|
||||
{
|
||||
SaveIntegerBits(&backup, &gUnknown_203B490->unk230[index].unk8, 0x20);
|
||||
SaveIntegerBits(&backup, &gUnknown_203B490->unk230[index].unk4, 0x18);
|
||||
xxx_save_poke_sub_4_80902F4(&backup, &gUnknown_203B490->unk230[index].unk0);
|
||||
}
|
||||
nullsub_102(&backup);
|
||||
return backup.unk8;
|
||||
}
|
||||
|
||||
void sub_80971EC(struct unkStruct_8094924 *a, struct unkStruct_8097270 *b)
|
||||
{
|
||||
RestoreIntegerBits(a, &b->unk0, 4);
|
||||
RestoreIntegerBits(a, &b->unk1, 3);
|
||||
RestoreIntegerBits(a, &b->unk2, 4);
|
||||
RestoreIntegerBits(a, &b->unkC, 9);
|
||||
RestoreIntegerBits(a, &b->unkE, 9);
|
||||
RestoreIntegerBits(a, &b->unk10, 8);
|
||||
RestoreIntegerBits(a, &b->unk11, 4);
|
||||
RestoreIntegerBits(a, &b->unk12, 8);
|
||||
RestoreIntegerBits(a, &b->unk13, 6);
|
||||
RestoreIntegerBits(a, &b->unk8, 0x18);
|
||||
xxx_restore_poke_sub_4_8090314(a, &b->unk4);
|
||||
}
|
||||
|
||||
void sub_8097270(struct unkStruct_8094924 *a, struct unkStruct_8097270 *b)
|
||||
{
|
||||
SaveIntegerBits(a, &b->unk0, 4);
|
||||
SaveIntegerBits(a, &b->unk1, 3);
|
||||
SaveIntegerBits(a, &b->unk2, 4);
|
||||
SaveIntegerBits(a, &b->unkC, 9);
|
||||
SaveIntegerBits(a, &b->unkE, 9);
|
||||
SaveIntegerBits(a, &b->unk10, 8);
|
||||
SaveIntegerBits(a, &b->unk11, 4);
|
||||
SaveIntegerBits(a, &b->unk12, 8);
|
||||
SaveIntegerBits(a, &b->unk13, 6);
|
||||
SaveIntegerBits(a, &b->unk8, 0x18);
|
||||
xxx_save_poke_sub_4_80902F4(a, &b->unk4);
|
||||
}
|
||||
|
||||
void sub_80972F4(void)
|
||||
{
|
||||
sub_80015C0(0, 0x2B);
|
||||
sub_80015C0(0, 0x2C);
|
||||
sub_80015C0(0, 0x2D);
|
||||
}
|
||||
|
||||
void nullsub_128(void)
|
||||
{}
|
||||
|
|
@ -8,6 +8,7 @@
|
|||
#include "friend_rescue.h"
|
||||
#include "sub_8095228.h"
|
||||
#include "item.h"
|
||||
#include "code_8094F88.h"
|
||||
|
||||
extern struct TeamInventory *gTeamInventory_203B460;
|
||||
extern u8 *gUnknown_203B484;
|
||||
|
|
@ -488,7 +489,7 @@ void sub_8033DBC(void)
|
|||
sub_80951FC(&temp.unk0);
|
||||
temp2 = sub_8095228(sub_809539C(1, temp.unk10));
|
||||
temp2->unk0 = 7;
|
||||
MemoryFill8((u8 *)gUnknown_203B484, 0, 0x5C);
|
||||
MemoryFill8((u8 *)gUnknown_203B484, 0, sizeof(struct unkStruct_203B484));
|
||||
SetFriendRescueMenuState(0x40);
|
||||
break;
|
||||
case 24:
|
||||
|
|
|
|||
|
|
@ -9,17 +9,10 @@
|
|||
#include "pokemon.h"
|
||||
#include "save.h"
|
||||
#include "code_800D090.h"
|
||||
#include "code_8094F88.h"
|
||||
|
||||
extern const struct FileArchive gTitleMenuFileArchive;
|
||||
|
||||
struct unkStruct_203B484
|
||||
{
|
||||
u8 fill0[0xC];
|
||||
/* 0xC */ s16 speciesIndex;
|
||||
u8 fillE[0x50 - 0xE];
|
||||
/* 0x50 */ u8 helperName[10];
|
||||
};
|
||||
|
||||
struct LoadScreen
|
||||
{
|
||||
// size: 0x27c
|
||||
|
|
@ -373,9 +366,9 @@ void DrawLoadScreenText(void)
|
|||
if (iVar2 == 0xf1207){
|
||||
// NOTE: very hacky match here but needed var here to match
|
||||
temp2 = gUnknown_203B484;
|
||||
if(temp2->speciesIndex != SPECIES_NONE) {
|
||||
sub_808D930(speciesHelper,temp2->speciesIndex);
|
||||
sub_80922B4(nameHelper,temp2->helperName,POKEMON_NAME_LENGTH);
|
||||
if(temp2->unk4.speciesNum != SPECIES_NONE) {
|
||||
sub_808D930(speciesHelper,temp2->unk4.speciesNum);
|
||||
sub_80922B4(nameHelper,temp2->unk4.name,POKEMON_NAME_LENGTH);
|
||||
sprintf_2(gLoadScreen->formattedHelperInfo,gHelperInfoPlaceholder,nameHelper,speciesHelper); // %s (%s)
|
||||
}
|
||||
else
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user