mirror of
https://github.com/pret/pokediamond.git
synced 2026-09-27 02:46:37 -05:00
Merge branch 'master' of github.com:pret/pokediamond into pikalax_work
This commit is contained in:
@@ -941,7 +941,11 @@ Overlay MODULE_63
|
||||
{
|
||||
### Title Demo ###
|
||||
After arm9
|
||||
Object module_63.o
|
||||
Object mod63_021D74E0.o
|
||||
Object mod63_021D8890.o
|
||||
Object mod63_021DA640.o
|
||||
Object mod63_021DAE5C.o
|
||||
Object mod63_021DB450.o
|
||||
}
|
||||
|
||||
Overlay MODULE_64
|
||||
|
||||
@@ -7389,6 +7389,36 @@
|
||||
.extern MOD62_02230F70
|
||||
.extern MOD62_02230F80
|
||||
.extern MOD62_022310CC
|
||||
.extern MOD63_021D74E0
|
||||
.extern MOD63_021D759C
|
||||
.extern MOD63_021D77B4
|
||||
.extern MOD63_021DA6E0
|
||||
.extern MOD63_021DA6E8
|
||||
.extern MOD63_021DAA04
|
||||
.extern MOD63_021DAA5C
|
||||
.extern MOD63_021DABCC
|
||||
.extern MOD63_021DAC18
|
||||
.extern MOD63_021DAC24
|
||||
.extern MOD63_021DAC6C
|
||||
.extern MOD63_021DAC80
|
||||
.extern MOD63_021DACA0
|
||||
.extern MOD63_021DACC0
|
||||
.extern MOD63_021DAD18
|
||||
.extern MOD63_021DAD6C
|
||||
.extern MOD63_021DAEF8
|
||||
.extern MOD63_021DAF20
|
||||
.extern MOD63_021DAF4C
|
||||
.extern MOD63_021DAF80
|
||||
.extern MOD63_021DAF9C
|
||||
.extern MOD63_021DB1AC
|
||||
.extern MOD63_021DB38C
|
||||
.extern MOD63_021DB498
|
||||
.extern MOD63_021DB49C
|
||||
.extern MOD63_021DB580
|
||||
.extern MOD63_021DB598
|
||||
.extern MOD63_021DB5A8
|
||||
.extern MOD63_021DB5CC
|
||||
.extern MOD63_021DBE18
|
||||
.extern MOD64_021D74E0
|
||||
.extern MOD64_021D7640
|
||||
.extern MOD64_021D76F4
|
||||
|
||||
2534
arm9/modules/63/asm/mod63_021D74E0.s
Normal file
2534
arm9/modules/63/asm/mod63_021D74E0.s
Normal file
File diff suppressed because it is too large
Load Diff
3831
arm9/modules/63/asm/mod63_021D8890.s
Normal file
3831
arm9/modules/63/asm/mod63_021D8890.s
Normal file
File diff suppressed because it is too large
Load Diff
1086
arm9/modules/63/asm/mod63_021DA640.s
Normal file
1086
arm9/modules/63/asm/mod63_021DA640.s
Normal file
File diff suppressed because it is too large
Load Diff
794
arm9/modules/63/asm/mod63_021DAE5C.s
Normal file
794
arm9/modules/63/asm/mod63_021DAE5C.s
Normal file
@@ -0,0 +1,794 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
.section .text
|
||||
.balign 4, 0
|
||||
|
||||
thumb_func_start MOD63_021DAE5C
|
||||
MOD63_021DAE5C: ; 0x021DAE5C
|
||||
push {r4, lr}
|
||||
sub sp, #0x10
|
||||
ldr r4, _021DAE88 ; =MOD63_021DBEAC
|
||||
add r3, sp, #0
|
||||
add r2, r3, #0
|
||||
ldmia r4!, {r0, r1}
|
||||
stmia r3!, {r0, r1}
|
||||
ldmia r4!, {r0, r1}
|
||||
stmia r3!, {r0, r1}
|
||||
add r0, r2, #0
|
||||
bl FUN_0201D040
|
||||
mov r0, #1
|
||||
mov r1, #0x4c
|
||||
bl FUN_0201E00C
|
||||
bl FUN_0201D168
|
||||
bl FUN_0201E0BC
|
||||
add sp, #0x10
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_021DAE88: .word MOD63_021DBEAC
|
||||
thumb_func_end MOD63_021DAE5C
|
||||
|
||||
thumb_func_start MOD63_021DAE8C
|
||||
MOD63_021DAE8C: ; 0x021DAE8C
|
||||
push {r3, r4, r5, r6, lr}
|
||||
sub sp, #0x2c
|
||||
add r4, r1, #0
|
||||
mov r1, #0
|
||||
add r5, r0, #0
|
||||
str r1, [sp]
|
||||
sub r0, r1, #1
|
||||
str r0, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
add r6, r2, #0
|
||||
str r1, [sp, #0xc]
|
||||
mov r2, #0x4b
|
||||
str r1, [sp, #0x10]
|
||||
lsl r2, r2, #2
|
||||
ldr r0, [r5, r2]
|
||||
add r3, r1, #0
|
||||
str r0, [sp, #0x14]
|
||||
add r0, r2, #4
|
||||
ldr r0, [r5, r0]
|
||||
str r0, [sp, #0x18]
|
||||
add r0, r2, #0
|
||||
add r0, #8
|
||||
ldr r0, [r5, r0]
|
||||
add r2, #0xc
|
||||
str r0, [sp, #0x1c]
|
||||
ldr r0, [r5, r2]
|
||||
add r2, r1, #0
|
||||
str r0, [sp, #0x20]
|
||||
str r1, [sp, #0x24]
|
||||
str r1, [sp, #0x28]
|
||||
add r0, r6, #0
|
||||
bl FUN_02008AA4
|
||||
ldr r0, [r5]
|
||||
mov r1, #0
|
||||
str r0, [r4]
|
||||
str r6, [r4, #4]
|
||||
str r1, [r4, #8]
|
||||
str r1, [r4, #0xc]
|
||||
mov r0, #1
|
||||
str r1, [r4, #0x10]
|
||||
lsl r0, r0, #0xc
|
||||
str r0, [r4, #0x14]
|
||||
str r0, [r4, #0x18]
|
||||
str r0, [r4, #0x1c]
|
||||
strh r1, [r4, #0x20]
|
||||
mov r0, #1
|
||||
str r0, [r4, #0x24]
|
||||
str r0, [r4, #0x28]
|
||||
mov r0, #0x4c
|
||||
str r0, [r4, #0x2c]
|
||||
add sp, #0x2c
|
||||
pop {r3, r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
thumb_func_end MOD63_021DAE8C
|
||||
|
||||
thumb_func_start MOD63_021DAEF8
|
||||
MOD63_021DAEF8: ; 0x021DAEF8
|
||||
push {r4, lr}
|
||||
mov r1, #0x7d
|
||||
mov r0, #0x4c
|
||||
lsl r1, r1, #2
|
||||
bl AllocFromHeap
|
||||
mov r2, #0x7d
|
||||
add r4, r0, #0
|
||||
mov r1, #0
|
||||
lsl r2, r2, #2
|
||||
bl memset
|
||||
add r0, r4, #0
|
||||
bl MOD63_021DAFEC
|
||||
add r0, r4, #0
|
||||
bl MOD63_021DB150
|
||||
add r0, r4, #0
|
||||
pop {r4, pc}
|
||||
thumb_func_end MOD63_021DAEF8
|
||||
|
||||
thumb_func_start MOD63_021DAF20
|
||||
MOD63_021DAF20: ; 0x021DAF20
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
mov r0, #0x4c
|
||||
mov r1, #8
|
||||
bl AllocFromHeap
|
||||
add r4, r0, #0
|
||||
mov r0, #0xc
|
||||
add r6, r5, #0
|
||||
mul r6, r0
|
||||
mov r0, #0x4c
|
||||
add r1, r6, #0
|
||||
bl AllocFromHeap
|
||||
mov r1, #0
|
||||
add r2, r6, #0
|
||||
str r0, [r4, #4]
|
||||
bl memset
|
||||
str r5, [r4]
|
||||
add r0, r4, #0
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end MOD63_021DAF20
|
||||
|
||||
thumb_func_start MOD63_021DAF4C
|
||||
MOD63_021DAF4C: ; 0x021DAF4C
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5]
|
||||
mov r6, #0
|
||||
cmp r0, #0
|
||||
ble _021DAF72
|
||||
add r4, r6, #0
|
||||
_021DAF5A:
|
||||
ldr r0, [r5, #4]
|
||||
add r0, r0, r4
|
||||
ldr r0, [r0, #8]
|
||||
cmp r0, #0
|
||||
beq _021DAF68
|
||||
bl FUN_0200CAB4
|
||||
_021DAF68:
|
||||
ldr r0, [r5]
|
||||
add r6, r6, #1
|
||||
add r4, #0xc
|
||||
cmp r6, r0
|
||||
blt _021DAF5A
|
||||
_021DAF72:
|
||||
ldr r0, [r5, #4]
|
||||
bl FreeToHeap
|
||||
add r0, r5, #0
|
||||
bl FreeToHeap
|
||||
pop {r4, r5, r6, pc}
|
||||
thumb_func_end MOD63_021DAF4C
|
||||
|
||||
thumb_func_start MOD63_021DAF80
|
||||
MOD63_021DAF80: ; 0x021DAF80
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
ldr r0, [r5]
|
||||
add r4, r1, #0
|
||||
cmp r4, r0
|
||||
blt _021DAF90
|
||||
bl ErrorHandling
|
||||
_021DAF90:
|
||||
mov r0, #0xc
|
||||
ldr r1, [r5, #4]
|
||||
mul r0, r4
|
||||
add r0, r1, r0
|
||||
add r0, r0, #4
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end MOD63_021DAF80
|
||||
|
||||
thumb_func_start MOD63_021DAF9C
|
||||
MOD63_021DAF9C: ; 0x021DAF9C
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
add r5, r0, #0
|
||||
bl MOD63_021DB108
|
||||
mov r6, #0x73
|
||||
mov r4, #0
|
||||
lsl r6, r6, #2
|
||||
_021DAFAA:
|
||||
lsl r0, r4, #4
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, r6]
|
||||
cmp r0, #0
|
||||
beq _021DAFB8
|
||||
bl FUN_0200CAB4
|
||||
_021DAFB8:
|
||||
add r0, r4, #1
|
||||
lsl r0, r0, #0x18
|
||||
lsr r4, r0, #0x18
|
||||
cmp r4, #3
|
||||
blo _021DAFAA
|
||||
mov r6, #0x55
|
||||
mov r4, #0
|
||||
mov r7, #0xc
|
||||
lsl r6, r6, #2
|
||||
_021DAFCA:
|
||||
add r0, r4, #0
|
||||
mul r0, r7
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, r6]
|
||||
cmp r0, #0
|
||||
beq _021DAFDA
|
||||
bl FUN_0200CAB4
|
||||
_021DAFDA:
|
||||
add r0, r4, #1
|
||||
lsl r0, r0, #0x18
|
||||
lsr r4, r0, #0x18
|
||||
cmp r4, #0xa
|
||||
blo _021DAFCA
|
||||
add r0, r5, #0
|
||||
bl FreeToHeap
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
thumb_func_end MOD63_021DAF9C
|
||||
|
||||
thumb_func_start MOD63_021DAFEC
|
||||
MOD63_021DAFEC: ; 0x021DAFEC
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x14
|
||||
mov r2, #1
|
||||
lsl r2, r2, #0x1a
|
||||
ldr r1, [r2]
|
||||
add r7, r0, #0
|
||||
add r3, r1, #0
|
||||
ldr r0, _021DB0FC ; =0xFFCFFFEF
|
||||
mov r1, #0x10
|
||||
and r3, r0
|
||||
orr r3, r1
|
||||
str r3, [r2]
|
||||
ldr r3, _021DB100 ; =0x04001000
|
||||
ldr r2, [r3]
|
||||
and r0, r2
|
||||
orr r0, r1
|
||||
str r0, [r3]
|
||||
bl MOD63_021DAE5C
|
||||
bl FUN_020B0FC0
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
mov r1, #0x80
|
||||
str r1, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
mov r3, #0x20
|
||||
str r3, [sp, #0xc]
|
||||
mov r2, #0x4c
|
||||
str r2, [sp, #0x10]
|
||||
add r2, r0, #0
|
||||
bl FUN_02009EAC
|
||||
mov r0, #0xa
|
||||
add r1, r7, #4
|
||||
mov r2, #0x4c
|
||||
bl FUN_02008C9C
|
||||
ldr r4, _021DB104 ; =MOD63_021DBEBC
|
||||
str r0, [r7]
|
||||
mov r6, #0
|
||||
add r5, r7, #0
|
||||
_021DB040:
|
||||
ldrb r0, [r4]
|
||||
add r1, r6, #0
|
||||
mov r2, #0x4c
|
||||
bl FUN_02008DEC
|
||||
mov r1, #0x4b
|
||||
lsl r1, r1, #2
|
||||
str r0, [r5, r1]
|
||||
add r6, r6, #1
|
||||
add r4, r4, #1
|
||||
add r5, r5, #4
|
||||
cmp r6, #4
|
||||
blt _021DB040
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
mov r0, #3
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0x4c
|
||||
str r0, [sp, #8]
|
||||
add r0, #0xe0
|
||||
ldr r0, [r7, r0]
|
||||
mov r1, #0x80
|
||||
mov r2, #4
|
||||
bl FUN_02008F34
|
||||
mov r1, #0x4f
|
||||
lsl r1, r1, #2
|
||||
str r0, [r7, r1]
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
mov r2, #3
|
||||
str r2, [sp, #4]
|
||||
mov r0, #1
|
||||
str r0, [sp, #8]
|
||||
mov r0, #0x4c
|
||||
str r0, [sp, #0xc]
|
||||
add r0, #0xe4
|
||||
ldr r0, [r7, r0]
|
||||
mov r1, #0x80
|
||||
bl FUN_02008FEC
|
||||
mov r1, #5
|
||||
lsl r1, r1, #6
|
||||
str r0, [r7, r1]
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
mov r0, #2
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0x4c
|
||||
str r0, [sp, #8]
|
||||
add r0, #0xe8
|
||||
ldr r0, [r7, r0]
|
||||
mov r1, #0x80
|
||||
mov r2, #5
|
||||
bl FUN_020090AC
|
||||
mov r1, #0x51
|
||||
lsl r1, r1, #2
|
||||
str r0, [r7, r1]
|
||||
mov r3, #0
|
||||
str r3, [sp]
|
||||
mov r0, #3
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0x4c
|
||||
str r0, [sp, #8]
|
||||
add r0, #0xec
|
||||
ldr r0, [r7, r0]
|
||||
mov r1, #0x80
|
||||
mov r2, #6
|
||||
bl FUN_020090AC
|
||||
mov r1, #0x52
|
||||
lsl r1, r1, #2
|
||||
str r0, [r7, r1]
|
||||
sub r1, #0xc
|
||||
ldr r0, [r7, r1]
|
||||
bl FUN_02009A50
|
||||
mov r0, #5
|
||||
lsl r0, r0, #6
|
||||
ldr r0, [r7, r0]
|
||||
bl FUN_02009CF0
|
||||
mov r0, #0x10
|
||||
mov r1, #1
|
||||
bl FUN_0201E6E4
|
||||
mov r0, #0x10
|
||||
mov r1, #1
|
||||
bl FUN_0201E74C
|
||||
add sp, #0x14
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_021DB0FC: .word 0xFFCFFFEF
|
||||
_021DB100: .word 0x04001000
|
||||
_021DB104: .word MOD63_021DBEBC
|
||||
thumb_func_end MOD63_021DAFEC
|
||||
|
||||
thumb_func_start MOD63_021DB108
|
||||
MOD63_021DB108: ; 0x021DB108
|
||||
push {r4, r5, r6, lr}
|
||||
add r5, r0, #0
|
||||
mov r0, #0x4f
|
||||
lsl r0, r0, #2
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_02009C0C
|
||||
mov r0, #5
|
||||
lsl r0, r0, #6
|
||||
ldr r0, [r5, r0]
|
||||
bl FUN_02009E04
|
||||
mov r6, #0x4b
|
||||
mov r4, #0
|
||||
lsl r6, r6, #2
|
||||
_021DB126:
|
||||
lsl r0, r4, #2
|
||||
add r0, r5, r0
|
||||
ldr r0, [r0, r6]
|
||||
bl FUN_02008E2C
|
||||
add r0, r4, #1
|
||||
lsl r0, r0, #0x18
|
||||
lsr r4, r0, #0x18
|
||||
cmp r4, #4
|
||||
blo _021DB126
|
||||
ldr r0, [r5]
|
||||
bl FUN_0201FD58
|
||||
bl FUN_02009FA0
|
||||
bl FUN_0201D12C
|
||||
bl FUN_0201E08C
|
||||
pop {r4, r5, r6, pc}
|
||||
.align 2, 0
|
||||
thumb_func_end MOD63_021DB108
|
||||
|
||||
thumb_func_start MOD63_021DB150
|
||||
MOD63_021DB150: ; 0x021DB150
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x54
|
||||
add r7, r0, #0
|
||||
mov r6, #0
|
||||
add r4, r6, #0
|
||||
add r5, r7, #0
|
||||
_021DB15C:
|
||||
add r0, r7, #0
|
||||
add r1, sp, #0
|
||||
add r2, sp, #0x30
|
||||
bl MOD63_021DAE8C
|
||||
add r0, sp, #0
|
||||
str r4, [sp, #8]
|
||||
str r4, [sp, #0xc]
|
||||
bl FUN_0201FE94
|
||||
mov r1, #0x15
|
||||
lsl r1, r1, #4
|
||||
str r0, [r5, r1]
|
||||
add r0, r1, #0
|
||||
ldr r0, [r5, r0]
|
||||
mov r1, #0
|
||||
bl FUN_020200BC
|
||||
mov r0, #0x15
|
||||
lsl r0, r0, #4
|
||||
ldr r0, [r5, r0]
|
||||
mov r1, #0
|
||||
bl FUN_020200A0
|
||||
mov r0, #2
|
||||
lsl r0, r0, #0xc
|
||||
add r6, r6, #1
|
||||
add r4, r4, r0
|
||||
add r5, #0xc
|
||||
cmp r6, #0xa
|
||||
blt _021DB15C
|
||||
add sp, #0x54
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
thumb_func_end MOD63_021DB150
|
||||
|
||||
thumb_func_start MOD63_021DB1A0
|
||||
MOD63_021DB1A0: ; 0x021DB1A0
|
||||
ldr r3, _021DB1A8 ; =FUN_0201FDEC
|
||||
ldr r0, [r0]
|
||||
bx r3
|
||||
nop
|
||||
_021DB1A8: .word FUN_0201FDEC
|
||||
thumb_func_end MOD63_021DB1A0
|
||||
|
||||
thumb_func_start MOD63_021DB1AC
|
||||
MOD63_021DB1AC: ; 0x021DB1AC
|
||||
push {r4, lr}
|
||||
sub sp, #8
|
||||
add r4, r0, #0
|
||||
cmp r1, #0xb4
|
||||
bne _021DB1CE
|
||||
mov r2, #3
|
||||
str r2, [sp]
|
||||
mov r0, #0
|
||||
str r0, [sp, #4]
|
||||
mov r0, #0x71
|
||||
lsl r0, r0, #2
|
||||
add r0, r4, r0
|
||||
add r1, r4, #0
|
||||
add r3, r2, #0
|
||||
bl MOD63_021DB1F8
|
||||
b _021DB1E8
|
||||
_021DB1CE:
|
||||
ldr r0, _021DB1F4 ; =0x0000011D
|
||||
cmp r1, r0
|
||||
bne _021DB1E8
|
||||
mov r2, #3
|
||||
add r0, #0xb7
|
||||
str r2, [sp]
|
||||
mov r1, #1
|
||||
str r1, [sp, #4]
|
||||
add r0, r4, r0
|
||||
add r1, r4, #0
|
||||
add r3, r2, #0
|
||||
bl MOD63_021DB1F8
|
||||
_021DB1E8:
|
||||
add r0, r4, #0
|
||||
bl MOD63_021DB1A0
|
||||
add sp, #8
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_021DB1F4: .word 0x0000011D
|
||||
thumb_func_end MOD63_021DB1AC
|
||||
|
||||
thumb_func_start MOD63_021DB1F8
|
||||
MOD63_021DB1F8: ; 0x021DB1F8
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
strb r2, [r4]
|
||||
ldr r2, _021DB228 ; =0xFFFFFFF8
|
||||
strb r3, [r4, #1]
|
||||
add r2, sp
|
||||
ldrb r0, [r2, #0x10]
|
||||
strb r0, [r4, #2]
|
||||
mov r0, #0
|
||||
strb r0, [r4, #4]
|
||||
strb r0, [r4, #3]
|
||||
mov r0, #0x53
|
||||
lsl r0, r0, #2
|
||||
add r0, r1, r0
|
||||
str r0, [r4, #0xc]
|
||||
ldrb r0, [r2, #0x14]
|
||||
add r1, r4, #0
|
||||
mov r2, #0xa
|
||||
strb r0, [r4, #5]
|
||||
ldr r0, _021DB22C ; =MOD63_021DB2F8
|
||||
bl FUN_0200CA44
|
||||
str r0, [r4, #8]
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
_021DB228: .word 0xFFFFFFF8
|
||||
_021DB22C: .word MOD63_021DB2F8
|
||||
thumb_func_end MOD63_021DB1F8
|
||||
|
||||
thumb_func_start MOD63_021DB230
|
||||
MOD63_021DB230: ; 0x021DB230
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x10
|
||||
add r6, r1, #0
|
||||
str r0, [sp]
|
||||
cmp r2, #0
|
||||
bne _021DB240
|
||||
mov r7, #0x40
|
||||
b _021DB242
|
||||
_021DB240:
|
||||
mov r7, #0x20
|
||||
_021DB242:
|
||||
mov r5, #0
|
||||
cmp r6, #0
|
||||
bls _021DB2BE
|
||||
_021DB248:
|
||||
ldr r0, [sp]
|
||||
mov r1, #0xa
|
||||
bl MOD63_021DB2C8
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
bl FUN_0202011C
|
||||
add r3, r0, #0
|
||||
ldmia r3!, {r0, r1}
|
||||
add r2, sp, #4
|
||||
stmia r2!, {r0, r1}
|
||||
ldr r0, [r3]
|
||||
str r0, [r2]
|
||||
bl LCRandom
|
||||
lsr r1, r0, #0x1f
|
||||
lsl r2, r0, #0x19
|
||||
sub r2, r2, r1
|
||||
mov r0, #0x19
|
||||
ror r2, r0
|
||||
add r0, r1, r2
|
||||
add r0, #0x40
|
||||
lsl r0, r0, #0xc
|
||||
str r0, [sp, #4]
|
||||
bl LCRandom
|
||||
lsr r1, r0, #0x1f
|
||||
lsl r2, r0, #0x1a
|
||||
sub r2, r2, r1
|
||||
mov r0, #0x1a
|
||||
ror r2, r0
|
||||
add r0, r1, r2
|
||||
add r0, r7, r0
|
||||
lsl r0, r0, #0xc
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r4, #4]
|
||||
add r1, sp, #4
|
||||
bl FUN_02020044
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #1
|
||||
bl FUN_020200BC
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #1
|
||||
bl FUN_020200A0
|
||||
ldr r0, _021DB2C4 ; =MOD63_021DB334
|
||||
add r1, r4, #0
|
||||
mov r2, #0x14
|
||||
bl FUN_0200CA44
|
||||
str r0, [r4, #8]
|
||||
add r0, r5, #1
|
||||
lsl r0, r0, #0x18
|
||||
lsr r5, r0, #0x18
|
||||
cmp r5, r6
|
||||
blo _021DB248
|
||||
_021DB2BE:
|
||||
add sp, #0x10
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_021DB2C4: .word MOD63_021DB334
|
||||
thumb_func_end MOD63_021DB230
|
||||
|
||||
thumb_func_start MOD63_021DB2C8
|
||||
MOD63_021DB2C8: ; 0x021DB2C8
|
||||
push {r4, lr}
|
||||
mov r4, #0
|
||||
mov r2, #0xc
|
||||
_021DB2CE:
|
||||
add r1, r4, #0
|
||||
mul r1, r2
|
||||
add r3, r0, r1
|
||||
ldrb r1, [r0, r1]
|
||||
cmp r1, #0
|
||||
bne _021DB2E6
|
||||
mov r0, #1
|
||||
strb r0, [r3]
|
||||
mov r0, #0
|
||||
strb r0, [r3, #1]
|
||||
add r0, r3, #0
|
||||
pop {r4, pc}
|
||||
_021DB2E6:
|
||||
add r1, r4, #1
|
||||
lsl r1, r1, #0x18
|
||||
lsr r4, r1, #0x18
|
||||
cmp r4, #0xa
|
||||
blo _021DB2CE
|
||||
bl ErrorHandling
|
||||
mov r0, #0
|
||||
pop {r4, pc}
|
||||
thumb_func_end MOD63_021DB2C8
|
||||
|
||||
thumb_func_start MOD63_021DB2F8
|
||||
MOD63_021DB2F8: ; 0x021DB2F8
|
||||
push {r3, r4, r5, lr}
|
||||
add r4, r1, #0
|
||||
ldrb r1, [r4, #4]
|
||||
add r5, r0, #0
|
||||
add r0, r1, #1
|
||||
strb r0, [r4, #4]
|
||||
ldrb r0, [r4, #1]
|
||||
cmp r1, r0
|
||||
blo _021DB330
|
||||
ldrb r1, [r4]
|
||||
ldrb r2, [r4, #5]
|
||||
ldr r0, [r4, #0xc]
|
||||
bl MOD63_021DB230
|
||||
mov r0, #0
|
||||
strb r0, [r4, #4]
|
||||
ldrb r0, [r4, #3]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #3]
|
||||
ldrb r1, [r4, #3]
|
||||
ldrb r0, [r4, #2]
|
||||
cmp r1, r0
|
||||
blo _021DB330
|
||||
add r0, r5, #0
|
||||
bl FUN_0200CAB4
|
||||
mov r0, #0
|
||||
str r0, [r4, #8]
|
||||
_021DB330:
|
||||
pop {r3, r4, r5, pc}
|
||||
.align 2, 0
|
||||
thumb_func_end MOD63_021DB2F8
|
||||
|
||||
thumb_func_start MOD63_021DB334
|
||||
MOD63_021DB334: ; 0x021DB334
|
||||
push {r3, r4, r5, r6, lr}
|
||||
sub sp, #0xc
|
||||
add r4, r1, #0
|
||||
add r5, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
bl FUN_0202011C
|
||||
add r6, r0, #0
|
||||
add r3, sp, #0
|
||||
ldmia r6!, {r0, r1}
|
||||
add r2, r3, #0
|
||||
stmia r3!, {r0, r1}
|
||||
ldr r0, [r6]
|
||||
str r0, [r3]
|
||||
mov r0, #3
|
||||
ldr r1, [sp, #4]
|
||||
lsl r0, r0, #0xc
|
||||
add r0, r1, r0
|
||||
str r0, [sp, #4]
|
||||
ldr r0, [r4, #4]
|
||||
add r1, r2, #0
|
||||
bl FUN_02020044
|
||||
ldrb r0, [r4, #1]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #1]
|
||||
ldrb r0, [r4, #1]
|
||||
cmp r0, #0x50
|
||||
blo _021DB388
|
||||
add r0, r5, #0
|
||||
bl FUN_0200CAB4
|
||||
mov r1, #0
|
||||
str r1, [r4, #8]
|
||||
strb r1, [r4]
|
||||
ldr r0, [r4, #4]
|
||||
bl FUN_020200BC
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #0
|
||||
bl FUN_020200A0
|
||||
_021DB388:
|
||||
add sp, #0xc
|
||||
pop {r3, r4, r5, r6, pc}
|
||||
thumb_func_end MOD63_021DB334
|
||||
|
||||
thumb_func_start MOD63_021DB38C
|
||||
MOD63_021DB38C: ; 0x021DB38C
|
||||
ldr r3, _021DB394 ; =MOD63_021DB398
|
||||
mov r1, #2
|
||||
bx r3
|
||||
nop
|
||||
_021DB394: .word MOD63_021DB398
|
||||
thumb_func_end MOD63_021DB38C
|
||||
|
||||
thumb_func_start MOD63_021DB398
|
||||
MOD63_021DB398: ; 0x021DB398
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #0x10
|
||||
add r6, r0, #0
|
||||
ldr r0, [r6, #4]
|
||||
add r7, r1, #0
|
||||
str r0, [sp]
|
||||
ldr r5, _021DB418 ; =0x00000000
|
||||
beq _021DB414
|
||||
_021DB3A8:
|
||||
ldr r0, [sp]
|
||||
ldr r1, [r6]
|
||||
bl MOD63_021DB2C8
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #4]
|
||||
bl FUN_0202011C
|
||||
add r3, r0, #0
|
||||
ldmia r3!, {r0, r1}
|
||||
add r2, sp, #4
|
||||
stmia r2!, {r0, r1}
|
||||
ldr r0, [r3]
|
||||
str r0, [r2]
|
||||
bl LCRandom
|
||||
mov r1, #0xe0
|
||||
bl _s32_div_f
|
||||
add r1, #0xa
|
||||
lsl r0, r1, #0xc
|
||||
str r0, [sp, #4]
|
||||
bl LCRandom
|
||||
mov r1, #0x38
|
||||
bl _s32_div_f
|
||||
ldr r0, _021DB41C ; =0x0000013A
|
||||
add r0, r1, r0
|
||||
lsl r0, r0, #0xc
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r4, #4]
|
||||
add r1, sp, #4
|
||||
bl FUN_02020044
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #1
|
||||
bl FUN_020200BC
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #1
|
||||
bl FUN_020200A0
|
||||
ldr r0, _021DB420 ; =MOD63_021DB424
|
||||
add r1, r4, #0
|
||||
mov r2, #0x14
|
||||
bl FUN_0200CA44
|
||||
str r0, [r4, #8]
|
||||
add r0, r5, #1
|
||||
lsl r0, r0, #0x18
|
||||
lsr r5, r0, #0x18
|
||||
cmp r5, r7
|
||||
blo _021DB3A8
|
||||
_021DB414:
|
||||
add sp, #0x10
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
.align 2, 0
|
||||
_021DB418: .word 0x00000000
|
||||
_021DB41C: .word 0x0000013A
|
||||
_021DB420: .word MOD63_021DB424
|
||||
thumb_func_end MOD63_021DB398
|
||||
|
||||
thumb_func_start MOD63_021DB424
|
||||
MOD63_021DB424: ; 0x021DB424
|
||||
push {r4, lr}
|
||||
add r4, r1, #0
|
||||
ldrb r1, [r4, #1]
|
||||
add r1, r1, #1
|
||||
strb r1, [r4, #1]
|
||||
ldrb r1, [r4, #1]
|
||||
cmp r1, #8
|
||||
blo _021DB44C
|
||||
bl FUN_0200CAB4
|
||||
mov r1, #0
|
||||
str r1, [r4, #8]
|
||||
strb r1, [r4]
|
||||
ldr r0, [r4, #4]
|
||||
bl FUN_020200BC
|
||||
ldr r0, [r4, #4]
|
||||
mov r1, #0
|
||||
bl FUN_020200A0
|
||||
_021DB44C:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
thumb_func_end MOD63_021DB424
|
||||
|
||||
.section .rodata
|
||||
|
||||
.global MOD63_021DBEAC
|
||||
MOD63_021DBEAC: ; 0x021DBEAC
|
||||
.byte 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x4C, 0x00, 0x00, 0x00
|
||||
|
||||
.global MOD63_021DBEBC
|
||||
MOD63_021DBEBC: ; 0x021DBEBC
|
||||
.byte 0x01, 0x01, 0x01, 0x01
|
||||
720
arm9/modules/63/asm/mod63_021DB450.s
Normal file
720
arm9/modules/63/asm/mod63_021DB450.s
Normal file
@@ -0,0 +1,720 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "global.inc"
|
||||
.section .text
|
||||
.balign 4, 0
|
||||
|
||||
thumb_func_start MOD63_021DB450
|
||||
MOD63_021DB450: ; 0x021DB450
|
||||
push {r4, lr}
|
||||
ldr r3, _021DB470 ; =UNK_021064B8
|
||||
mov r2, #0
|
||||
ldr r3, [r3]
|
||||
blx r3
|
||||
add r4, r0, #0
|
||||
bl FUN_0201327C
|
||||
cmp r4, #0
|
||||
bne _021DB468
|
||||
bl ErrorHandling
|
||||
_021DB468:
|
||||
lsl r0, r4, #0x10
|
||||
lsr r0, r0, #0xd
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_021DB470: .word UNK_021064B8
|
||||
thumb_func_end MOD63_021DB450
|
||||
|
||||
thumb_func_start MOD63_021DB474
|
||||
MOD63_021DB474: ; 0x021DB474
|
||||
push {r4, lr}
|
||||
ldr r3, _021DB494 ; =UNK_021064C0
|
||||
mov r2, #1
|
||||
ldr r3, [r3]
|
||||
blx r3
|
||||
add r4, r0, #0
|
||||
bne _021DB486
|
||||
bl ErrorHandling
|
||||
_021DB486:
|
||||
add r0, r4, #0
|
||||
bl FUN_020132BC
|
||||
lsl r0, r4, #0x10
|
||||
lsr r0, r0, #0xd
|
||||
pop {r4, pc}
|
||||
nop
|
||||
_021DB494: .word UNK_021064C0
|
||||
thumb_func_end MOD63_021DB474
|
||||
|
||||
thumb_func_start MOD63_021DB498
|
||||
MOD63_021DB498: ; 0x021DB498
|
||||
mov r0, #0x20
|
||||
bx lr
|
||||
thumb_func_end MOD63_021DB498
|
||||
|
||||
thumb_func_start MOD63_021DB49C
|
||||
MOD63_021DB49C: ; 0x021DB49C
|
||||
push {r4, r5, r6, r7, lr}
|
||||
sub sp, #0x2c
|
||||
ldr r3, _021DB56C ; =MOD63_021DBECC
|
||||
add r5, r0, #0
|
||||
ldmia r3!, {r0, r1}
|
||||
add r2, sp, #0x10
|
||||
stmia r2!, {r0, r1}
|
||||
ldr r0, [r3]
|
||||
str r0, [r2]
|
||||
mov r0, #0x4c
|
||||
bl FUN_02006D98
|
||||
ldr r7, _021DB570 ; =MOD63_021DBEF0
|
||||
str r0, [r5]
|
||||
mov r4, #0
|
||||
_021DB4BA:
|
||||
mov r0, #0
|
||||
str r0, [sp]
|
||||
str r0, [sp, #4]
|
||||
str r0, [sp, #8]
|
||||
lsl r6, r4, #2
|
||||
add r1, sp, #0x10
|
||||
ldr r1, [r1, r6]
|
||||
add r0, sp, #0x1c
|
||||
lsl r1, r1, #0x10
|
||||
lsr r1, r1, #0x10
|
||||
mov r2, #0
|
||||
mov r3, #2
|
||||
bl FUN_02068C00
|
||||
ldr r0, _021DB574 ; =0x000003FF
|
||||
lsl r2, r4, #3
|
||||
str r0, [sp]
|
||||
str r4, [sp, #4]
|
||||
mov r0, #0
|
||||
str r0, [sp, #8]
|
||||
str r0, [sp, #0xc]
|
||||
add r3, r7, r2
|
||||
ldr r0, [r5]
|
||||
ldr r2, [r7, r2]
|
||||
ldr r3, [r3, #4]
|
||||
add r1, sp, #0x1c
|
||||
add r6, r5, r6
|
||||
bl FUN_020073A0
|
||||
mov r1, #6
|
||||
mov r2, #1
|
||||
str r0, [r6, #4]
|
||||
bl FUN_02007558
|
||||
add r0, r4, #1
|
||||
lsl r0, r0, #0x18
|
||||
lsr r4, r0, #0x18
|
||||
cmp r4, #3
|
||||
blo _021DB4BA
|
||||
ldr r0, [r5, #8]
|
||||
mov r1, #0x23
|
||||
mov r2, #1
|
||||
bl FUN_02007558
|
||||
mov r0, #1
|
||||
str r0, [r5, #0x10]
|
||||
bl FUN_02012CC8
|
||||
mov r1, #0x12
|
||||
mov r0, #0x4c
|
||||
lsl r1, r1, #0xa
|
||||
bl AllocFromHeap
|
||||
str r0, [r5, #0x14]
|
||||
mov r0, #1
|
||||
str r0, [sp]
|
||||
mov r0, #0x4c
|
||||
str r0, [sp, #4]
|
||||
mov r3, #0x12
|
||||
ldr r0, _021DB578 ; =MOD63_021DB450
|
||||
ldr r1, _021DB57C ; =MOD63_021DB474
|
||||
ldr r2, [r5, #0x14]
|
||||
lsl r3, r3, #0xa
|
||||
bl FUN_02012CDC
|
||||
str r0, [r5, #0x18]
|
||||
bl FUN_0201343C
|
||||
add r2, r0, #0
|
||||
mov r0, #1
|
||||
mov r1, #0xe1
|
||||
lsl r0, r0, #0xc
|
||||
lsl r1, r1, #0xe
|
||||
bl FUN_0201EC94
|
||||
mov r0, #0x3d
|
||||
mov r1, #4
|
||||
mov r2, #0x4c
|
||||
bl FUN_0201318C
|
||||
add r1, r0, #0
|
||||
ldr r0, [r5, #0x18]
|
||||
mov r2, #0xa
|
||||
mov r3, #1
|
||||
bl FUN_02013194
|
||||
add sp, #0x2c
|
||||
pop {r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_021DB56C: .word MOD63_021DBECC
|
||||
_021DB570: .word MOD63_021DBEF0
|
||||
_021DB574: .word 0x000003FF
|
||||
_021DB578: .word MOD63_021DB450
|
||||
_021DB57C: .word MOD63_021DB474
|
||||
thumb_func_end MOD63_021DB49C
|
||||
|
||||
thumb_func_start MOD63_021DB580
|
||||
MOD63_021DB580: ; 0x021DB580
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
ldr r0, [r4, #0x18]
|
||||
bl FUN_02012DE4
|
||||
ldr r0, [r4, #0x14]
|
||||
bl FreeToHeap
|
||||
ldr r0, [r4]
|
||||
bl FUN_020072E8
|
||||
pop {r4, pc}
|
||||
thumb_func_end MOD63_021DB580
|
||||
|
||||
thumb_func_start MOD63_021DB598
|
||||
MOD63_021DB598: ; 0x021DB598
|
||||
push {r3, lr}
|
||||
cmp r0, #0
|
||||
beq _021DB5A4
|
||||
ldr r0, [r0]
|
||||
bl FUN_020081C4
|
||||
_021DB5A4:
|
||||
pop {r3, pc}
|
||||
.align 2, 0
|
||||
thumb_func_end MOD63_021DB598
|
||||
|
||||
thumb_func_start MOD63_021DB5A8
|
||||
MOD63_021DB5A8: ; 0x021DB5A8
|
||||
push {r4, lr}
|
||||
add r4, r0, #0
|
||||
beq _021DB5C8
|
||||
bl FUN_020222AC
|
||||
bl FUN_020B02C8
|
||||
ldr r0, [r4]
|
||||
bl FUN_02006ED4
|
||||
bl MOD63_021DB934
|
||||
mov r0, #1
|
||||
mov r1, #0
|
||||
bl FUN_020222B4
|
||||
_021DB5C8:
|
||||
pop {r4, pc}
|
||||
.align 2, 0
|
||||
thumb_func_end MOD63_021DB5A8
|
||||
|
||||
thumb_func_start MOD63_021DB5CC
|
||||
MOD63_021DB5CC: ; 0x021DB5CC
|
||||
push {r3, r4, r5, r6, r7, lr}
|
||||
sub sp, #8
|
||||
add r4, r0, #0
|
||||
add r7, r2, #0
|
||||
ldrb r2, [r4, #0x1c]
|
||||
add r5, r4, #0
|
||||
add r6, r1, #0
|
||||
add r5, #0x1c
|
||||
cmp r2, #5
|
||||
bls _021DB5E2
|
||||
b _021DB6FC
|
||||
_021DB5E2:
|
||||
add r2, r2, r2
|
||||
add r2, pc
|
||||
ldrh r2, [r2, #6]
|
||||
lsl r2, r2, #0x10
|
||||
asr r2, r2, #0x10
|
||||
add pc, r2
|
||||
_021DB5EE: ; jump table
|
||||
.short _021DB5FA - _021DB5EE - 2 ; case 0
|
||||
.short _021DB63C - _021DB5EE - 2 ; case 1
|
||||
.short _021DB658 - _021DB5EE - 2 ; case 2
|
||||
.short _021DB690 - _021DB5EE - 2 ; case 3
|
||||
.short _021DB6BE - _021DB5EE - 2 ; case 4
|
||||
.short _021DB6E4 - _021DB5EE - 2 ; case 5
|
||||
_021DB5FA:
|
||||
ldr r0, _021DB704 ; =0x0400004A
|
||||
mov r1, #0x3f
|
||||
ldrh r2, [r0]
|
||||
add r7, r4, #4
|
||||
bic r2, r1
|
||||
mov r1, #0x11
|
||||
orr r1, r2
|
||||
mov r2, #0x20
|
||||
orr r1, r2
|
||||
strh r1, [r0]
|
||||
lsl r0, r6, #2
|
||||
str r0, [sp]
|
||||
ldr r0, [r7, r0]
|
||||
mov r1, #0xc
|
||||
lsl r2, r2, #5
|
||||
bl FUN_02007558
|
||||
ldr r0, [sp]
|
||||
mov r2, #1
|
||||
ldr r0, [r7, r0]
|
||||
mov r1, #0xd
|
||||
lsl r2, r2, #0xa
|
||||
bl FUN_02007558
|
||||
ldr r0, [sp]
|
||||
mov r1, #6
|
||||
ldr r0, [r7, r0]
|
||||
mov r2, #0
|
||||
bl FUN_02007558
|
||||
ldrb r0, [r5]
|
||||
add r0, r0, #1
|
||||
strb r0, [r5]
|
||||
_021DB63C:
|
||||
ldr r2, _021DB708 ; =MOD63_021DBED8
|
||||
lsl r3, r6, #3
|
||||
ldr r2, [r2, r3]
|
||||
add r0, r4, #0
|
||||
add r1, r6, #0
|
||||
blx r2
|
||||
cmp r0, #0
|
||||
beq _021DB6FC
|
||||
mov r0, #0
|
||||
strb r0, [r4, #0x1d]
|
||||
ldrb r0, [r5]
|
||||
add r0, r0, #1
|
||||
strb r0, [r5]
|
||||
b _021DB6FC
|
||||
_021DB658:
|
||||
ldr r0, [r4, #0x18]
|
||||
mov r1, #1
|
||||
bl FUN_02013440
|
||||
lsl r0, r6, #2
|
||||
str r0, [sp, #4]
|
||||
ldr r1, _021DB70C ; =MOD63_021DBF08
|
||||
lsl r6, r6, #3
|
||||
ldr r3, [sp, #4]
|
||||
add r7, r4, #4
|
||||
ldr r0, [r4, #0x18]
|
||||
ldr r1, [r1, r6]
|
||||
ldr r2, _021DB710 ; =MOD63_021DB940
|
||||
ldr r3, [r7, r3]
|
||||
bl FUN_020133AC
|
||||
ldr r1, _021DB714 ; =MOD63_021DBF0C
|
||||
ldr r3, [sp, #4]
|
||||
ldr r0, [r4, #0x18]
|
||||
ldr r1, [r1, r6]
|
||||
ldr r2, _021DB710 ; =MOD63_021DB940
|
||||
ldr r3, [r7, r3]
|
||||
bl FUN_020133AC
|
||||
ldrb r0, [r5]
|
||||
add r0, r0, #1
|
||||
strb r0, [r5]
|
||||
b _021DB6FC
|
||||
_021DB690:
|
||||
ldr r0, [r4, #0x18]
|
||||
bl FUN_020133C8
|
||||
cmp r0, #0
|
||||
bne _021DB6FC
|
||||
ldr r0, _021DB718 ; =MOD63_021DBEC0
|
||||
lsl r1, r6, #2
|
||||
ldr r0, [r0, r1]
|
||||
cmp r7, r0
|
||||
blt _021DB6FC
|
||||
ldr r1, _021DB704 ; =0x0400004A
|
||||
mov r0, #0x3f
|
||||
ldrh r2, [r1]
|
||||
bic r2, r0
|
||||
mov r0, #0x10
|
||||
orr r2, r0
|
||||
mov r0, #0x20
|
||||
orr r0, r2
|
||||
strh r0, [r1]
|
||||
ldrb r0, [r5]
|
||||
add r0, r0, #1
|
||||
strb r0, [r5]
|
||||
b _021DB6FC
|
||||
_021DB6BE:
|
||||
ldr r2, _021DB71C ; =MOD63_021DBEDC
|
||||
lsl r3, r6, #3
|
||||
ldr r2, [r2, r3]
|
||||
blx r2
|
||||
cmp r0, #0
|
||||
beq _021DB6FC
|
||||
lsl r0, r6, #2
|
||||
add r0, r4, r0
|
||||
ldr r0, [r0, #4]
|
||||
mov r1, #6
|
||||
mov r2, #1
|
||||
bl FUN_02007558
|
||||
mov r0, #0
|
||||
strb r0, [r4, #0x1d]
|
||||
ldrb r0, [r5]
|
||||
add r0, r0, #1
|
||||
strb r0, [r5]
|
||||
b _021DB6FC
|
||||
_021DB6E4:
|
||||
ldrb r0, [r4, #0x1d]
|
||||
add r0, r0, #1
|
||||
strb r0, [r4, #0x1d]
|
||||
ldrb r0, [r4, #0x1d]
|
||||
cmp r0, #0x14
|
||||
blo _021DB6FC
|
||||
mov r0, #0
|
||||
strb r0, [r4, #0x1d]
|
||||
strb r0, [r5]
|
||||
add sp, #8
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
_021DB6FC:
|
||||
mov r0, #0
|
||||
add sp, #8
|
||||
pop {r3, r4, r5, r6, r7, pc}
|
||||
nop
|
||||
_021DB704: .word 0x0400004A
|
||||
_021DB708: .word MOD63_021DBED8
|
||||
_021DB70C: .word MOD63_021DBF08
|
||||
_021DB710: .word MOD63_021DB940
|
||||
_021DB714: .word MOD63_021DBF0C
|
||||
_021DB718: .word MOD63_021DBEC0
|
||||
_021DB71C: .word MOD63_021DBEDC
|
||||
thumb_func_end MOD63_021DB5CC
|
||||
|
||||
thumb_func_start MOD63_021DB720
|
||||
MOD63_021DB720: ; 0x021DB720
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
lsl r0, r1, #2
|
||||
add r0, r5, r0
|
||||
ldr r4, [r0, #4]
|
||||
mov r1, #0
|
||||
add r0, r4, #0
|
||||
mov r2, #6
|
||||
bl FUN_020079E0
|
||||
mov r1, #1
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, #0x11
|
||||
bl FUN_020079E0
|
||||
mov r1, #0xc
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, #0x8c
|
||||
bl FUN_020079E0
|
||||
mov r1, #0xd
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, #0x8d
|
||||
bl FUN_020079E0
|
||||
ldrb r0, [r5, #0x1d]
|
||||
add r0, r0, #1
|
||||
strb r0, [r5, #0x1d]
|
||||
ldrb r0, [r5, #0x1d]
|
||||
cmp r0, #6
|
||||
blo _021DB780
|
||||
mov r1, #0xc
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, #0xf4
|
||||
bl FUN_02007558
|
||||
mov r1, #0xd
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, #0xf3
|
||||
bl FUN_02007558
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DB780:
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end MOD63_021DB720
|
||||
|
||||
thumb_func_start MOD63_021DB784
|
||||
MOD63_021DB784: ; 0x021DB784
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
lsl r0, r1, #2
|
||||
add r0, r5, r0
|
||||
ldr r4, [r0, #4]
|
||||
mov r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, r1, #3
|
||||
bl FUN_020079E0
|
||||
mov r1, #1
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, #0x13
|
||||
bl FUN_020079E0
|
||||
ldrb r0, [r5, #0x1d]
|
||||
add r0, r0, #1
|
||||
strb r0, [r5, #0x1d]
|
||||
ldrb r0, [r5, #0x1d]
|
||||
cmp r0, #6
|
||||
blo _021DB7CC
|
||||
mov r1, #0xc
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, #0xf4
|
||||
bl FUN_02007558
|
||||
mov r1, #0xd
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, #0xf3
|
||||
bl FUN_02007558
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DB7CC:
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end MOD63_021DB784
|
||||
|
||||
thumb_func_start MOD63_021DB7D0
|
||||
MOD63_021DB7D0: ; 0x021DB7D0
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
lsl r0, r1, #2
|
||||
add r0, r5, r0
|
||||
ldr r4, [r0, #4]
|
||||
mov r1, #0
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, #0x10
|
||||
bl FUN_020079E0
|
||||
mov r1, #1
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, #0x11
|
||||
bl FUN_020079E0
|
||||
mov r1, #0xc
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, #0x8c
|
||||
bl FUN_020079E0
|
||||
mov r1, #0xd
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, #0x8d
|
||||
bl FUN_020079E0
|
||||
ldrb r0, [r5, #0x1d]
|
||||
add r0, r0, #1
|
||||
strb r0, [r5, #0x1d]
|
||||
ldrb r0, [r5, #0x1d]
|
||||
cmp r0, #6
|
||||
blo _021DB832
|
||||
mov r1, #0xc
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, #0xf4
|
||||
bl FUN_02007558
|
||||
mov r1, #0xd
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, #0xf3
|
||||
bl FUN_02007558
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DB832:
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
.align 2, 0
|
||||
thumb_func_end MOD63_021DB7D0
|
||||
|
||||
thumb_func_start MOD63_021DB838
|
||||
MOD63_021DB838: ; 0x021DB838
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
lsl r0, r1, #2
|
||||
add r0, r5, r0
|
||||
ldr r4, [r0, #4]
|
||||
mov r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, r1, #6
|
||||
bl FUN_020079E0
|
||||
mov r1, #1
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, #0x11
|
||||
bl FUN_020079E0
|
||||
ldrb r0, [r5, #0x1d]
|
||||
add r0, r0, #1
|
||||
strb r0, [r5, #0x1d]
|
||||
ldrb r0, [r5, #0x1d]
|
||||
cmp r0, #6
|
||||
blo _021DB880
|
||||
mov r1, #0xc
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, #0xf4
|
||||
bl FUN_02007558
|
||||
mov r1, #0xd
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, #0xf3
|
||||
bl FUN_02007558
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DB880:
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end MOD63_021DB838
|
||||
|
||||
thumb_func_start MOD63_021DB884
|
||||
MOD63_021DB884: ; 0x021DB884
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
lsl r0, r1, #2
|
||||
add r0, r5, r0
|
||||
ldr r4, [r0, #4]
|
||||
mov r1, #0
|
||||
add r0, r4, #0
|
||||
mov r2, #8
|
||||
bl FUN_020079E0
|
||||
mov r1, #1
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, #0x11
|
||||
bl FUN_020079E0
|
||||
mov r1, #0xc
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, #0x8c
|
||||
bl FUN_020079E0
|
||||
mov r1, #0xd
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, #0x8d
|
||||
bl FUN_020079E0
|
||||
ldrb r0, [r5, #0x1d]
|
||||
add r0, r0, #1
|
||||
strb r0, [r5, #0x1d]
|
||||
ldrb r0, [r5, #0x1d]
|
||||
cmp r0, #6
|
||||
blo _021DB8E4
|
||||
mov r1, #0xc
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, #0xf4
|
||||
bl FUN_02007558
|
||||
mov r1, #0xd
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, #0xf3
|
||||
bl FUN_02007558
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DB8E4:
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end MOD63_021DB884
|
||||
|
||||
thumb_func_start MOD63_021DB8E8
|
||||
MOD63_021DB8E8: ; 0x021DB8E8
|
||||
push {r3, r4, r5, lr}
|
||||
add r5, r0, #0
|
||||
lsl r0, r1, #2
|
||||
add r0, r5, r0
|
||||
ldr r4, [r0, #4]
|
||||
mov r1, #0
|
||||
add r0, r4, #0
|
||||
mov r2, #6
|
||||
bl FUN_020079E0
|
||||
mov r1, #1
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
sub r2, #0x15
|
||||
bl FUN_020079E0
|
||||
ldrb r0, [r5, #0x1d]
|
||||
add r0, r0, #1
|
||||
strb r0, [r5, #0x1d]
|
||||
ldrb r0, [r5, #0x1d]
|
||||
cmp r0, #6
|
||||
blo _021DB930
|
||||
mov r1, #0xc
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, #0xf4
|
||||
bl FUN_02007558
|
||||
mov r1, #0xd
|
||||
add r2, r1, #0
|
||||
add r0, r4, #0
|
||||
add r2, #0xf3
|
||||
bl FUN_02007558
|
||||
mov r0, #1
|
||||
pop {r3, r4, r5, pc}
|
||||
_021DB930:
|
||||
mov r0, #0
|
||||
pop {r3, r4, r5, pc}
|
||||
thumb_func_end MOD63_021DB8E8
|
||||
|
||||
thumb_func_start MOD63_021DB934
|
||||
MOD63_021DB934: ; 0x021DB934
|
||||
push {r3, lr}
|
||||
bl FUN_02013364
|
||||
bl FUN_02013388
|
||||
pop {r3, pc}
|
||||
thumb_func_end MOD63_021DB934
|
||||
|
||||
thumb_func_start MOD63_021DB940
|
||||
MOD63_021DB940: ; 0x021DB940
|
||||
push {r4, r5, lr}
|
||||
sub sp, #0xc
|
||||
add r5, r0, #0
|
||||
bl FUN_0201341C
|
||||
add r2, sp, #0
|
||||
mov r1, #0
|
||||
str r1, [r2]
|
||||
str r1, [r2, #4]
|
||||
add r4, r0, #0
|
||||
str r1, [r2, #8]
|
||||
bl FUN_0200782C
|
||||
sub r0, #0x80
|
||||
mov r1, #0xac
|
||||
mul r1, r0
|
||||
str r1, [sp]
|
||||
add r0, r4, #0
|
||||
mov r1, #1
|
||||
bl FUN_0200782C
|
||||
sub r0, #0x60
|
||||
mov r1, #0xac
|
||||
mul r1, r0
|
||||
str r1, [sp, #4]
|
||||
mov r0, #0x40
|
||||
str r0, [sp, #8]
|
||||
ldr r0, [r5, #0x20]
|
||||
ldr r1, [sp]
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, #4]
|
||||
add r0, r1, r0
|
||||
str r0, [r5, #0x28]
|
||||
ldr r0, [r5, #0x20]
|
||||
ldr r1, [sp, #4]
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, #8]
|
||||
add r0, r1, r0
|
||||
str r0, [r5, #0x2c]
|
||||
ldr r0, [r5, #0x20]
|
||||
ldr r1, [sp, #8]
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0, #0xc]
|
||||
add r0, r1, r0
|
||||
str r0, [r5, #0x30]
|
||||
add sp, #0xc
|
||||
pop {r4, r5, pc}
|
||||
.align 2, 0
|
||||
thumb_func_end MOD63_021DB940
|
||||
|
||||
.section .rodata
|
||||
|
||||
.global MOD63_021DBEC0
|
||||
MOD63_021DBEC0: ; 0x021DBEC0
|
||||
.byte 0x03, 0x07, 0x00, 0x00, 0xCE, 0x07, 0x00, 0x00
|
||||
.byte 0xA8, 0x08, 0x00, 0x00
|
||||
|
||||
.global MOD63_021DBECC
|
||||
MOD63_021DBECC: ; 0x021DBECC
|
||||
.byte 0x83, 0x01, 0x00, 0x00, 0x86, 0x01, 0x00, 0x00, 0x89, 0x01, 0x00, 0x00
|
||||
|
||||
.global MOD63_021DBED8
|
||||
MOD63_021DBED8: ; 0x021DBED8
|
||||
.word MOD63_021DB720
|
||||
|
||||
.global MOD63_021DBEDC
|
||||
MOD63_021DBEDC: ; 0x021DBEDC
|
||||
.word MOD63_021DB784, MOD63_021DB7D0, MOD63_021DB838, MOD63_021DB884
|
||||
.word MOD63_021DB8E8
|
||||
|
||||
.global MOD63_021DBEF0
|
||||
MOD63_021DBEF0: ; 0x021DBEF0
|
||||
.byte 0x80, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x01, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00, 0x50, 0x00, 0x00, 0x00, 0xC0, 0x00, 0x00, 0x00
|
||||
|
||||
.global MOD63_021DBF08
|
||||
MOD63_021DBF08: ; 0x021DBF08
|
||||
.byte 0x04, 0x00, 0x00, 0x00
|
||||
|
||||
.global MOD63_021DBF0C
|
||||
MOD63_021DBF0C: ; 0x021DBF0C
|
||||
.byte 0x05, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user