Decomped more dungeon AI (#67)

* Decomped IsMovingClient()

* Fixed typos in boss dialogue

* Fixed spelling of Pelipper

* Decomped CannotUseItems

* Decomped ShouldAvoidEnemies()

* Decomped HasAbility()

* Decomped HasTactic()

* Decomped CannotMove

* Decomped CannotAct() and IsCharging()
This commit is contained in:
Cheng Hann Gan
2021-10-28 12:01:07 -04:00
committed by GitHub
parent c98fb2c112
commit dd128d78c6
41 changed files with 12331 additions and 12353 deletions

View File

@@ -3873,7 +3873,7 @@ _080449F2:
_08044A24:
adds r0, r5, 0
movs r1, 0x32
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08044A46
@@ -3890,7 +3890,7 @@ _08044A24:
_08044A46:
adds r0, r5, 0
movs r1, 0x3F
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08044A60
@@ -3903,7 +3903,7 @@ _08044A46:
_08044A60:
adds r0, r5, 0
movs r1, 0x38
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08044A7A

View File

@@ -3981,7 +3981,7 @@ _08046F2A:
lsrs r5, r0, 24
adds r0, r4, 0
movs r1, 0
bl sub_8070B6C
bl CannotMove
lsls r0, 24
cmp r0, 0
beq _08046F64

View File

@@ -616,7 +616,7 @@ _080489A2:
lsrs r5, r0, 24
adds r0, r4, 0
movs r1, 0
bl sub_8070B6C
bl CannotMove
lsls r0, 24
cmp r0, 0
beq _080489DC
@@ -769,7 +769,7 @@ _08048AF4:
_08048AF6:
adds r0, r4, 0
movs r1, 0
bl sub_8070B6C
bl CannotMove
lsls r0, 24
cmp r0, 0
beq _08048B06
@@ -901,7 +901,7 @@ _08048BD6:
movs r7, 0x1
adds r0, r4, 0
movs r1, 0
bl sub_8070B6C
bl CannotMove
lsls r0, 24
ldr r2, [sp, 0x1C]
cmp r0, 0

File diff suppressed because it is too large Load Diff

977
asm/code_8057144.s Normal file
View File

@@ -0,0 +1,977 @@
.include "constants/gba_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_8057144
sub_8057144:
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x144
mov r9, r0
movs r7, 0
movs r5, 0
_08057154:
ldr r0, _080571D4
ldr r0, [r0]
lsls r1, r5, 2
ldr r2, _080571D8
adds r0, r2
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
bl EntityExists
lsls r0, 24
adds r5, 0x1
mov r8, r5
cmp r0, 0
beq _080571B8
ldr r0, [r4, 0x70]
movs r1, 0x8C
lsls r1, 1
adds r5, r0, r1
adds r4, r5, 0
lsls r0, r7, 2
mov r1, sp
adds r2, r0, r1
movs r6, 0x3
_08057184:
ldrb r1, [r4]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _080571AE
ldrh r1, [r4, 0x2]
mov r0, r9
str r2, [sp, 0x140]
bl sub_805755C
lsls r0, 24
ldr r2, [sp, 0x140]
cmp r0, 0
bne _080571AE
ldrh r0, [r4, 0x2]
cmp r0, 0x8A
beq _080571AE
cmp r7, 0x4F
bgt _080571AE
stm r2!, {r5}
adds r7, 0x1
_080571AE:
adds r4, 0x8
adds r5, 0x8
subs r6, 0x1
cmp r6, 0
bge _08057184
_080571B8:
mov r5, r8
cmp r5, 0x13
ble _08057154
cmp r7, 0
beq _080571DC
adds r0, r7, 0
bl DungeonRandomCapped
lsls r0, 2
add r0, sp
ldr r0, [r0]
ldrh r0, [r0, 0x2]
b _080571DE
.align 2, 0
_080571D4: .4byte gDungeonGlobalData
_080571D8: .4byte 0x000135cc
_080571DC:
ldr r0, _080571EC
_080571DE:
add sp, 0x144
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_080571EC: .4byte 0x00000163
thumb_func_end sub_8057144
thumb_func_start sub_80571F0
sub_80571F0:
push {lr}
ldr r0, [r0, 0x70]
adds r2, r0, 0
adds r2, 0xFF
ldrb r2, [r2]
cmp r2, 0x1
bne _08057212
ldrh r1, [r1, 0x2]
cmp r1, 0x88
beq _08057274
cmp r1, 0xA2
beq _08057274
cmp r1, 0x39
beq _08057274
cmp r1, 0x40
beq _08057274
b _08057264
_08057212:
cmp r2, 0x2
bne _08057274
adds r0, 0xC0
ldrb r0, [r0]
cmp r0, 0x9
bne _0805722A
ldrh r1, [r1, 0x2]
cmp r1, 0x20
beq _08057274
cmp r1, 0xDB
bne _08057264
b _08057274
_0805722A:
cmp r0, 0xA
bne _08057264
ldrh r1, [r1, 0x2]
cmp r1, 0x76
beq _08057274
movs r0, 0x94
lsls r0, 1
cmp r1, r0
beq _08057274
cmp r1, 0x77
bne _08057264
ldr r0, _08057268
ldr r0, [r0]
ldr r1, _0805726C
adds r0, r1
movs r2, 0
ldrsh r1, [r0, r2]
cmp r1, 0
bge _08057252
movs r1, 0
_08057252:
cmp r1, 0x4A
ble _08057258
movs r1, 0x4A
_08057258:
ldr r0, _08057270
lsls r1, 3
adds r1, r0
ldrh r0, [r1]
cmp r0, 0x76
beq _08057274
_08057264:
movs r0, 0x1
b _08057276
.align 2, 0
_08057268: .4byte gDungeonGlobalData
_0805726C: .4byte 0x00003a0e
_08057270: .4byte gUnknown_80F5D10
_08057274:
movs r0, 0
_08057276:
pop {r1}
bx r1
thumb_func_end sub_80571F0
thumb_func_start sub_805727C
sub_805727C:
push {r4-r6,lr}
adds r6, r0, 0
adds r5, r1, 0
adds r4, r2, 0
bl sub_8044B28
lsls r0, 24
cmp r0, 0
bne _080572FC
adds r0, r6, 0
bl EntityExists
lsls r0, 24
cmp r0, 0
beq _080572FC
adds r0, r5, 0
bl EntityExists
lsls r0, 24
cmp r0, 0
beq _080572FC
ldr r1, [r5, 0x70]
movs r2, 0xAC
lsls r2, 1
adds r0, r1, r2
ldrb r0, [r0]
cmp r0, 0
beq _080572FC
movs r2, 0xE
ldrsh r0, [r1, r2]
cmp r0, 0
beq _080572FC
cmp r4, 0
beq _080572DE
adds r0, r6, 0
movs r1, 0x26
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _080572D2
lsls r0, r4, 1
b _080572D4
_080572D2:
adds r0, r4, 0
_080572D4:
bl sub_8084160
lsls r0, 24
lsrs r4, r0, 24
b _080572E0
_080572DE:
movs r4, 0x1
_080572E0:
cmp r4, 0
beq _08057300
cmp r6, r5
beq _08057300
adds r0, r5, 0
movs r1, 0x4C
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08057300
adds r0, r5, 0
bl sub_80429C8
_080572FC:
movs r0, 0
b _08057302
_08057300:
adds r0, r4, 0
_08057302:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_805727C
thumb_func_start sub_8057308
sub_8057308:
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
bl EntityExists
lsls r0, 24
cmp r0, 0
bne _0805731C
movs r0, 0
b _08057340
_0805731C:
cmp r4, 0
bne _08057324
movs r0, 0x1
b _08057340
_08057324:
adds r0, r5, 0
movs r1, 0x26
bl HasAbility
lsls r0, 24
cmp r0, 0
bne _08057336
adds r0, r4, 0
b _08057338
_08057336:
lsls r0, r4, 1
_08057338:
bl sub_8084160
lsls r0, 24
lsrs r0, 24
_08057340:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8057308
thumb_func_start sub_8057348
sub_8057348:
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r7, r0, 0
lsls r2, 24
lsrs r2, 24
mov r8, r2
ldr r6, [r7, 0x70]
lsls r1, 3
movs r0, 0x8C
lsls r0, 1
adds r1, r0
adds r4, r6, r1
ldrb r1, [r4]
movs r2, 0x1
adds r0, r2, 0
ands r0, r1
cmp r0, 0
beq _080573BE
movs r0, 0x2
ands r0, r1
cmp r0, 0
bne _080573BE
movs r0, 0x20
ands r0, r1
cmp r0, 0
bne _080573BE
ldrb r1, [r4, 0x1]
adds r0, r2, 0
ands r0, r1
cmp r0, 0
beq _0805738E
b _080573BE
_0805738A:
movs r0, 0x1
b _080573C0
_0805738E:
movs r5, 0
b _08057394
_08057392:
adds r5, 0x1
_08057394:
cmp r5, 0x3
bgt _080573BE
adds r0, r7, 0
adds r1, r4, 0
mov r2, r8
bl sub_80573CC
lsls r0, 24
cmp r0, 0
bne _0805738A
adds r4, 0x8
movs r1, 0x9C
lsls r1, 1
adds r0, r6, r1
cmp r4, r0
bcs _080573BE
ldrb r1, [r4]
movs r0, 0x2
ands r0, r1
cmp r0, 0
bne _08057392
_080573BE:
movs r0, 0
_080573C0:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8057348
thumb_func_start sub_80573CC
sub_80573CC:
push {r4-r6,lr}
adds r4, r1, 0
lsls r2, 24
lsrs r2, 24
ldr r6, [r0, 0x70]
ldrh r1, [r4, 0x2]
ldr r0, _08057430
cmp r1, r0
beq _08057442
ldrb r1, [r4]
movs r0, 0x20
ands r0, r1
cmp r0, 0
bne _0805743E
ldrb r1, [r4, 0x1]
movs r0, 0x1
ands r0, r1
cmp r0, 0
bne _0805743E
cmp r2, 0
beq _08057442
ldrb r0, [r4, 0x4]
cmp r0, 0
beq _0805743E
adds r0, r6, 0
adds r0, 0xBC
ldrb r1, [r0]
adds r5, r0, 0
cmp r1, 0x5
bne _08057414
adds r0, r4, 0
bl sub_8092C54
lsls r0, 24
cmp r0, 0
beq _0805743E
_08057414:
ldrb r0, [r5]
cmp r0, 0x6
bne _08057442
ldrh r1, [r4, 0x2]
movs r0, 0xB0
lsls r0, 1
cmp r1, r0
bne _08057434
movs r1, 0x9C
lsls r1, 1
adds r0, r6, r1
ldrb r1, [r0]
b _08057436
.align 2, 0
_08057430: .4byte 0x00000163
_08057434:
ldrb r1, [r4]
_08057436:
movs r0, 0x10
ands r0, r1
cmp r0, 0
bne _08057442
_0805743E:
movs r0, 0
b _08057444
_08057442:
movs r0, 0x1
_08057444:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_80573CC
thumb_func_start sub_805744C
sub_805744C:
push {r4-r6,lr}
adds r4, r1, 0
lsls r2, 24
lsrs r2, 24
ldr r6, [r0, 0x70]
ldrh r1, [r4, 0x2]
ldr r0, _080574A8
cmp r1, r0
beq _080574BA
ldrb r1, [r4]
movs r0, 0x20
ands r0, r1
cmp r0, 0
bne _080574B6
ldrb r1, [r4, 0x1]
movs r0, 0x1
ands r0, r1
cmp r0, 0
bne _080574B6
cmp r2, 0
beq _080574BA
adds r0, r6, 0
adds r0, 0xBC
ldrb r1, [r0]
adds r5, r0, 0
cmp r1, 0x5
bne _0805748E
adds r0, r4, 0
bl sub_8092C54
lsls r0, 24
cmp r0, 0
beq _080574B6
_0805748E:
ldrb r0, [r5]
cmp r0, 0x6
bne _080574BA
ldrh r1, [r4, 0x2]
movs r0, 0xB0
lsls r0, 1
cmp r1, r0
bne _080574AC
movs r1, 0x9C
lsls r1, 1
adds r0, r6, r1
ldrb r1, [r0]
b _080574AE
.align 2, 0
_080574A8: .4byte 0x00000163
_080574AC:
ldrb r1, [r4]
_080574AE:
movs r0, 0x10
ands r0, r1
cmp r0, 0
bne _080574BA
_080574B6:
movs r0, 0
b _080574BC
_080574BA:
movs r0, 0x1
_080574BC:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_805744C
thumb_func_start sub_80574C4
sub_80574C4:
push {r4-r6,lr}
sub sp, 0x104
adds r4, r0, 0
adds r5, r1, 0
movs r3, 0
movs r2, 0
ldr r0, [r4]
cmp r0, 0
beq _08057502
cmp r0, r5
beq _080574EA
_080574DA:
lsls r0, r3, 2
mov r6, sp
adds r1, r6, r0
lsls r0, r2, 2
adds r0, r4
ldr r0, [r0]
str r0, [r1]
adds r3, 0x1
_080574EA:
adds r2, 0x1
cmp r2, 0x40
bgt _08057502
lsls r0, r2, 2
adds r0, r4
ldr r0, [r0]
cmp r0, 0
beq _08057502
cmp r0, r5
beq _080574EA
cmp r3, 0x3F
ble _080574DA
_08057502:
movs r2, 0
ldr r0, [r4]
b _08057524
_08057508:
lsls r0, r3, 2
mov r6, sp
adds r1, r6, r0
lsls r0, r2, 2
adds r0, r4
ldr r0, [r0]
str r0, [r1]
adds r3, 0x1
_08057518:
adds r2, 0x1
cmp r2, 0x40
bgt _08057530
lsls r0, r2, 2
adds r0, r4
ldr r0, [r0]
_08057524:
cmp r0, 0
beq _08057530
cmp r0, r5
bne _08057518
cmp r3, 0x3F
ble _08057508
_08057530:
cmp r3, 0x40
bgt _08057542
movs r1, 0
lsls r0, r3, 2
add r0, sp
_0805753A:
stm r0!, {r1}
adds r3, 0x1
cmp r3, 0x40
ble _0805753A
_08057542:
mov r3, sp
adds r1, r4, 0
movs r2, 0x40
_08057548:
ldm r3!, {r0}
stm r1!, {r0}
subs r2, 0x1
cmp r2, 0
bge _08057548
add sp, 0x104
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_80574C4
thumb_func_start sub_805755C
sub_805755C:
push {r4,lr}
lsls r1, 16
lsrs r4, r1, 16
cmp r4, 0x97
bne _08057576
bl sub_807E580
lsls r0, 24
lsrs r0, 24
cmp r0, 0x1
bne _08057576
movs r0, 0
b _08057580
_08057576:
adds r0, r4, 0
bl sub_809422C
lsls r0, 24
lsrs r0, 24
_08057580:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_805755C
thumb_func_start sub_8057588
sub_8057588:
push {r4-r6,lr}
adds r4, r0, 0
lsls r1, 24
lsrs r6, r1, 24
bl EntityExists
lsls r0, 24
cmp r0, 0
beq _080575F8
ldr r5, [r4, 0x70]
movs r3, 0
_0805759E:
lsls r0, r3, 3
movs r1, 0x8C
lsls r1, 1
adds r0, r1
adds r2, r5, r0
ldrb r1, [r2]
movs r0, 0x1
ands r0, r1
adds r4, r3, 0x1
cmp r0, 0
beq _080575F2
movs r3, 0x1
ldrb r1, [r2, 0x1]
movs r0, 0x10
ands r0, r1
cmp r0, 0
beq _080575C8
movs r0, 0xEF
ands r0, r1
strb r0, [r2, 0x1]
movs r3, 0x2
_080575C8:
ldrb r1, [r2, 0x1]
movs r0, 0x8
ands r0, r1
cmp r0, 0
beq _080575F2
movs r0, 0xF7
ands r0, r1
strb r0, [r2, 0x1]
cmp r6, 0
beq _080575F2
cmp r3, 0
beq _080575F2
adds r1, r3, 0
_080575E2:
ldrb r0, [r2, 0x4]
cmp r0, 0
beq _080575EC
subs r0, 0x1
strb r0, [r2, 0x4]
_080575EC:
subs r1, 0x1
cmp r1, 0
bne _080575E2
_080575F2:
adds r3, r4, 0
cmp r3, 0x3
ble _0805759E
_080575F8:
pop {r4-r6}
pop {r0}
bx r0
thumb_func_end sub_8057588
thumb_func_start sub_8057600
sub_8057600:
push {r4,lr}
ldrh r4, [r0, 0x2]
adds r0, r1, 0
bl sub_8057620
adds r1, r0, 0
lsls r1, 24
lsrs r1, 24
adds r0, r4, 0
bl sub_8094828
lsls r0, 16
asrs r0, 16
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8057600
thumb_func_start sub_8057620
sub_8057620:
push {lr}
cmp r0, 0
beq _0805762C
lsls r0, 24
lsrs r0, 24
b _0805762E
_0805762C:
movs r0, 0
_0805762E:
pop {r1}
bx r1
thumb_func_end sub_8057620
thumb_func_start sub_8057634
sub_8057634:
push {r4-r7,lr}
sub sp, 0x8
adds r5, r0, 0
adds r6, r1, 0
movs r7, 0
movs r4, 0x80
lsls r4, 1
str r3, [sp]
adds r3, r4, 0
bl sub_8055640
cmp r0, 0
beq _08057678
movs r7, 0x1
ldr r0, _08057684
movs r1, 0
ldrsh r2, [r0, r1]
adds r0, r5, 0
adds r1, r6, 0
bl sub_805727C
lsls r0, 24
cmp r0, 0
beq _08057678
ldr r0, _08057688
ldr r2, [r0]
str r7, [sp]
movs r0, 0
str r0, [sp, 0x4]
adds r0, r5, 0
adds r1, r6, 0
movs r3, 0x1
bl sub_8076F80
_08057678:
adds r0, r7, 0
add sp, 0x8
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_08057684: .4byte gUnknown_80F4DB4
_08057688: .4byte gUnknown_8106A4C
thumb_func_end sub_8057634
thumb_func_start sub_805768C
sub_805768C:
push {r4-r6,lr}
sub sp, 0x4
adds r5, r3, 0
movs r6, 0
ldr r4, _080576B8
ldr r3, [r4]
adds r3, 0x1
str r3, [r4]
ldr r4, _080576BC
lsls r3, 2
adds r3, r4
ldr r3, [r3]
str r5, [sp]
bl sub_8055640
cmp r0, 0
bne _080576C4
ldr r1, _080576C0
movs r0, 0x1
strb r0, [r1]
b _080576C6
.align 2, 0
_080576B8: .4byte gUnknown_202F21C
_080576BC: .4byte gUnknown_8106A54
_080576C0: .4byte gUnknown_202F220
_080576C4:
movs r6, 0x1
_080576C6:
adds r0, r6, 0
add sp, 0x4
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_805768C
thumb_func_start sub_80576D0
sub_80576D0:
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
ldr r1, _080576F4
adds r0, r4, 0
movs r2, 0x1
bl sub_808417C
adds r2, r0, 0
adds r2, 0x1
adds r0, r5, 0
adds r1, r4, 0
bl sub_8075F34
movs r0, 0x1
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_080576F4: .4byte gUnknown_80F4F28
thumb_func_end sub_80576D0
thumb_func_start sub_80576F8
sub_80576F8:
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
ldr r1, _0805771C
adds r0, r4, 0
movs r2, 0x1
bl sub_808417C
adds r2, r0, 0
adds r0, r5, 0
adds r1, r4, 0
movs r3, 0x1
bl sub_8075C58
movs r0, 0x1
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_0805771C: .4byte gUnknown_80F4E74
thumb_func_end sub_80576F8
thumb_func_start sub_8057720
sub_8057720:
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
ldr r1, _08057744
adds r0, r4, 0
movs r2, 0x1
bl sub_808417C
adds r2, r0, 0
adds r0, r5, 0
adds r1, r4, 0
bl sub_8075DBC
movs r0, 0x1
pop {r4,r5}
pop {r1}
bx r1
.align 2, 0
_08057744: .4byte gUnknown_80F4E78
thumb_func_end sub_8057720
thumb_func_start sub_8057748
sub_8057748:
push {r4-r6,lr}
sub sp, 0x4
adds r5, r0, 0
adds r6, r1, 0
ldr r4, _08057778
bl sub_807E580
lsls r0, 24
lsrs r0, 23
adds r0, r4
movs r1, 0
ldrsh r2, [r0, r1]
movs r0, 0x1
str r0, [sp]
adds r0, r5, 0
adds r1, r6, 0
movs r3, 0
bl HealTargetHP
movs r0, 0x1
add sp, 0x4
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_08057778: .4byte gUnknown_80F502A
thumb_func_end sub_8057748
thumb_func_start sub_805777C
sub_805777C:
push {lr}
bl sub_8079DB8
movs r0, 0x1
pop {r1}
bx r1
thumb_func_end sub_805777C
thumb_func_start sub_8057788
sub_8057788:
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
sub sp, 0x4
adds r4, r0, 0
adds r7, r1, 0
adds r6, r2, 0
mov r8, r3
movs r0, 0
mov r9, r0
adds r0, r4, 0
bl sub_8045128
adds r5, r0, 0
bl sub_804AF20
lsls r0, 24
cmp r0, 0
beq _080577BA
ldrh r1, [r5]
movs r0, 0x3
ands r0, r1
cmp r0, 0x1
beq _080577CC
_080577BA:
ldr r0, _080577C8
ldr r2, [r0]
adds r0, r4, 0
adds r1, r7, 0
bl sub_80522F4
b _0805780E
.align 2, 0
_080577C8: .4byte gUnknown_80FD14C
_080577CC:
adds r0, r4, 0
adds r1, r6, 0
bl sub_80570AC
lsls r0, 24
cmp r0, 0
beq _080577F8
ldr r0, _080577F4
ldr r3, [r0]
mov r0, r8
str r0, [sp]
adds r0, r4, 0
adds r1, r7, 0
adds r2, r6, 0
bl sub_8055640
adds r0, r4, 0
bl sub_8079764
b _0805780A
.align 2, 0
_080577F4: .4byte gUnknown_80F4F68
_080577F8:
ldr r0, _08057820
ldr r0, [r0]
str r0, [sp]
adds r0, r4, 0
adds r1, r4, 0
movs r2, 0xA
adds r3, r6, 0
bl sub_8079618
_0805780A:
movs r0, 0x1
mov r9, r0
_0805780E:
mov r0, r9
add sp, 0x4
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_08057820: .4byte gUnknown_80FAD4C
thumb_func_end sub_8057788
.align 2,0 @ Don't pad with nop

View File

@@ -1735,7 +1735,7 @@ sub_80586DC:
adds r5, r3, 0
adds r0, r4, 0
movs r1, 0x3A
bl sub_8071824
bl HasAbility
lsls r0, 24
lsrs r0, 24
mov r8, r0
@@ -2774,7 +2774,7 @@ _08058E94:
movs r7, 0x1
adds r0, r5, 0
movs r1, 0x7
bl sub_8071824
bl HasAbility
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
@@ -3107,7 +3107,7 @@ sub_80590D4:
lsrs r4, r1, 31
adds r0, r6, 0
movs r1, 0x37
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0805911C
@@ -3233,7 +3233,7 @@ sub_80591E4:
mov r8, r0
adds r0, r4, 0
movs r1, 0x3A
bl sub_8071824
bl HasAbility
lsls r0, 24
lsrs r0, 24
mov r9, r0
@@ -3316,13 +3316,13 @@ SkillSwapMoveAction:
ldr r5, [r6, 0x70]
adds r0, r6, 0
movs r1, 0x35
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
bne _080592BA
adds r0, r4, 0
movs r1, 0x35
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _080592D0
@@ -3565,7 +3565,7 @@ sub_805946C:
movs r6, 0x1
adds r0, r5, 0
movs r1, 0x7
bl sub_8071824
bl HasAbility
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
@@ -4526,7 +4526,7 @@ sub_8059BAC:
ldr r7, [r5, 0x70]
adds r0, r5, 0
movs r1, 0x25
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08059BD8
@@ -5261,7 +5261,7 @@ sub_805A120:
bl SetMessageArgument
adds r0, r5, 0
movs r1, 0x2C
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0805A174
@@ -5513,7 +5513,7 @@ sub_805A31C:
ldr r7, [r6, 0x70]
adds r0, r6, 0
movs r1, 0x35
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0805A348
@@ -6031,7 +6031,7 @@ sub_805A6C8:
bl SetMessageArgument
adds r0, r5, 0
movs r1, 0x2C
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0805A710
@@ -7321,7 +7321,7 @@ sub_805B0D0:
ldrb r6, [r0]
adds r0, r5, 0
movs r1, 0x25
bl sub_8071824
bl HasAbility
lsls r0, 24
lsrs r1, r0, 24
cmp r1, 0
@@ -8077,7 +8077,7 @@ sub_805B668:
mov r8, r0
adds r0, r4, 0
movs r1, 0x3A
bl sub_8071824
bl HasAbility
lsls r0, 24
lsrs r0, 24
mov r9, r0
@@ -8626,7 +8626,7 @@ sub_805BA50:
bl SetMessageArgument
adds r0, r5, 0
movs r1, 0x2C
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0805BAC4
@@ -14536,7 +14536,7 @@ _0805ED3E:
_0805ED50:
mov r0, r8
movs r1, 0
bl sub_80570F4
bl IsCharging
lsls r0, 24
cmp r0, 0
bne _0805ED96
@@ -19393,7 +19393,7 @@ _08061530:
_08061532:
adds r0, r6, 0
movs r1, 0
bl sub_8070B6C
bl CannotMove
lsls r0, 24
cmp r0, 0
beq _08061542
@@ -19747,7 +19747,7 @@ _080617F4:
bl sub_8044F5C
ldr r0, [sp, 0x74]
movs r1, 0x1
bl sub_8070B6C
bl CannotMove
lsls r0, 24
cmp r0, 0
beq _08061832
@@ -20864,7 +20864,7 @@ _080620C4:
bl sub_8044F5C
ldr r0, [sp, 0x110]
movs r1, 0x1
bl sub_8070B6C
bl CannotMove
lsls r0, 24
cmp r0, 0
beq _08062102
@@ -31411,7 +31411,7 @@ _080675C0:
beq _08067600
adds r0, r5, 0
movs r1, 0x1
bl sub_8070B6C
bl CannotMove
lsls r0, 24
cmp r0, 0
beq _08067610
@@ -36327,7 +36327,7 @@ _08069C74:
adds r4, 0x1
_08069C8E:
mov r0, r8
bl sub_8071494
bl ShouldAvoidEnemies
lsls r0, 24
cmp r0, 0
beq _08069CAA
@@ -36541,7 +36541,7 @@ sub_8069E0C:
adds r4, r0, 0
ldr r5, [r4, 0x70]
movs r1, 0x25
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08069E44
@@ -36633,7 +36633,7 @@ _08069EAA:
beq _08069F3E
adds r0, r4, 0
movs r1, 0x4
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08069EE8
@@ -36648,7 +36648,7 @@ _08069EE4: .4byte 0x0000e273
_08069EE8:
adds r0, r4, 0
movs r1, 0x1C
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08069F04
@@ -36661,7 +36661,7 @@ _08069F00: .4byte 0x0000e271
_08069F04:
adds r0, r4, 0
movs r1, 0x31
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08069F1A
@@ -36674,13 +36674,13 @@ _08069F18:
_08069F1A:
adds r0, r4, 0
movs r1, 0x8
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
bne _08069F36
adds r0, r4, 0
movs r1, 0x2D
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08069F3E
@@ -36715,7 +36715,7 @@ sub_8069F54:
bhi _08069F94
adds r0, r5, 0
movs r1, 0x25
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08069F90
@@ -36857,7 +36857,7 @@ _0806A068:
strb r0, [r1]
adds r0, r6, 0
movs r1, 0x3B
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806A0FA
@@ -37005,7 +37005,7 @@ sub_806A1B0:
beq _0806A1DE
adds r0, r4, 0
movs r1, 0x2A
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806A1DE
@@ -37951,12 +37951,12 @@ _0806A8C8:
beq _0806A90E
adds r0, r4, 0
movs r1, 0x1
bl sub_8070B6C
bl CannotMove
lsls r0, 24
cmp r0, 0
beq _0806A8EE
adds r0, r4, 0
bl sub_8070CD0
bl CannotAct
lsls r0, 24
cmp r0, 0
bne _0806A90E
@@ -38339,7 +38339,7 @@ sub_806ABAC:
ldr r5, [r4, 0x70]
adds r0, r4, 0
movs r1, 0x16
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806ABD4
@@ -38354,7 +38354,7 @@ sub_806ABAC:
_0806ABD4:
adds r0, r4, 0
movs r1, 0x40
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806ABF4
@@ -38369,7 +38369,7 @@ _0806ABD4:
_0806ABF4:
adds r0, r4, 0
movs r1, 0x42
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806AC14
@@ -38384,7 +38384,7 @@ _0806ABF4:
_0806AC14:
adds r0, r4, 0
movs r1, 0x29
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806AC34
@@ -38399,13 +38399,13 @@ _0806AC14:
_0806AC34:
adds r0, r4, 0
movs r1, 0x36
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
bne _0806AC50
adds r0, r4, 0
movs r1, 0x49
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806AC72
@@ -38429,7 +38429,7 @@ _0806AC66:
_0806AC72:
adds r0, r4, 0
movs r1, 0x41
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806AC92
@@ -38444,7 +38444,7 @@ _0806AC72:
_0806AC92:
adds r0, r4, 0
movs r1, 0x45
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806ACB8
@@ -38462,7 +38462,7 @@ _0806AC92:
_0806ACB8:
adds r0, r4, 0
movs r1, 0x25
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806ACE0
@@ -43164,7 +43164,7 @@ _0806D088:
ldr r0, [sp, 0x44]
mov r9, r0
adds r0, r5, 0
bl sub_8070CD0
bl CannotAct
lsls r0, 24
cmp r0, 0
bne _0806D0A2
@@ -43315,7 +43315,7 @@ _0806D19E:
_0806D1B4:
adds r0, r5, 0
movs r1, 0x12
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806D1C4
@@ -43419,7 +43419,7 @@ _0806D26C:
ldr r4, [r6, 0x70]
adds r0, r5, 0
movs r1, 0x5
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806D2C2
@@ -43431,7 +43431,7 @@ _0806D26C:
bne _0806D2C2
adds r0, r6, 0
movs r1, 0x37
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
bne _0806D2C2
@@ -43452,7 +43452,7 @@ _0806D26C:
_0806D2C2:
adds r0, r5, 0
movs r1, 0xA
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806D2EE
@@ -43473,7 +43473,7 @@ _0806D2C2:
_0806D2EE:
adds r0, r5, 0
movs r1, 0x17
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806D328
@@ -43500,7 +43500,7 @@ _0806D2EE:
_0806D328:
adds r0, r5, 0
movs r1, 0x20
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806D358
@@ -43523,7 +43523,7 @@ _0806D328:
_0806D358:
adds r0, r5, 0
movs r1, 0x27
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806D384
@@ -43544,7 +43544,7 @@ _0806D358:
_0806D384:
adds r0, r5, 0
movs r1, 0x3D
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806D3FA
@@ -43597,7 +43597,7 @@ _0806D3F6:
_0806D3FA:
adds r0, r5, 0
movs r1, 0x3E
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806D428
@@ -43619,7 +43619,7 @@ _0806D3FA:
_0806D428:
adds r0, r5, 0
movs r1, 0x44
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806D45A
@@ -43643,7 +43643,7 @@ _0806D428:
_0806D45A:
adds r0, r5, 0
movs r1, 0x1
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806D48A
@@ -43798,7 +43798,7 @@ _0806D592:
beq _0806D5DC
adds r0, r7, 0
movs r1, 0xD
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806D5DC
@@ -43869,7 +43869,7 @@ _0806D62A:
_0806D63A:
adds r0, r7, 0
movs r1, 0x23
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806D660
@@ -43888,7 +43888,7 @@ _0806D64E:
_0806D660:
adds r0, r7, 0
movs r1, 0x24
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806D674
@@ -45263,7 +45263,7 @@ _0806E156:
_0806E15A:
ldr r0, [sp, 0x18]
movs r1, 0x35
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E170
@@ -45386,7 +45386,7 @@ _0806E240:
_0806E248:
ldr r0, [sp, 0x18]
movs r1, 0x2
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E26C
@@ -45430,7 +45430,7 @@ _0806E2A0:
bne _0806E2D2
ldr r0, [sp, 0x18]
movs r1, 0x37
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E2D2
@@ -45454,7 +45454,7 @@ _0806E2D2:
bne _0806E340
mov r0, r8
movs r1, 0x10
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E340
@@ -45508,7 +45508,7 @@ _0806E340:
bne _0806E3AC
mov r0, r8
movs r1, 0x1A
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E3AC
@@ -45561,7 +45561,7 @@ _0806E3AC:
bne _0806E41A
mov r0, r8
movs r1, 0x43
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E41A
@@ -45615,7 +45615,7 @@ _0806E41A:
bne _0806E486
mov r0, r8
movs r1, 0x46
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E486
@@ -45913,7 +45913,7 @@ _0806E6A2:
bne _0806E6B4
ldr r0, [sp, 0x14]
movs r1, 0x23
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
bne _0806E6C6
@@ -45922,7 +45922,7 @@ _0806E6B4:
bne _0806E6CA
ldr r0, [sp, 0x14]
movs r1, 0x24
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E6CA
@@ -45934,7 +45934,7 @@ _0806E6CA:
bne _0806E6E0
ldr r0, [sp, 0x14]
movs r1, 0x37
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E6E0
@@ -46013,7 +46013,7 @@ _0806E75E:
_0806E766:
ldr r0, [sp, 0x14]
movs r1, 0x2
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
bne _0806E84E
@@ -46022,7 +46022,7 @@ _0806E774:
bne _0806E7A0
mov r0, r9
movs r1, 0x10
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E7A0
@@ -46045,7 +46045,7 @@ _0806E7A0:
bne _0806E7CC
mov r0, r9
movs r1, 0x1A
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E7CC
@@ -46068,7 +46068,7 @@ _0806E7CC:
bne _0806E7F8
mov r0, r9
movs r1, 0x43
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E7F8
@@ -46091,7 +46091,7 @@ _0806E7F8:
bne _0806E824
mov r0, r9
movs r1, 0x46
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E824
@@ -46217,7 +46217,7 @@ sub_806E8B0:
_0806E8E6:
adds r0, r6, 0
movs r1, 0x11
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E92C
@@ -46249,13 +46249,13 @@ _0806E916:
_0806E92C:
adds r0, r6, 0
movs r1, 0x22
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
bne _0806E948
adds r0, r6, 0
movs r1, 0x4B
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E98E
@@ -46297,7 +46297,7 @@ _0806E978:
_0806E98E:
adds r0, r6, 0
movs r1, 0x30
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E9AC
@@ -46319,7 +46319,7 @@ _0806E9AC:
_0806E9B8:
adds r0, r6, 0
movs r1, 0x38
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806E9EA
@@ -46344,7 +46344,7 @@ _0806E9B8:
_0806E9EA:
adds r0, r6, 0
movs r1, 0x3F
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806EA1C
@@ -46369,7 +46369,7 @@ _0806E9EA:
_0806EA1C:
mov r0, r9
movs r1, 0x6
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806EA38
@@ -46383,7 +46383,7 @@ _0806EA1C:
_0806EA38:
mov r0, r9
movs r1, 0x34
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806EA90
@@ -46537,7 +46537,7 @@ _0806EB72:
bne _0806EBA8
mov r0, r9
movs r1, 0x35
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806EBA8
@@ -47220,13 +47220,13 @@ _0806F0EE:
_0806F118:
mov r0, r9
movs r1, 0xC
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
bne _0806F1F4
mov r0, r9
movs r1, 0x13
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
bne _0806F1F4
@@ -47558,7 +47558,7 @@ _0806F3C0:
ble _0806F3C0
adds r0, r7, 0
movs r1, 0x35
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0806F3FC

File diff suppressed because it is too large Load Diff

91
asm/code_8070BC0.s Normal file
View File

@@ -0,0 +1,91 @@
.include "constants/gba_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_8070BC0
sub_8070BC0:
push {r4-r6,lr}
adds r4, r0, 0
ldr r5, [r4, 0x70]
movs r1, 0
bl IsCharging
lsls r0, 24
cmp r0, 0
bne _08070C56
adds r6, r5, 0
adds r6, 0xA8
ldrb r0, [r6]
cmp r0, 0x4
beq _08070C56
cmp r0, 0x3
beq _08070C56
adds r0, r4, 0
bl ShouldAvoidEnemies
lsls r0, 24
cmp r0, 0
bne _08070C56
adds r0, r5, 0
adds r0, 0xEC
ldrb r0, [r0]
cmp r0, 0x1
beq _08070C56
adds r0, r5, 0
adds r0, 0xB0
ldrb r1, [r0]
cmp r1, 0x6
beq _08070C56
cmp r1, 0x1
beq _08070C56
adds r0, r5, 0
adds r0, 0xBC
ldrb r3, [r0]
adds r4, r0, 0
cmp r3, 0x2
beq _08070C56
ldrb r2, [r6]
cmp r2, 0x1
beq _08070C56
adds r0, r5, 0
adds r0, 0xE4
ldrb r0, [r0]
cmp r0, 0x1
beq _08070C56
cmp r2, 0x5
beq _08070C56
cmp r3, 0x1
beq _08070C56
cmp r1, 0x3
beq _08070C56
cmp r1, 0x4
beq _08070C56
adds r0, r5, 0
adds r0, 0xE8
ldrb r1, [r0]
cmp r1, 0x2
beq _08070C56
adds r0, r5, 0
adds r0, 0xC8
ldrb r0, [r0]
cmp r0, 0x2
beq _08070C56
cmp r1, 0x1
beq _08070C56
ldrb r0, [r4]
cmp r0, 0x7
beq _08070C56
cmp r0, 0x3
beq _08070C56
movs r0, 0x1
b _08070C58
_08070C56:
movs r0, 0
_08070C58:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8070BC0
.align 2, 0

997
asm/code_8070D04.s Normal file
View File

@@ -0,0 +1,997 @@
.include "constants/gba_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_8070D04
sub_8070D04:
push {lr}
adds r3, r0, 0
lsls r1, 24
ldr r2, [r3, 0x70]
cmp r1, 0
bne _08070D22
adds r0, r2, 0
adds r0, 0xA8
ldrb r0, [r0]
cmp r0, 0x2
beq _08070D22
cmp r0, 0x4
beq _08070D22
cmp r0, 0
bne _08070D64
_08070D22:
adds r0, r2, 0
adds r0, 0xB0
ldrb r0, [r0]
cmp r0, 0x1
beq _08070D64
cmp r0, 0x3
beq _08070D64
cmp r0, 0x4
beq _08070D64
cmp r0, 0x6
beq _08070D64
adds r0, r2, 0
adds r0, 0xBC
ldrb r0, [r0]
cmp r0, 0x1
beq _08070D64
cmp r0, 0x3
beq _08070D64
cmp r0, 0x7
beq _08070D64
adds r0, r2, 0
adds r0, 0xAC
ldrb r0, [r0]
cmp r0, 0x4
beq _08070D64
adds r0, r3, 0
bl ShouldAvoidEnemies
lsls r0, 24
cmp r0, 0
bne _08070D64
movs r0, 0
b _08070D66
_08070D64:
movs r0, 0x1
_08070D66:
pop {r1}
bx r1
thumb_func_end sub_8070D04
thumb_func_start sub_8070D6C
sub_8070D6C:
push {r4-r6,lr}
adds r4, r0, 0
adds r6, r1, 0
ldr r0, [r4, 0x70]
movs r1, 0x2
ldrsh r0, [r0, r1]
bl sub_8070328
lsls r0, 24
lsrs r5, r0, 24
movs r2, 0x4
ldrsh r0, [r4, r2]
ldr r1, _08070DD8
lsls r2, r6, 2
adds r2, r1
movs r3, 0
ldrsh r1, [r2, r3]
adds r0, r1
movs r3, 0x6
ldrsh r1, [r4, r3]
movs r3, 0x2
ldrsh r2, [r2, r3]
adds r1, r2
bl sub_804954C
adds r2, r0, 0
ldrh r1, [r2]
movs r0, 0x10
ands r0, r1
cmp r0, 0
bne _08070E34
ldr r0, [r2, 0x10]
cmp r0, 0
bne _08070E34
bl sub_80441E8
lsls r0, 24
cmp r0, 0
bne _08070E04
ldr r0, [r4, 0x70]
adds r0, 0xE4
ldrb r0, [r0]
cmp r0, 0x3
beq _08070DD2
adds r0, r4, 0
movs r1, 0x9
bl sub_8046CB0
lsls r0, 24
cmp r0, 0
beq _08070DDC
_08070DD2:
movs r5, 0x3
b _08070E04
.align 2, 0
_08070DD8: .4byte gUnknown_80F4448
_08070DDC:
adds r0, r4, 0
movs r1, 0xC
bl HasIQSkill
lsls r0, 24
cmp r0, 0
bne _08070E02
adds r0, r4, 0
movs r1, 0xD
bl HasIQSkill
lsls r0, 24
cmp r0, 0
beq _08070E04
movs r0, 0x1
ands r0, r6
movs r5, 0x3
cmp r0, 0
beq _08070E04
_08070E02:
movs r5, 0x2
_08070E04:
movs r1, 0x4
ldrsh r0, [r4, r1]
movs r2, 0x6
ldrsh r1, [r4, r2]
bl sub_804954C
adds r2, r0, 0
adds r1, r2, 0
adds r1, 0xA
adds r1, r5
ldr r2, _08070E30
movs r0, 0x7
ands r0, r6
adds r0, r2
ldrb r1, [r1]
ldrb r0, [r0]
ands r0, r1
cmp r0, 0
beq _08070E34
movs r0, 0x1
b _08070E36
.align 2, 0
_08070E30: .4byte gUnknown_8106FAD
_08070E34:
movs r0, 0
_08070E36:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8070D6C
thumb_func_start sub_8070E3C
sub_8070E3C:
push {r4-r7,lr}
adds r4, r0, 0
adds r6, r1, 0
adds r7, r2, 0
ldr r0, [r4, 0x70]
movs r1, 0x2
ldrsh r0, [r0, r1]
bl sub_8070328
lsls r0, 24
lsrs r5, r0, 24
movs r2, 0
ldrsh r0, [r6, r2]
ldr r1, _08070EB0
lsls r2, r7, 2
adds r2, r1
movs r3, 0
ldrsh r1, [r2, r3]
adds r0, r1
movs r3, 0x2
ldrsh r1, [r6, r3]
movs r3, 0x2
ldrsh r2, [r2, r3]
adds r1, r2
bl sub_804954C
adds r2, r0, 0
ldrh r1, [r2]
movs r0, 0x10
ands r0, r1
cmp r0, 0
bne _08070F0C
ldr r0, [r2, 0x10]
cmp r0, 0
beq _08070E8A
bl sub_80450F8
cmp r0, 0x1
bne _08070F0C
_08070E8A:
bl sub_80441E8
lsls r0, 24
cmp r0, 0
bne _08070EDC
ldr r0, [r4, 0x70]
adds r0, 0xE4
ldrb r0, [r0]
cmp r0, 0x3
beq _08070EAC
adds r0, r4, 0
movs r1, 0x9
bl sub_8046CB0
lsls r0, 24
cmp r0, 0
beq _08070EB4
_08070EAC:
movs r5, 0x3
b _08070EDC
.align 2, 0
_08070EB0: .4byte gUnknown_80F4448
_08070EB4:
adds r0, r4, 0
movs r1, 0xC
bl HasIQSkill
lsls r0, 24
cmp r0, 0
bne _08070EDA
adds r0, r4, 0
movs r1, 0xD
bl HasIQSkill
lsls r0, 24
cmp r0, 0
beq _08070EDC
movs r0, 0x1
ands r0, r7
movs r5, 0x3
cmp r0, 0
beq _08070EDC
_08070EDA:
movs r5, 0x2
_08070EDC:
movs r1, 0
ldrsh r0, [r6, r1]
movs r2, 0x2
ldrsh r1, [r6, r2]
bl sub_804954C
adds r2, r0, 0
adds r1, r2, 0
adds r1, 0xA
adds r1, r5
ldr r2, _08070F08
movs r0, 0x7
ands r0, r7
adds r0, r2
ldrb r1, [r1]
ldrb r0, [r0]
ands r0, r1
cmp r0, 0
beq _08070F0C
movs r0, 0x1
b _08070F0E
.align 2, 0
_08070F08: .4byte gUnknown_8106FB5
_08070F0C:
movs r0, 0
_08070F0E:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8070E3C
thumb_func_start sub_8070F14
sub_8070F14:
push {r4,r5,lr}
adds r4, r0, 0
adds r5, r1, 0
movs r1, 0x4
ldrsh r0, [r4, r1]
ldr r1, _08070F70
lsls r2, r5, 2
adds r2, r1
movs r3, 0
ldrsh r1, [r2, r3]
adds r0, r1
movs r3, 0x6
ldrsh r1, [r4, r3]
movs r3, 0x2
ldrsh r2, [r2, r3]
adds r1, r2
bl sub_804954C
adds r2, r0, 0
ldrh r1, [r2]
movs r0, 0x10
ands r0, r1
cmp r0, 0
bne _08070F78
ldr r0, [r2, 0x10]
cmp r0, 0
bne _08070F78
movs r1, 0x4
ldrsh r0, [r4, r1]
movs r2, 0x6
ldrsh r1, [r4, r2]
bl sub_804954C
adds r2, r0, 0
ldr r1, _08070F74
movs r0, 0x7
ands r0, r5
adds r0, r1
ldrb r1, [r2, 0xA]
ldrb r0, [r0]
ands r0, r1
cmp r0, 0
beq _08070F78
movs r0, 0x1
b _08070F7A
.align 2, 0
_08070F70: .4byte gUnknown_80F4448
_08070F74: .4byte gUnknown_8106FBD
_08070F78:
movs r0, 0
_08070F7A:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8070F14
thumb_func_start sub_8070F80
sub_8070F80:
push {r4-r6,lr}
adds r4, r0, 0
adds r6, r1, 0
ldr r0, [r4, 0x70]
movs r1, 0x2
ldrsh r0, [r0, r1]
bl sub_8070328
lsls r0, 24
lsrs r5, r0, 24
movs r2, 0x4
ldrsh r0, [r4, r2]
ldr r1, _08070FF4
lsls r2, r6, 2
adds r2, r1
movs r3, 0
ldrsh r1, [r2, r3]
adds r0, r1
movs r3, 0x6
ldrsh r1, [r4, r3]
movs r3, 0x2
ldrsh r2, [r2, r3]
adds r1, r2
bl sub_804954C
adds r2, r0, 0
ldrh r1, [r2]
movs r0, 0x10
ands r0, r1
cmp r0, 0
bne _08071050
ldr r0, [r2, 0x10]
cmp r0, 0
beq _08070FCC
bl sub_80450F8
cmp r0, 0x1
bne _08071050
_08070FCC:
bl sub_80441E8
lsls r0, 24
cmp r0, 0
bne _08071020
ldr r0, [r4, 0x70]
adds r0, 0xE4
ldrb r0, [r0]
cmp r0, 0x3
beq _08070FEE
adds r0, r4, 0
movs r1, 0x9
bl sub_8046CB0
lsls r0, 24
cmp r0, 0
beq _08070FF8
_08070FEE:
movs r5, 0x3
b _08071020
.align 2, 0
_08070FF4: .4byte gUnknown_80F4448
_08070FF8:
adds r0, r4, 0
movs r1, 0xC
bl HasIQSkill
lsls r0, 24
cmp r0, 0
bne _0807101E
adds r0, r4, 0
movs r1, 0xD
bl HasIQSkill
lsls r0, 24
cmp r0, 0
beq _08071020
movs r0, 0x1
ands r0, r6
movs r5, 0x3
cmp r0, 0
beq _08071020
_0807101E:
movs r5, 0x2
_08071020:
movs r1, 0x4
ldrsh r0, [r4, r1]
movs r2, 0x6
ldrsh r1, [r4, r2]
bl sub_804954C
adds r2, r0, 0
adds r1, r2, 0
adds r1, 0xA
adds r1, r5
ldr r2, _0807104C
movs r0, 0x7
ands r0, r6
adds r0, r2
ldrb r1, [r1]
ldrb r0, [r0]
ands r0, r1
cmp r0, 0
beq _08071050
movs r0, 0x1
b _08071052
.align 2, 0
_0807104C: .4byte gUnknown_8106FC5
_08071050:
movs r0, 0
_08071052:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8070F80
thumb_func_start sub_8071058
sub_8071058:
push {r4-r7,lr}
adds r5, r0, 0
adds r7, r1, 0
ldr r0, [r5, 0x70]
movs r1, 0x2
ldrsh r0, [r0, r1]
bl sub_8070328
lsls r0, 24
lsrs r6, r0, 24
movs r2, 0x4
ldrsh r0, [r5, r2]
ldr r1, _080710D4
lsls r2, r7, 2
adds r2, r1
movs r3, 0
ldrsh r1, [r2, r3]
adds r0, r1
movs r3, 0x6
ldrsh r1, [r5, r3]
movs r3, 0x2
ldrsh r2, [r2, r3]
adds r1, r2
bl sub_804954C
adds r4, r0, 0
ldrh r1, [r4]
movs r0, 0x10
ands r0, r1
cmp r0, 0
bne _08071130
ldr r0, [r4, 0x10]
cmp r0, 0
beq _080710AE
bl sub_80450F8
cmp r0, 0x1
beq _080710AE
ldr r0, [r4, 0x10]
ldr r0, [r0, 0x70]
ldrb r0, [r0, 0x6]
cmp r0, 0
bne _08071130
_080710AE:
bl sub_80441E8
lsls r0, 24
cmp r0, 0
bne _08071100
ldr r0, [r5, 0x70]
adds r0, 0xE4
ldrb r0, [r0]
cmp r0, 0x3
beq _080710D0
adds r0, r5, 0
movs r1, 0x9
bl sub_8046CB0
lsls r0, 24
cmp r0, 0
beq _080710D8
_080710D0:
movs r6, 0x3
b _08071100
.align 2, 0
_080710D4: .4byte gUnknown_80F4448
_080710D8:
adds r0, r5, 0
movs r1, 0xC
bl HasIQSkill
lsls r0, 24
cmp r0, 0
bne _080710FE
adds r0, r5, 0
movs r1, 0xD
bl HasIQSkill
lsls r0, 24
cmp r0, 0
beq _08071100
movs r0, 0x1
ands r0, r7
movs r6, 0x3
cmp r0, 0
beq _08071100
_080710FE:
movs r6, 0x2
_08071100:
movs r1, 0x4
ldrsh r0, [r5, r1]
movs r2, 0x6
ldrsh r1, [r5, r2]
bl sub_804954C
adds r4, r0, 0
adds r1, r4, 0
adds r1, 0xA
adds r1, r6
ldr r2, _0807112C
movs r0, 0x7
ands r0, r7
adds r0, r2
ldrb r1, [r1]
ldrb r0, [r0]
ands r0, r1
cmp r0, 0
beq _08071130
movs r0, 0x1
b _08071132
.align 2, 0
_0807112C: .4byte gUnknown_8106FCD
_08071130:
movs r0, 0
_08071132:
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8071058
thumb_func_start sub_8071138
sub_8071138:
push {r4-r6,lr}
adds r4, r0, 0
adds r6, r1, 0
ldr r0, [r4, 0x70]
movs r1, 0x2
ldrsh r0, [r0, r1]
bl sub_8070328
lsls r0, 24
lsrs r5, r0, 24
cmp r5, 0x1
bhi _08071152
movs r5, 0x2
_08071152:
movs r2, 0x4
ldrsh r0, [r4, r2]
ldr r1, _080711B0
lsls r2, r6, 2
adds r2, r1
movs r3, 0
ldrsh r1, [r2, r3]
adds r0, r1
movs r3, 0x6
ldrsh r1, [r4, r3]
movs r3, 0x2
ldrsh r2, [r2, r3]
adds r1, r2
bl sub_804954C
adds r2, r0, 0
ldrh r1, [r2]
movs r0, 0x10
ands r0, r1
cmp r0, 0
bne _0807120C
ldr r0, [r2, 0x10]
cmp r0, 0
beq _0807118A
bl sub_80450F8
cmp r0, 0x1
bne _0807120C
_0807118A:
bl sub_80441E8
lsls r0, 24
cmp r0, 0
bne _080711DC
ldr r0, [r4, 0x70]
adds r0, 0xE4
ldrb r0, [r0]
cmp r0, 0x3
beq _080711AC
adds r0, r4, 0
movs r1, 0x9
bl sub_8046CB0
lsls r0, 24
cmp r0, 0
beq _080711B4
_080711AC:
movs r5, 0x3
b _080711DC
.align 2, 0
_080711B0: .4byte gUnknown_80F4448
_080711B4:
adds r0, r4, 0
movs r1, 0xC
bl HasIQSkill
lsls r0, 24
cmp r0, 0
bne _080711DA
adds r0, r4, 0
movs r1, 0xD
bl HasIQSkill
lsls r0, 24
cmp r0, 0
beq _080711DC
movs r0, 0x1
ands r0, r6
movs r5, 0x3
cmp r0, 0
beq _080711DC
_080711DA:
movs r5, 0x2
_080711DC:
movs r1, 0x4
ldrsh r0, [r4, r1]
movs r2, 0x6
ldrsh r1, [r4, r2]
bl sub_804954C
adds r2, r0, 0
adds r1, r2, 0
adds r1, 0xA
adds r1, r5
ldr r2, _08071208
movs r0, 0x7
ands r0, r6
adds r0, r2
ldrb r1, [r1]
ldrb r0, [r0]
ands r0, r1
cmp r0, 0
beq _0807120C
movs r0, 0x1
b _0807120E
.align 2, 0
_08071208: .4byte gUnknown_8106FD5
_0807120C:
movs r0, 0
_0807120E:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8071138
thumb_func_start sub_8071214
sub_8071214:
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r4, r0, 0
adds r7, r1, 0
mov r8, r2
ldr r0, [r4, 0x70]
movs r1, 0x2
ldrsh r0, [r0, r1]
bl sub_8070328
lsls r0, 24
lsrs r6, r0, 24
movs r0, 0
mov r2, r8
strb r0, [r2]
movs r3, 0x4
ldrsh r0, [r4, r3]
ldr r1, _0807130C
lsls r2, r7, 2
adds r2, r1
movs r3, 0
ldrsh r1, [r2, r3]
adds r0, r1
movs r3, 0x6
ldrsh r1, [r4, r3]
movs r3, 0x2
ldrsh r2, [r2, r3]
adds r1, r2
bl sub_804954C
adds r5, r0, 0
ldrh r1, [r5]
movs r0, 0x10
ands r0, r1
cmp r0, 0
beq _08071260
b _0807137E
_08071260:
movs r0, 0x40
ands r0, r1
cmp r0, 0
beq _08071286
ldr r0, _08071310
ldr r0, [r0]
ldr r1, _08071314
adds r0, r1
ldrb r0, [r0]
cmp r0, 0
bne _08071286
adds r0, r4, 0
movs r1, 0xF
bl HasIQSkill
lsls r0, 24
cmp r0, 0
beq _08071286
b _0807137E
_08071286:
ldr r0, [r5, 0x14]
cmp r0, 0
beq _080712B8
adds r0, r4, 0
movs r1, 0xE
bl HasIQSkill
lsls r0, 24
cmp r0, 0
beq _080712B8
ldr r0, [r5, 0x14]
bl sub_80450F8
cmp r0, 0x2
bne _080712B8
ldr r0, [r5, 0x14]
adds r0, 0x20
ldrb r0, [r0]
cmp r0, 0
bne _0807137E
ldr r0, [r4, 0x70]
adds r0, 0xE8
ldrb r0, [r0]
cmp r0, 0x3
beq _0807137E
_080712B8:
ldrh r1, [r5]
movs r0, 0x3
ands r0, r1
cmp r0, 0x2
bne _080712E6
ldr r1, _08071318
ldr r0, _08071310
ldr r0, [r0]
ldr r2, _0807131C
adds r0, r2
movs r3, 0
ldrsh r0, [r0, r3]
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x1
bne _080712E6
adds r0, r4, 0
movs r1, 0x14
bl HasIQSkill
lsls r0, 24
cmp r0, 0
bne _0807137E
_080712E6:
bl sub_80441E8
lsls r0, 24
cmp r0, 0
bne _08071348
ldr r0, [r4, 0x70]
adds r0, 0xE4
ldrb r0, [r0]
cmp r0, 0x3
beq _08071308
adds r0, r4, 0
movs r1, 0x9
bl sub_8046CB0
lsls r0, 24
cmp r0, 0
beq _08071320
_08071308:
movs r6, 0x3
b _08071348
.align 2, 0
_0807130C: .4byte gUnknown_80F4448
_08071310: .4byte gDungeonGlobalData
_08071314: .4byte 0x00000671
_08071318: .4byte gUnknown_810ACC0
_0807131C: .4byte 0x00003a0e
_08071320:
adds r0, r4, 0
movs r1, 0xC
bl HasIQSkill
lsls r0, 24
cmp r0, 0
bne _08071346
adds r0, r4, 0
movs r1, 0xD
bl HasIQSkill
lsls r0, 24
cmp r0, 0
beq _08071348
movs r0, 0x1
ands r0, r7
movs r6, 0x3
cmp r0, 0
beq _08071348
_08071346:
movs r6, 0x2
_08071348:
movs r1, 0x4
ldrsh r0, [r4, r1]
movs r2, 0x6
ldrsh r1, [r4, r2]
bl sub_804954C
adds r0, 0xA
adds r0, r6
ldr r2, _08071374
movs r1, 0x7
ands r1, r7
adds r1, r2
ldrb r2, [r0]
ldrb r0, [r1]
ands r0, r2
cmp r0, 0
beq _0807137E
ldr r0, [r5, 0x10]
cmp r0, 0
bne _08071378
movs r0, 0x1
b _08071380
.align 2, 0
_08071374: .4byte gUnknown_8106FDD
_08071378:
movs r0, 0x1
mov r3, r8
strb r0, [r3]
_0807137E:
movs r0, 0
_08071380:
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_8071214
thumb_func_start sub_807138C
sub_807138C:
push {r4,r5,lr}
adds r4, r0, 0
ldr r0, [r4, 0x70]
movs r1, 0x2
ldrsh r0, [r0, r1]
bl sub_8070328
lsls r0, 24
lsrs r5, r0, 24
bl sub_80441E8
lsls r0, 24
cmp r0, 0
bne _080713E2
ldr r0, [r4, 0x70]
adds r0, 0xE4
ldrb r0, [r0]
cmp r0, 0x3
beq _080713E0
adds r0, r4, 0
movs r1, 0x9
bl sub_8046CB0
lsls r0, 24
cmp r0, 0
bne _080713E0
adds r0, r4, 0
movs r1, 0xC
bl HasIQSkill
lsls r0, 24
cmp r0, 0
beq _080713D2
movs r5, 0x2
b _080713E2
_080713D2:
adds r0, r4, 0
movs r1, 0xD
bl HasIQSkill
lsls r0, 24
cmp r0, 0
beq _080713E2
_080713E0:
movs r5, 0x3
_080713E2:
cmp r5, 0x3
bne _08071408
ldr r4, [r4, 0x70]
movs r0, 0x64
bl DungeonRandomCapped
movs r1, 0xFD
lsls r1, 1
adds r2, r4, r1
ldrh r1, [r2]
adds r1, r0
strh r1, [r2]
lsls r1, 16
asrs r1, 16
cmp r1, 0xC7
ble _08071458
movs r0, 0
strh r0, [r2]
b _08071468
_08071408:
ldr r1, _0807145C
ldr r0, _08071460
ldr r0, [r0]
ldr r2, _08071464
adds r0, r2
movs r2, 0
ldrsh r0, [r0, r2]
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x1
bne _08071432
cmp r5, 0x1
bne _08071432
adds r0, r4, 0
movs r1, 0x14
bl HasIQSkill
lsls r0, 24
cmp r0, 0
beq _08071432
movs r5, 0
_08071432:
movs r1, 0x4
ldrsh r0, [r4, r1]
movs r2, 0x6
ldrsh r1, [r4, r2]
bl sub_804954C
adds r0, 0xA
adds r0, r5
ldrb r0, [r0]
cmp r0, 0x54
beq _08071468
cmp r0, 0x51
beq _08071468
cmp r0, 0x45
beq _08071468
cmp r0, 0x15
beq _08071468
cmp r0, 0x55
beq _08071468
_08071458:
movs r0, 0
b _0807146A
.align 2, 0
_0807145C: .4byte gUnknown_810ACC0
_08071460: .4byte gDungeonGlobalData
_08071464: .4byte 0x00003a0e
_08071468:
movs r0, 0x1
_0807146A:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_807138C
thumb_func_start sub_8071470
sub_8071470:
push {r4,lr}
lsls r1, 24
lsrs r4, r1, 24
movs r1, 0x3
bl HasTactic
lsls r0, 24
cmp r0, 0
beq _0807148A
cmp r4, 0
beq _0807148A
movs r0, 0x1
b _0807148C
_0807148A:
movs r0, 0
_0807148C:
pop {r4}
pop {r1}
bx r1
thumb_func_end sub_8071470
.align 2, 0

445
asm/code_8071518.s Normal file
View File

@@ -0,0 +1,445 @@
.include "constants/gba_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_8071518
sub_8071518:
push {r4,r5,lr}
adds r4, r0, 0
lsls r1, 24
lsrs r5, r1, 24
bl ShouldAvoidEnemies
lsls r0, 24
cmp r0, 0
bne _0807152E
movs r0, 0
b _08071538
_0807152E:
adds r0, r4, 0
adds r1, r5, 0
bl sub_8071540
movs r0, 0x1
_08071538:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_8071518
thumb_func_start sub_8071540
sub_8071540:
push {r4-r7,lr}
adds r5, r0, 0
lsls r1, 24
lsrs r7, r1, 24
ldr r4, [r5, 0x70]
adds r6, r4, 0
ldrb r0, [r4, 0x7]
cmp r0, 0
bne _08071590
adds r0, r5, 0
movs r1, 0x2B
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08071590
movs r2, 0
movs r1, 0x10
ldrsh r0, [r4, r1]
lsrs r1, r0, 31
adds r0, r1
movs r3, 0xE
ldrsh r1, [r4, r3]
asrs r0, 1
cmp r1, r0
bgt _08071576
movs r2, 0x1
_08071576:
adds r0, r6, 0
movs r1, 0x4
bl sub_8071ACC
lsls r0, 24
lsrs r0, 24
cmp r7, 0
beq _08071590
cmp r0, 0
beq _08071590
adds r0, r5, 0
bl sub_8042910
_08071590:
pop {r4-r7}
pop {r0}
bx r0
thumb_func_end sub_8071540
thumb_func_start sub_8071598
sub_8071598:
push {r4-r6,lr}
adds r6, r0, 0
lsls r2, 24
lsrs r2, 24
lsls r3, 24
lsrs r3, 24
ldr r5, [r6, 0x70]
ldr r4, [r1, 0x70]
cmp r6, r1
bne _080715B0
movs r0, 0
b _08071670
_080715B0:
ldrb r0, [r5, 0x8]
cmp r0, 0x1
beq _08071606
ldrb r0, [r4, 0x8]
cmp r0, 0x1
beq _08071606
adds r0, r5, 0
adds r0, 0xA4
ldrb r1, [r0]
cmp r1, 0x4
beq _08071606
adds r0, r4, 0
adds r0, 0xA4
ldrb r0, [r0]
cmp r0, 0x4
beq _08071606
cmp r1, 0x1
beq _08071606
cmp r0, 0x1
beq _08071606
cmp r3, 0
beq _080715EC
ldrb r0, [r5, 0x6]
cmp r0, 0
bne _080715EC
adds r0, r4, 0
adds r0, 0xB0
ldrb r0, [r0]
cmp r0, 0x6
beq _08071606
_080715EC:
cmp r2, 0
bne _0807160A
adds r0, r4, 0
adds r0, 0xE4
ldrb r0, [r0]
cmp r0, 0x1
bne _0807160A
adds r0, r6, 0
bl sub_8071884
lsls r0, 24
cmp r0, 0
bne _0807160A
_08071606:
movs r0, 0x2
b _08071670
_0807160A:
movs r1, 0x80
lsls r1, 1
adds r0, r5, r1
ldrb r0, [r0]
movs r6, 0
cmp r0, 0
beq _08071620
movs r6, 0x2
cmp r0, 0x1
bne _08071620
movs r6, 0x1
_08071620:
ldrb r0, [r5, 0x8]
cmp r0, 0
beq _08071630
movs r5, 0
cmp r0, 0x3
bne _08071638
movs r5, 0x1
b _08071638
_08071630:
ldrb r1, [r5, 0x6]
negs r0, r1
orrs r0, r1
lsrs r5, r0, 31
_08071638:
ldrb r0, [r4, 0x8]
cmp r0, 0
beq _08071648
movs r1, 0
cmp r0, 0x3
bne _08071650
movs r1, 0x1
b _08071650
_08071648:
ldrb r1, [r4, 0x6]
negs r0, r1
orrs r0, r1
lsrs r1, r0, 31
_08071650:
movs r3, 0
adds r0, r4, 0
adds r0, 0xC8
ldrb r0, [r0]
cmp r0, 0x2
bne _0807165E
movs r3, 0x1
_0807165E:
ldr r2, _08071678
lsls r0, r1, 1
adds r0, r3, r0
lsls r1, r5, 2
adds r0, r1
lsls r1, r6, 3
adds r0, r1
adds r0, r2
ldrb r0, [r0]
_08071670:
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_08071678: .4byte gUnknown_8106FE5
thumb_func_end sub_8071598
thumb_func_start sub_807167C
sub_807167C:
push {lr}
ldr r2, [r0, 0x70]
ldr r1, [r1, 0x70]
adds r0, r2, 0
adds r0, 0xA4
ldrb r0, [r0]
cmp r0, 0x1
beq _080716D2
adds r0, r2, 0
adds r0, 0x40
ldrb r0, [r0]
cmp r0, 0x4A
beq _0807169A
cmp r0, 0x47
bne _0807169E
_0807169A:
movs r0, 0x1
b _080716A0
_0807169E:
movs r0, 0
_080716A0:
cmp r0, 0
bne _080716D2
ldrb r0, [r2, 0x8]
cmp r0, 0
bne _080716D2
adds r0, r1, 0
adds r0, 0xA4
ldrb r0, [r0]
cmp r0, 0x1
beq _080716D2
adds r0, r1, 0
adds r0, 0x40
ldrb r0, [r0]
cmp r0, 0x4A
beq _080716C2
cmp r0, 0x47
bne _080716C6
_080716C2:
movs r0, 0x1
b _080716C8
_080716C6:
movs r0, 0
_080716C8:
cmp r0, 0
bne _080716D2
ldrb r0, [r1, 0x8]
cmp r0, 0
beq _080716D6
_080716D2:
movs r0, 0x2
b _080716E4
_080716D6:
ldrb r0, [r2, 0x6]
ldrb r1, [r1, 0x6]
cmp r0, r1
bne _080716E2
movs r0, 0
b _080716E4
_080716E2:
movs r0, 0x1
_080716E4:
pop {r1}
bx r1
thumb_func_end sub_807167C
thumb_func_start sub_80716E8
sub_80716E8:
push {r4,r5,lr}
adds r5, r0, 0
adds r4, r1, 0
lsls r2, 24
lsrs r2, 24
ldr r0, [r4, 0x70]
adds r0, 0xC4
ldrb r0, [r0]
cmp r0, 0x2
bne _08071720
cmp r2, 0
beq _08071714
ldr r0, _08071718
movs r2, 0
bl SetMessageArgument
ldr r0, _0807171C
ldr r2, [r0]
adds r0, r5, 0
adds r1, r4, 0
bl sub_80522F4
_08071714:
movs r0, 0x1
b _08071722
.align 2, 0
_08071718: .4byte gAvailablePokemonNames
_0807171C: .4byte gUnknown_80FC2FC
_08071720:
movs r0, 0
_08071722:
pop {r4,r5}
pop {r1}
bx r1
thumb_func_end sub_80716E8
thumb_func_start sub_8071728
sub_8071728:
push {r4-r6,lr}
adds r6, r0, 0
adds r4, r1, 0
lsls r2, 24
lsrs r2, 24
adds r5, r2, 0
ldr r0, [r4, 0x70]
adds r0, 0xC4
ldrb r0, [r0]
cmp r0, 0xE
bne _08071758
cmp r2, 0
beq _0807178E
ldr r0, _08071750
movs r2, 0
bl SetMessageArgument
ldr r0, _08071754
b _08071784
.align 2, 0
_08071750: .4byte gAvailablePokemonNames
_08071754: .4byte gUnknown_80FC31C
_08071758:
adds r0, r4, 0
movs r1, 0xF
bl HasAbility
lsls r0, 24
cmp r0, 0
bne _08071774
adds r0, r4, 0
movs r1, 0x18
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0807179C
_08071774:
cmp r5, 0
beq _0807178E
ldr r0, _08071794
adds r1, r4, 0
movs r2, 0
bl SetMessageArgument
ldr r0, _08071798
_08071784:
ldr r2, [r0]
adds r0, r6, 0
adds r1, r4, 0
bl sub_80522F4
_0807178E:
movs r0, 0x1
b _0807179E
.align 2, 0
_08071794: .4byte gAvailablePokemonNames
_08071798: .4byte gUnknown_80FCEFC
_0807179C:
movs r0, 0
_0807179E:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_8071728
thumb_func_start sub_80717A4
sub_80717A4:
push {r4-r7,lr}
mov r7, r9
mov r6, r8
push {r6,r7}
mov r8, r0
lsls r1, 16
lsrs r1, 16
mov r9, r1
ldr r6, [r0, 0x70]
adds r0, r6, 0
adds r0, 0xA8
ldrb r0, [r0]
cmp r0, 0x1
beq _080717CE
cmp r0, 0x5
beq _080717CE
cmp r0, 0x3
beq _080717CE
b _08071816
_080717CA:
movs r0, 0x1
b _08071818
_080717CE:
movs r7, 0
movs r0, 0x8C
lsls r0, 1
adds r4, r6, r0
adds r5, r4, 0
_080717D8:
ldrb r1, [r4]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _0807180C
ldrb r0, [r6, 0x7]
cmp r0, 0
bne _080717F0
movs r0, 0x4
ands r0, r1
cmp r0, 0
beq _0807180C
_080717F0:
mov r0, r8
adds r1, r5, 0
movs r2, 0x1
bl sub_805744C
lsls r0, 24
cmp r0, 0
beq _0807180C
ldrb r0, [r4, 0x4]
cmp r0, 0
beq _0807180C
ldrh r0, [r4, 0x2]
cmp r0, r9
beq _080717CA
_0807180C:
adds r4, 0x8
adds r5, 0x8
adds r7, 0x1
cmp r7, 0x3
ble _080717D8
_08071816:
movs r0, 0
_08071818:
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r7}
pop {r1}
bx r1
thumb_func_end sub_80717A4
.align 2, 0

