Finished splitting overlay 12

tbh this was mostly because I didn't want the headers to be an absolute mess when going through and declaring all the functions
This commit is contained in:
Adrienn Tindall 2022-11-12 13:15:13 -05:00
parent b55ac0ea1c
commit cb8590558f
20 changed files with 80537 additions and 80453 deletions

View File

@ -4656,7 +4656,7 @@ ov10_0221E1CC: ; 0x0221E1CC
bl ov10_0221EF34
str r0, [sp, #0x10]
ldr r0, [sp, #4]
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
mov r1, #0
str r0, [sp, #0x14]
cmp r0, #0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

21719
asm/overlay_12_0224E4FC.s Normal file

File diff suppressed because it is too large Load Diff

108
asm/overlay_12_02261FD4.s Normal file
View File

@ -0,0 +1,108 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start ov12_02261FD4
ov12_02261FD4: ; 0x02261FD4
push {r4, lr}
add r4, r0, #0
mov r0, #0x66
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #0
bne _02262008
add r0, r1, #0
bl ov12_0223A7E0
mov r1, #0x22
lsl r1, r1, #4
tst r0, r1
bne _02262008
mov r1, #0xb4
add r0, r1, #0
add r0, #0xe8
strh r1, [r4, r0]
ldr r0, _0226200C ; =ov12_0226203C
ldr r2, _02262010 ; =0x000003F2
add r1, r4, #0
bl CreateSysTask
mov r1, #0x66
lsl r1, r1, #2
str r0, [r4, r1]
_02262008:
pop {r4, pc}
nop
_0226200C: .word ov12_0226203C
_02262010: .word 0x000003F2
thumb_func_end ov12_02261FD4
thumb_func_start ov12_02262014
ov12_02262014: ; 0x02262014
push {r4, lr}
add r4, r0, #0
mov r0, #0x66
lsl r0, r0, #2
ldr r0, [r4, r0]
cmp r0, #0
beq _0226203A
bl DestroySysTask
mov r0, #0x66
mov r2, #0
lsl r0, r0, #2
str r2, [r4, r0]
add r0, r0, #4
strh r2, [r4, r0]
ldr r0, [r4, #0x20]
mov r1, #4
bl sub_020087A4
_0226203A:
pop {r4, pc}
thumb_func_end ov12_02262014
thumb_func_start ov12_0226203C
ov12_0226203C: ; 0x0226203C
push {r3, r4, r5, lr}
add r4, r1, #0
mov r1, #0x67
lsl r1, r1, #2
ldrh r0, [r4, r1]
add r0, #0x14
strh r0, [r4, r1]
add r0, r1, #0
ldrh r2, [r4, r1]
sub r0, #0x34
cmp r2, r0
blo _0226205C
add r0, r1, #0
sub r0, #0x34
sub r0, r2, r0
strh r0, [r4, r1]
_0226205C:
mov r0, #0x67
lsl r0, r0, #2
ldrh r0, [r4, r0]
bl GF_SinDegNoWrap
mov r2, #6
asr r1, r0, #0x1f
lsl r2, r2, #0xa
mov r3, #0
bl _ll_mul
add r2, r1, #0
mov r1, #4
add r5, r0, #0
ldr r0, [r4, #0x20]
mov r4, #0
lsl r3, r1, #9
add r3, r5, r3
adc r2, r4
lsl r2, r2, #0x14
lsr r3, r3, #0xc
orr r3, r2
asr r2, r3, #0xb
lsr r2, r2, #0x14
add r2, r3, r2
asr r2, r2, #0xc
bl sub_020087A4
pop {r3, r4, r5, pc}
.balign 4, 0
thumb_func_end ov12_0226203C

3211
asm/overlay_12_02264824.s Normal file

File diff suppressed because it is too large Load Diff

288
asm/overlay_12_02265E28.s Normal file
View File

@ -0,0 +1,288 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start ov12_02265E28
ov12_02265E28: ; 0x02265E28
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x28
add r5, r0, #0
mov r0, #8
mov r1, #5
bl NARC_ctor
add r4, r0, #0
ldr r0, [r5, #4]
bl ov12_0223A8E4
str r0, [sp, #0x24]
ldr r0, [r5, #4]
bl ov12_0223A8EC
str r0, [sp, #0x20]
ldr r0, [r5, #4]
bl ov12_0223B52C
add r7, r0, #0
ldrb r0, [r5, #8]
cmp r0, #0
ldrb r0, [r5, #9]
bne _02265E6E
lsl r1, r0, #1
ldr r0, _02265F1C ; =ov12_0226E0D0
ldrh r3, [r0, r1]
ldr r0, _02265F20 ; =0x00004E2D
mov r1, #0x80
str r1, [sp, #0x1c]
add r6, r0, #0
mov r1, #0x81
sub r6, #8
str r1, [sp, #0x18]
b _02265E82
_02265E6E:
lsl r1, r0, #1
ldr r0, _02265F24 ; =ov12_0226E0A0
ldrh r3, [r0, r1]
ldr r0, _02265F28 ; =0x00004E2E
mov r1, #0x83
str r1, [sp, #0x1c]
add r6, r0, #0
mov r1, #0x84
sub r6, #8
str r1, [sp, #0x18]
_02265E82:
mov r1, #1
str r1, [sp]
str r1, [sp, #4]
str r0, [sp, #8]
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x20]
add r2, r4, #0
bl sub_0200D504
ldr r0, [r5, #4]
bl ov12_0223A938
str r4, [sp]
ldrb r1, [r5, #9]
mov r2, #6
add r3, r1, #0
mul r3, r2
ldr r2, _02265F2C ; =ov12_0226E168
lsl r1, r7, #1
add r2, r2, r3
ldrh r1, [r1, r2]
ldr r2, [sp, #0x24]
ldr r3, [sp, #0x20]
str r1, [sp, #4]
mov r1, #0
str r1, [sp, #8]
mov r1, #1
str r1, [sp, #0xc]
str r1, [sp, #0x10]
ldr r1, _02265F30 ; =0x00004E29
str r1, [sp, #0x14]
mov r1, #2
bl sub_0200D68C
ldr r0, [r5, #4]
bl ov12_0223A938
mov r1, #0
str r1, [sp]
mov r1, #0x20
str r1, [sp, #4]
mov r1, #0x70
str r1, [sp, #8]
ldrb r2, [r5, #9]
mov r3, #6
lsl r5, r7, #1
mul r3, r2
ldr r2, _02265F2C ; =ov12_0226E168
mov r1, #8
add r2, r2, r3
ldrh r2, [r5, r2]
mov r3, #5
bl PaletteData_LoadNarc
mov r0, #1
str r0, [sp]
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x20]
ldr r3, [sp, #0x1c]
add r2, r4, #0
str r6, [sp, #4]
bl sub_0200D6EC
mov r0, #1
str r0, [sp]
ldr r0, [sp, #0x24]
ldr r1, [sp, #0x20]
ldr r3, [sp, #0x18]
add r2, r4, #0
str r6, [sp, #4]
bl sub_0200D71C
add r0, r4, #0
bl NARC_dtor
add sp, #0x28
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
_02265F1C: .word ov12_0226E0D0
_02265F20: .word 0x00004E2D
_02265F24: .word ov12_0226E0A0
_02265F28: .word 0x00004E2E
_02265F2C: .word ov12_0226E168
_02265F30: .word 0x00004E29
thumb_func_end ov12_02265E28
thumb_func_start ov12_02265F34
ov12_02265F34: ; 0x02265F34
push {r3, r4, r5, lr}
add r4, r0, #0
ldr r0, [r4, #4]
bl ov12_0223A8E4
add r5, r0, #0
ldr r0, [r4, #4]
bl ov12_0223A8EC
add r1, r0, #0
add r0, r5, #0
ldrb r3, [r4, #8]
mov r2, #0x34
ldr r5, _02265F64 ; =ov12_0226E100
mul r2, r3
add r2, r5, r2
bl sub_0200D734
str r0, [r4]
ldr r0, [r0]
bl sub_0200DC0C
pop {r3, r4, r5, pc}
nop
_02265F64: .word ov12_0226E100
thumb_func_end ov12_02265F34
thumb_func_start ov12_02265F68
ov12_02265F68: ; 0x02265F68
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
cmp r0, #0
beq _02265F7A
bl sub_0200D9DC
mov r0, #0
str r0, [r4]
_02265F7A:
pop {r4, pc}
thumb_func_end ov12_02265F68
thumb_func_start ov12_02265F7C
ov12_02265F7C: ; 0x02265F7C
push {r3, r4, r5, lr}
add r5, r0, #0
ldr r0, [r5, #4]
bl ov12_0223A8EC
add r4, r0, #0
ldrb r0, [r5, #8]
cmp r0, #0
bne _02265F92
ldr r1, _02265FB8 ; =0x00004E2D
b _02265F94
_02265F92:
ldr r1, _02265FBC ; =0x00004E2E
_02265F94:
add r5, r1, #0
add r0, r4, #0
sub r5, #8
bl sub_0200D958
ldr r1, _02265FC0 ; =0x00004E29
add r0, r4, #0
bl sub_0200D968
add r0, r4, #0
add r1, r5, #0
bl sub_0200D978
add r0, r4, #0
add r1, r5, #0
bl sub_0200D988
pop {r3, r4, r5, pc}
.balign 4, 0
_02265FB8: .word 0x00004E2D
_02265FBC: .word 0x00004E2E
_02265FC0: .word 0x00004E29
thumb_func_end ov12_02265F7C
thumb_func_start ov12_02265FC4
ov12_02265FC4: ; 0x02265FC4
push {r3, lr}
ldr r0, [r0]
cmp r0, #0
beq _02265FD0
bl sub_0200DCE8
_02265FD0:
pop {r3, pc}
.balign 4, 0
thumb_func_end ov12_02265FC4
thumb_func_start ov12_02265FD4
ov12_02265FD4: ; 0x02265FD4
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r4, r1, #0
add r6, r2, #0
mov r0, #0
add r1, r5, #0
mov r2, #0x10
add r7, r3, #0
bl MIi_CpuClearFast
str r4, [r5, #4]
strb r6, [r5, #8]
strb r7, [r5, #9]
cmp r7, #0x18
blt _02265FFA
bl GF_AssertFail
mov r0, #0
strb r0, [r5, #9]
_02265FFA:
add r0, r5, #0
bl ov12_02265E28
add r0, r5, #0
bl ov12_02265F34
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov12_02265FD4
thumb_func_start ov12_02266008
ov12_02266008: ; 0x02266008
push {r4, lr}
add r4, r0, #0
bl ov12_02265F68
add r0, r4, #0
bl ov12_02265F7C
mov r0, #0
add r1, r4, #0
mov r2, #0x10
bl MIi_CpuClearFast
pop {r4, pc}
.balign 4, 0
thumb_func_end ov12_02266008
.rodata
ov12_0226E0A0: ; 0x0226E0A0
.byte 0x88, 0x00, 0x92, 0x00, 0x82, 0x00, 0x98, 0x00, 0x8C, 0x00, 0x96, 0x00, 0x8E, 0x00, 0x86, 0x00
.byte 0x8A, 0x00, 0x90, 0x00, 0x94, 0x00, 0x94, 0x00, 0x9A, 0x00, 0x9C, 0x00, 0x9E, 0x00, 0xA0, 0x00
.byte 0xA2, 0x00, 0xA4, 0x00, 0xA6, 0x00, 0xA8, 0x00, 0xAA, 0x00, 0xAC, 0x00, 0xAE, 0x00, 0xB0, 0x00
ov12_0226E0D0: ; 0x0226E0D0
.byte 0x87, 0x00, 0x91, 0x00, 0x7F, 0x00, 0x97, 0x00, 0x8B, 0x00, 0x95, 0x00, 0x8D, 0x00, 0x85, 0x00
.byte 0x89, 0x00, 0x8F, 0x00, 0x93, 0x00, 0x97, 0x00, 0x99, 0x00, 0x9B, 0x00, 0x9D, 0x00, 0x9F, 0x00
.byte 0xA1, 0x00, 0xA3, 0x00, 0xA5, 0x00, 0xA7, 0x00, 0xA9, 0x00, 0xAB, 0x00, 0xAD, 0x00, 0xAF, 0x00
ov12_0226E100: ; 0x0226E100
.byte 0x50, 0x01, 0x88, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE8, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x01, 0x00, 0x00, 0x00, 0x2D, 0x4E, 0x00, 0x00, 0x29, 0x4E, 0x00, 0x00, 0x25, 0x4E, 0x00, 0x00
.byte 0x25, 0x4E, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x03, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0xB0, 0xFF, 0x58, 0x00, 0x00, 0x00, 0x00, 0x00, 0xE8, 0x03, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x2E, 0x4E, 0x00, 0x00, 0x29, 0x4E, 0x00, 0x00
.byte 0x26, 0x4E, 0x00, 0x00, 0x26, 0x4E, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
ov12_0226E168: ; 0x0226E168
.byte 0x07, 0x00, 0x08, 0x00, 0x09, 0x00, 0x16, 0x00
.byte 0x17, 0x00, 0x18, 0x00, 0x01, 0x00, 0x02, 0x00, 0x03, 0x00, 0x1F, 0x00, 0x20, 0x00, 0x21, 0x00
.byte 0x0D, 0x00, 0x0E, 0x00, 0x0F, 0x00, 0x1C, 0x00, 0x1D, 0x00, 0x1E, 0x00, 0x10, 0x00, 0x11, 0x00
.byte 0x12, 0x00, 0x04, 0x00, 0x05, 0x00, 0x06, 0x00, 0x0A, 0x00, 0x0B, 0x00, 0x0C, 0x00, 0x13, 0x00
.byte 0x14, 0x00, 0x15, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1B, 0x00, 0x19, 0x00, 0x1A, 0x00, 0x1B, 0x00
.byte 0x22, 0x00, 0x23, 0x00, 0x24, 0x00, 0x25, 0x00, 0x26, 0x00, 0x27, 0x00, 0x28, 0x00, 0x29, 0x00
.byte 0x2A, 0x00, 0x2B, 0x00, 0x2C, 0x00, 0x2D, 0x00, 0x2E, 0x00, 0x2F, 0x00, 0x30, 0x00, 0x31, 0x00
.byte 0x32, 0x00, 0x33, 0x00, 0x34, 0x00, 0x35, 0x00, 0x36, 0x00, 0x37, 0x00, 0x38, 0x00, 0x39, 0x00
.byte 0x3A, 0x00, 0x3B, 0x00, 0x3C, 0x00, 0x3D, 0x00, 0x3E, 0x00, 0x3F, 0x00, 0x40, 0x00, 0x41, 0x00
.byte 0x42, 0x00, 0x43, 0x00, 0x44, 0x00, 0x45, 0x00

10292
asm/overlay_12_02266024.s Normal file

File diff suppressed because it is too large Load Diff

1515
asm/overlay_12_0226ADE0.s Normal file

File diff suppressed because it is too large Load Diff

381
asm/overlay_12_0226B8FC.s Normal file
View File

@ -0,0 +1,381 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start ov12_0226B8FC
ov12_0226B8FC: ; 0x0226B8FC
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r1, #0
mov r0, #8
add r1, r3, #0
add r7, r2, #0
bl NARC_ctor
add r6, r0, #0
str r6, [sp]
mov r0, #0x50
str r0, [sp, #4]
mov r0, #0
str r0, [sp, #8]
mov r0, #1
str r0, [sp, #0xc]
mov r0, #2
str r0, [sp, #0x10]
ldr r0, [sp, #0x34]
mov r1, #3
str r0, [sp, #0x14]
add r0, r7, #0
add r2, r5, #0
add r3, r4, #0
bl sub_0200D68C
mov r0, #1
str r0, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, [sp, #0x30]
add r1, r4, #0
str r0, [sp, #8]
add r0, r5, #0
add r2, r6, #0
mov r3, #0xfa
bl sub_0200D504
mov r0, #1
str r0, [sp]
ldr r0, [sp, #0x38]
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
add r2, r6, #0
mov r3, #0xfb
bl sub_0200D6EC
mov r0, #1
str r0, [sp]
ldr r0, [sp, #0x3c]
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
add r2, r6, #0
mov r3, #0xfc
bl sub_0200D71C
add r0, r6, #0
bl NARC_dtor
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov12_0226B8FC
thumb_func_start ov12_0226B97C
ov12_0226B97C: ; 0x0226B97C
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r2, #0
add r6, r3, #0
bl sub_0200D958
add r0, r5, #0
add r1, r4, #0
bl sub_0200D968
add r0, r5, #0
add r1, r6, #0
bl sub_0200D978
ldr r1, [sp, #0x10]
add r0, r5, #0
bl sub_0200D988
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov12_0226B97C
thumb_func_start ov12_0226B9A4
ov12_0226B9A4: ; 0x0226B9A4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
add r5, r3, #0
mov ip, r2
ldr r3, _0226BA1C ; =ov12_0226EBA0
add r6, r0, #0
add r7, r1, #0
add r2, sp, #4
mov r4, #6
_0226B9B6:
ldmia r3!, {r0, r1}
stmia r2!, {r0, r1}
sub r4, r4, #1
bne _0226B9B6
ldr r0, [r3]
mov r1, #0x18
str r0, [r2]
ldr r0, [sp, #0x50]
str r5, [sp, #0x18]
str r0, [sp, #0x1c]
ldr r0, [sp, #0x54]
str r0, [sp, #0x20]
ldr r0, [sp, #0x58]
str r0, [sp, #0x24]
ldr r0, [sp, #0x5c]
str r0, [sp, #0xc]
ldr r0, [sp, #0x60]
str r0, [sp, #0x30]
mov r0, ip
bl AllocFromHeap
mov r1, #0
mov r2, #0x18
str r0, [sp]
bl MI_CpuFill8
ldr r5, [sp]
mov r4, #0
_0226B9EE:
add r0, r6, #0
add r1, r7, #0
add r2, sp, #4
bl sub_0200D734
mov r1, #0
stmia r5!, {r0}
bl sub_0200DCE8
add r4, r4, #1
cmp r4, #5
blt _0226B9EE
ldr r0, _0226BA20 ; =ov12_0226BB90
ldr r1, [sp]
ldr r2, _0226BA24 ; =0x00009C40
bl CreateSysTask
ldr r1, [sp]
str r0, [r1, #0x14]
add r0, r1, #0
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
nop
_0226BA1C: .word ov12_0226EBA0
_0226BA20: .word ov12_0226BB90
_0226BA24: .word 0x00009C40
thumb_func_end ov12_0226B9A4
thumb_func_start ov12_0226BA28
ov12_0226BA28: ; 0x0226BA28
push {r4, r5, r6, lr}
add r6, r0, #0
mov r4, #0
add r5, r6, #0
_0226BA30:
ldr r0, [r5]
bl sub_0200D9DC
add r4, r4, #1
add r5, r5, #4
cmp r4, #5
blt _0226BA30
ldr r0, [r6, #0x14]
bl DestroySysTask
add r0, r6, #0
bl FreeToHeap
pop {r4, r5, r6, pc}
thumb_func_end ov12_0226BA28
thumb_func_start ov12_0226BA4C
ov12_0226BA4C: ; 0x0226BA4C
push {r4, r5, r6, lr}
add r5, r0, #0
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r4, [sp, #0x24]
add r6, r3, #0
ldr r0, [r5]
asr r1, r1, #0x10
asr r2, r2, #0x10
add r3, r4, #0
bl sub_0200DDF4
ldr r2, [sp, #0x10]
lsl r1, r6, #0x10
lsl r2, r2, #0x10
ldr r0, [r5, #4]
asr r1, r1, #0x10
asr r2, r2, #0x10
add r3, r4, #0
bl sub_0200DDF4
ldr r1, [sp, #0x14]
ldr r2, [sp, #0x18]
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r5, #8]
asr r1, r1, #0x10
asr r2, r2, #0x10
add r3, r4, #0
bl sub_0200DDF4
ldr r1, [sp, #0x1c]
ldr r2, [sp, #0x20]
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r5, #0xc]
asr r1, r1, #0x10
asr r2, r2, #0x10
add r3, r4, #0
bl sub_0200DDF4
ldr r0, [r5]
mov r1, #0
bl sub_0200DC4C
ldr r0, [r5, #4]
mov r1, #1
bl sub_0200DC4C
ldr r0, [r5, #8]
mov r1, #2
bl sub_0200DC4C
ldr r0, [r5, #0xc]
mov r1, #3
bl sub_0200DC4C
mov r4, #0
mov r6, #1
_0226BAC2:
ldr r0, [r5]
add r1, r6, #0
bl sub_0200DCE8
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _0226BAC2
pop {r4, r5, r6, pc}
thumb_func_end ov12_0226BA4C
thumb_func_start ov12_0226BAD4
ov12_0226BAD4: ; 0x0226BAD4
push {r4, lr}
sub sp, #0x18
ldr r4, [sp, #0x20]
str r4, [sp]
ldr r4, [sp, #0x24]
str r4, [sp, #4]
ldr r4, [sp, #0x28]
str r4, [sp, #8]
ldr r4, [sp, #0x2c]
str r4, [sp, #0xc]
ldr r4, [sp, #0x30]
str r4, [sp, #0x10]
mov r4, #3
lsl r4, r4, #0x12
str r4, [sp, #0x14]
bl ov12_0226BA4C
add sp, #0x18
pop {r4, pc}
.balign 4, 0
thumb_func_end ov12_0226BAD4
thumb_func_start ov12_0226BAFC
ov12_0226BAFC: ; 0x0226BAFC
push {r3, r4, lr}
sub sp, #0x14
add r4, r2, #0
str r3, [sp]
ldr r2, [sp, #0x20]
str r1, [sp, #4]
str r2, [sp, #8]
str r4, [sp, #0xc]
str r2, [sp, #0x10]
add r2, r3, #0
add r3, r4, #0
bl ov12_0226BAD4
add sp, #0x14
pop {r3, r4, pc}
.balign 4, 0
thumb_func_end ov12_0226BAFC
thumb_func_start ov12_0226BB1C
ov12_0226BB1C: ; 0x0226BB1C
push {r4, lr}
sub sp, #0x18
add r4, r2, #0
str r3, [sp]
ldr r2, [sp, #0x20]
str r1, [sp, #4]
str r2, [sp, #8]
str r4, [sp, #0xc]
str r2, [sp, #0x10]
ldr r2, [sp, #0x24]
str r2, [sp, #0x14]
add r2, r3, #0
add r3, r4, #0
bl ov12_0226BA4C
add sp, #0x18
pop {r4, pc}
.balign 4, 0
thumb_func_end ov12_0226BB1C
thumb_func_start ov12_0226BB40
ov12_0226BB40: ; 0x0226BB40
push {r3, r4, r5, lr}
add r5, r0, #0
add r4, r3, #0
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r5, #0x10]
ldr r3, [sp, #0x10]
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200DDF4
ldr r0, [r5, #0x10]
add r1, r4, #0
bl sub_0200DC4C
ldr r0, [r5, #0x10]
mov r1, #1
bl sub_0200DCE8
pop {r3, r4, r5, pc}
thumb_func_end ov12_0226BB40
thumb_func_start ov12_0226BB68
ov12_0226BB68: ; 0x0226BB68
push {r4, r5, r6, lr}
mov r4, #0
add r5, r0, #0
add r6, r4, #0
_0226BB70:
ldr r0, [r5]
add r1, r6, #0
bl sub_0200DCE8
add r4, r4, #1
add r5, r5, #4
cmp r4, #5
blt _0226BB70
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov12_0226BB68
thumb_func_start ov12_0226BB84
ov12_0226BB84: ; 0x0226BB84
ldr r3, _0226BB8C ; =sub_0200DCE8
ldr r0, [r0, #0x10]
mov r1, #0
bx r3
.balign 4, 0
_0226BB8C: .word sub_0200DCE8
thumb_func_end ov12_0226BB84
thumb_func_start ov12_0226BB90
ov12_0226BB90: ; 0x0226BB90
push {r4, r5, r6, lr}
add r6, r1, #0
ldr r0, [r6]
bl sub_0200DCFC
cmp r0, #0
beq _0226BBC0
mov r4, #0
add r5, r6, #0
_0226BBA2:
ldr r0, [r5]
bl sub_0200DC18
add r4, r4, #1
add r5, r5, #4
cmp r4, #4
blt _0226BBA2
ldr r0, [r6, #0x10]
bl sub_0200DCFC
cmp r0, #1
bne _0226BBC0
ldr r0, [r6, #0x10]
bl sub_0200DC18
_0226BBC0:
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov12_0226BB90
.rodata
ov12_0226EBA0: ; 0x0226EBA0
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00

419
asm/overlay_12_0226BBC4.s Normal file
View File

@ -0,0 +1,419 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start ov12_0226BBC4
ov12_0226BBC4: ; 0x0226BBC4
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x18
add r5, r0, #0
add r4, r1, #0
mov r0, #0xa4
add r1, r2, #0
add r7, r3, #0
bl NARC_ctor
add r6, r0, #0
str r6, [sp]
mov r1, #1
str r1, [sp, #4]
mov r0, #0
str r0, [sp, #8]
str r1, [sp, #0xc]
mov r0, #2
str r0, [sp, #0x10]
ldr r0, [sp, #0x34]
mov r1, #3
str r0, [sp, #0x14]
add r0, r7, #0
add r2, r5, #0
add r3, r4, #0
bl sub_0200D68C
mov r3, #0
str r3, [sp]
mov r0, #2
str r0, [sp, #4]
ldr r0, [sp, #0x30]
add r1, r4, #0
str r0, [sp, #8]
add r0, r5, #0
add r2, r6, #0
bl sub_0200D504
mov r0, #0
str r0, [sp]
ldr r0, [sp, #0x38]
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
add r2, r6, #0
mov r3, #2
bl sub_0200D6EC
mov r0, #0
str r0, [sp]
ldr r0, [sp, #0x3c]
add r1, r4, #0
str r0, [sp, #4]
add r0, r5, #0
add r2, r6, #0
mov r3, #3
bl sub_0200D71C
add r0, r6, #0
bl NARC_dtor
add sp, #0x18
pop {r3, r4, r5, r6, r7, pc}
thumb_func_end ov12_0226BBC4
thumb_func_start ov12_0226BC40
ov12_0226BC40: ; 0x0226BC40
push {r4, r5, r6, lr}
add r5, r0, #0
add r4, r2, #0
add r6, r3, #0
bl sub_0200D958
add r0, r5, #0
add r1, r4, #0
bl sub_0200D968
add r0, r5, #0
add r1, r6, #0
bl sub_0200D978
ldr r1, [sp, #0x10]
add r0, r5, #0
bl sub_0200D988
pop {r4, r5, r6, pc}
.balign 4, 0
thumb_func_end ov12_0226BC40
thumb_func_start ov12_0226BC68
ov12_0226BC68: ; 0x0226BC68
push {r3, r4, r5, r6, r7, lr}
sub sp, #0x38
ldr r5, _0226BCD8 ; =ov12_0226EBD4
add r6, r3, #0
add r7, r0, #0
str r1, [sp]
add r4, sp, #4
mov r3, #6
_0226BC78:
ldmia r5!, {r0, r1}
stmia r4!, {r0, r1}
sub r3, r3, #1
bne _0226BC78
ldr r0, [r5]
mov r1, #0x20
str r0, [r4]
ldr r0, [sp, #0x50]
str r6, [sp, #0x18]
str r0, [sp, #0x1c]
ldr r0, [sp, #0x54]
str r0, [sp, #0x20]
ldr r0, [sp, #0x58]
str r0, [sp, #0x24]
ldr r0, [sp, #0x5c]
str r0, [sp, #0xc]
ldr r0, [sp, #0x60]
str r0, [sp, #0x30]
add r0, r2, #0
bl AllocFromHeap
mov r1, #0
mov r2, #0x20
add r4, r0, #0
bl MI_CpuFill8
ldr r1, [sp]
add r0, r7, #0
add r2, sp, #4
bl sub_0200D734
mov r1, #0
str r0, [r4]
bl sub_0200DCE8
mov r0, #3
lsl r0, r0, #0x12
str r0, [r4, #0x14]
ldr r0, _0226BCDC ; =ov12_0226BD54
ldr r2, _0226BCE0 ; =0x000003E7
add r1, r4, #0
bl CreateSysTask
str r0, [r4, #4]
add r0, r4, #0
add sp, #0x38
pop {r3, r4, r5, r6, r7, pc}
nop
_0226BCD8: .word ov12_0226EBD4
_0226BCDC: .word ov12_0226BD54
_0226BCE0: .word 0x000003E7
thumb_func_end ov12_0226BC68
thumb_func_start ov12_0226BCE4
ov12_0226BCE4: ; 0x0226BCE4
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
bl sub_0200D9DC
ldr r0, [r4, #4]
bl DestroySysTask
add r0, r4, #0
bl FreeToHeap
pop {r4, pc}
thumb_func_end ov12_0226BCE4
thumb_func_start ov12_0226BCFC
ov12_0226BCFC: ; 0x0226BCFC
push {r3, r4, r5, r6, r7, lr}
add r5, r0, #0
add r7, r1, #0
add r4, r2, #0
add r6, r3, #0
bl ov12_0226BEB8
str r7, [r5, #8]
str r4, [r5, #0xc]
str r6, [r5, #0x14]
lsl r1, r7, #0x10
lsl r2, r4, #0x10
ldr r0, [r5]
asr r1, r1, #0x10
asr r2, r2, #0x10
add r3, r6, #0
bl sub_0200DDF4
ldr r0, [r5]
mov r1, #1
bl sub_0200DCE8
pop {r3, r4, r5, r6, r7, pc}
.balign 4, 0
thumb_func_end ov12_0226BCFC
thumb_func_start ov12_0226BD2C
ov12_0226BD2C: ; 0x0226BD2C
push {r3, lr}
mov r3, #3
lsl r3, r3, #0x12
bl ov12_0226BCFC
pop {r3, pc}
thumb_func_end ov12_0226BD2C
thumb_func_start ov12_0226BD38
ov12_0226BD38: ; 0x0226BD38
push {r4, lr}
add r4, r0, #0
ldr r0, [r4]
mov r1, #0
bl sub_0200DCE8
add r0, r4, #0
bl ov12_0226BEB8
pop {r4, pc}
thumb_func_end ov12_0226BD38
thumb_func_start ov12_0226BD4C
ov12_0226BD4C: ; 0x0226BD4C
strh r1, [r0, #0x18]
bx lr
thumb_func_end ov12_0226BD4C
thumb_func_start ov12_0226BD50
ov12_0226BD50: ; 0x0226BD50
ldrb r0, [r0, #0x1b]
bx lr
thumb_func_end ov12_0226BD50
thumb_func_start ov12_0226BD54
ov12_0226BD54: ; 0x0226BD54
push {r3, r4, r5, r6, r7, lr}
add r4, r1, #0
ldrb r0, [r4, #0x1b]
cmp r0, #1
bne _0226BD62
mov r0, #0
strb r0, [r4, #0x1b]
_0226BD62:
mov r0, #0x18
ldrsh r1, [r4, r0]
cmp r1, #0
ble _0226BD78
sub r1, r1, #1
strh r1, [r4, #0x18]
ldrsh r0, [r4, r0]
cmp r0, #0
bne _0226BD78
mov r0, #1
strb r0, [r4, #0x1a]
_0226BD78:
ldr r0, [r4]
bl sub_0200DCFC
cmp r0, #0
bne _0226BD84
b _0226BEB0
_0226BD84:
ldrb r0, [r4, #0x1c]
cmp r0, #0
bne _0226BE06
mov r1, #0xfa
ldr r2, [r4, #0x10]
lsl r1, r1, #2
add r2, r2, r1
add r0, r4, #0
ldr r1, _0226BEB4 ; =0x00004650
add r0, #0x10
str r2, [r4, #0x10]
cmp r2, r1
blt _0226BDB2
ldr r2, [r0]
sub r1, r2, r1
str r1, [r0]
ldrb r0, [r4, #0x1a]
cmp r0, #1
bne _0226BDB2
mov r0, #1
strb r0, [r4, #0x1c]
mov r0, #0
strb r0, [r4, #0x1a]
_0226BDB2:
ldrb r0, [r4, #0x1c]
cmp r0, #0
bne _0226BE06
ldr r0, [r4, #0x10]
mov r1, #0x64
bl _s32_div_f
lsl r0, r0, #0x10
lsr r0, r0, #0x10
bl GF_SinDegNoWrap
mov r2, #0xe
asr r1, r0, #0x1f
lsl r2, r2, #0xc
mov r3, #0
bl _ll_mul
add r5, r1, #0
ldr r1, [r4, #8]
mov r2, #2
add r6, r0, #0
lsl r1, r1, #0x10
mov r7, #0
lsl r2, r2, #0xa
asr r1, r1, #0x10
add r2, r6, r2
adc r5, r7
lsl r5, r5, #0x14
lsr r2, r2, #0xc
orr r2, r5
asr r5, r2, #0xb
lsr r5, r5, #0x14
add r5, r2, r5
ldr r3, [r4, #0xc]
asr r2, r5, #0xc
sub r2, r3, r2
lsl r2, r2, #0x10
ldr r0, [r4]
ldr r3, [r4, #0x14]
asr r2, r2, #0x10
bl sub_0200DDF4
_0226BE06:
ldrb r0, [r4, #0x1c]
cmp r0, #1
bne _0226BEAA
ldrb r0, [r4, #0x1d]
cmp r0, #3
bhi _0226BEAA
add r0, r0, r0
add r0, pc
ldrh r0, [r0, #6]
lsl r0, r0, #0x10
asr r0, r0, #0x10
add pc, r0
_0226BE1E: ; jump table
.short _0226BE26 - _0226BE1E - 2 ; case 0
.short _0226BE3E - _0226BE1E - 2 ; case 1
.short _0226BE60 - _0226BE1E - 2 ; case 2
.short _0226BE8E - _0226BE1E - 2 ; case 3
_0226BE26:
ldrb r0, [r4, #0x1e]
add r0, r0, #1
strb r0, [r4, #0x1e]
ldrb r0, [r4, #0x1e]
cmp r0, #3
bls _0226BEAA
mov r0, #0
strb r0, [r4, #0x1e]
ldrb r0, [r4, #0x1d]
add r0, r0, #1
strb r0, [r4, #0x1d]
b _0226BEAA
_0226BE3E:
ldr r2, [r4, #0xc]
ldr r1, [r4, #8]
add r2, #8
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r4]
ldr r3, [r4, #0x14]
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200DDF4
mov r0, #1
strb r0, [r4, #0x1b]
ldrb r0, [r4, #0x1d]
add r0, r0, #1
strb r0, [r4, #0x1d]
b _0226BEAA
_0226BE60:
ldrb r0, [r4, #0x1e]
add r0, r0, #1
strb r0, [r4, #0x1e]
ldrb r0, [r4, #0x1e]
cmp r0, #2
bls _0226BEAA
ldr r2, [r4, #0xc]
ldr r1, [r4, #8]
add r2, r2, #2
lsl r1, r1, #0x10
lsl r2, r2, #0x10
ldr r0, [r4]
ldr r3, [r4, #0x14]
asr r1, r1, #0x10
asr r2, r2, #0x10
bl sub_0200DDF4
mov r0, #0
strb r0, [r4, #0x1e]
ldrb r0, [r4, #0x1d]
add r0, r0, #1
strb r0, [r4, #0x1d]
b _0226BEAA
_0226BE8E:
ldrb r0, [r4, #0x1e]
add r0, r0, #1
strb r0, [r4, #0x1e]
ldrb r0, [r4, #0x1e]
cmp r0, #2
bls _0226BEAA
add r0, r4, #0
bl ov12_0226BD38
mov r0, #0
strb r0, [r4, #0x1e]
ldrb r0, [r4, #0x1d]
add r0, r0, #1
strb r0, [r4, #0x1d]
_0226BEAA:
ldr r0, [r4]
bl sub_0200DC18
_0226BEB0:
pop {r3, r4, r5, r6, r7, pc}
nop
_0226BEB4: .word 0x00004650
thumb_func_end ov12_0226BD54
thumb_func_start ov12_0226BEB8
ov12_0226BEB8: ; 0x0226BEB8
mov r1, #0
str r1, [r0, #0x10]
strb r1, [r0, #0x1c]
strb r1, [r0, #0x1d]
strb r1, [r0, #0x1e]
bx lr
thumb_func_end ov12_0226BEB8
.rodata
ov12_0226EBD4: ; 0x0226EBD4
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x02, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF, 0xFF
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
.section .sinit,4
.word ov12_022399BC

141
asm/overlay_12_0226BEC4.s Normal file
View File

@ -0,0 +1,141 @@
.include "asm/macros.inc"
.include "global.inc"
.text
thumb_func_start ov12_0226BEC4
ov12_0226BEC4: ; 0x0226BEC4
push {r3, r4, r5, lr}
add r5, r0, #0
mov r0, #5
mov r1, #8
bl AllocFromHeap
mov r1, #0
mov r2, #8
add r4, r0, #0
bl MI_CpuFill8
mov r2, #0xfa
ldr r0, _0226BEEC ; =ov12_0226BF04
add r1, r4, #0
lsl r2, r2, #2
str r5, [r4]
bl CreateSysTask
pop {r3, r4, r5, pc}
nop
_0226BEEC: .word ov12_0226BF04
thumb_func_end ov12_0226BEC4
thumb_func_start ov12_0226BEF0
ov12_0226BEF0: ; 0x0226BEF0
push {r4, lr}
add r4, r0, #0
bl sub_0201F988
bl FreeToHeap
add r0, r4, #0
bl DestroySysTask
pop {r4, pc}
thumb_func_end ov12_0226BEF0
thumb_func_start ov12_0226BF04
ov12_0226BF04: ; 0x0226BF04
push {r3, r4, r5, r6, r7, lr}
sub sp, #8
add r4, r1, #0
ldr r0, [r4]
bl ov12_0223A900
mov r1, #4
ldrsh r1, [r4, r1]
add r5, r0, #0
cmp r1, #4
bhi _0226BFCE
add r1, r1, r1
add r1, pc
ldrh r1, [r1, #6]
lsl r1, r1, #0x10
asr r1, r1, #0x10
add pc, r1
_0226BF26: ; jump table
.short _0226BF30 - _0226BF26 - 2 ; case 0
.short _0226BF76 - _0226BF26 - 2 ; case 1
.short _0226BF8A - _0226BF26 - 2 ; case 2
.short _0226BFB0 - _0226BF26 - 2 ; case 3
.short _0226BFCE - _0226BF26 - 2 ; case 4
_0226BF30:
cmp r5, #0
bne _0226BF38
bl GF_AssertFail
_0226BF38:
mov r0, #7
mov r1, #5
bl NARC_ctor
add r6, r0, #0
mov r0, #8
mov r1, #5
bl NARC_ctor
add r7, r0, #0
mov r0, #0
str r0, [sp]
str r0, [sp, #4]
add r0, r6, #0
add r1, r7, #0
add r2, r5, #0
mov r3, #0x12
bl ov12_02266508
add r0, r6, #0
bl NARC_dtor
add r0, r7, #0
bl NARC_dtor
mov r0, #4
ldrsh r0, [r4, r0]
add sp, #8
add r0, r0, #1
strh r0, [r4, #4]
pop {r3, r4, r5, r6, r7, pc}
_0226BF76:
bl ov12_02266C64
cmp r0, #1
bne _0226BFCE
mov r0, #4
ldrsh r0, [r4, r0]
add sp, #8
add r0, r0, #1
strh r0, [r4, #4]
pop {r3, r4, r5, r6, r7, pc}
_0226BF8A:
ldr r0, [r4]
bl ov12_0223C080
cmp r0, #1
bne _0226BFCE
add r0, r5, #0
bl ov12_02266B78
cmp r0, #1
bne _0226BFCE
ldr r0, _0226BFD4 ; =0x000005DD
bl PlaySE
mov r0, #4
ldrsh r0, [r4, r0]
add sp, #8
add r0, r0, #1
strh r0, [r4, #4]
pop {r3, r4, r5, r6, r7, pc}
_0226BFB0:
mov r0, #6
ldrsh r1, [r4, r0]
add r1, r1, #1
strh r1, [r4, #6]
ldrsh r0, [r4, r0]
cmp r0, #8
ble _0226BFCE
ldr r0, [r4]
mov r1, #0
bl ov12_0223BFFC
mov r0, #4
ldrsh r0, [r4, r0]
add r0, r0, #1
strh r0, [r4, #4]
_0226BFCE:
add sp, #8
pop {r3, r4, r5, r6, r7, pc}
nop
_0226BFD4: .word 0x000005DD
thumb_func_end ov12_0226BF04

View File

@ -151,7 +151,7 @@ BtlCmd_ResetAllStatChanges: ; 0x0223FA1C
mov r1, #1
bl BattleScriptIncrementPointer
add r0, r5, #0
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
mov r2, #0
cmp r0, #0
ble _0223FA5C
@ -4232,7 +4232,7 @@ BtlCmd_TryPerishSong: ; 0x02241A04
bl BattleScriptReadWord
str r0, [sp, #8]
add r0, r4, #0
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
mov r2, #0x4d
mov r7, #0
str r0, [sp, #4]
@ -4357,7 +4357,7 @@ BtlCmd_JumpIfValidBattlerVar: ; 0x02241AEC
bl ov12_02245528
add r6, r0, #0
add r0, r5, #0
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
ldr r1, [r6]
cmp r1, r0
bhs _02241B2A
@ -6560,13 +6560,13 @@ BtlCmd_TrySetMagicCoat: ; 0x02242C80
add r7, r0, #0
add r0, r5, #0
mov r4, #0
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
cmp r0, #0
ble _02242CAE
_02242CA2:
add r0, r5, #0
add r4, r4, #1
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
cmp r4, r0
blt _02242CA2
_02242CAE:
@ -7083,7 +7083,7 @@ _02243098:
bl ov12_0223AB1C
str r0, [sp, #0x10]
ldr r0, [sp]
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
str r0, [sp, #8]
mov r0, #0
str r0, [sp, #0xc]
@ -7270,13 +7270,13 @@ BtlCmd_TrySnatch: ; 0x022431F0
add r7, r0, #0
add r0, r5, #0
mov r4, #0
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
cmp r0, #0
ble _0224321E
_02243212:
add r0, r5, #0
add r4, r4, #1
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
cmp r4, r0
blt _02243212
_0224321E:
@ -7466,7 +7466,7 @@ BtlCmd_TryPursuit: ; 0x0224336C
bl BattleScriptReadWord
str r0, [sp, #0x10]
ldr r0, [sp]
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
mov r7, #0
str r0, [sp, #0xc]
cmp r0, #0
@ -9008,7 +9008,7 @@ BtlCmd_CheckMoldBreaker: ; 0x02243F18
cmp r4, #0
bne _02243FC8
add r0, r6, #0
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
mov r6, #0
str r0, [sp]
cmp r0, #0
@ -9857,7 +9857,7 @@ BtlCmd_MonList: ; 0x0224460C
sub sp, #8
add r4, r1, #0
add r5, r0, #0
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
add r0, r4, #0
mov r1, #1
bl BattleScriptIncrementPointer
@ -10582,7 +10582,7 @@ BtlCmd_198: ; 0x02244BAC
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r4, r0, #0
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
add r6, r0, #0
add r0, r5, #0
mov r1, #1
@ -10656,7 +10656,7 @@ BtlCmd_199: ; 0x02244C3C
push {r3, r4, r5, r6, r7, lr}
add r5, r1, #0
add r4, r0, #0
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
add r6, r0, #0
add r0, r5, #0
mov r1, #1
@ -14857,7 +14857,7 @@ _02246DB0:
bl ov12_0223BCF0
ldr r0, [r4]
mov r5, #0
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
cmp r0, #0
ble _02246E18
add r7, r5, #0
@ -14874,7 +14874,7 @@ _02246DF6:
_02246E0C:
ldr r0, [r4]
add r5, r5, #1
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
cmp r5, r0
blt _02246DF6
_02246E18:
@ -16007,7 +16007,7 @@ _022476F2:
ldr r5, [r6]
b _022478E2
_022476F8:
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
add r6, r0, #0
mov r5, #0
cmp r6, #0
@ -16027,7 +16027,7 @@ _02247706:
_0224771C:
b _022478E2
_0224771E:
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
add r6, r0, #0
mov r5, #0
cmp r6, #0
@ -16058,7 +16058,7 @@ _02247754:
mov r6, #1
_02247756:
add r0, r4, #0
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
add r7, r0, #0
mov r5, #0
cmp r7, #0
@ -16077,7 +16077,7 @@ _02247764:
_0224777A:
b _022478E2
_0224777C:
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
add r6, r0, #0
mov r5, #0
cmp r6, #0
@ -16097,7 +16097,7 @@ _0224778A:
_022477A0:
b _022478E2
_022477A2:
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
add r6, r0, #0
mov r5, #0
cmp r6, #0
@ -16128,7 +16128,7 @@ _022477D8:
mov r6, #0
_022477DA:
add r0, r4, #0
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
add r7, r0, #0
mov r5, #0
cmp r7, #0
@ -16156,7 +16156,7 @@ _02247808:
ldr r5, [r6, r0]
b _022478E2
_02247810:
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
mov r5, #0
str r0, [sp, #4]
cmp r0, #0
@ -16187,7 +16187,7 @@ _02247842:
mov r5, #0
b _022478E2
_0224784C:
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
mov r5, #0
str r0, [sp]
cmp r0, #0
@ -16218,7 +16218,7 @@ _0224787E:
mov r5, #0
b _022478E2
_02247888:
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
add r7, r0, #0
ldr r1, [r6, #0x64]
add r0, r4, #0
@ -16238,7 +16238,7 @@ _0224789E:
blt _0224789E
b _022478E2
_022478B2:
bl ov12_0223A7F0
bl BattleSys_GetMaxBattlers
add r7, r0, #0
ldr r1, [r6, #0x6c]
add r0, r4, #0

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -11365,7 +11365,7 @@
.public ov12_0223A7E0
.public ov12_0223A7E4
.public ov12_0223A7E8
.public ov12_0223A7F0
.public BattleSys_GetMaxBattlers
.public ov12_0223A7F4
.public ov12_0223A834
.public ov12_0223A880

View File

@ -564,9 +564,21 @@ Overlay OVY_12
{
After OVY_7
Object asm/overlay_12_022378C0.o
Object asm/overlay_12_battle_system.o
Object src/battle_command.o
Object asm/overlay_12_battle_command.o
Object asm/overlay_12_02248660.o
Object asm/overlay_12_battle_controller_player.o
Object asm/overlay_12_0224E4FC.o
Object asm/overlay_12_battle_controller_opponent.o
Object asm/overlay_12_02261FD4.o
Object asm/overlay_12_battle_controller.o
Object asm/overlay_12_02264824.o
Object asm/overlay_12_02265E28.o
Object asm/overlay_12_02266024.o
Object asm/overlay_12_0226ADE0.o
Object asm/overlay_12_0226B8FC.o
Object asm/overlay_12_0226BBC4.o
Object asm/overlay_12_0226BEC4.o
}
Overlay OVY_13
{

View File

@ -34,26 +34,26 @@ BOOL BtlCmd_0(BattleSystem *bsys, BATTLECONTEXT *ctx) {
}
BOOL BtlCmd_1(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i;
int unkA = ov12_0223A7F0(bsys);
int battlerId;
int battlersMax = BattleSys_GetMaxBattlers(bsys);
BattleScriptIncrementPointer(ctx, 1);
switch (BattleScriptReadWord(ctx)) {
default:
case 0:
for (i = 0; i < unkA; i++) {
ov12_022622F0(bsys, i);
ov12_0223C288(bsys, i);
case B_SIDE_ALL:
for (battlerId = 0; battlerId < battlersMax; battlerId++) {
ov12_022622F0(bsys, battlerId);
ov12_0223C288(bsys, battlerId);
}
break;
case 3:
case B_SIDE_PLAYER:
break;
case 4:
case B_SIDE_OPPONENT:
OpponentData *opponentData;
for (i = 0; i < unkA; i++) {
opponentData = ov12_0223A7E8(bsys, i);
for (battlerId = 0; battlerId < battlersMax; battlerId++) {
opponentData = ov12_0223A7E8(bsys, battlerId);
if (opponentData->unk195 & 1) {
ov12_022622F0(bsys, i);
ov12_0223C288(bsys, i);
ov12_022622F0(bsys, battlerId);
ov12_0223C288(bsys, battlerId);
}
}
break;
@ -64,7 +64,7 @@ BOOL BtlCmd_1(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_PokemonSlideIn(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i;
int unkA = ov12_0223A7F0(bsys);
int unkA = BattleSys_GetMaxBattlers(bsys);
OpponentData *opponentData;
@ -144,7 +144,7 @@ BOOL BtlCmd_PokemonSlideIn(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_3(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i;
int unkA = ov12_0223A7F0(bsys);
int unkA = BattleSys_GetMaxBattlers(bsys);
OpponentData *opponentData;
@ -224,7 +224,7 @@ BOOL BtlCmd_3(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_4(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i;
int unkA = ov12_0223A7F0(bsys);
int unkA = BattleSys_GetMaxBattlers(bsys);
OpponentData *opponentData;
BattleScriptIncrementPointer(ctx, 1);
@ -271,7 +271,7 @@ BOOL BtlCmd_5(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_6(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i;
int unkA = ov12_0223A7F0(bsys);
int unkA = BattleSys_GetMaxBattlers(bsys);
OpponentData *opponentData;
BattleScriptIncrementPointer(ctx, 1);
@ -329,7 +329,7 @@ BOOL BtlCmd_6(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_ThrowPokeball(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i;
int unkA = ov12_0223A7F0(bsys);
int unkA = BattleSys_GetMaxBattlers(bsys);
OpponentData *opponentData;
BattleScriptIncrementPointer(ctx, 1);
@ -383,7 +383,7 @@ BOOL BtlCmd_ThrowPokeball(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_8(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i;
int unkA = ov12_0223A7F0(bsys);
int unkA = BattleSys_GetMaxBattlers(bsys);
OpponentData *opponentData;
BattleScriptIncrementPointer(ctx, 1);
@ -470,7 +470,7 @@ BOOL BtlCmd_8(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_9(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i;
int unkA = ov12_0223A7F0(bsys);
int unkA = BattleSys_GetMaxBattlers(bsys);
OpponentData *opponentData;
BattleScriptIncrementPointer(ctx, 1);
@ -553,7 +553,7 @@ BOOL BtlCmd_9(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_10(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i;
int unkA = ov12_0223A7F0(bsys);
int unkA = BattleSys_GetMaxBattlers(bsys);
BattleScriptIncrementPointer(ctx, 1);
for (i = 0; i < unkA; i++) {
@ -566,7 +566,7 @@ BOOL BtlCmd_10(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_HealthbarSlideIn(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i;
int unkA = ov12_0223A7F0(bsys);
int unkA = BattleSys_GetMaxBattlers(bsys);
OpponentData *opponentData;
BattleScriptIncrementPointer(ctx, 1);
@ -604,7 +604,7 @@ BOOL BtlCmd_HealthbarSlideIn(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_12(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i;
int unkA = ov12_0223A7F0(bsys);
int unkA = BattleSys_GetMaxBattlers(bsys);
OpponentData *opponentData;
u8 delay;
@ -647,7 +647,7 @@ BOOL BtlCmd_12(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_13(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i;
int unkA = ov12_0223A7F0(bsys);
int unkA = BattleSys_GetMaxBattlers(bsys);
OpponentData *opponentData;
BattleScriptIncrementPointer(ctx, 1);
@ -1269,7 +1269,7 @@ BOOL BtlCmd_GetExpLoop(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_ShowParty(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i, unkA, unkB;
int unkC = ov12_0223A7F0(bsys);
int unkC = BattleSys_GetMaxBattlers(bsys);
BattleScriptIncrementPointer(ctx, 1);
@ -1309,7 +1309,7 @@ BOOL BtlCmd_ShowParty(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_WaitForMonSelection(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i;
int unkA = ov12_0223A7F0(bsys);
int unkA = BattleSys_GetMaxBattlers(bsys);
int unkB = 0;
for (i = 0; i < unkA; i++) {
@ -1380,7 +1380,7 @@ BOOL BtlCmd_SwitchInDataUpdate(BattleSystem *bsys, BATTLECONTEXT *ctx) {
BOOL BtlCmd_JumpIfCantSwitch(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int i;
int unkA = ov12_0223A7F0(bsys);
int unkA = BattleSys_GetMaxBattlers(bsys);
BattleScriptIncrementPointer(ctx, 1);
@ -1800,7 +1800,7 @@ BOOL BtlCmd_CheckAbility(BattleSystem *bsys, BATTLECONTEXT *ctx) {
int adrs = BattleScriptReadWord(ctx);
if (side == B_SIDE_ALL) {
int unkB = ov12_0223A7F0(bsys);
int unkB = BattleSys_GetMaxBattlers(bsys);
for (battlerId = 0; battlerId < unkB; battlerId++) {
if (unkA == 0) {