mirror of
https://github.com/pret/pokediamond.git
synced 2026-03-21 17:54:29 -05:00
370 lines
6.9 KiB
ArmAsm
370 lines
6.9 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "global.inc"
|
|
|
|
.section .rodata
|
|
|
|
.global UNK_020EEB38
|
|
UNK_020EEB38: ; 0x020EEB38
|
|
.word 0x00000000, sub_0202DA80, 0x00000000
|
|
.word 0x00000000, sub_0202DA80, 0x00000000
|
|
.word sub_0203129C, sub_0202DA80, 0x00000000
|
|
.word sub_0202DD80, sub_0202DCDC, 0x00000000
|
|
.word sub_0202DD08, sub_0202DCDC, 0x00000000
|
|
.word sub_0202DCE0, sub_0202DA80, 0x00000000
|
|
.word sub_02032A8C, sub_02032B68, 0x00000000
|
|
.word sub_02032AEC, sub_02032B68, 0x00000000
|
|
.word 0x00000000, 0x00000000, 0x00000000
|
|
.word 0x00000000, 0x00000000, 0x00000000
|
|
.word sub_0203110C, sub_0202DA84, 0x00000000
|
|
.word sub_02031134, sub_0202DA84, 0x00000000
|
|
.word sub_0203115C, sub_0202DA84, 0x00000000
|
|
.word sub_0202DA8C, sub_0202DA80, 0x00000000
|
|
.word sub_0202DAD0, sub_0202DA80, 0x00000000
|
|
.word sub_0202DAF8, sub_0202DA80, 0x00000000
|
|
.word sub_020314FC, sub_0202DA84, 0x00000000
|
|
.word sub_02031574, sub_0202DA84, 0x00000000
|
|
.word sub_02031560, sub_0202DA88, 0x00000000
|
|
.word sub_0203160C, sub_02031628, 0x00000000
|
|
.word sub_02031704, sub_02031730, 0x00000000
|
|
.word sub_020330E4, sub_0202DA80, 0x00000000
|
|
|
|
.section .bss
|
|
|
|
.global UNK_021C59E0
|
|
UNK_021C59E0: ; 0x021C59E0
|
|
.space 0x4
|
|
|
|
.text
|
|
|
|
thumb_func_start sub_0202D8D0
|
|
sub_0202D8D0: ; 0x0202D8D0
|
|
push {r4-r6, lr}
|
|
add r5, r0, #0x0
|
|
ldr r0, _0202D914 ; =UNK_021C59E0
|
|
add r4, r1, #0x0
|
|
ldr r0, [r0, #0x0]
|
|
add r6, r2, #0x0
|
|
cmp r0, #0x0
|
|
bne _0202D8EC
|
|
mov r0, #0xf
|
|
mov r1, #0x18
|
|
bl Heap_Alloc
|
|
ldr r1, _0202D914 ; =UNK_021C59E0
|
|
str r0, [r1, #0x0]
|
|
_0202D8EC:
|
|
ldr r0, _0202D914 ; =UNK_021C59E0
|
|
mov r3, #0x0
|
|
ldr r1, [r0, #0x0]
|
|
add r2, r3, #0x0
|
|
str r5, [r1, #0x0]
|
|
ldr r1, [r0, #0x0]
|
|
str r4, [r1, #0x4]
|
|
ldr r1, [r0, #0x0]
|
|
str r6, [r1, #0x8]
|
|
_0202D8FE:
|
|
ldr r1, [r0, #0x0]
|
|
add r1, r1, r3
|
|
add r3, r3, #0x1
|
|
strb r2, [r1, #0xc]
|
|
cmp r3, #0x8
|
|
blt _0202D8FE
|
|
ldr r0, _0202D914 ; =UNK_021C59E0
|
|
ldr r0, [r0, #0x0]
|
|
strb r2, [r0, #0x14]
|
|
pop {r4-r6, pc}
|
|
nop
|
|
_0202D914: .word UNK_021C59E0
|
|
|
|
thumb_func_start sub_0202D918
|
|
sub_0202D918: ; 0x0202D918
|
|
push {r3, lr}
|
|
ldr r0, _0202D930 ; =UNK_021C59E0
|
|
ldr r0, [r0, #0x0]
|
|
cmp r0, #0x0
|
|
beq _0202D92C
|
|
bl Heap_Free
|
|
ldr r0, _0202D930 ; =UNK_021C59E0
|
|
mov r1, #0x0
|
|
str r1, [r0, #0x0]
|
|
_0202D92C:
|
|
pop {r3, pc}
|
|
nop
|
|
_0202D930: .word UNK_021C59E0
|
|
|
|
thumb_func_start sub_0202D934
|
|
sub_0202D934: ; 0x0202D934
|
|
push {r3-r7, lr}
|
|
add r4, r1, #0x0
|
|
add r5, r0, #0x0
|
|
add r6, r2, #0x0
|
|
add r7, r3, #0x0
|
|
cmp r4, #0x16
|
|
bge _0202D94C
|
|
mov r0, #0xc
|
|
mul r1, r0
|
|
ldr r0, _0202D998 ; =UNK_020EEB38
|
|
ldr r4, [r0, r1]
|
|
b _0202D974
|
|
_0202D94C:
|
|
ldr r0, _0202D99C ; =UNK_021C59E0
|
|
ldr r0, [r0, #0x0]
|
|
cmp r0, #0x0
|
|
bne _0202D958
|
|
bl GF_AssertFail
|
|
_0202D958:
|
|
ldr r0, _0202D99C ; =UNK_021C59E0
|
|
ldr r1, [r0, #0x0]
|
|
ldr r0, [r1, #0x4]
|
|
add r0, #0x16
|
|
cmp r4, r0
|
|
ble _0202D96A
|
|
bl sub_02031454
|
|
pop {r3-r7, pc}
|
|
_0202D96A:
|
|
ldr r1, [r1, #0x0]
|
|
sub r4, #0x16
|
|
mov r0, #0xc
|
|
mul r0, r4
|
|
ldr r4, [r1, r0]
|
|
_0202D974:
|
|
cmp r4, #0x0
|
|
beq _0202D996
|
|
ldr r0, _0202D99C ; =UNK_021C59E0
|
|
ldr r3, [r0, #0x0]
|
|
cmp r3, #0x0
|
|
beq _0202D98C
|
|
ldr r3, [r3, #0x8]
|
|
add r0, r5, #0x0
|
|
add r1, r6, #0x0
|
|
add r2, r7, #0x0
|
|
blx r4
|
|
pop {r3-r7, pc}
|
|
_0202D98C:
|
|
add r0, r5, #0x0
|
|
add r1, r6, #0x0
|
|
add r2, r7, #0x0
|
|
mov r3, #0x0
|
|
blx r4
|
|
_0202D996:
|
|
pop {r3-r7, pc}
|
|
.balign 4
|
|
_0202D998: .word UNK_020EEB38
|
|
_0202D99C: .word UNK_021C59E0
|
|
|
|
thumb_func_start sub_0202D9A0
|
|
sub_0202D9A0: ; 0x0202D9A0
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
mov r4, #0x0
|
|
cmp r5, #0x16
|
|
bge _0202D9B6
|
|
mov r0, #0xc
|
|
add r1, r5, #0x0
|
|
mul r1, r0
|
|
ldr r0, _0202D9FC ; =UNK_020EEB38 + 4
|
|
ldr r0, [r0, r1]
|
|
b _0202D9EE
|
|
_0202D9B6:
|
|
ldr r0, _0202DA00 ; =UNK_021C59E0
|
|
ldr r0, [r0, #0x0]
|
|
cmp r0, #0x0
|
|
bne _0202D9C2
|
|
bl GF_AssertFail
|
|
_0202D9C2:
|
|
ldr r0, _0202DA00 ; =UNK_021C59E0
|
|
ldr r1, [r0, #0x0]
|
|
cmp r1, #0x0
|
|
bne _0202D9D2
|
|
bl sub_02031454
|
|
mov r0, #0x0
|
|
pop {r3-r5, pc}
|
|
_0202D9D2:
|
|
ldr r0, [r1, #0x4]
|
|
add r0, #0x16
|
|
cmp r5, r0
|
|
ble _0202D9E2
|
|
bl sub_02031454
|
|
mov r0, #0x0
|
|
pop {r3-r5, pc}
|
|
_0202D9E2:
|
|
ldr r1, [r1, #0x0]
|
|
sub r5, #0x16
|
|
mov r0, #0xc
|
|
mul r0, r5
|
|
add r0, r1, r0
|
|
ldr r0, [r0, #0x4]
|
|
_0202D9EE:
|
|
cmp r0, #0x0
|
|
beq _0202D9F6
|
|
blx r0
|
|
add r4, r0, #0x0
|
|
_0202D9F6:
|
|
add r0, r4, #0x0
|
|
pop {r3-r5, pc}
|
|
nop
|
|
_0202D9FC: .word UNK_020EEB38 + 4
|
|
_0202DA00: .word UNK_021C59E0
|
|
|
|
thumb_func_start sub_0202DA04
|
|
sub_0202DA04: ; 0x0202DA04
|
|
cmp r0, #0x16
|
|
bge _0202DA1C
|
|
mov r1, #0xc
|
|
mul r1, r0
|
|
ldr r0, _0202DA38 ; =UNK_020EEB38 + 8
|
|
ldr r0, [r0, r1]
|
|
cmp r0, #0x0
|
|
beq _0202DA18
|
|
mov r0, #0x1
|
|
bx lr
|
|
_0202DA18:
|
|
mov r0, #0x0
|
|
bx lr
|
|
_0202DA1C:
|
|
ldr r1, _0202DA3C ; =UNK_021C59E0
|
|
sub r0, #0x16
|
|
ldr r1, [r1, #0x0]
|
|
ldr r2, [r1, #0x0]
|
|
mov r1, #0xc
|
|
mul r1, r0
|
|
add r0, r2, r1
|
|
ldr r0, [r0, #0x8]
|
|
cmp r0, #0x0
|
|
beq _0202DA34
|
|
mov r0, #0x1
|
|
bx lr
|
|
_0202DA34:
|
|
mov r0, #0x0
|
|
bx lr
|
|
.balign 4
|
|
_0202DA38: .word UNK_020EEB38 + 8
|
|
_0202DA3C: .word UNK_021C59E0
|
|
|
|
thumb_func_start sub_0202DA40
|
|
sub_0202DA40: ; 0x0202DA40
|
|
push {r3-r5, lr}
|
|
add r3, r0, #0x0
|
|
cmp r3, #0x16
|
|
bge _0202DA58
|
|
mov r4, #0xc
|
|
mul r4, r3
|
|
ldr r3, _0202DA70 ; =UNK_020EEB38 + 8
|
|
add r0, r1, #0x0
|
|
ldr r3, [r3, r4]
|
|
mov r1, #0x0
|
|
blx r3
|
|
pop {r3-r5, pc}
|
|
_0202DA58:
|
|
ldr r0, _0202DA74 ; =UNK_021C59E0
|
|
sub r3, #0x16
|
|
ldr r4, [r0, #0x0]
|
|
add r0, r1, #0x0
|
|
ldr r1, [r4, #0x8]
|
|
ldr r5, [r4, #0x0]
|
|
mov r4, #0xc
|
|
mul r4, r3
|
|
add r3, r5, r4
|
|
ldr r3, [r3, #0x8]
|
|
blx r3
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_0202DA70: .word UNK_020EEB38 + 8
|
|
_0202DA74: .word UNK_021C59E0
|
|
|
|
thumb_func_start sub_0202DA78
|
|
sub_0202DA78: ; 0x0202DA78
|
|
ldr r0, _0202DA7C ; =0x0000FFFF
|
|
bx lr
|
|
.balign 4
|
|
_0202DA7C: .word 0x0000FFFF
|
|
|
|
thumb_func_start sub_0202DA80
|
|
sub_0202DA80: ; 0x0202DA80
|
|
mov r0, #0x0
|
|
bx lr
|
|
|
|
thumb_func_start sub_0202DA84
|
|
sub_0202DA84: ; 0x0202DA84
|
|
mov r0, #0x1
|
|
bx lr
|
|
|
|
thumb_func_start sub_0202DA88
|
|
sub_0202DA88: ; 0x0202DA88
|
|
mov r0, #0x2
|
|
bx lr
|
|
|
|
thumb_func_start sub_0202DA8C
|
|
sub_0202DA8C: ; 0x0202DA8C
|
|
push {r3-r5, lr}
|
|
add r5, r0, #0x0
|
|
bl sub_02031190
|
|
cmp r0, #0x0
|
|
bne _0202DACA
|
|
ldr r4, _0202DACC ; =UNK_021C59E0
|
|
mov r1, #0x1
|
|
ldr r0, [r4, #0x0]
|
|
add r0, r0, r5
|
|
strb r1, [r0, #0xc]
|
|
mov r5, #0x0
|
|
_0202DAA4:
|
|
lsl r0, r5, #0x10
|
|
lsr r0, r0, #0x10
|
|
bl sub_02030E7C
|
|
cmp r0, #0x0
|
|
beq _0202DABA
|
|
ldr r0, [r4, #0x0]
|
|
add r0, r0, r5
|
|
ldrb r0, [r0, #0xc]
|
|
cmp r0, #0x0
|
|
beq _0202DACA
|
|
_0202DABA:
|
|
add r5, r5, #0x1
|
|
cmp r5, #0x8
|
|
blt _0202DAA4
|
|
mov r1, #0x0
|
|
mov r0, #0xe
|
|
add r2, r1, #0x0
|
|
bl sub_02030BC4
|
|
_0202DACA:
|
|
pop {r3-r5, pc}
|
|
.balign 4
|
|
_0202DACC: .word UNK_021C59E0
|
|
|
|
thumb_func_start sub_0202DAD0
|
|
sub_0202DAD0: ; 0x0202DAD0
|
|
ldr r0, _0202DAF0 ; =UNK_021C59E0
|
|
mov r3, #0x0
|
|
ldr r1, [r0, #0x0]
|
|
str r3, [r1, #0x0]
|
|
ldr r1, [r0, #0x0]
|
|
str r3, [r1, #0x4]
|
|
ldr r1, [r0, #0x0]
|
|
str r3, [r1, #0x8]
|
|
ldr r0, [r0, #0x0]
|
|
mov r1, #0x1
|
|
strb r1, [r0, #0x14]
|
|
ldr r3, _0202DAF4 ; =sub_020311D0
|
|
mov r0, #0xf
|
|
add r1, r2, #0x0
|
|
bx r3
|
|
nop
|
|
_0202DAF0: .word UNK_021C59E0
|
|
_0202DAF4: .word sub_020311D0
|
|
|
|
thumb_func_start sub_0202DAF8
|
|
sub_0202DAF8: ; 0x0202DAF8
|
|
push {r4, lr}
|
|
add r4, r0, #0x0
|
|
bl sub_02031190
|
|
cmp r0, #0x0
|
|
bne _0202DB0E
|
|
ldr r0, _0202DB10 ; =UNK_021C59E0
|
|
mov r1, #0x0
|
|
ldr r0, [r0, #0x0]
|
|
add r0, r0, r4
|
|
strb r1, [r0, #0xc]
|
|
_0202DB0E:
|
|
pop {r4, pc}
|
|
.balign 4
|
|
_0202DB10: .word UNK_021C59E0
|