61
asm/code_8071858.s Normal file
View File

@@ -0,0 +1,61 @@
.include "constants/gba_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_8071858
sub_8071858:
push {lr}
lsls r1, 24
lsrs r1, 24
adds r3, r1, 0
ldr r0, [r0, 0x70]
adds r2, r0, 0
cmp r1, 0
beq _0807187A
adds r0, 0x5C
ldrb r0, [r0]
cmp r0, r1
beq _0807187E
adds r0, r2, 0
adds r0, 0x5D
ldrb r0, [r0]
cmp r0, r3
beq _0807187E
_0807187A:
movs r0, 0
b _08071880
_0807187E:
movs r0, 0x1
_08071880:
pop {r1}
bx r1
thumb_func_end sub_8071858
thumb_func_start sub_8071884
sub_8071884:
push {lr}
adds r1, r0, 0
ldr r0, [r1, 0x70]
adds r0, 0xE8
ldrb r0, [r0]
cmp r0, 0x3
beq _080718A4
adds r0, r1, 0
movs r1, 0x1A
bl sub_8046CB0
lsls r0, 24
cmp r0, 0
bne _080718A4
movs r0, 0
b _080718A6
_080718A4:
movs r0, 0x1
_080718A6:
pop {r1}
bx r1
thumb_func_end sub_8071884
.align 2, 0

8181
asm/code_80718D8.s Normal file

File diff suppressed because it is too large Load Diff

View File

@@ -74,7 +74,7 @@ _08075C0A:
beq _08075C3C
adds r0, r5, 0
movs r1, 0x2F
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08075C3C
@@ -230,7 +230,7 @@ _08075D50: .4byte gUnknown_80FCD54
_08075D54:
adds r0, r4, 0
movs r1, 0x36
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08075D70
@@ -243,7 +243,7 @@ _08075D6C: .4byte gUnknown_80FCD58
_08075D70:
adds r0, r4, 0
movs r1, 0x49
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08075D8C
@@ -315,7 +315,7 @@ sub_8075DBC:
strb r0, [r4]
adds r0, r5, 0
movs r1, 0x2F
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08075E1E
@@ -413,7 +413,7 @@ _08075EB2:
strb r0, [r4]
adds r0, r5, 0
movs r1, 0x2F
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08075EDC
@@ -763,7 +763,7 @@ sub_807614C:
bne _08076206
adds r0, r4, 0
movs r1, 0x29
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _080761A8
@@ -870,7 +870,7 @@ _0807624A:
bl sub_80708B4
adds r0, r5, 0
movs r1, 0x42
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0807627C
@@ -985,7 +985,7 @@ _08076344:
bl sub_80418D4
adds r0, r5, 0
movs r1, 0x19
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _080763DA
@@ -1118,7 +1118,7 @@ _08076458: .4byte gUnknown_80FD524
_0807645C:
adds r0, r5, 0
movs r1, 0x45
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0807647C
@@ -1217,7 +1217,7 @@ _08076520:
_0807652C:
adds r0, r5, 0
movs r1, 0x19
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _080765BA
@@ -1352,7 +1352,7 @@ _08076640: .4byte gUnknown_80FD524
_08076644:
adds r0, r5, 0
movs r1, 0x45
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08076664
@@ -1440,7 +1440,7 @@ _080766F0:
_080766FC:
adds r0, r5, 0
movs r1, 0x19
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0807678A
@@ -1558,7 +1558,7 @@ _080767CE:
bne _080768C8
adds r0, r5, 0
movs r1, 0x41
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08076814
@@ -2382,7 +2382,7 @@ _08076EAC: .4byte gUnknown_80FD550
_08076EB0:
adds r0, r4, 0
movs r1, 0x9
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08076EE4
@@ -2813,7 +2813,7 @@ sub_807723C:
beq _08077258
adds r0, r4, 0
movs r1, 0x48
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
bne _0807725C
@@ -2946,7 +2946,7 @@ _0807734C: .4byte gUnknown_80FD550
_08077350:
adds r0, r5, 0
movs r1, 0x9
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0807738C
@@ -3301,7 +3301,7 @@ _08077616:
bne _080776B6
adds r0, r5, 0
movs r1, 0x1E
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08077664
@@ -3390,7 +3390,7 @@ sub_80776C0:
bne _08077776
adds r0, r4, 0
movs r1, 0x1F
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08077718
@@ -3489,7 +3489,7 @@ _080777A2:
_080777B4:
adds r0, r5, 0
movs r1, 0x16
bl sub_8071824
bl HasAbility
lsls r0, 24
lsrs r4, r0, 24
cmp r4, 0
@@ -3564,7 +3564,7 @@ _08077850:
_0807785C:
adds r0, r5, 0
movs r1, 0x19
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _080778EA
@@ -3918,7 +3918,7 @@ _08077B30: .4byte gUnknown_80FD500
_08077B34:
adds r0, r4, 0
movs r1, 0x40
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08077B58
@@ -8103,7 +8103,7 @@ sub_8079D1C:
ldr r6, [r4, 0x70]
adds r0, r4, 0
movs r1, 0x25
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _08079D50
@@ -10212,7 +10212,7 @@ MoveIfPossible:
strb r6, [r0]
adds r0, r5, 0
movs r1, 0x7
bl sub_80718AC
bl HasTactic
lsls r0, 24
cmp r0, 0
beq _0807ADFA
@@ -10232,7 +10232,7 @@ MoveIfPossible:
_0807ADFA:
adds r0, r5, 0
movs r1, 0x9
bl sub_80718AC
bl HasTactic
lsls r0, 24
cmp r0, 0
beq _0807AE12
@@ -10599,7 +10599,7 @@ _0807B09E:
str r2, [r0]
mov r0, r8
movs r1, 0x8
bl sub_80718AC
bl HasTactic
lsls r0, 24
cmp r0, 0
bne _0807B0E4
@@ -10648,7 +10648,7 @@ _0807B124:
_0807B12C:
mov r0, r8
movs r1, 0x1
bl sub_80718AC
bl HasTactic
lsls r0, 24
cmp r0, 0
bne _0807B17C
@@ -12043,7 +12043,7 @@ _0807BBB6:
_0807BBC6:
mov r0, r10
movs r1, 0x8
bl sub_80718AC
bl HasTactic
lsls r0, 24
cmp r0, 0
beq _0807BBD6
@@ -14445,7 +14445,7 @@ _0807CDE4:
bl SetMessageArgument
adds r0, r6, 0
movs r1, 0xE
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0807CE28
@@ -14871,7 +14871,7 @@ sub_807D148:
bl SetMessageArgument
adds r0, r5, 0
movs r1, 0xE
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0807D188
@@ -15959,7 +15959,7 @@ sub_807DA14:
mov r10, r0
adds r0, r6, 0
movs r1, 0xE
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0807DA50
@@ -16622,7 +16622,7 @@ _0807DF62:
beq _0807DF60
adds r0, r4, 0
movs r1, 0x15
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0807DF60
@@ -16977,7 +16977,7 @@ sub_807E254:
adds r6, r0, 0
adds r7, r1, 0
movs r1, 0xE
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0807E274
@@ -16989,7 +16989,7 @@ _0807E270: .4byte gAvailablePokemonNames
_0807E274:
adds r0, r7, 0
movs r1, 0xE
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0807E2A4
@@ -17815,7 +17815,7 @@ _0807E90E:
bl sub_8070774
adds r0, r5, 0
movs r1, 0x25
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0807E958
@@ -17882,7 +17882,7 @@ _0807E9A4:
bhi _0807E9FE
adds r0, r5, 0
movs r1, 0x25
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0807E9D4
@@ -19209,7 +19209,7 @@ sub_807F43C:
mov r8, r1
mov r0, r8
movs r1, 0xE
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _0807F470
@@ -27792,7 +27792,7 @@ sub_8083904:
ldrb r6, [r5]
mov r0, r10
movs r1, 0x1
bl sub_8070B6C
bl CannotMove
lsls r0, 24
cmp r0, 0
beq _08083954
@@ -28979,7 +28979,7 @@ sub_808417C:
_080841C4:
adds r0, r5, 0
movs r1, 0x14
bl sub_8071824
bl HasAbility
lsls r0, 24
cmp r0, 0
beq _080841DC

File diff suppressed because it is too large Load Diff

972
asm/code_8085B0C.s Normal file
View File

@@ -0,0 +1,972 @@
.include "constants/gba_constants.inc"
.include "asm/macros.inc"
.syntax unified
.text
thumb_func_start sub_8085B0C
sub_8085B0C:
push {r4,r5,lr}
sub sp, 0x1C
adds r5, r0, 0
ldr r1, _08085B48
mov r0, sp
movs r2, 0x19
bl memcpy
mov r0, sp
ldrb r0, [r0]
cmp r0, 0
beq _08085B3E
mov r4, sp
_08085B26:
ldrb r1, [r4]
adds r0, r5, 0
bl sub_8085918
movs r0, 0x6
movs r1, 0x46
bl sub_803E708
adds r4, 0x1
ldrb r0, [r4]
cmp r0, 0
bne _08085B26
_08085B3E:
add sp, 0x1C
pop {r4,r5}
pop {r0}
bx r0
.align 2, 0
_08085B48: .4byte gUnknown_8107358
thumb_func_end sub_8085B0C
thumb_func_start sub_8085B4C
sub_8085B4C:
push {r4-r6,lr}
adds r5, r0, 0
ldr r0, _08085B7C
str r3, [r0]
cmp r3, 0
ble _08085B76
movs r6, 0x1
adds r4, r1, 0
adds r1, r5, 0
_08085B5E:
strb r6, [r1]
ldm r2!, {r0}
str r0, [r1, 0x4]
ldm r4!, {r0}
str r0, [r1, 0xC]
movs r5, 0x4
ldrsh r0, [r0, r5]
str r0, [r1, 0x8]
adds r1, 0x10
subs r3, 0x1
cmp r3, 0
bne _08085B5E
_08085B76:
pop {r4-r6}
pop {r0}
bx r0
.align 2, 0
_08085B7C: .4byte gUnknown_202F3D8
thumb_func_end sub_8085B4C
thumb_func_start sub_8085B80
sub_8085B80:
push {r4-r7,lr}
mov r7, r8
push {r7}
adds r1, r0, 0
movs r0, 0
mov r8, r0
movs r7, 0
ldr r0, _08085BE4
ldr r0, [r0]
cmp r8, r0
bge _08085C3E
adds r5, r1, 0
_08085B98:
ldr r6, [r5, 0x4]
ldr r2, [r6, 0x70]
adds r3, r2, 0
ldr r4, [r5, 0xC]
ldrb r0, [r5]
cmp r0, 0
beq _08085C32
movs r1, 0x1
mov r8, r1
ldr r0, [r5, 0x8]
cmp r0, 0
bne _08085C08
adds r4, 0x8
movs r1, 0x4
ldrsh r0, [r4, r1]
cmp r0, 0
bne _08085BE8
strb r0, [r5]
ldrb r1, [r4]
movs r0, 0x7
ands r0, r1
adds r1, r2, 0
adds r1, 0x46
strb r0, [r1]
movs r3, 0
ldrsh r2, [r4, r3]
adds r0, r6, 0
movs r1, 0x7
bl sub_806CDD4
movs r0, 0xA
ldrsh r1, [r4, r0]
movs r3, 0xC
ldrsh r2, [r4, r3]
adds r0, r6, 0
bl sub_80856C8
b _08085C32
.align 2, 0
_08085BE4: .4byte gUnknown_202F3D8
_08085BE8:
movs r1, 0x4
ldrsh r0, [r4, r1]
str r0, [r5, 0x8]
str r4, [r5, 0xC]
ldrb r1, [r4]
movs r0, 0x7
ands r0, r1
adds r1, r3, 0
adds r1, 0x46
strb r0, [r1]
movs r3, 0
ldrsh r2, [r4, r3]
adds r0, r6, 0
movs r1, 0
bl sub_806CDD4
_08085C08:
ldr r0, [r5, 0x8]
subs r0, 0x1
str r0, [r5, 0x8]
ldr r1, _08085C4C
movs r2, 0
ldrsh r0, [r4, r2]
lsls r0, 2
adds r0, r1
movs r3, 0
ldrsh r1, [r0, r3]
movs r3, 0x2
ldrsh r2, [r4, r3]
muls r1, r2
lsls r1, 8
movs r3, 0x2
ldrsh r0, [r0, r3]
muls r2, r0
lsls r2, 8
adds r0, r6, 0
bl sub_804539C
_08085C32:
adds r5, 0x10
adds r7, 0x1
ldr r0, _08085C50
ldr r0, [r0]
cmp r7, r0
blt _08085B98
_08085C3E:
mov r0, r8
pop {r3}
mov r8, r3
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_08085C4C: .4byte gUnknown_80F4448
_08085C50: .4byte gUnknown_202F3D8
thumb_func_end sub_8085B80
thumb_func_start sub_8085C54
sub_8085C54:
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x28
str r0, [sp, 0x14]
mov r10, r1
mov r9, r2
ldr r4, [sp, 0x48]
lsls r3, 24
lsrs r3, 24
str r3, [sp, 0x18]
lsls r4, 24
lsrs r4, 24
bl sub_8085E98
movs r0, 0
mov r8, r0
ldr r0, _08085E70
ldr r0, [r0]
ldr r5, [r0, 0x4]
cmp r4, 0
beq _08085CAE
ldr r1, [sp, 0x14]
cmp r1, 0
blt _08085C92
lsrs r0, r1, 31
adds r0, r1, r0
asrs r0, 1
str r0, [sp, 0x14]
_08085C92:
mov r2, r10
cmp r2, 0
blt _08085CA0
lsrs r0, r2, 31
add r0, r10
asrs r0, 1
mov r10, r0
_08085CA0:
mov r3, r9
cmp r3, 0
blt _08085CAE
lsrs r0, r3, 31
add r0, r9
asrs r0, 1
mov r9, r0
_08085CAE:
ldr r1, _08085E74
ldr r0, [sp, 0x8]
ands r0, r1
ldr r1, _08085E78
ands r0, r1
ldr r1, _08085E7C
ands r0, r1
str r0, [sp, 0x8]
ldr r0, _08085E80
ldr r2, [r0]
ldr r0, _08085E84
ldr r3, [r0]
movs r0, 0xBE
lsls r0, 1
adds r3, r0
mov r0, r8
add r1, sp, 0x8
bl SetBGPaletteBufferColorRGB
adds r5, 0x4
movs r1, 0x1
add r8, r1
ldr r2, [sp, 0x14]
lsls r2, 16
str r2, [sp, 0x1C]
mov r3, r10
lsls r3, 16
str r3, [sp, 0x20]
mov r0, r9
lsls r0, 16
str r0, [sp, 0x24]
add r7, sp, 0xC
movs r1, 0xA0
cmp r1, 0x1
ble _08085D56
add r6, sp, 0x8
movs r4, 0xA0
subs r4, 0x1
_08085CFA:
ldrb r0, [r5]
ldr r3, [sp, 0x14]
adds r2, r0, r3
ldrb r0, [r5, 0x1]
mov r3, r10
adds r1, r0, r3
ldrb r0, [r5, 0x2]
add r0, r9
cmp r2, 0xFF
ble _08085D10
movs r2, 0xFF
_08085D10:
cmp r1, 0xFF
ble _08085D16
movs r1, 0xFF
_08085D16:
cmp r0, 0xFF
ble _08085D1C
movs r0, 0xFF
_08085D1C:
cmp r2, 0
bge _08085D22
movs r2, 0
_08085D22:
cmp r1, 0
bge _08085D28
movs r1, 0
_08085D28:
cmp r0, 0
bge _08085D2E
movs r0, 0
_08085D2E:
strb r2, [r6]
strb r1, [r6, 0x1]
strb r0, [r6, 0x2]
ldr r0, _08085E80
ldr r2, [r0]
ldr r0, _08085E84
ldr r3, [r0]
movs r0, 0xBE
lsls r0, 1
adds r3, r0
mov r0, r8
add r1, sp, 0x8
bl SetBGPaletteBufferColorRGB
adds r5, 0x4
movs r1, 0x1
add r8, r1
subs r4, 0x1
cmp r4, 0
bne _08085CFA
_08085D56:
ldr r2, _08085E88
ldr r3, [sp, 0x1C]
lsrs r0, r3, 16
ldr r1, [sp, 0x20]
orrs r0, r1
str r0, [sp, 0xC]
ldr r3, [sp, 0x24]
lsrs r1, r3, 16
ldr r0, [r7, 0x4]
ands r0, r2
orrs r0, r1
str r0, [r7, 0x4]
ldr r0, _08085E8C
ldr r1, _08085E80
ldr r3, [r1]
ldr r1, _08085E84
ldr r1, [r1]
movs r2, 0xBE
lsls r2, 1
adds r1, r2
str r1, [sp]
str r7, [sp, 0x4]
movs r1, 0xA0
movs r2, 0x20
bl sub_8004C00
movs r3, 0x20
add r8, r3
ldr r5, _08085E90
add r6, sp, 0x8
movs r4, 0x20
_08085D94:
ldrb r0, [r5]
ldr r1, [sp, 0x14]
adds r2, r0, r1
ldrb r0, [r5, 0x1]
mov r3, r10
adds r1, r0, r3
ldrb r0, [r5, 0x2]
add r0, r9
cmp r2, 0xFF
ble _08085DAA
movs r2, 0xFF
_08085DAA:
cmp r1, 0xFF
ble _08085DB0
movs r1, 0xFF
_08085DB0:
cmp r0, 0xFF
ble _08085DB6
movs r0, 0xFF
_08085DB6:
cmp r2, 0
bge _08085DBC
movs r2, 0
_08085DBC:
cmp r1, 0
bge _08085DC2
movs r1, 0
_08085DC2:
cmp r0, 0
bge _08085DC8
movs r0, 0
_08085DC8:
strb r2, [r6]
strb r1, [r6, 0x1]
strb r0, [r6, 0x2]
ldr r0, _08085E80
ldr r2, [r0]
ldr r7, _08085E84
ldr r3, [r7]
movs r0, 0xBE
lsls r0, 1
adds r3, r0
mov r0, r8
add r1, sp, 0x8
bl SetBGPaletteBufferColorRGB
adds r5, 0x4
movs r1, 0x1
add r8, r1
subs r4, 0x1
cmp r4, 0
bne _08085D94
ldr r2, [sp, 0x18]
cmp r2, 0
beq _08085E5E
ldr r0, [r7]
ldr r3, _08085E94
adds r0, r3
ldr r0, [r0]
ldr r5, [r0, 0x4]
movs r0, 0x80
lsls r0, 1
mov r8, r0
add r6, sp, 0x8
movs r4, 0xD0
_08085E0A:
ldrb r0, [r5]
ldr r1, [sp, 0x14]
adds r2, r0, r1
ldrb r0, [r5, 0x1]
mov r3, r10
adds r1, r0, r3
ldrb r0, [r5, 0x2]
add r0, r9
cmp r2, 0xFF
ble _08085E20
movs r2, 0xFF
_08085E20:
cmp r1, 0xFF
ble _08085E26
movs r1, 0xFF
_08085E26:
cmp r0, 0xFF
ble _08085E2C
movs r0, 0xFF
_08085E2C:
cmp r2, 0
bge _08085E32
movs r2, 0
_08085E32:
cmp r1, 0
bge _08085E38
movs r1, 0
_08085E38:
cmp r0, 0
bge _08085E3E
movs r0, 0
_08085E3E:
strb r2, [r6]
strb r1, [r6, 0x1]
strb r0, [r6, 0x2]
ldr r0, _08085E80
ldr r2, [r0]
mov r0, r8
add r1, sp, 0x8
movs r3, 0
bl SetBGPaletteBufferColorRGB
adds r5, 0x4
movs r0, 0x1
add r8, r0
subs r4, 0x1
cmp r4, 0
bne _08085E0A
_08085E5E:
add sp, 0x28
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r0}
bx r0
.align 2, 0
_08085E70: .4byte gUnknown_202EE88
_08085E74: .4byte 0xffffff00
_08085E78: .4byte 0xffff00ff
_08085E7C: .4byte 0xff00ffff
_08085E80: .4byte gUnknown_202EDC8
_08085E84: .4byte gDungeonGlobalData
_08085E88: .4byte 0xffff0000
_08085E8C: .4byte gUnknown_202EE8C
_08085E90: .4byte gUnknown_202ECA4
_08085E94: .4byte 0x000181e4
thumb_func_end sub_8085C54
thumb_func_start sub_8085E98
sub_8085E98:
ldr r0, _08085EA8
ldr r0, [r0]
ldr r1, _08085EAC
adds r0, r1
movs r1, 0
strb r1, [r0]
bx lr
.align 2, 0
_08085EA8: .4byte gDungeonGlobalData
_08085EAC: .4byte 0x00018215
thumb_func_end sub_8085E98
thumb_func_start sub_8085EB0
sub_8085EB0:
ldr r0, _08085EC0
ldr r0, [r0]
ldr r1, _08085EC4
adds r0, r1
movs r1, 0x1
strb r1, [r0]
bx lr
.align 2, 0
_08085EC0: .4byte gDungeonGlobalData
_08085EC4: .4byte 0x00018215
thumb_func_end sub_8085EB0
thumb_func_start sub_8085EC8
sub_8085EC8:
push {r4-r6,lr}
mov r6, r9
mov r5, r8
push {r5,r6}
sub sp, 0x28
adds r4, r0, 0
mov r8, r1
mov r9, r2
adds r6, r3, 0
ldr r5, [sp, 0x40]
lsls r4, 16
asrs r4, 16
lsls r5, 24
lsrs r5, 24
adds r0, r4, 0
bl sub_800EE5C
bl sub_800EF64
movs r0, 0x46
bl sub_803E46C
str r4, [sp]
mov r0, r8
str r0, [sp, 0x4]
mov r2, r9
str r2, [sp, 0x8]
mov r1, sp
ldrh r0, [r6]
movs r2, 0
strh r0, [r1, 0xC]
ldrh r0, [r6, 0x2]
strh r0, [r1, 0xE]
mov r0, sp
strh r2, [r0, 0x10]
strh r2, [r0, 0x12]
ldr r0, _08085F3C
str r0, [sp, 0x18]
add r1, sp, 0x1C
ldr r0, _08085F40
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
mov r0, sp
bl sub_800E890
cmp r5, 0
beq _08085F2E
bl sub_8085F44
movs r0, 0x1
negs r0, r0
_08085F2E:
add sp, 0x28
pop {r3,r4}
mov r8, r3
mov r9, r4
pop {r4-r6}
pop {r1}
bx r1
.align 2, 0
_08085F3C: .4byte 0x0000ffff
_08085F40: .4byte gUnknown_8107374
thumb_func_end sub_8085EC8
thumb_func_start sub_8085F44
sub_8085F44:
push {r4,lr}
adds r4, r0, 0
b _08085F5C
_08085F4A:
ldr r0, _08085F70
ldr r0, [r0]
ldr r1, _08085F74
adds r0, r1
bl sub_800E90C
movs r0, 0x46
bl sub_803E46C
_08085F5C:
adds r0, r4, 0
bl sub_800E9A8
lsls r0, 24
cmp r0, 0
bne _08085F4A
pop {r4}
pop {r0}
bx r0
.align 2, 0
_08085F70: .4byte gDungeonGlobalData
_08085F74: .4byte 0x000181f0
thumb_func_end sub_8085F44
thumb_func_start sub_8085F78
sub_8085F78:
push {lr}
ldr r0, _08085F94
ldr r0, [r0]
ldr r1, _08085F98
adds r0, r1
ldrb r0, [r0]
cmp r0, 0x3C
bls _08085F8A
b _080860A4
_08085F8A:
lsls r0, 2
ldr r1, _08085F9C
adds r0, r1
ldr r0, [r0]
mov pc, r0
.align 2, 0
_08085F94: .4byte gDungeonGlobalData
_08085F98: .4byte 0x00003a0d
_08085F9C: .4byte _08085FA0
.align 2, 0
_08085FA0:
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _08086094
.4byte _08086094
.4byte _08086094
.4byte _0808609A
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A0
.4byte _080860A0
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
.4byte _080860A4
_08086094:
bl sub_8088848
b _080860A4
_0808609A:
bl sub_8088EE8
b _080860A4
_080860A0:
bl sub_808A718
_080860A4:
pop {r0}
bx r0
thumb_func_end sub_8085F78
thumb_func_start sub_80860A8
sub_80860A8:
push {r4-r6,lr}
lsls r0, 24
lsrs r6, r0, 24
movs r5, 0
ldr r0, _08086108
ldr r2, [r0]
movs r3, 0x1
_080860B6:
ldrb r1, [r2]
adds r0, r3, 0
ands r0, r1
cmp r0, 0
beq _080860C6
ldrb r0, [r2, 0x2]
cmp r0, r6
beq _08086104
_080860C6:
adds r2, 0x4
adds r5, 0x1
cmp r5, 0x13
ble _080860B6
movs r5, 0
_080860D0:
ldr r0, _0808610C
ldr r0, [r0]
lsls r1, r5, 2
ldr r2, _08086110
adds r0, r2
adds r0, r1
ldr r4, [r0]
adds r0, r4, 0
bl EntityExists
lsls r0, 24
cmp r0, 0
beq _08086114
ldr r2, [r4, 0x70]
adds r0, r2, 0
adds r0, 0x60
ldrb r1, [r0]
movs r0, 0x1
ands r0, r1
cmp r0, 0
beq _08086114
adds r0, r2, 0
adds r0, 0x62
ldrb r0, [r0]
cmp r0, r6
bne _08086114
_08086104:
movs r0, 0x1
b _0808611C
.align 2, 0
_08086108: .4byte gTeamInventory_203B460
_0808610C: .4byte gDungeonGlobalData
_08086110: .4byte 0x0001357c
_08086114:
adds r5, 0x1
cmp r5, 0x3
ble _080860D0
movs r0, 0
_0808611C:
pop {r4-r6}
pop {r1}
bx r1
thumb_func_end sub_80860A8
thumb_func_start sub_8086124
sub_8086124:
ldr r0, [r0, 0x70]
movs r2, 0xB0
lsls r2, 1
adds r0, r2
strb r1, [r0]
bx lr
thumb_func_end sub_8086124
thumb_func_start sub_8086130
sub_8086130:
push {lr}
movs r0, 0x3C
bl sub_8083ED8
movs r0, 0x3C
movs r1, 0x46
bl sub_803E708
ldr r0, _08086194
ldr r0, [r0]
bl sub_8052FB8
movs r0, 0x1E
movs r1, 0x46
bl sub_803E708
ldr r0, _08086198
ldr r0, [r0]
bl sub_8052FB8
movs r0, 0x1E
movs r1, 0x46
bl sub_803E708
ldr r0, _0808619C
ldr r0, [r0]
bl sub_8052FB8
movs r0, 0x1E
movs r1, 0x46
bl sub_803E708
ldr r0, _080861A0
ldr r0, [r0]
bl sub_8052FB8
movs r0, 0x1E
movs r1, 0x46
bl sub_803E708
ldr r0, _080861A4
ldr r0, [r0]
bl sub_8052FB8
movs r0, 0x1E
movs r1, 0x46
bl sub_803E708
pop {r0}
bx r0
.align 2, 0
_08086194: .4byte gUnknown_810665C
_08086198: .4byte gUnknown_810668C
_0808619C: .4byte gUnknown_81066D4
_080861A0: .4byte gUnknown_81066F0
_080861A4: .4byte gUnknown_810671C
thumb_func_end sub_8086130
thumb_func_start sub_80861A8
sub_80861A8:
push {lr}
movs r1, 0
movs r2, 0x8
bl sub_806CDD4
pop {r0}
bx r0
thumb_func_end sub_80861A8
thumb_func_start sub_80861B8
sub_80861B8:
push {r4,r5,lr}
adds r4, r1, 0
lsls r4, 24
lsrs r4, 24
ldr r5, [r0, 0x70]
adds r1, r4, 0
bl sub_806CDD4
adds r5, 0xFE
strb r4, [r5]
pop {r4,r5}
pop {r0}
bx r0
thumb_func_end sub_80861B8
thumb_func_start sub_80861D4
sub_80861D4:
push {r4,lr}
adds r4, r0, 0
lsls r1, 24
lsrs r1, 24
bl sub_806CDD4
adds r0, r4, 0
bl sub_80861EC
pop {r4}
pop {r0}
bx r0
thumb_func_end sub_80861D4
thumb_func_start sub_80861EC
sub_80861EC:
ldr r0, [r0, 0x70]
adds r0, 0xFE
movs r1, 0x63
strb r1, [r0]
bx lr
thumb_func_end sub_80861EC
thumb_func_start sub_80861F8
sub_80861F8:
push {r4-r7,lr}
mov r7, r10
mov r6, r9
mov r5, r8
push {r5-r7}
sub sp, 0x2C
adds r6, r1, 0
lsls r0, 16
asrs r0, 16
adds r5, r0, 0
lsls r2, 24
lsrs r2, 24
mov r10, r2
bl sub_800EE5C
bl sub_800EF64
movs r0, 0x46
bl sub_803E46C
ldr r0, [r6, 0x70]
mov r8, r0
movs r1, 0
mov r9, r1
str r1, [sp, 0x28]
adds r0, r5, 0
bl sub_800E700
adds r7, r0, 0
add r4, sp, 0x28
movs r2, 0x1
negs r2, r2
cmp r7, r2
beq _0808624A
adds r1, r6, 0
adds r1, 0x28
lsls r2, r7, 24
lsrs r2, 24
adds r0, r4, 0
bl sub_800569C
_0808624A:
str r5, [sp]
mov r3, r9
str r3, [sp, 0x4]
mov r0, r8
adds r0, 0x46
ldrb r0, [r0]
str r0, [sp, 0x8]
mov r1, sp
ldr r0, [r6, 0xC]
cmp r0, 0
bge _08086262
adds r0, 0xFF
_08086262:
asrs r0, 8
strh r0, [r1, 0xC]
mov r1, sp
ldr r0, [r6, 0x10]
cmp r0, 0
bge _08086270
adds r0, 0xFF
_08086270:
asrs r0, 8
strh r0, [r1, 0xE]
mov r1, sp
ldrh r0, [r4]
strh r0, [r1, 0x10]
add r0, sp, 0x28
ldrh r0, [r0, 0x2]
strh r0, [r1, 0x12]
str r7, [sp, 0x14]
ldr r0, _080862B4
str r0, [sp, 0x18]
add r1, sp, 0x1C
ldr r0, _080862B8
ldm r0!, {r2-r4}
stm r1!, {r2-r4}
mov r0, sp
bl sub_800E890
mov r4, r10
cmp r4, 0
beq _080862A2
bl sub_8085F44
movs r0, 0x1
negs r0, r0
_080862A2:
add sp, 0x2C
pop {r3-r5}
mov r8, r3
mov r9, r4
mov r10, r5
pop {r4-r7}
pop {r1}
bx r1
.align 2, 0
_080862B4: .4byte 0x0000ffff
_080862B8: .4byte gUnknown_8107380
thumb_func_end sub_80861F8
.align 2,0

View File

@@ -5,8 +5,8 @@
.text
thumb_func_start SkarmonyPreFightDialogue
SkarmonyPreFightDialogue:
thumb_func_start SkarmoryPreFightDialogue
SkarmoryPreFightDialogue:
push {r4-r6,lr}
mov r6, r9
mov r5, r8
@@ -165,10 +165,10 @@ _08086D9C: .4byte gUnknown_8100928
_08086DA0: .4byte gUnknown_8100A04
_08086DA4: .4byte gUnknown_8100B80
_08086DA8: .4byte gUnknown_8100BC0
thumb_func_end SkarmonyPreFightDialogue
thumb_func_end SkarmoryPreFightDialogue
thumb_func_start SkarmonyReFightDialogue
SkarmonyReFightDialogue:
thumb_func_start SkarmoryReFightDialogue
SkarmoryReFightDialogue:
push {r4,r5,lr}
sub sp, 0x8
bl sub_8085480
@@ -225,7 +225,7 @@ SkarmonyReFightDialogue:
_08086E34: .4byte gUnknown_8100C90
_08086E38: .4byte gUnknown_8100CBC
_08086E3C: .4byte gUnknown_8100CDC
thumb_func_end SkarmonyReFightDialogue
thumb_func_end SkarmoryReFightDialogue
thumb_func_start sub_8086E40
sub_8086E40:
@@ -402,8 +402,8 @@ _08086FB0: .4byte gDungeonGlobalData
_08086FB4: .4byte 0x0001358c
thumb_func_end sub_8086F54
thumb_func_start TeamMeaniePreFightDialogue
TeamMeaniePreFightDialogue:
thumb_func_start TeamMeaniesPreFightDialogue
TeamMeaniesPreFightDialogue:
push {r4,lr}
bl sub_8085480
adds r4, r0, 0
@@ -464,10 +464,10 @@ _08087054: .4byte gUnknown_8100F14
_08087058: .4byte gUnknown_8101004
_0808705C: .4byte gUnknown_8101050
_08087060: .4byte gUnknown_81010D0
thumb_func_end TeamMeaniePreFightDialogue
thumb_func_end TeamMeaniesPreFightDialogue
thumb_func_start TeamMeanieReFightDialogue
TeamMeanieReFightDialogue:
thumb_func_start TeamMeaniesReFightDialogue
TeamMeaniesReFightDialogue:
push {r4,r5,lr}
bl sub_8085480
adds r4, r0, 0
@@ -541,7 +541,7 @@ _08087120: .4byte gUnknown_8101240
_08087124: .4byte gUnknown_8101310
_08087128: .4byte gUnknown_810137C
_0808712C: .4byte gUnknown_8101408
thumb_func_end TeamMeanieReFightDialogue
thumb_func_end TeamMeaniesReFightDialogue
thumb_func_start sub_8087130
sub_8087130:

View File

@@ -5988,14 +5988,14 @@ gUnknown_8100B80: @ 8100B80
gUnknown_8100BC0: @ 8100BC0
.incbin "baserom.gba", 0x100BC0, 0xD0
@ Skarmony Re-Fight?
@ Skarmory Re-Fight?
.global gUnknown_8100C90
gUnknown_8100C90: @ 8100C90
.byte 0x00, 0x00, 0x00, 0x0D
.byte 0xFC, 0x00, 0x00, 0x00
.4byte _08100C9C
.global _08100C9C
_08100C9C:
.string " You again?!\n"
@@ -7374,9 +7374,20 @@ gUnknown_81069D4: @ 81069D4
gUnknown_81069F4: @ 81069F4
.incbin "baserom.gba", 0x1069F4, 0x28
.global gUnknown_8106A1C
gUnknown_8106A1C: @ 8106A1C
.incbin "baserom.gba", 0x106A1C, 0x30
.global gMultiTurnChargingStatuses
gMultiTurnChargingStatuses: @ 8106A1C
.include "include/constants/status.h"
.4byte CHARGING_STATUS_SOLARBEAM
.4byte CHARGING_STATUS_SKY_ATTACK
.4byte CHARGING_STATUS_RAZOR_WIND
.4byte CHARGING_STATUS_FOCUS_PUNCH
.4byte CHARGING_STATUS_SKULL_BASH
.4byte CHARGING_STATUS_FLY
.4byte CHARGING_STATUS_BOUNCE
.4byte CHARGING_STATUS_DIVE
.4byte CHARGING_STATUS_DIG
.4byte 0
.string "pksdir0\0"
.global gUnknown_8106A4C
gUnknown_8106A4C: @ 8106A4C
@@ -7774,7 +7785,7 @@ gUnknown_8106FD5: @ 8106FD5
.global gUnknown_8106FDD
gUnknown_8106FDD: @ 8106FDD
@ replacing .incbin "baserom.gba", 0x00106fdd, 0x8
.byte 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
.byte 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
.global gUnknown_8106FE5
gUnknown_8106FE5: @ 8106FE5
@@ -8231,11 +8242,11 @@ gUnknown_81098EC: @ 81098EC
.global gUnknown_8109908
gUnknown_8109908: @ 8109908
.byte 0x87, 0x41, 0x00, 0x00 @ apparently shows A in memory viewer
.byte 0x87, 0x41, 0x00, 0x00 @ apparently shows A in memory viewer
.global gUnknown_810990C
gUnknown_810990C: @ 810990C
.byte 0x87, 0x40, 0x00, 0x00 @ apparently shows @ in memory viewer
.byte 0x87, 0x40, 0x00, 0x00 @ apparently shows @ in memory viewer
.global gUnknown_8109910
gUnknown_8109910: @ 8109910
@@ -8352,10 +8363,10 @@ gUnknown_810A36B: @ 810A36B
.global gUnknown_810A378
gUnknown_810A378: @ 810A378
@ replacing .incbin "baserom.gba", 0x0010a378, 0x18
.2byte 0x01
.2byte 0x19
.2byte 0x01
.2byte 0x01
.2byte 0x01
.2byte 0x19
.2byte 0x01
.2byte 0x01
.2byte 0x3e7
.2byte 0x3e7
.2byte 0x23

View File

@@ -715,7 +715,7 @@ gEvolutionStrings: @ 810DFCC
NoMoreText:
.string "Evolution: #>54.No more\0"
.align 2,0
.global PossibleText
PossibleText:
.string "Evolution: #>54.Possible\0"
@@ -1586,7 +1586,7 @@ gUnknown_8116258: @ 8116258
.byte 0x01, 0x00, 0x00, 0x00
.byte 0x00, 0x00, 0x00, 0x00
.4byte CleanHelperPelipper
.4byte HelperPelliperCallback
.4byte HelperPelipperCallback
.global gUnknown_8116268
gUnknown_8116268: @ 8116268

9
include/charge_move.h Normal file
View File

@@ -0,0 +1,9 @@
#ifndef GUARD_CHARGE_MOVE_H
#define GUARD_CHARGE_MOVE_H
#include "dungeon_entity.h"
// 0x570F4
bool8 IsCharging(struct DungeonEntity *pokemon, bool8 checkCharge);
#endif

View File

@@ -1,125 +1,88 @@
#ifndef GUARD_CONSTANTS_STATUS_H
#define GUARD_CONSTANTS_STATUS_H
enum SleepStatus
{
SLEEP_STATUS_SLEEP = 1,
SLEEP_STATUS_SLEEPLESS = 2,
SLEEP_STATUS_NIGHTMARE = 3,
SLEEP_STATUS_YAWNING = 4,
SLEEP_STATUS_NAPPING = 5
};
#define SLEEP_STATUS_NONE 0
#define SLEEP_STATUS_SLEEP 1
#define SLEEP_STATUS_SLEEPLESS 2
#define SLEEP_STATUS_NIGHTMARE 3
#define SLEEP_STATUS_YAWNING 4
#define SLEEP_STATUS_NAPPING 5
enum NonVolatileStatus
{
NON_VOLATILE_STATUS_BURNED = 1,
NON_VOLATILE_STATUS_POISONED = 2,
NON_VOLATILE_STATUS_BADLY_POISONED = 3,
NON_VOLATILE_STATUS_PARALYZED = 4
};
#define NON_VOLATILE_STATUS_BURNED 1
#define NON_VOLATILE_STATUS_POISONED 2
#define NON_VOLATILE_STATUS_BADLY_POISONED 3
#define NON_VOLATILE_STATUS_PARALYZED 4
enum ImmobilizeStatus
{
IMMOBILIZE_STATUS_FROZEN = 1,
IMMOBILIZE_STATUS_IMMOBILIZED = 2,
IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE = 3,
IMMOBILIZE_STATUS_WRAPPED_BY_FOE = 4,
IMMOBILIZE_STATUS_INGRAIN = 5,
IMMOBILIZE_STATUS_PETRIFIED = 6,
IMMOBILIZE_STATUS_SQUEEZED = 7
};
#define IMMOBILIZE_STATUS_FROZEN 1
#define IMMOBILIZE_STATUS_IMMOBILIZED 2
#define IMMOBILIZE_STATUS_WRAPPED_AROUND_FOE 3
#define IMMOBILIZE_STATUS_WRAPPED_BY_FOE 4
#define IMMOBILIZE_STATUS_INGRAIN 5
#define IMMOBILIZE_STATUS_PETRIFIED 6
#define IMMOBILIZE_STATUS_SQUEEZED 7
enum ChargingStatus
{
CHARGING_STATUS_BIDE = 0x1,
CHARGING_STATUS_SOLARBEAM = 0x2,
CHARGING_STATUS_SKY_ATTACK = 0x3,
CHARGING_STATUS_RAZOR_WIND = 0x4,
CHARGING_STATUS_FOCUS_PUNCH = 0x5,
CHARGING_STATUS_SKULL_BASH = 0x6,
CHARGING_STATUS_FLY = 0x7,
CHARGING_STATUS_BOUNCE = 0x8,
CHARGING_STATUS_DIVE = 0x9,
CHARGING_STATUS_DIG = 0xA,
CHARGING_STATUS_CHARGE = 0xB,
CHARGING_STATUS_RAGE = 0xC
};
#define CHARGING_STATUS_NONE 0x0
#define CHARGING_STATUS_BIDE 0x1
#define CHARGING_STATUS_SOLARBEAM 0x2
#define CHARGING_STATUS_SKY_ATTACK 0x3
#define CHARGING_STATUS_RAZOR_WIND 0x4
#define CHARGING_STATUS_FOCUS_PUNCH 0x5
#define CHARGING_STATUS_SKULL_BASH 0x6
#define CHARGING_STATUS_FLY 0x7
#define CHARGING_STATUS_BOUNCE 0x8
#define CHARGING_STATUS_DIVE 0x9
#define CHARGING_STATUS_DIG 0xA
#define CHARGING_STATUS_CHARGE 0xB
#define CHARGING_STATUS_RAGE 0xC
enum ProtectionStatus
{
PROTECTION_STATUS_REFLECT = 0x1,
PROTECTION_STATUS_SAFEGUARD = 0x2,
PROTECTION_STATUS_LIGHT_SCREEN = 0x3,
PROTECTION_STATUS_COUNTER = 0x4,
PROTECTION_STATUS_MAGIC_COAT = 0x5,
PROTECTION_STATUS_WISH = 0x6,
PROTECTION_STATUS_PROTECT = 0x7,
PROTECTION_STATUS_MIRROR_COAT = 0x8,
PROTECTION_STATUS_ENDURE = 0x9,
PROTECTION_STATUS_MINI_COUNTER = 0xA,
PROTECTION_STATUS_MIRROR_MOVE = 0xB,
PROTECTION_STATUS_CONVERSION_2 = 0xC,
PROTECTION_STATUS_VITAL_THROW = 0xD,
PROTECTION_STATUS_MIST = 0xE
};
#define PROTECTION_STATUS_REFLECT 0x1
#define PROTECTION_STATUS_SAFEGUARD 0x2
#define PROTECTION_STATUS_LIGHT_SCREEN 0x3
#define PROTECTION_STATUS_COUNTER 0x4
#define PROTECTION_STATUS_MAGIC_COAT 0x5
#define PROTECTION_STATUS_WISH 0x6
#define PROTECTION_STATUS_PROTECT 0x7
#define PROTECTION_STATUS_MIRROR_COAT 0x8
#define PROTECTION_STATUS_ENDURE 0x9
#define PROTECTION_STATUS_MINI_COUNTER 0xA
#define PROTECTION_STATUS_MIRROR_MOVE 0xB
#define PROTECTION_STATUS_CONVERSION_2 0xC
#define PROTECTION_STATUS_VITAL_THROW 0xD
#define PROTECTION_STATUS_MIST 0xE
enum WaitingStatus
{
WAITING_STATUS_CURSED = 1,
WAITING_STATUS_DECOY = 2,
WAITING_STATUS_SNATCH = 3
};
#define WAITING_STATUS_CURSED 1
#define WAITING_STATUS_DECOY 2
#define WAITING_STATUS_SNATCH 3
enum LinkedStatus
{
LINKED_STATUS_LEECH_SEED = 1,
LINKED_STATUS_DESTINY_BOND = 2
};
#define LINKED_STATUS_LEECH_SEED 1
#define LINKED_STATUS_DESTINY_BOND 2
enum MoveStatus
{
MOVE_STATUS_SURE_SHOT = 1,
MOVE_STATUS_WHIFFER = 2,
MOVE_STATUS_SET_DAMAGE = 3,
MOVE_STATUS_FOCUS_ENERGY = 4
};
#define MOVE_STATUS_SURE_SHOT 1
#define MOVE_STATUS_WHIFFER 2
#define MOVE_STATUS_SET_DAMAGE 3
#define MOVE_STATUS_FOCUS_ENERGY 4
enum ItemStatus
{
ITEM_STATUS_LONG_TOSS = 1,
ITEM_STATUS_PIERCE = 2
};
#define ITEM_STATUS_LONG_TOSS 1
#define ITEM_STATUS_PIERCE 2
enum TransformStatus
{
TRANSFORM_STATUS_INVISIBLE = 1,
TRANSFORM_STATUS_TRANSFORMED = 2,
TRANSFORM_STATUS_MOBILE = 3
};
#define TRANSFORM_STATUS_INVISIBLE 1
#define TRANSFORM_STATUS_TRANSFORMED 2
#define TRANSFORM_STATUS_MOBILE 3
enum EyesightStatus
{
EYESIGHT_STATUS_BLINKER = 1,
EYESIGHT_STATUS_CROSS_EYED = 2,
EYESIGHT_STATUS_EYEDROPS = 3
};
#define EYESIGHT_STATUS_BLINKER 1
#define EYESIGHT_STATUS_CROSS_EYED 2
#define EYESIGHT_STATUS_EYEDROPS 3
enum VolatileStatus
{
VOLATILE_STATUS_CRINGING = 1,
VOLATILE_STATUS_CONFUSED = 2,
VOLATILE_STATUS_PAUSED = 3,
VOLATILE_STATUS_COWERING = 4,
VOLATILE_STATUS_TAUNTED = 5,
VOLATILE_STATUS_ENCORE = 6,
VOLATILE_STATUS_INFATUATED = 7
};
#define VOLATILE_STATUS_CRINGING 1
#define VOLATILE_STATUS_CONFUSED 2
#define VOLATILE_STATUS_PAUSED 3
#define VOLATILE_STATUS_COWERING 4
#define VOLATILE_STATUS_TAUNTED 5
#define VOLATILE_STATUS_ENCORE 6
#define VOLATILE_STATUS_INFATUATED 7
enum TargetingDecoy
{
TARGETING_DECOY_NONE = 0,
TARGETING_DECOY_TEAM = 1,
TARGETING_DECOY_WILD = 2
};
#define TARGETING_DECOY_NONE 0
#define TARGETING_DECOY_TEAM 1
#define TARGETING_DECOY_WILD 2
#endif

9
include/dungeon_ai.h Normal file
View File

@@ -0,0 +1,9 @@
#ifndef GUARD_DUNGEON_AI_H
#define GUARD_DUNGEON_AI_H
#include "dungeon_entity.h"
// 0x71494
bool8 ShouldAvoidEnemies(struct DungeonEntity *pokemon);
#endif

View File

@@ -0,0 +1,9 @@
#ifndef GUARD_DUNGEON_CAPABILITIES_H
#define GUARD_DUNGEON_CAPABILITIES_H
#include "dungeon_entity.h"
// 0x70B6C
bool8 CannotMove(struct DungeonEntity *pokemon, bool8 checkBlinker);
#endif

View File

@@ -0,0 +1,11 @@
#ifndef GUARD_DUNGEON_CAPABILITIES_1_H
#define GUARD_DUNGEON_CAPABILITIES_1_H
#include "dungeon_entity.h"
// 0x70C60
bool8 CannotUseItems(struct DungeonEntity *pokemon);
// 0x70CD0
bool8 CannotAct(struct DungeonEntity *pokemon);
#endif

View File

@@ -22,9 +22,9 @@ struct DungeonEntityData
u8 fillB;
/* 0xC */ u16 IQ;
/* 0xE */ s16 HP;
/* 0x10 */ u16 maxHP;
/* 0x10 */ s16 maxHP;
// Bosses have higher HP than normal for their level. This is the max HP they would normally have given their level.
/* 0x12 */ u16 originalHP;
/* 0x12 */ s16 originalHP;
/* 0x14 */ u8 attack;
/* 0x15 */ u8 specialAttack;
/* 0x16 */ u8 defense;
@@ -94,7 +94,7 @@ struct DungeonEntityData
// Bitwise flags corresponding to selected IQ skills.
/* 0x8C */ u8 IQSkillsSelected[4]; // IQ skills selected in the IQ skills menu.
/* 0x90 */ u8 IQSkillsEnabled[4];
/* 0x94 */ u8 tactics;
/* 0x94 */ u8 tactic;
u8 fill95[0xA4 - 0x95];
/* 0xA4 */ u8 clientType;
u8 fillA5[0xA8 - 0xA5];

View File

@@ -6,4 +6,4 @@
// 0x75990
void DecideAction(struct DungeonEntity *pokemon);
#endif
#endif

View File

@@ -0,0 +1,9 @@
#ifndef GUARD_DUNGEON_POKEMON_ATTRIBUTES_H
#define GUARD_DUNGEON_POKEMON_ATTRIBUTES_H
#include "dungeon_entity.h"
// 0x71824
bool8 HasAbility(struct DungeonEntity *pokemon, u8 ability);
#endif

View File

@@ -0,0 +1,9 @@
#ifndef GUARD_DUNGEON_POKEMON_ATTRIBUTES_1_H
#define GUARD_DUNGEON_POKEMON_ATTRIBUTES_1_H
#include "dungeon_entity.h"
// 0x718AC
bool8 HasTactic(struct DungeonEntity *pokemon, u8 tactic);
#endif

View File

@@ -6,4 +6,4 @@
// 0x450E0
bool8 EntityExists(struct DungeonEntity *pokemon);
#endif
#endif

9
include/dungeon_util_1.h Normal file
View File

@@ -0,0 +1,9 @@
#ifndef GUARD_DUNGEON_UTIL_1_H
#define GUARD_DUNGEON_UTIL_1_H
#include "dungeon_entity.h"
// 0x85A50
bool8 IsMovingClient(struct DungeonEntity *entity);
#endif

View File

@@ -188,13 +188,27 @@ SECTIONS {
asm/code_8048480.o(.text);
src/code_80521D0.o(.text);
asm/code_80521D0.o(.text);
src/charge_move.o(.text);
asm/code_8057144.o(.text);
src/code_8057824.o(.text);
asm/code_8057824.o(.text);
asm/code_807001C.o(.text);
src/dungeon_capabilities.o(.text);
asm/code_8070BC0.o(.text);
src/dungeon_capabilities_1.o(.text);
asm/code_8070D04.o(.text);
src/dungeon_ai.o(.text);
asm/code_8071518.o(.text);
src/dungeon_pokemon_attributes.o(.text);
asm/code_8071858.o(.text);
src/dungeon_pokemon_attributes_1.o(.text);
asm/code_80718D8.o(.text);
src/dungeon_movement.o(.text);
asm/code_8075BA4.o(.text);
src/code_80848F0.o(.text);
asm/code_80848F0.o(.text);
src/dungeon_util_1.o(.text);
asm/code_8085B0C.o(.text);
src/code_80869E4.o(.text);
asm/code_80869E4.o(.text);
src/code_8086A3C.o(.text);

43
src/charge_move.c Normal file
View File

@@ -0,0 +1,43 @@
#include "global.h"
#include "charge_move.h"
#include "constants/status.h"
#include "dungeon_util.h"
extern u32 gMultiTurnChargingStatuses[];
bool8 IsCharging(struct DungeonEntity *pokemon, bool8 checkCharge)
{
if (!EntityExists(pokemon))
{
return FALSE;
}
else
{
struct DungeonEntityData *pokemonData = pokemon->entityData;
int i = 0;
u8 *chargingStatusPointer = &pokemonData->chargingStatus;
u8 *chargingStatusPointer2;
u8 chargeStatus = CHARGING_STATUS_CHARGE;
for (; i < 100; i++)
{
u8 currentStatus = gMultiTurnChargingStatuses[i];
u8 chargingStatus;
if (currentStatus == CHARGING_STATUS_NONE)
{
return FALSE;
}
chargingStatus = *chargingStatusPointer;
chargingStatusPointer2 = &pokemonData->chargingStatus;
if (chargingStatus == currentStatus)
{
return TRUE;
}
}
if (checkCharge && *chargingStatusPointer2 == chargeStatus)
{
return TRUE;
}
return FALSE;
}
}

View File

@@ -3,11 +3,11 @@
extern struct DungeonGlobalData *gDungeonGlobalData;
extern void SkarmonyPreFightDialogue();
extern void SkarmonyReFightDialogue();
extern void SkarmoryPreFightDialogue();
extern void SkarmoryReFightDialogue();
extern void sub_8086E40();
extern void TeamMeaniePreFightDialogue();
extern void TeamMeanieReFightDialogue();
extern void TeamMeaniesPreFightDialogue();
extern void TeamMeaniesReFightDialogue();
extern void sub_8087130();
extern void ZapdosPreFightDialogue();
extern void ZapdosReFightDialogue();
@@ -97,24 +97,24 @@ extern void sub_808B0B0(u8);
void DisplayPreFightDialogue(void)
{
switch(gDungeonGlobalData->unk3A0D) {
case 0:
break;
case 1:
SkarmonyPreFightDialogue();
SkarmoryPreFightDialogue();
break;
case 2:
SkarmonyReFightDialogue();
SkarmoryReFightDialogue();
break;
case 3:
sub_8086E40();
break;
case 4:
TeamMeaniePreFightDialogue();
TeamMeaniesPreFightDialogue();
break;
case 5:
TeamMeanieReFightDialogue();
TeamMeaniesReFightDialogue();
break;
case 6:
sub_8087130();

42
src/dungeon_ai.c Normal file
View File

@@ -0,0 +1,42 @@
#include "global.h"
#include "dungeon_ai.h"
#include "constants/ability.h"
#include "constants/tactic.h"
#include "dungeon_pokemon_attributes.h"
#include "dungeon_pokemon_attributes_1.h"
#include "dungeon_util.h"
bool8 ShouldAvoidEnemies(struct DungeonEntity *pokemon)
{
if (!EntityExists(pokemon))
{
return FALSE;
}
else
{
struct DungeonEntityData *pokemonData = pokemon->entityData;
if (pokemonData->terrifiedTurnsLeft != 0)
{
return TRUE;
}
if (pokemonData->isLeader)
{
return FALSE;
}
if (HasAbility(pokemon, ABILITY_RUN_AWAY))
{
bool8 runAwayActive = pokemonData->HP < pokemonData->maxHP / 2;
if (runAwayActive)
{
return TRUE;
}
}
if (HasTactic(pokemon, TACTIC_GET_AWAY)
|| (HasTactic(pokemon, TACTIC_AVOID_TROUBLE) && pokemonData->HP <= pokemonData->maxHP / 2))
{
return TRUE;
}
return FALSE;
}
}

View File

@@ -0,0 +1,25 @@
#include "global.h"
#include "dungeon_capabilities.h"
#include "constants/status.h"
bool8 CannotMove(struct DungeonEntity *pokemon, bool8 checkBlinker)
{
struct DungeonEntityData *pokemonData = pokemon->entityData;
if ((checkBlinker && pokemonData->eyesightStatus == EYESIGHT_STATUS_BLINKER)
|| pokemonData->sleepStatus == SLEEP_STATUS_SLEEP
|| pokemonData->sleepStatus == SLEEP_STATUS_NAPPING
|| pokemonData->sleepStatus == SLEEP_STATUS_NIGHTMARE
|| pokemonData->volatileStatus == VOLATILE_STATUS_PAUSED
|| pokemonData->volatileStatus == VOLATILE_STATUS_INFATUATED
|| pokemonData->immobilizeStatus == IMMOBILIZE_STATUS_PETRIFIED)
{
return TRUE;
}
if (pokemonData->terrifiedTurnsLeft != 0)
{
return TRUE;
}
return FALSE;
}

View File

@@ -0,0 +1,56 @@
#include "global.h"
#include "dungeon_capabilities_1.h"
#include "constants/dungeon.h"
#include "constants/status.h"
#include "charge_move.h"
#include "dungeon_ai.h"
#include "dungeon_capabilities.h"
static inline bool8 JoinLocationCannotUseItems(struct DungeonEntityData *pokemonData)
{
if (pokemonData->joinLocation == DUNGEON_JOIN_LOCATION_CLIENT_POKEMON)
{
return TRUE;
}
if (pokemonData->joinLocation == DUNGEON_RESCUE_TEAM_BASE)
{
return TRUE;
}
return FALSE;
}
bool8 CannotUseItems(struct DungeonEntity *pokemon)
{
struct DungeonEntityData *pokemonData = pokemon->entityData;
if (pokemonData->clientType == CLIENT_TYPE_CLIENT
|| JoinLocationCannotUseItems(pokemonData)
|| (!pokemonData->isLeader && ShouldAvoidEnemies(pokemon))
|| CannotMove(pokemon, FALSE)
|| CannotAct(pokemon))
{
return TRUE;
}
if (IsCharging(pokemon, FALSE))
{
return TRUE;
}
return FALSE;
}
bool8 CannotAct(struct DungeonEntity *pokemon)
{
struct DungeonEntityData *pokemonData = pokemon->entityData;
if ((pokemonData->sleepStatus != SLEEP_STATUS_SLEEPLESS
&& pokemonData->sleepStatus != SLEEP_STATUS_NONE)
|| pokemonData->immobilizeStatus == IMMOBILIZE_STATUS_FROZEN
|| pokemonData->immobilizeStatus == IMMOBILIZE_STATUS_PETRIFIED)
{
return TRUE;
}
if (pokemonData->chargingStatus == CHARGING_STATUS_BIDE)
{
return TRUE;
}
return FALSE;
}

View File

@@ -5,6 +5,7 @@
#include "constants/iq_skill.h"
#include "constants/status.h"
#include "dungeon_global_data.h"
#include "dungeon_capabilities_1.h"
#include "map.h"
extern char gAvailablePokemonNames[];
@@ -13,7 +14,6 @@ extern struct DungeonGlobalData *gDungeonGlobalData;
extern void SendImmobilizeEndMessage(struct DungeonEntity*, struct DungeonEntity*);
extern bool8 IsMovingClient(struct DungeonEntity*);
extern bool8 CannotUseItems(struct DungeonEntity*);
extern void SetMessageArgument(char[], struct DungeonEntity*, u32);
extern void SendMessage(struct DungeonEntity*, char*);
extern void DecideUseItem(struct DungeonEntity*);

View File

@@ -0,0 +1,21 @@
#include "global.h"
#include "dungeon_pokemon_attributes.h"
#include "dungeon_util.h"
bool8 HasAbility(struct DungeonEntity *pokemon, u8 ability)
{
if (!EntityExists(pokemon))
{
return FALSE;
}
else
{
struct DungeonEntityData *pokemonData = pokemon->entityData;
if (pokemonData->ability1 == ability || pokemonData->ability2 == ability)
{
return TRUE;
}
return FALSE;
}
}

View File

@@ -0,0 +1,15 @@
#include "global.h"
#include "dungeon_pokemon_attributes_1.h"
#include "constants/tactic.h"
bool8 HasTactic(struct DungeonEntity *pokemon, u8 tactic)
{
struct DungeonEntityData *pokemonData = pokemon->entityData;
if (pokemonData->isLeader)
{
bool8 isGoTheOtherWay = tactic == TACTIC_GO_THE_OTHER_WAY;
return isGoTheOtherWay;
}
return pokemonData->tactic == tactic;
}

50
src/dungeon_util_1.c Normal file
View File

@@ -0,0 +1,50 @@
#include "global.h"
#include "dungeon_util_1.h"
bool8 IsMovingClient(struct DungeonEntity *pokemon)
{
struct DungeonEntityData *pokemonData = pokemon->entityData;
switch (pokemonData->clientType)
{
case CLIENT_TYPE_CLIENT:
case CLIENT_TYPE_DONT_MOVE:
case 0x5:
case 0x6:
case 0x7:
case 0x8:
case 0x9:
case 0xD:
case 0xE:
case 0xF:
case 0x10:
case 0x11:
case 0x12:
case 0x13:
case 0x14:
case 0x15:
case 0x16:
case 0x17:
case 0x18:
case 0x19:
case 0x1A:
case 0x1B:
case 0x1C:
case 0x1D:
case 0x1E:
case 0x1F:
case 0x20:
case 0x21:
case 0x22:
case 0x23:
case 0x24:
return TRUE;
case CLIENT_TYPE_NONE:
case 0x2:
case 0x4:
case 0xA:
case 0xB:
case 0xC:
default:
return FALSE;
}
}

View File

@@ -77,9 +77,9 @@ enum PostOfficeStates
enum PostOfficeMenuActions
{
POST_OFFICE,
BULLETIN_BOARD,
DELIVERY,
POST_OFFICE,
BULLETIN_BOARD,
DELIVERY,
FRIEND_RESCUE,
CANCEL,
EXIT,
@@ -168,7 +168,7 @@ ALIGNED(4) const char GettingHelp_Text[] = _("Getting Help");
ALIGNED(4) const u8 wonder_mail_fill[] = _("pksdir0");
const struct UnkTextStruct2 gUnknown_80E1EFC =
const struct UnkTextStruct2 gUnknown_80E1EFC =
{
0, 0, 0, 0,
3, 0, 0, 0,
@@ -180,7 +180,7 @@ const struct UnkTextStruct2 gUnknown_80E1EFC =
const u8 gUnkData_80E1F14[] = {1, 0, 8, 0};
const struct UnkTextStruct2 gUnknown_80E1F18 =
const struct UnkTextStruct2 gUnknown_80E1F18 =
{
0, 0, 0, 0,
6, 0, 0, 0,
@@ -221,7 +221,7 @@ u32 CreateHelperPelipperMenu(s16 speciesID)
char *monName;
struct OpenedFile *faceFile;
int species_32;
species_32 = speciesID;
ResetUnusedInputStruct();
sub_800641C(0,1,1);
@@ -249,7 +249,7 @@ u32 CreateHelperPelipperMenu(s16 speciesID)
}
u32 HelperPelliperCallback(void)
u32 HelperPelipperCallback(void)
{
switch(gPostOfficeHelper->state) {
case IM_GUIDE_START_MENU:
@@ -304,7 +304,7 @@ void UpdateHelperPelipperText(void)
faceFile = NULL;
if(gPostOfficeHelper->faceFile != NULL)
faceFile = &gPostOfficeHelper->faceFile;
switch(gPostOfficeHelper->state)
{
case DISPLAY_GET_HELP_MENU:
@@ -535,7 +535,7 @@ void ReturnToGetHelpMenu(void)
u32 sub_80319A4(u8 param_1,u8 param_2,int param_3)
{
gUnknown_203B330 = MemoryAlloc(sizeof(struct unkStruct_203B330),8);
gUnknown_203B330->unkC = param_1;
gUnknown_203B330->unkD = param_2;
@@ -582,7 +582,7 @@ void sub_8031A3C(void)
void sub_8031A84(void)
{
s32 iVar1;
sub_8006518(gUnknown_203B330->unk18);
gUnknown_203B330->unk18[gUnknown_203B330->unk10] = gUnknown_80E1F18;
if (gUnknown_203B330->unkC == 2) {

View File

@@ -170,7 +170,7 @@ ALIGNED(4) const char gUnknown_80DF9F8[] = _(
"Here is your reward from the Pokémon\n"
"Rescue Organization!");
ALIGNED(4) const char gUnknown_80DFAA8[] =
ALIGNED(4) const char gUnknown_80DFAA8[] =
" I hope you will keep on\n"
"rescuing your friends in\n"
"dire straits.#P"
@@ -192,7 +192,7 @@ u32 sub_802B2D4(void)
{
s32 iVar1;
struct OpenedFile *faceFile;
ResetUnusedInputStruct();
sub_800641C(0,1,1);
gUnknown_203B2C8 = MemoryAlloc(sizeof(struct unkStruct_203B2C8),8);
@@ -272,7 +272,7 @@ void sub_802B3E0(void)
}
// Print and expand placeholders?
ExpandPlaceholdersBuffer(gUnknown_203B2C8->teamName,gUnknown_80DF9F8,teamNameBuffer);
// Display to screen with Peliper face
// Display to screen with Pelipper face
sub_80141B4(gUnknown_203B2C8->teamName, 0, &gUnknown_203B2C8->faceFile, 0x10d);
break;
case 1:
@@ -355,7 +355,7 @@ void sub_802B5B8(void)
void sub_802B5FC(void)
{
s32 temp;
if (sub_80144A4(&temp) == 0) {
if (!WriteSavePak()) {
FinishWriteSavePak();
@@ -368,7 +368,7 @@ void sub_802B5FC(void)
void sub_802B624(void)
{
s32 temp;
if (sub_80144A4(&temp) == 0) {
sub_802B548(5);
}