mirror of
https://github.com/pret/pmd-red.git
synced 2026-04-24 23:17:03 -05:00
Merge pull request #92 from AnonymousRandomPerson/master
More item AI decomp
This commit is contained in:
commit
3cdde2a92a
|
|
@ -5469,7 +5469,7 @@ _0803FBBA:
|
|||
lsls r3, 1
|
||||
adds r0, r3
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0
|
||||
bne _0803FBD2
|
||||
movs r0, 0x1
|
||||
|
|
|
|||
2650
asm/code_8045A00.s
2650
asm/code_8045A00.s
File diff suppressed because it is too large
Load Diff
2625
asm/code_8046CE4.s
Normal file
2625
asm/code_8046CE4.s
Normal file
File diff suppressed because it is too large
Load Diff
|
|
@ -42,7 +42,7 @@ _08048568:
|
|||
lsls r0, 1
|
||||
adds r5, r0
|
||||
ldr r0, [r5]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0
|
||||
beq _08048598
|
||||
mov r0, sp
|
||||
|
|
@ -1310,638 +1310,4 @@ sub_8048F00:
|
|||
_08048F24: .4byte gPtrMusicBoxPlayedCrumbledMessage
|
||||
thumb_func_end sub_8048F00
|
||||
|
||||
thumb_func_start EvaluateItem
|
||||
EvaluateItem:
|
||||
push {r4-r7,lr}
|
||||
sub sp, 0x4
|
||||
adds r4, r0, 0
|
||||
ldr r3, [r4, 0x70]
|
||||
movs r6, 0
|
||||
movs r0, 0x1
|
||||
adds r5, r2, 0
|
||||
ands r5, r0
|
||||
lsrs r2, 1
|
||||
movs r0, 0x1
|
||||
ands r2, r0
|
||||
ldrb r0, [r1, 0x2]
|
||||
subs r0, 0x1
|
||||
cmp r0, 0xCC
|
||||
bls _08048F48
|
||||
b _080494E0
|
||||
_08048F48:
|
||||
lsls r0, 2
|
||||
ldr r1, _08048F54
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.align 2, 0
|
||||
_08048F54: .4byte _08048F58
|
||||
.align 2, 0
|
||||
_08048F58:
|
||||
.4byte _0804928C
|
||||
.4byte _0804928C
|
||||
.4byte _0804928C
|
||||
.4byte _0804928C
|
||||
.4byte _0804928C
|
||||
.4byte _0804928C
|
||||
.4byte _0804928C
|
||||
.4byte _0804928C
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _08049408
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _08049296
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080492B0
|
||||
.4byte _080492B0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _08049320
|
||||
.4byte _080494E0
|
||||
.4byte _080492B8
|
||||
.4byte _080492B8
|
||||
.4byte _0804935E
|
||||
.4byte _080494E0
|
||||
.4byte _080493E0
|
||||
.4byte _0804948E
|
||||
.4byte _08049394
|
||||
.4byte _08049344
|
||||
.4byte _0804946E
|
||||
.4byte _0804947A
|
||||
.4byte _08049378
|
||||
.4byte _080493CE
|
||||
.4byte _080493AC
|
||||
.4byte _080493B8
|
||||
.4byte _08049436
|
||||
.4byte _080494E0
|
||||
.4byte _080493F6
|
||||
.4byte _080494B2
|
||||
.4byte _0804946A
|
||||
.4byte _08049462
|
||||
.4byte _08049454
|
||||
.4byte _08049498
|
||||
.4byte _080492DC
|
||||
.4byte _0804932C
|
||||
.4byte _08049338
|
||||
.4byte _0804933C
|
||||
.4byte _08049340
|
||||
.4byte _080494C2
|
||||
.4byte _080494C2
|
||||
.4byte _080494D6
|
||||
.4byte _080494C2
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494E0
|
||||
.4byte _080494DA
|
||||
_0804928C:
|
||||
cmp r5, 0
|
||||
bne _08049292
|
||||
b _080494E2
|
||||
_08049292:
|
||||
movs r6, 0x46
|
||||
b _080494E2
|
||||
_08049296:
|
||||
cmp r5, 0
|
||||
bne _0804929C
|
||||
b _080494E0
|
||||
_0804929C:
|
||||
movs r1, 0x9E
|
||||
lsls r1, 1
|
||||
adds r0, r3, r1
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
cmp r0, 0
|
||||
ble _080492AE
|
||||
b _0804948A
|
||||
_080492AE:
|
||||
b _080494E0
|
||||
_080492B0:
|
||||
cmp r5, 0
|
||||
beq _080492B6
|
||||
b _0804948A
|
||||
_080492B6:
|
||||
b _080494E0
|
||||
_080492B8:
|
||||
movs r2, 0xE
|
||||
ldrsh r1, [r3, r2]
|
||||
movs r2, 0x10
|
||||
ldrsh r0, [r3, r2]
|
||||
cmp r1, r0
|
||||
blt _080492C6
|
||||
b _080494E2
|
||||
_080492C6:
|
||||
cmp r0, 0
|
||||
bge _080492CC
|
||||
adds r0, 0x3
|
||||
_080492CC:
|
||||
asrs r0, 2
|
||||
cmp r1, r0
|
||||
ble _080492D4
|
||||
b _080494E2
|
||||
_080492D4:
|
||||
cmp r5, 0
|
||||
bne _080492DA
|
||||
b _08049420
|
||||
_080492DA:
|
||||
b _08049432
|
||||
_080492DC:
|
||||
movs r6, 0
|
||||
movs r0, 0x8C
|
||||
lsls r0, 1
|
||||
adds r5, r3, r0
|
||||
adds r7, r5, 0
|
||||
movs r2, 0x3
|
||||
_080492E8:
|
||||
ldrb r1, [r5]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _0804930C
|
||||
ldrb r0, [r5, 0x4]
|
||||
cmp r0, 0
|
||||
bne _080492FA
|
||||
adds r6, 0x1E
|
||||
_080492FA:
|
||||
ldrb r4, [r5, 0x4]
|
||||
adds r0, r7, 0
|
||||
str r2, [sp]
|
||||
bl GetMoveMaxPP
|
||||
ldr r2, [sp]
|
||||
cmp r4, r0
|
||||
beq _0804930C
|
||||
adds r6, 0x6
|
||||
_0804930C:
|
||||
adds r5, 0x8
|
||||
adds r7, 0x8
|
||||
subs r2, 0x1
|
||||
cmp r2, 0
|
||||
bge _080492E8
|
||||
cmp r6, 0x62
|
||||
bgt _0804931C
|
||||
b _080494E2
|
||||
_0804931C:
|
||||
movs r6, 0x63
|
||||
b _080494E2
|
||||
_08049320:
|
||||
adds r0, r4, 0
|
||||
bl HasNegativeStatus
|
||||
lsls r0, 24
|
||||
movs r6, 0
|
||||
b _080494BC
|
||||
_0804932C:
|
||||
ldrb r0, [r3, 0x14]
|
||||
_0804932E:
|
||||
movs r6, 0x64
|
||||
cmp r0, 0xF9
|
||||
bhi _08049336
|
||||
b _080494E2
|
||||
_08049336:
|
||||
b _080494E0
|
||||
_08049338:
|
||||
ldrb r0, [r3, 0x15]
|
||||
b _0804932E
|
||||
_0804933C:
|
||||
ldrb r0, [r3, 0x16]
|
||||
b _0804932E
|
||||
_08049340:
|
||||
ldrb r0, [r3, 0x17]
|
||||
b _0804932E
|
||||
_08049344:
|
||||
cmp r5, 0
|
||||
beq _0804934A
|
||||
b _080494E0
|
||||
_0804934A:
|
||||
adds r0, r4, 0
|
||||
bl CanTargetAdjacentPokemon
|
||||
lsls r0, 24
|
||||
movs r6, 0x64
|
||||
cmp r0, 0
|
||||
bne _0804935A
|
||||
b _080494E2
|
||||
_0804935A:
|
||||
movs r6, 0xA
|
||||
b _080494E2
|
||||
_0804935E:
|
||||
adds r0, r4, 0
|
||||
bl CanSeeInvisible
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _0804936C
|
||||
b _080494A2
|
||||
_0804936C:
|
||||
adds r0, r4, 0
|
||||
bl CanTargetAdjacentPokemon
|
||||
lsls r0, 24
|
||||
movs r6, 0x5
|
||||
b _080494BC
|
||||
_08049378:
|
||||
ldr r0, [r4, 0x70]
|
||||
movs r1, 0x82
|
||||
lsls r1, 1
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
cmp r0, 0x3
|
||||
ble _08049388
|
||||
b _080494A2
|
||||
_08049388:
|
||||
adds r0, r4, 0
|
||||
bl CanTargetAdjacentPokemon
|
||||
lsls r0, 24
|
||||
movs r6, 0x5
|
||||
b _080494BC
|
||||
_08049394:
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xE8
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x2
|
||||
bne _080493A0
|
||||
b _080494A2
|
||||
_080493A0:
|
||||
adds r0, r4, 0
|
||||
bl CanTargetAdjacentPokemon
|
||||
lsls r0, 24
|
||||
movs r6, 0x5
|
||||
b _080494BC
|
||||
_080493AC:
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xAC
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x4
|
||||
bne _080494A2
|
||||
b _080494B2
|
||||
_080493B8:
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xBC
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x2
|
||||
beq _080494A2
|
||||
adds r0, r4, 0
|
||||
bl CanTargetAdjacentPokemon
|
||||
lsls r0, 24
|
||||
movs r6, 0xF
|
||||
b _080494BC
|
||||
_080493CE:
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xAC
|
||||
ldrb r0, [r0]
|
||||
subs r0, 0x2
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bhi _080494A2
|
||||
b _08049420
|
||||
_080493E0:
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xE8
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
beq _080494A2
|
||||
adds r0, r4, 0
|
||||
bl CanTargetAdjacentPokemon
|
||||
lsls r0, 24
|
||||
movs r6, 0x5
|
||||
b _080494BC
|
||||
_080493F6:
|
||||
cmp r2, 0
|
||||
bne _0804940C
|
||||
adds r0, r4, 0
|
||||
bl CanTargetAdjacentPokemon
|
||||
lsls r0, 24
|
||||
movs r6, 0x5
|
||||
cmp r0, 0
|
||||
beq _080494E2
|
||||
_08049408:
|
||||
movs r6, 0x28
|
||||
b _080494E2
|
||||
_0804940C:
|
||||
movs r2, 0xE
|
||||
ldrsh r1, [r3, r2]
|
||||
movs r2, 0x10
|
||||
ldrsh r0, [r3, r2]
|
||||
cmp r1, r0
|
||||
bge _080494E2
|
||||
cmp r1, 0x13
|
||||
bgt _080494E2
|
||||
cmp r5, 0
|
||||
bne _08049432
|
||||
_08049420:
|
||||
adds r0, r4, 0
|
||||
bl CanTargetAdjacentPokemon
|
||||
lsls r0, 24
|
||||
movs r6, 0x32
|
||||
cmp r0, 0
|
||||
beq _080494E2
|
||||
movs r6, 0x64
|
||||
b _080494E2
|
||||
_08049432:
|
||||
movs r6, 0x32
|
||||
b _080494E2
|
||||
_08049436:
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xA8
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
beq _080494A2
|
||||
cmp r0, 0x5
|
||||
beq _080494A2
|
||||
cmp r0, 0x3
|
||||
beq _080494A2
|
||||
adds r0, r4, 0
|
||||
bl CanTargetAdjacentPokemon
|
||||
lsls r0, 24
|
||||
movs r6, 0x5
|
||||
b _080494BC
|
||||
_08049454:
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xA8
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x2
|
||||
beq _080494A2
|
||||
movs r6, 0x5
|
||||
b _080494E2
|
||||
_08049462:
|
||||
ldrb r0, [r3, 0x9]
|
||||
movs r6, 0
|
||||
cmp r0, 0x62
|
||||
bhi _080494E2
|
||||
_0804946A:
|
||||
movs r6, 0x50
|
||||
b _080494E2
|
||||
_0804946E:
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xAC
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x1
|
||||
beq _0804948A
|
||||
b _080494E0
|
||||
_0804947A:
|
||||
movs r1, 0x9E
|
||||
lsls r1, 1
|
||||
adds r0, r3, r1
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
cmp r0, 0
|
||||
ble _080494E0
|
||||
_0804948A:
|
||||
movs r0, 0x32
|
||||
b _080494E4
|
||||
_0804948E:
|
||||
ldrb r0, [r3, 0x9]
|
||||
movs r6, 0
|
||||
cmp r0, 0x1
|
||||
bls _080494E2
|
||||
b _0804946A
|
||||
_08049498:
|
||||
adds r0, r3, 0
|
||||
adds r0, 0xB0
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0x6
|
||||
bne _080494A6
|
||||
_080494A2:
|
||||
movs r0, 0
|
||||
b _080494E4
|
||||
_080494A6:
|
||||
adds r0, r4, 0
|
||||
bl CanTargetAdjacentPokemon
|
||||
lsls r0, 24
|
||||
movs r6, 0x5
|
||||
b _080494BC
|
||||
_080494B2:
|
||||
adds r0, r4, 0
|
||||
bl CanTargetAdjacentPokemon
|
||||
lsls r0, 24
|
||||
movs r6, 0x1E
|
||||
_080494BC:
|
||||
cmp r0, 0
|
||||
beq _080494E2
|
||||
b _0804946A
|
||||
_080494C2:
|
||||
movs r2, 0x9E
|
||||
lsls r2, 1
|
||||
adds r0, r3, r2
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
cmp r0, 0x9
|
||||
bgt _080494E0
|
||||
movs r0, 0x64
|
||||
b _080494E4
|
||||
_080494D6:
|
||||
movs r6, 0x1E
|
||||
b _080494E2
|
||||
_080494DA:
|
||||
movs r6, 0x14
|
||||
cmp r5, 0
|
||||
beq _080494E2
|
||||
_080494E0:
|
||||
movs r6, 0
|
||||
_080494E2:
|
||||
adds r0, r6, 0
|
||||
_080494E4:
|
||||
add sp, 0x4
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end EvaluateItem
|
||||
|
||||
thumb_func_start CanTargetAdjacentPokemon
|
||||
CanTargetAdjacentPokemon:
|
||||
push {r4-r6,lr}
|
||||
adds r5, r0, 0
|
||||
movs r6, 0
|
||||
_080494F2:
|
||||
movs r1, 0x4
|
||||
ldrsh r0, [r5, r1]
|
||||
ldr r1, _08049538
|
||||
lsls r2, r6, 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 GetMapTileAtPosition
|
||||
ldr r4, [r0, 0x10]
|
||||
cmp r4, 0
|
||||
beq _0804953C
|
||||
adds r0, r4, 0
|
||||
bl GetEntityType
|
||||
cmp r0, 0
|
||||
beq _0804953C
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
movs r2, 0
|
||||
movs r3, 0x1
|
||||
bl CanTarget
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _0804953C
|
||||
movs r0, 0x1
|
||||
b _08049544
|
||||
.align 2, 0
|
||||
_08049538: .4byte gAdjacentTileOffsets
|
||||
_0804953C:
|
||||
adds r6, 0x1
|
||||
cmp r6, 0x7
|
||||
ble _080494F2
|
||||
movs r0, 0
|
||||
_08049544:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end CanTargetAdjacentPokemon
|
||||
|
||||
.align 2, 0
|
||||
|
|
@ -2611,7 +2611,7 @@ _08053888:
|
|||
lsls r2, 1
|
||||
adds r0, r1, r2
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
ldr r1, _080538C4
|
||||
movs r3, 0
|
||||
ldrsh r1, [r1, r3]
|
||||
|
|
|
|||
|
|
@ -6523,7 +6523,7 @@ sub_805AAE0:
|
|||
lsls r1, 1
|
||||
adds r5, r0, r1
|
||||
ldr r0, [r5]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0x1
|
||||
ble _0805AB20
|
||||
ldr r0, _0805AB1C
|
||||
|
|
@ -10426,7 +10426,7 @@ _0805CB24:
|
|||
lsls r1, 1
|
||||
adds r0, r2, r1
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0
|
||||
ble _0805CB3E
|
||||
b _0805CEA8
|
||||
|
|
@ -12282,7 +12282,7 @@ _0805DB7A:
|
|||
lsls r0, 1
|
||||
add r0, r8
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0
|
||||
beq _0805DBAA
|
||||
b _0805D9EC
|
||||
|
|
@ -12307,7 +12307,7 @@ _0805DBBE:
|
|||
lsls r0, 1
|
||||
add r0, r8
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0
|
||||
bne _0805DBDA
|
||||
b _0805DD02
|
||||
|
|
@ -13016,7 +13016,7 @@ _0805E14C:
|
|||
lsls r0, 1
|
||||
add r0, r8
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0
|
||||
beq _0805E188
|
||||
mov r1, r10
|
||||
|
|
@ -16138,14 +16138,14 @@ _0805FA62:
|
|||
lsls r1, 1
|
||||
adds r0, r7, r1
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
ldr r4, _0805FBC0
|
||||
str r0, [r4]
|
||||
movs r2, 0xA0
|
||||
lsls r2, 1
|
||||
adds r0, r7, r2
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
str r0, [r4, 0x4]
|
||||
ldr r0, _0805FBC4
|
||||
ldr r2, [r0]
|
||||
|
|
@ -35982,7 +35982,7 @@ _08069A02:
|
|||
lsls r1, 1
|
||||
adds r0, r5, r1
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0
|
||||
bne _08069A38
|
||||
ldrb r0, [r5, 0x7]
|
||||
|
|
@ -37646,11 +37646,11 @@ _0806A664:
|
|||
movs r1, 0
|
||||
mov r8, r1
|
||||
adds r0, r5, 0
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0x13
|
||||
ble _0806A6A4
|
||||
ldr r0, [r4]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0x13
|
||||
bgt _0806A6A4
|
||||
ldr r0, _0806A6E0
|
||||
|
|
@ -37658,14 +37658,14 @@ _0806A664:
|
|||
mov r8, r0
|
||||
_0806A6A4:
|
||||
adds r0, r5, 0
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0x9
|
||||
ble _0806A6C4
|
||||
movs r2, 0x9E
|
||||
lsls r2, 1
|
||||
adds r0, r7, r2
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0x9
|
||||
bgt _0806A6C4
|
||||
ldr r0, _0806A6E4
|
||||
|
|
|
|||
|
|
@ -3616,7 +3616,7 @@ _0806EB3A:
|
|||
lsls r0, 1
|
||||
add r0, r10
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
adds r1, r0, 0
|
||||
cmp r1, 0
|
||||
bne _0806EB72
|
||||
|
|
|
|||
|
|
@ -685,11 +685,11 @@ _0807421E:
|
|||
str r0, [r4]
|
||||
movs r6, 0x1
|
||||
adds r0, r7, 0
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0x13
|
||||
ble _0807425C
|
||||
ldr r0, [r4]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0x13
|
||||
bgt _0807425C
|
||||
ldr r0, _08074368
|
||||
|
|
@ -697,14 +697,14 @@ _0807421E:
|
|||
mov r9, r0
|
||||
_0807425C:
|
||||
adds r0, r7, 0
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0x9
|
||||
ble _0807427C
|
||||
movs r0, 0x9E
|
||||
lsls r0, 1
|
||||
add r0, r8
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0x9
|
||||
bgt _0807427C
|
||||
ldr r0, _0807436C
|
||||
|
|
@ -715,7 +715,7 @@ _0807427C:
|
|||
lsls r4, 1
|
||||
add r4, r8
|
||||
ldr r0, [r4]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0
|
||||
bne _08074298
|
||||
add r0, sp, 0x20
|
||||
|
|
@ -725,7 +725,7 @@ _0807427C:
|
|||
str r0, [r4]
|
||||
_08074298:
|
||||
ldr r0, [r4]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0
|
||||
bge _080742AE
|
||||
add r0, sp, 0x24
|
||||
|
|
@ -735,7 +735,7 @@ _08074298:
|
|||
str r0, [r4]
|
||||
_080742AE:
|
||||
ldr r0, [r4]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0
|
||||
bne _08074384
|
||||
bl sub_805E804
|
||||
|
|
@ -803,13 +803,13 @@ _08074320:
|
|||
movs r0, 0x1
|
||||
strb r0, [r1]
|
||||
ldr r0, [r4]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r0, 0
|
||||
beq _08074390
|
||||
b _080743B0
|
||||
.align 2, 0
|
||||
_0807434C: .4byte 0x00000169
|
||||
_08074350: .4byte gUnknown_80F5594
|
||||
_08074350: .4byte gWarpScarfActivationChances
|
||||
_08074354: .4byte gDungeonGlobalData
|
||||
_08074358: .4byte 0x0000199a
|
||||
_0807435C: .4byte gUnknown_80F54F4
|
||||
|
|
|
|||
|
|
@ -5786,10 +5786,10 @@ sub_8078A58:
|
|||
movs r2, 0
|
||||
bl SetMessageArgument
|
||||
adds r0, r7, 0
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
adds r4, r0, 0
|
||||
ldr r0, [r5]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r4, r0
|
||||
beq _08078AD8
|
||||
adds r0, r6, 0
|
||||
|
|
@ -5823,10 +5823,10 @@ _08078AE0:
|
|||
movs r2, 0
|
||||
bl SetMessageArgument
|
||||
adds r0, r7, 0
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
adds r5, r0, 0
|
||||
ldr r0, [r4]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r5, r0
|
||||
beq _08078B38
|
||||
adds r0, r6, 0
|
||||
|
|
@ -5916,13 +5916,13 @@ _08078BB8:
|
|||
lsls r1, 1
|
||||
adds r0, r7, r1
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
adds r4, r0, 0
|
||||
movs r1, 0xA0
|
||||
lsls r1, 1
|
||||
adds r0, r7, r1
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r4, r0
|
||||
blt _08078BE0
|
||||
movs r5, 0x1
|
||||
|
|
@ -5943,10 +5943,10 @@ _08078BE8:
|
|||
adds r0, r7
|
||||
mov r10, r0
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
adds r4, r0, 0
|
||||
ldr r0, [r5]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
movs r1, 0
|
||||
str r1, [sp, 0x24]
|
||||
cmp r4, r0
|
||||
|
|
@ -5987,13 +5987,13 @@ _08078C16:
|
|||
bl sub_80522F4
|
||||
_08078C5E:
|
||||
ldr r0, [sp, 0x20]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
adds r4, r0, 0
|
||||
movs r1, 0xA0
|
||||
lsls r1, 1
|
||||
adds r0, r7, r1
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r4, r0
|
||||
bne _08078C9C
|
||||
ldr r0, _08078C94
|
||||
|
|
@ -6060,10 +6060,10 @@ _08078CFA:
|
|||
movs r2, 0
|
||||
bl SetMessageArgument
|
||||
adds r0, r4, 0
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
adds r4, r0, 0
|
||||
ldr r0, [r5]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r4, r0
|
||||
bne _08078D34
|
||||
mov r1, r8
|
||||
|
|
@ -6077,10 +6077,10 @@ _08078D2C: .4byte gAvailablePokemonNames
|
|||
_08078D30: .4byte gUnknown_80FBE14
|
||||
_08078D34:
|
||||
ldr r0, [r5]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
adds r4, r0, 0
|
||||
ldr r0, [r7]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
cmp r4, r0
|
||||
blt _08078D60
|
||||
mov r0, r8
|
||||
|
|
@ -10207,7 +10207,7 @@ _0807AE12:
|
|||
lsls r1, 1
|
||||
adds r0, r4, r1
|
||||
ldr r0, [r0]
|
||||
bl GetBellyRoundedUp
|
||||
bl RoundUpFixedPoint
|
||||
adds r1, r0, 0
|
||||
cmp r1, 0
|
||||
bne _0807AE32
|
||||
|
|
|
|||
|
|
@ -279,471 +279,4 @@ _08094448: .4byte 0xffff0000
|
|||
_0809444C: .4byte 0x0000ffff
|
||||
thumb_func_end sub_80943DC
|
||||
|
||||
thumb_func_start GetBellyRoundedUp
|
||||
GetBellyRoundedUp:
|
||||
push {lr}
|
||||
adds r1, r0, 0
|
||||
lsls r0, r1, 16
|
||||
asrs r2, r0, 16
|
||||
cmp r2, 0
|
||||
bne _0809446A
|
||||
asrs r0, r1, 16
|
||||
cmp r0, 0
|
||||
bne _08094466
|
||||
movs r0, 0
|
||||
b _08094476
|
||||
_08094466:
|
||||
movs r0, 0x1
|
||||
b _08094476
|
||||
_0809446A:
|
||||
asrs r0, r1, 16
|
||||
cmp r0, 0
|
||||
bne _08094474
|
||||
adds r0, r2, 0
|
||||
b _08094476
|
||||
_08094474:
|
||||
adds r0, r2, 0x1
|
||||
_08094476:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end GetBellyRoundedUp
|
||||
|
||||
thumb_func_start sub_809447C
|
||||
sub_809447C:
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
movs r2, 0x10
|
||||
bl RestoreIntegerBits
|
||||
adds r4, 0x2
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x10
|
||||
bl RestoreIntegerBits
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_809447C
|
||||
|
||||
thumb_func_start sub_809449C
|
||||
sub_809449C:
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
movs r2, 0x10
|
||||
bl SaveIntegerBits
|
||||
adds r4, 0x2
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x10
|
||||
bl SaveIntegerBits
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_809449C
|
||||
|
||||
thumb_func_start sub_80944BC
|
||||
sub_80944BC:
|
||||
push {r4,lr}
|
||||
sub sp, 0x8
|
||||
adds r4, r1, 0
|
||||
lsls r0, 16
|
||||
asrs r1, r0, 16
|
||||
ldr r0, _080944F4
|
||||
cmp r1, r0
|
||||
bgt _08094500
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
mov r0, sp
|
||||
bl sub_8092AA8
|
||||
ldr r0, _080944F8
|
||||
mov r1, sp
|
||||
movs r2, 0
|
||||
bl sub_80928C0
|
||||
ldr r0, _080944FC
|
||||
ldr r0, [r0]
|
||||
adds r2, r4, 0
|
||||
adds r2, 0xC8
|
||||
adds r1, r4, 0
|
||||
movs r3, 0
|
||||
bl xxx_format_string
|
||||
b _08094516
|
||||
.align 2, 0
|
||||
_080944F4: .4byte 0x000001f3
|
||||
_080944F8: .4byte gUnknown_202DE58
|
||||
_080944FC: .4byte gUnknown_811383C
|
||||
_08094500:
|
||||
ldr r0, _08094520
|
||||
ldr r2, _08094524
|
||||
adds r1, r2
|
||||
lsls r1, 3
|
||||
adds r0, 0x4
|
||||
adds r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, 0
|
||||
movs r2, 0xC8
|
||||
bl strncpy
|
||||
_08094516:
|
||||
add sp, 0x8
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08094520: .4byte gUnknown_8113080
|
||||
_08094524: .4byte 0xfffffe0c
|
||||
thumb_func_end sub_80944BC
|
||||
|
||||
thumb_func_start sub_8094528
|
||||
sub_8094528:
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
asrs r1, r0, 16
|
||||
ldr r0, _08094544
|
||||
cmp r1, r0
|
||||
ble _08094550
|
||||
ldr r0, _08094548
|
||||
ldr r2, _0809454C
|
||||
adds r1, r2
|
||||
lsls r1, 3
|
||||
adds r1, r0
|
||||
ldrb r0, [r1]
|
||||
b _08094552
|
||||
.align 2, 0
|
||||
_08094544: .4byte 0x000001f3
|
||||
_08094548: .4byte gUnknown_8113080
|
||||
_0809454C: .4byte 0xfffffe0c
|
||||
_08094550:
|
||||
movs r0, 0x1
|
||||
_08094552:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8094528
|
||||
|
||||
thumb_func_start sub_8094558
|
||||
sub_8094558:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, 0xCC
|
||||
adds r7, r0, 0
|
||||
adds r4, r1, 0
|
||||
adds r6, r2, 0
|
||||
bl sub_80073B8
|
||||
movs r5, 0
|
||||
str r5, [sp]
|
||||
movs r0, 0x10
|
||||
movs r1, 0
|
||||
adds r2, r4, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
ldr r4, _080945D0
|
||||
adds r1, r6, 0
|
||||
adds r1, 0x18
|
||||
adds r0, r4, 0
|
||||
bl sub_8090208
|
||||
ldr r0, _080945D4
|
||||
ldr r2, [r0]
|
||||
str r5, [sp]
|
||||
movs r0, 0x4
|
||||
movs r1, 0x10
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
movs r5, 0x1A
|
||||
adds r0, r4, 0
|
||||
adds r1, r6, 0
|
||||
movs r2, 0xA
|
||||
bl sub_80922B4
|
||||
adds r4, 0x50
|
||||
adds r1, r6, 0
|
||||
adds r1, 0xA
|
||||
adds r0, r4, 0
|
||||
movs r2, 0xA
|
||||
bl sub_80922B4
|
||||
movs r1, 0x14
|
||||
ldrsh r0, [r6, r1]
|
||||
bl sub_8094528
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080945DC
|
||||
ldr r0, _080945D8
|
||||
ldr r0, [r0]
|
||||
add r2, sp, 0xCC
|
||||
add r1, sp, 0x4
|
||||
movs r3, 0
|
||||
bl xxx_format_string
|
||||
b _080945EA
|
||||
.align 2, 0
|
||||
_080945D0: .4byte gAvailablePokemonNames
|
||||
_080945D4: .4byte gUnknown_8113850
|
||||
_080945D8: .4byte gUnknown_8113868
|
||||
_080945DC:
|
||||
ldr r0, _0809465C
|
||||
ldr r0, [r0]
|
||||
add r2, sp, 0xCC
|
||||
add r1, sp, 0x4
|
||||
movs r3, 0
|
||||
bl xxx_format_string
|
||||
_080945EA:
|
||||
add r0, sp, 0x4
|
||||
bl sub_8008ED0
|
||||
movs r4, 0xB0
|
||||
subs r0, r4, r0
|
||||
lsrs r1, r0, 31
|
||||
adds r0, r1
|
||||
asrs r0, 1
|
||||
movs r1, 0
|
||||
mov r8, r1
|
||||
str r1, [sp]
|
||||
adds r1, r5, 0
|
||||
add r2, sp, 0x4
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
adds r5, 0xA
|
||||
movs r1, 0x14
|
||||
ldrsh r0, [r6, r1]
|
||||
add r1, sp, 0x4
|
||||
bl sub_80944BC
|
||||
add r0, sp, 0x4
|
||||
bl sub_8008ED0
|
||||
subs r4, r0
|
||||
lsrs r0, r4, 31
|
||||
adds r4, r0
|
||||
asrs r0, r4, 1
|
||||
mov r1, r8
|
||||
str r1, [sp]
|
||||
adds r1, r5, 0
|
||||
add r2, sp, 0x4
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
adds r5, 0x10
|
||||
ldr r1, _08094660
|
||||
ldr r0, [r6, 0x20]
|
||||
str r0, [r1]
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x2A
|
||||
ldrb r0, [r0]
|
||||
str r0, [r1, 0x4]
|
||||
cmp r0, 0x63
|
||||
ble _08094668
|
||||
ldr r0, _08094664
|
||||
ldr r2, [r0]
|
||||
mov r0, r8
|
||||
str r0, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
b _0809467A
|
||||
.align 2, 0
|
||||
_0809465C: .4byte gUnknown_8113870
|
||||
_08094660: .4byte gUnknown_202DE30
|
||||
_08094664: .4byte gUnknown_81138C0
|
||||
_08094668:
|
||||
ldr r0, _080946CC
|
||||
ldr r2, [r0]
|
||||
mov r1, r8
|
||||
str r1, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
_0809467A:
|
||||
adds r5, 0xA
|
||||
ldr r4, _080946D0
|
||||
movs r1, 0x24
|
||||
ldrsh r0, [r6, r1]
|
||||
str r0, [r4]
|
||||
ldr r0, _080946D4
|
||||
ldr r2, [r0]
|
||||
movs r0, 0
|
||||
mov r8, r0
|
||||
str r0, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
adds r5, 0xA
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x26
|
||||
ldrb r2, [r0]
|
||||
str r2, [r4]
|
||||
adds r0, 0x2
|
||||
ldrb r0, [r0]
|
||||
str r0, [r4, 0x4]
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x2B
|
||||
ldrb r1, [r0]
|
||||
cmp r1, 0
|
||||
beq _080946DC
|
||||
adds r0, r1, 0
|
||||
adds r0, r2, r0
|
||||
str r0, [r4]
|
||||
ldr r0, _080946D8
|
||||
ldr r2, [r0]
|
||||
mov r1, r8
|
||||
str r1, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
b _080946EC
|
||||
.align 2, 0
|
||||
_080946CC: .4byte gUnknown_8113898
|
||||
_080946D0: .4byte gUnknown_202DE30
|
||||
_080946D4: .4byte gUnknown_81138D0
|
||||
_080946D8: .4byte gUnknown_8113950
|
||||
_080946DC:
|
||||
ldr r0, _08094714
|
||||
ldr r2, [r0]
|
||||
str r1, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
_080946EC:
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x2D
|
||||
ldrb r1, [r0]
|
||||
cmp r1, 0
|
||||
beq _08094720
|
||||
ldr r2, _08094718
|
||||
ldr r0, [r2, 0x4]
|
||||
adds r0, r1
|
||||
str r0, [r2, 0x4]
|
||||
ldr r0, _0809471C
|
||||
ldr r2, [r0]
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
b _08094730
|
||||
.align 2, 0
|
||||
_08094714: .4byte gUnknown_81138E4
|
||||
_08094718: .4byte gUnknown_202DE30
|
||||
_0809471C: .4byte gUnknown_8113974
|
||||
_08094720:
|
||||
ldr r0, _08094768
|
||||
ldr r2, [r0]
|
||||
str r1, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
_08094730:
|
||||
adds r5, 0xA
|
||||
ldr r2, _0809476C
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x27
|
||||
ldrb r3, [r0]
|
||||
str r3, [r2]
|
||||
adds r0, 0x2
|
||||
ldrb r0, [r0]
|
||||
str r0, [r2, 0x4]
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x2C
|
||||
ldrb r1, [r0]
|
||||
cmp r1, 0
|
||||
beq _08094774
|
||||
adds r0, r1, 0
|
||||
adds r0, r3, r0
|
||||
str r0, [r2]
|
||||
ldr r0, _08094770
|
||||
ldr r2, [r0]
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
b _08094784
|
||||
.align 2, 0
|
||||
_08094768: .4byte gUnknown_8113900
|
||||
_0809476C: .4byte gUnknown_202DE30
|
||||
_08094770: .4byte gUnknown_8113990
|
||||
_08094774:
|
||||
ldr r0, _080947AC
|
||||
ldr r2, [r0]
|
||||
str r1, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
_08094784:
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x2E
|
||||
ldrb r1, [r0]
|
||||
cmp r1, 0
|
||||
beq _080947B8
|
||||
ldr r2, _080947B0
|
||||
ldr r0, [r2, 0x4]
|
||||
adds r0, r1
|
||||
str r0, [r2, 0x4]
|
||||
ldr r0, _080947B4
|
||||
ldr r2, [r0]
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
b _080947C8
|
||||
.align 2, 0
|
||||
_080947AC: .4byte gUnknown_8113918
|
||||
_080947B0: .4byte gUnknown_202DE30
|
||||
_080947B4: .4byte gUnknown_81139B4
|
||||
_080947B8:
|
||||
ldr r0, _080947E4
|
||||
ldr r2, [r0]
|
||||
str r1, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
_080947C8:
|
||||
adds r5, 0x10
|
||||
adds r2, r6, 0
|
||||
adds r2, 0x1C
|
||||
ldrb r1, [r6, 0x1C]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080947EC
|
||||
ldr r0, _080947E8
|
||||
adds r1, r2, 0
|
||||
movs r2, 0
|
||||
bl sub_8090E14
|
||||
b _080947F6
|
||||
.align 2, 0
|
||||
_080947E4: .4byte gUnknown_8113934
|
||||
_080947E8: .4byte gUnknown_202DE58
|
||||
_080947EC:
|
||||
ldr r0, _0809481C
|
||||
ldr r1, _08094820
|
||||
ldr r1, [r1]
|
||||
bl strcpy
|
||||
_080947F6:
|
||||
ldr r0, _08094824
|
||||
ldr r2, [r0]
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
adds r0, r7, 0
|
||||
bl sub_80073E0
|
||||
add sp, 0xCC
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0809481C: .4byte gUnknown_202DE58
|
||||
_08094820: .4byte gUnknown_81139B8
|
||||
_08094824: .4byte gUnknown_81139CC
|
||||
thumb_func_end sub_8094558
|
||||
|
||||
.align 2,0
|
||||
.align 2, 0
|
||||
446
asm/code_809447C.s
Normal file
446
asm/code_809447C.s
Normal file
|
|
@ -0,0 +1,446 @@
|
|||
#include "asm/constants/gba_constants.inc"
|
||||
#include "asm/macros.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_809447C
|
||||
sub_809447C:
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
movs r2, 0x10
|
||||
bl RestoreIntegerBits
|
||||
adds r4, 0x2
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x10
|
||||
bl RestoreIntegerBits
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_809447C
|
||||
|
||||
thumb_func_start sub_809449C
|
||||
sub_809449C:
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
adds r4, r1, 0
|
||||
movs r2, 0x10
|
||||
bl SaveIntegerBits
|
||||
adds r4, 0x2
|
||||
adds r0, r5, 0
|
||||
adds r1, r4, 0
|
||||
movs r2, 0x10
|
||||
bl SaveIntegerBits
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_809449C
|
||||
|
||||
thumb_func_start sub_80944BC
|
||||
sub_80944BC:
|
||||
push {r4,lr}
|
||||
sub sp, 0x8
|
||||
adds r4, r1, 0
|
||||
lsls r0, 16
|
||||
asrs r1, r0, 16
|
||||
ldr r0, _080944F4
|
||||
cmp r1, r0
|
||||
bgt _08094500
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
mov r0, sp
|
||||
bl sub_8092AA8
|
||||
ldr r0, _080944F8
|
||||
mov r1, sp
|
||||
movs r2, 0
|
||||
bl sub_80928C0
|
||||
ldr r0, _080944FC
|
||||
ldr r0, [r0]
|
||||
adds r2, r4, 0
|
||||
adds r2, 0xC8
|
||||
adds r1, r4, 0
|
||||
movs r3, 0
|
||||
bl xxx_format_string
|
||||
b _08094516
|
||||
.align 2, 0
|
||||
_080944F4: .4byte 0x000001f3
|
||||
_080944F8: .4byte gUnknown_202DE58
|
||||
_080944FC: .4byte gUnknown_811383C
|
||||
_08094500:
|
||||
ldr r0, _08094520
|
||||
ldr r2, _08094524
|
||||
adds r1, r2
|
||||
lsls r1, 3
|
||||
adds r0, 0x4
|
||||
adds r1, r0
|
||||
ldr r1, [r1]
|
||||
adds r0, r4, 0
|
||||
movs r2, 0xC8
|
||||
bl strncpy
|
||||
_08094516:
|
||||
add sp, 0x8
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_08094520: .4byte gUnknown_8113080
|
||||
_08094524: .4byte 0xfffffe0c
|
||||
thumb_func_end sub_80944BC
|
||||
|
||||
thumb_func_start sub_8094528
|
||||
sub_8094528:
|
||||
push {lr}
|
||||
lsls r0, 16
|
||||
asrs r1, r0, 16
|
||||
ldr r0, _08094544
|
||||
cmp r1, r0
|
||||
ble _08094550
|
||||
ldr r0, _08094548
|
||||
ldr r2, _0809454C
|
||||
adds r1, r2
|
||||
lsls r1, 3
|
||||
adds r1, r0
|
||||
ldrb r0, [r1]
|
||||
b _08094552
|
||||
.align 2, 0
|
||||
_08094544: .4byte 0x000001f3
|
||||
_08094548: .4byte gUnknown_8113080
|
||||
_0809454C: .4byte 0xfffffe0c
|
||||
_08094550:
|
||||
movs r0, 0x1
|
||||
_08094552:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8094528
|
||||
|
||||
thumb_func_start sub_8094558
|
||||
sub_8094558:
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, 0xCC
|
||||
adds r7, r0, 0
|
||||
adds r4, r1, 0
|
||||
adds r6, r2, 0
|
||||
bl sub_80073B8
|
||||
movs r5, 0
|
||||
str r5, [sp]
|
||||
movs r0, 0x10
|
||||
movs r1, 0
|
||||
adds r2, r4, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
ldr r4, _080945D0
|
||||
adds r1, r6, 0
|
||||
adds r1, 0x18
|
||||
adds r0, r4, 0
|
||||
bl sub_8090208
|
||||
ldr r0, _080945D4
|
||||
ldr r2, [r0]
|
||||
str r5, [sp]
|
||||
movs r0, 0x4
|
||||
movs r1, 0x10
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
movs r5, 0x1A
|
||||
adds r0, r4, 0
|
||||
adds r1, r6, 0
|
||||
movs r2, 0xA
|
||||
bl sub_80922B4
|
||||
adds r4, 0x50
|
||||
adds r1, r6, 0
|
||||
adds r1, 0xA
|
||||
adds r0, r4, 0
|
||||
movs r2, 0xA
|
||||
bl sub_80922B4
|
||||
movs r1, 0x14
|
||||
ldrsh r0, [r6, r1]
|
||||
bl sub_8094528
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _080945DC
|
||||
ldr r0, _080945D8
|
||||
ldr r0, [r0]
|
||||
add r2, sp, 0xCC
|
||||
add r1, sp, 0x4
|
||||
movs r3, 0
|
||||
bl xxx_format_string
|
||||
b _080945EA
|
||||
.align 2, 0
|
||||
_080945D0: .4byte gAvailablePokemonNames
|
||||
_080945D4: .4byte gUnknown_8113850
|
||||
_080945D8: .4byte gUnknown_8113868
|
||||
_080945DC:
|
||||
ldr r0, _0809465C
|
||||
ldr r0, [r0]
|
||||
add r2, sp, 0xCC
|
||||
add r1, sp, 0x4
|
||||
movs r3, 0
|
||||
bl xxx_format_string
|
||||
_080945EA:
|
||||
add r0, sp, 0x4
|
||||
bl sub_8008ED0
|
||||
movs r4, 0xB0
|
||||
subs r0, r4, r0
|
||||
lsrs r1, r0, 31
|
||||
adds r0, r1
|
||||
asrs r0, 1
|
||||
movs r1, 0
|
||||
mov r8, r1
|
||||
str r1, [sp]
|
||||
adds r1, r5, 0
|
||||
add r2, sp, 0x4
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
adds r5, 0xA
|
||||
movs r1, 0x14
|
||||
ldrsh r0, [r6, r1]
|
||||
add r1, sp, 0x4
|
||||
bl sub_80944BC
|
||||
add r0, sp, 0x4
|
||||
bl sub_8008ED0
|
||||
subs r4, r0
|
||||
lsrs r0, r4, 31
|
||||
adds r4, r0
|
||||
asrs r0, r4, 1
|
||||
mov r1, r8
|
||||
str r1, [sp]
|
||||
adds r1, r5, 0
|
||||
add r2, sp, 0x4
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
adds r5, 0x10
|
||||
ldr r1, _08094660
|
||||
ldr r0, [r6, 0x20]
|
||||
str r0, [r1]
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x2A
|
||||
ldrb r0, [r0]
|
||||
str r0, [r1, 0x4]
|
||||
cmp r0, 0x63
|
||||
ble _08094668
|
||||
ldr r0, _08094664
|
||||
ldr r2, [r0]
|
||||
mov r0, r8
|
||||
str r0, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
b _0809467A
|
||||
.align 2, 0
|
||||
_0809465C: .4byte gUnknown_8113870
|
||||
_08094660: .4byte gUnknown_202DE30
|
||||
_08094664: .4byte gUnknown_81138C0
|
||||
_08094668:
|
||||
ldr r0, _080946CC
|
||||
ldr r2, [r0]
|
||||
mov r1, r8
|
||||
str r1, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
_0809467A:
|
||||
adds r5, 0xA
|
||||
ldr r4, _080946D0
|
||||
movs r1, 0x24
|
||||
ldrsh r0, [r6, r1]
|
||||
str r0, [r4]
|
||||
ldr r0, _080946D4
|
||||
ldr r2, [r0]
|
||||
movs r0, 0
|
||||
mov r8, r0
|
||||
str r0, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
adds r5, 0xA
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x26
|
||||
ldrb r2, [r0]
|
||||
str r2, [r4]
|
||||
adds r0, 0x2
|
||||
ldrb r0, [r0]
|
||||
str r0, [r4, 0x4]
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x2B
|
||||
ldrb r1, [r0]
|
||||
cmp r1, 0
|
||||
beq _080946DC
|
||||
adds r0, r1, 0
|
||||
adds r0, r2, r0
|
||||
str r0, [r4]
|
||||
ldr r0, _080946D8
|
||||
ldr r2, [r0]
|
||||
mov r1, r8
|
||||
str r1, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
b _080946EC
|
||||
.align 2, 0
|
||||
_080946CC: .4byte gUnknown_8113898
|
||||
_080946D0: .4byte gUnknown_202DE30
|
||||
_080946D4: .4byte gUnknown_81138D0
|
||||
_080946D8: .4byte gUnknown_8113950
|
||||
_080946DC:
|
||||
ldr r0, _08094714
|
||||
ldr r2, [r0]
|
||||
str r1, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
_080946EC:
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x2D
|
||||
ldrb r1, [r0]
|
||||
cmp r1, 0
|
||||
beq _08094720
|
||||
ldr r2, _08094718
|
||||
ldr r0, [r2, 0x4]
|
||||
adds r0, r1
|
||||
str r0, [r2, 0x4]
|
||||
ldr r0, _0809471C
|
||||
ldr r2, [r0]
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
b _08094730
|
||||
.align 2, 0
|
||||
_08094714: .4byte gUnknown_81138E4
|
||||
_08094718: .4byte gUnknown_202DE30
|
||||
_0809471C: .4byte gUnknown_8113974
|
||||
_08094720:
|
||||
ldr r0, _08094768
|
||||
ldr r2, [r0]
|
||||
str r1, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
_08094730:
|
||||
adds r5, 0xA
|
||||
ldr r2, _0809476C
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x27
|
||||
ldrb r3, [r0]
|
||||
str r3, [r2]
|
||||
adds r0, 0x2
|
||||
ldrb r0, [r0]
|
||||
str r0, [r2, 0x4]
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x2C
|
||||
ldrb r1, [r0]
|
||||
cmp r1, 0
|
||||
beq _08094774
|
||||
adds r0, r1, 0
|
||||
adds r0, r3, r0
|
||||
str r0, [r2]
|
||||
ldr r0, _08094770
|
||||
ldr r2, [r0]
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
b _08094784
|
||||
.align 2, 0
|
||||
_08094768: .4byte gUnknown_8113900
|
||||
_0809476C: .4byte gUnknown_202DE30
|
||||
_08094770: .4byte gUnknown_8113990
|
||||
_08094774:
|
||||
ldr r0, _080947AC
|
||||
ldr r2, [r0]
|
||||
str r1, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
_08094784:
|
||||
adds r0, r6, 0
|
||||
adds r0, 0x2E
|
||||
ldrb r1, [r0]
|
||||
cmp r1, 0
|
||||
beq _080947B8
|
||||
ldr r2, _080947B0
|
||||
ldr r0, [r2, 0x4]
|
||||
adds r0, r1
|
||||
str r0, [r2, 0x4]
|
||||
ldr r0, _080947B4
|
||||
ldr r2, [r0]
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
b _080947C8
|
||||
.align 2, 0
|
||||
_080947AC: .4byte gUnknown_8113918
|
||||
_080947B0: .4byte gUnknown_202DE30
|
||||
_080947B4: .4byte gUnknown_81139B4
|
||||
_080947B8:
|
||||
ldr r0, _080947E4
|
||||
ldr r2, [r0]
|
||||
str r1, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
_080947C8:
|
||||
adds r5, 0x10
|
||||
adds r2, r6, 0
|
||||
adds r2, 0x1C
|
||||
ldrb r1, [r6, 0x1C]
|
||||
movs r0, 0x1
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080947EC
|
||||
ldr r0, _080947E8
|
||||
adds r1, r2, 0
|
||||
movs r2, 0
|
||||
bl sub_8090E14
|
||||
b _080947F6
|
||||
.align 2, 0
|
||||
_080947E4: .4byte gUnknown_8113934
|
||||
_080947E8: .4byte gUnknown_202DE58
|
||||
_080947EC:
|
||||
ldr r0, _0809481C
|
||||
ldr r1, _08094820
|
||||
ldr r1, [r1]
|
||||
bl strcpy
|
||||
_080947F6:
|
||||
ldr r0, _08094824
|
||||
ldr r2, [r0]
|
||||
movs r0, 0
|
||||
str r0, [sp]
|
||||
movs r0, 0x4
|
||||
adds r1, r5, 0
|
||||
adds r3, r7, 0
|
||||
bl xxx_format_and_draw
|
||||
adds r0, r7, 0
|
||||
bl sub_80073E0
|
||||
add sp, 0xCC
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.align 2, 0
|
||||
_0809481C: .4byte gUnknown_202DE58
|
||||
_08094820: .4byte gUnknown_81139B8
|
||||
_08094824: .4byte gUnknown_81139CC
|
||||
thumb_func_end sub_8094558
|
||||
|
||||
.align 2,0
|
||||
8476
data/data_80F4278.s
8476
data/data_80F4278.s
File diff suppressed because it is too large
Load Diff
1312
data/data_80F4468.s
Normal file
1312
data/data_80F4468.s
Normal file
File diff suppressed because it is too large
Load Diff
6081
data/data_80F59C8.s
Normal file
6081
data/data_80F59C8.s
Normal file
File diff suppressed because it is too large
Load Diff
399
data/data_8106A4C.s
Normal file
399
data/data_8106A4C.s
Normal file
|
|
@ -0,0 +1,399 @@
|
|||
.section .rodata
|
||||
|
||||
.global gUnknown_8106A4C
|
||||
gUnknown_8106A4C: @ 8106A4C
|
||||
.4byte 0
|
||||
|
||||
.global gUnknown_8106A50
|
||||
gUnknown_8106A50: @ 8106A50
|
||||
.4byte 1
|
||||
|
||||
.global gUnknown_8106A54
|
||||
gUnknown_8106A54: @ 8106A54
|
||||
.incbin "baserom.gba", 0x106A54, 0x38
|
||||
|
||||
.global gUnknown_8106A8C
|
||||
gUnknown_8106A8C: @ 8106A8C
|
||||
.incbin "baserom.gba", 0x106A8C, 0x3C
|
||||
|
||||
.global gUnknown_8106AC8
|
||||
gUnknown_8106AC8: @ 8106AC8
|
||||
.incbin "baserom.gba", 0x106AC8, 0x20
|
||||
|
||||
.global gUnknown_8106AE8
|
||||
gUnknown_8106AE8: @ 8106AE8
|
||||
.byte 0x00, 0x00, 0x01, 0x00
|
||||
|
||||
.global gUnknown_8106AEC
|
||||
gUnknown_8106AEC: @ 8106AEC
|
||||
.incbin "baserom.gba", 0x106AEC, 0x64
|
||||
|
||||
.global gUnknown_8106B50
|
||||
gUnknown_8106B50: @ 8106B50
|
||||
.string "{COLOR_1}%c%s\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106B60
|
||||
gUnknown_8106B60: @ 8106B60
|
||||
.byte 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x50, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106B6C
|
||||
gUnknown_8106B6C: @ 8106B6C
|
||||
.incbin "baserom.gba", 0x106B6C, 0x20
|
||||
|
||||
.global gUnknown_8106B8C
|
||||
gUnknown_8106B8C: @ 8106B8C
|
||||
.incbin "baserom.gba", 0x106B8C, 0x24
|
||||
|
||||
.global gUnknown_8106BB0
|
||||
gUnknown_8106BB0: @ 8106BB0
|
||||
.string "$t\0"
|
||||
.align 2,0
|
||||
|
||||
@ Red Heart Symbols
|
||||
.global gUnknown_8106BB4
|
||||
gUnknown_8106BB4: @ 8106BB4
|
||||
.byte 0x87, 0x46, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106BB8
|
||||
gUnknown_8106BB8: @ 8106BB8
|
||||
.byte 0x87, 0x47, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106BBC
|
||||
gUnknown_8106BBC: @ 8106BBC
|
||||
.byte 0x87, 0x48, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106BC0
|
||||
gUnknown_8106BC0: @ 8106BC0
|
||||
.byte 0x87, 0x49, 0x00, 0x00
|
||||
|
||||
@ Yellow Heart Symbols
|
||||
.global gUnknown_8106BC4
|
||||
gUnknown_8106BC4: @ 8106BC4
|
||||
.byte 0x87, 0x4A, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106BC8
|
||||
gUnknown_8106BC8: @ 8106BC8
|
||||
.byte 0x87, 0x4B, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106BCC
|
||||
gUnknown_8106BCC: @ 8106BCC
|
||||
.byte 0x87, 0x4C, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106BD0
|
||||
gUnknown_8106BD0: @ 8106BD0
|
||||
.byte 0x87, 0x4D, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106BD4
|
||||
gUnknown_8106BD4: @ 8106BD4
|
||||
.byte 0x87, 0x42, 0x24, 0x6d, 0x30, 0x23, 0x3d, 0x59, 0x24, 0x6d, 0x31, 0x00
|
||||
|
||||
.global gUnknown_8106BE0
|
||||
gUnknown_8106BE0: @ 8106BE0
|
||||
.byte 0x87, 0x40, 0x24, 0x6d, 0x30, 0x23, 0x3d, 0x59, 0x24, 0x6d, 0x31, 0x00
|
||||
|
||||
.global gUnknown_8106BEC
|
||||
gUnknown_8106BEC: @ 8106BEC
|
||||
.byte 0x87, 0x42, 0x24, 0x6d, 0x30, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106BF4
|
||||
gUnknown_8106BF4: @ 8106BF4
|
||||
.byte 0x87, 0x40, 0x24, 0x6d, 0x30, 0x00, 0x00, 0x00, 0x01, 0x00, 0x0f, 0x00
|
||||
|
||||
.global gUnknown_8106C00
|
||||
gUnknown_8106C00: @ 8106C00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0a, 0x00, 0x12, 0x00, 0x08, 0x00, 0x08, 0x00, 0x00, 0x00, 0xfc, 0x6b, 0x10, 0x08
|
||||
|
||||
.global gUnknown_8106C18
|
||||
gUnknown_8106C18: @ 8106C18
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x0a, 0x00, 0x12, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0xfc, 0x6b, 0x10, 0x08
|
||||
|
||||
.global gUnknown_8106C30
|
||||
gUnknown_8106C30: @ 8106C30
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x0e, 0x00, 0x02, 0x00
|
||||
.byte 0x0e, 0x00, 0x10, 0x00
|
||||
.byte 0x10, 0x00, 0x00, 0x00
|
||||
.byte 0x70, 0xf2, 0x02, 0x02
|
||||
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x02, 0x00, 0x02, 0x00
|
||||
.byte 0x0a, 0x00, 0x02, 0x00
|
||||
.byte 0x02, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106C90
|
||||
gUnknown_8106C90: @ 8106C90
|
||||
.string "????\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106C98
|
||||
gUnknown_8106C98: @ 8106C98
|
||||
.string "{ARG_MOVE_ITEM_0}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106C9C
|
||||
gUnknown_8106C9C: @ 8106C9C
|
||||
.string "None\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106CAC
|
||||
gUnknown_8106CAC: @ 8106CAC
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x02, 0x00, 0x0E, 0x00
|
||||
.byte 0x1A, 0x00, 0x03, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106CC4
|
||||
gUnknown_8106CC4: @ 8106CC4
|
||||
.string "{ARG_MOVE_ITEM_0}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106CC8
|
||||
gUnknown_8106CC8: @ 8106CC8
|
||||
.byte 0x01, 0x00, 0x10, 0x00
|
||||
|
||||
.global gUnknown_8106CCC
|
||||
gUnknown_8106CCC: @ 8106CCC
|
||||
.string "{ARG_POKEMON_0}\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106CE8
|
||||
gUnknown_8106CE8: @ 8106CE8
|
||||
.byte 0x10, 0x00, 0x00, 0x00
|
||||
.byte 0x19, 0x00, 0x00, 0x00
|
||||
.byte 0x1b, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106CF4
|
||||
gUnknown_8106CF4: @ 8106CF4
|
||||
.byte 0x13, 0x00, 0x00, 0x00
|
||||
.byte 0x11, 0x00, 0x00, 0x00
|
||||
.byte 0x19, 0x00, 0x00, 0x00
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106D08
|
||||
gUnknown_8106D08: @ 8106D08
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x12, 0x00, 0x0e, 0x00, 0x12, 0x00, 0x02, 0x00, 0x3c, 0xb4, 0x03, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106D68
|
||||
gUnknown_8106D68: @ 8106D68
|
||||
.byte 0x01, 0x00, 0x38, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x38, 0x00, 0x68, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106D8C
|
||||
gUnknown_8106D8C: @ 8106D8C
|
||||
.string "{COLOR_2}%d{ARG_POKEMON_0}\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106DA4
|
||||
gUnknown_8106DA4: @ 8106DA4
|
||||
.byte 0x01, 0x00, 0x38, 0x00, 0x00, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x02, 0x00, 0x38, 0x00, 0x68, 0x00, 0x18, 0x00, 0x18, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106DC8
|
||||
gUnknown_8106DC8: @ 8106DC8
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x06, 0x00, 0x00, 0x00, 0x02, 0x00, 0x02, 0x00, 0x11, 0x00, 0x0e, 0x00, 0x12, 0x00, 0x02, 0x00, 0x08, 0xf3, 0x02, 0x02, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x15, 0x00, 0x04, 0x00, 0x07, 0x00, 0x04, 0x00, 0x04, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x03, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106E28
|
||||
gUnknown_8106E28: @ 8106E28
|
||||
.string "{ARG_POKEMON_0}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106E2C
|
||||
gUnknown_8106E2C: @ 8106E2C
|
||||
.byte 0x87, 0x42, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106E30
|
||||
gUnknown_8106E30: @ 8106E30
|
||||
.byte 0x87, 0x40, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106E34
|
||||
gUnknown_8106E34: @ 8106E34
|
||||
.string "{ARG_MOVE_ITEM_0}{COLOR_2 CYAN}$v02:{ARG_POKEMON_0}{END_COLOR_TEXT_2}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106E48
|
||||
gUnknown_8106E48: @ 8106E48
|
||||
.string "{ARG_MOVE_ITEM_0}{COLOR_2 YELLOW}$v02:{ARG_POKEMON_0}{END_COLOR_TEXT_2}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106E5C
|
||||
gUnknown_8106E5C: @ 8106E5C
|
||||
.string "Press {B_BUTTON}\n"
|
||||
.string "if OK.\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106E6C
|
||||
gUnknown_8106E6C: @ 8106E6C
|
||||
.string "Say bye to\n"
|
||||
.string "$d0 more\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106E80
|
||||
gUnknown_8106E80: @ 8106E80
|
||||
.byte 0x02, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
.byte 0x04, 0x00, 0x00, 0x00
|
||||
.byte 0x05, 0x00, 0x00, 0x00
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106E98
|
||||
gUnknown_8106E98: @ 8106E98
|
||||
.string "palet\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106EA0
|
||||
gUnknown_8106EA0: @ 8106EA0
|
||||
.string "ax%03d\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106EA8
|
||||
gUnknown_8106EA8: @ 8106EA8
|
||||
.string "talkp%d\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106EB0
|
||||
gUnknown_8106EB0: @ 8106EB0
|
||||
.string "talk%d\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8106EC8
|
||||
gUnknown_8106EC8: @ 8106EC8
|
||||
.incbin "baserom.gba", 0x106EC8, 0x27
|
||||
|
||||
.global gUnknown_8106EEF
|
||||
gUnknown_8106EEF: @ 8106EEF
|
||||
.incbin "baserom.gba", 0x106EEF, 0xD
|
||||
|
||||
.global gUnknown_8106EFC
|
||||
gUnknown_8106EFC: @ 8106EFC
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106F04
|
||||
gUnknown_8106F04: @ 8106F04
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x01, 0x00
|
||||
|
||||
.global gUnknown_8106F0C
|
||||
gUnknown_8106F0C: @ 8106F0C
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x02, 0x00
|
||||
|
||||
.global gUnknown_8106F14
|
||||
gUnknown_8106F14: @ 8106F14
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x80, 0x01, 0x00
|
||||
|
||||
.global gUnknown_8106F1C
|
||||
gUnknown_8106F1C: @ 8106F1C
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x80, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106F24
|
||||
gUnknown_8106F24: @ 8106F24
|
||||
.incbin "baserom.gba", 0x106F24, 0x30
|
||||
|
||||
.global gUnknown_8106F54
|
||||
gUnknown_8106F54: @ 8106F54
|
||||
.byte 0x3C, 0x6F, 0x10, 0x08
|
||||
.byte 0x44, 0x6F, 0x10, 0x08
|
||||
.4byte gUnknown_8106F04
|
||||
.byte 0x4C, 0x6F, 0x10, 0x08
|
||||
|
||||
.global gUnknown_8106F64
|
||||
gUnknown_8106F64: @ 8106F64
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0xC0, 0x00, 0x00
|
||||
|
||||
.global gTypeEffectivenessMultipliers
|
||||
gTypeEffectivenessMultipliers: @ 8106F6C
|
||||
.byte 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x02, 0x00, 0x00, 0x00
|
||||
.byte 0x04, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8106F7C
|
||||
gUnknown_8106F7C: @ 8106F7C
|
||||
.incbin "baserom.gba", 0x106F7C, 0x28
|
||||
|
||||
.global gUnknown_8106FA4
|
||||
gUnknown_8106FA4: @ 8106FA4
|
||||
.string "{COLOR_2}%c%s{END_COLOR_TEXT_2}\0"
|
||||
|
||||
.global gDirectionBitMasks
|
||||
gDirectionBitMasks: @ 8106FAD
|
||||
@ replacing .incbin "baserom.gba", 0x00106fad, 0x8
|
||||
.byte 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
|
||||
|
||||
.global gUnknown_8106FB5
|
||||
gUnknown_8106FB5: @ 8106FB5
|
||||
@ replacing .incbin "baserom.gba", 0x00106fb5, 0x8
|
||||
.byte 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
|
||||
|
||||
.global gUnknown_8106FBD
|
||||
gUnknown_8106FBD: @ 8106FBD
|
||||
@ replacing .incbin "baserom.gba", 0x00106fbd, 0x8
|
||||
.byte 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
|
||||
|
||||
.global gUnknown_8106FC5
|
||||
gUnknown_8106FC5: @ 8106FC5
|
||||
@ replacing .incbin "baserom.gba", 0x00106fc5, 0x8
|
||||
.byte 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
|
||||
|
||||
.global gUnknown_8106FCD
|
||||
gUnknown_8106FCD: @ 8106FCD
|
||||
@ replacing .incbin "baserom.gba", 0x00106fcd, 0x8
|
||||
.byte 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
|
||||
|
||||
.global gDirectionBitMasks_2
|
||||
gDirectionBitMasks_2: @ 8106FD5
|
||||
@ replacing .incbin "baserom.gba", 0x00106fd5, 0x8
|
||||
.byte 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
|
||||
|
||||
.global gDirectionBitMasks_3
|
||||
gDirectionBitMasks_3: @ 8106FDD
|
||||
@ replacing .incbin "baserom.gba", 0x00106fdd, 0x8
|
||||
.byte 0x01, 0x02, 0x04, 0x08, 0x10, 0x20, 0x40, 0x80
|
||||
640
data/data_8107010.s
Normal file
640
data/data_8107010.s
Normal file
|
|
@ -0,0 +1,640 @@
|
|||
.section .rodata
|
||||
|
||||
.string "pksdir0\0"
|
||||
.string "pksdir0\0"
|
||||
.global gUnknown_8107010
|
||||
gUnknown_8107010: @ 8107010
|
||||
.incbin "baserom.gba", 0x107010, 0x8
|
||||
|
||||
.global gUnknown_8107018
|
||||
gUnknown_8107018: @ 8107018
|
||||
.incbin "baserom.gba", 0x107018, 0x160
|
||||
|
||||
.global gUnknown_8107178
|
||||
gUnknown_8107178: @ 8107178
|
||||
.incbin "baserom.gba", 0x107178, 0x5C
|
||||
|
||||
.global gUnknown_81071D4
|
||||
gUnknown_81071D4: @ 81071D4
|
||||
.incbin "baserom.gba", 0x1071D4, 0xC
|
||||
|
||||
.global gUnknown_81071E0
|
||||
gUnknown_81071E0: @ 81071E0
|
||||
.incbin "baserom.gba", 0x1071E0, 0x44
|
||||
|
||||
.global gUnknown_8107224
|
||||
gUnknown_8107224: @ 8107224
|
||||
.incbin "baserom.gba", 0x107224, 0x10
|
||||
|
||||
.global gUnknown_8107234
|
||||
gUnknown_8107234: @ 8107234
|
||||
.incbin "baserom.gba", 0x107234, 0xE0
|
||||
|
||||
.global gUnknown_8107314
|
||||
gUnknown_8107314: @ 8107314
|
||||
.incbin "baserom.gba", 0x107314, 0x44
|
||||
|
||||
.global gUnknown_8107358
|
||||
gUnknown_8107358: @ 8107358
|
||||
.incbin "baserom.gba", 0x107358, 0x1C
|
||||
|
||||
.global gUnknown_8107374
|
||||
gUnknown_8107374: @ 8107374
|
||||
.incbin "baserom.gba", 0x107374, 0xC
|
||||
|
||||
.global gUnknown_8107380
|
||||
gUnknown_8107380: @ 8107380
|
||||
.incbin "baserom.gba", 0x107380, 0x1C
|
||||
|
||||
.global gUnknown_810739C
|
||||
gUnknown_810739C: @ 810739C
|
||||
.incbin "baserom.gba", 0x10739C, 0x38
|
||||
|
||||
.global gUnknown_81073D4
|
||||
gUnknown_81073D4: @ 81073D4
|
||||
.incbin "baserom.gba", 0x1073D4, 0x38
|
||||
|
||||
.global gUnknown_810740C
|
||||
gUnknown_810740C: @ 810740C
|
||||
.incbin "baserom.gba", 0x10740C, 0x40
|
||||
|
||||
.global gUnknown_810744C
|
||||
gUnknown_810744C: @ 810744C
|
||||
.incbin "baserom.gba", 0x10744C, 0x18
|
||||
|
||||
.global gUnknown_8107464
|
||||
gUnknown_8107464: @ 8107464
|
||||
.incbin "baserom.gba", 0x107464, 0x98
|
||||
|
||||
.global gUnknown_81074FC
|
||||
gUnknown_81074FC: @ 81074FC
|
||||
.incbin "baserom.gba", 0x1074FC, 0x48
|
||||
|
||||
.global gUnknown_8107544
|
||||
gUnknown_8107544: @ 8107544
|
||||
.incbin "baserom.gba", 0x107544, 0xB0
|
||||
|
||||
.global gUnknown_81075F4
|
||||
gUnknown_81075F4: @ 81075F4
|
||||
.string "monspara\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8107600
|
||||
gUnknown_8107600: @ 8107600
|
||||
.string "{COLOR_2 YELLOW_2}%s{END_COLOR_TEXT_2}"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8107608
|
||||
gUnknown_8107608: @ 8107608
|
||||
.string "{COLOR_2 CYAN_2}%s{END_COLOR_TEXT_2}"
|
||||
.align 2,0
|
||||
|
||||
.global gUnownLetters
|
||||
gUnownLetters: @ 8107610
|
||||
.string "ABCDEFGHIJKLMNOPQRSTUVWXYZ!?\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8107630
|
||||
gUnknown_8107630: @ 8107630
|
||||
.string "%s%c\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8107638
|
||||
gUnknown_8107638: @ 8107638
|
||||
.string "%s\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_810763C
|
||||
gUnknown_810763C: @ 810763C
|
||||
.string "{COLOR_2}%c%s{END_COLOR_TEXT_2}\0"
|
||||
|
||||
.global gUnknown_8107645
|
||||
gUnknown_8107645: @ 8107645
|
||||
.byte 0x00, 0x01, 0x01, 0x01, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8107654
|
||||
gUnknown_8107654: @ 8107654
|
||||
.byte 0x9d, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00, 0x41, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x33, 0x00, 0x00, 0x00, 0x0d, 0x00, 0x00, 0x00
|
||||
.byte 0x33, 0x00, 0x00, 0x00, 0x0e, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8107684
|
||||
gUnknown_8107684: @ 8107684
|
||||
.string "kao%03d\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_810768C
|
||||
gUnknown_810768C: @ 810768C
|
||||
.string "lvmp%03d\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8107698
|
||||
gUnknown_8107698: @ 8107698
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x03, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_81076BC
|
||||
gUnknown_81076BC: @ 81076BC
|
||||
.string "etcfont\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_81076C4
|
||||
gUnknown_81076C4: @ 81076C4
|
||||
.byte 0xfc, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0xfc, 0xff, 0xff, 0xff, 0xf8, 0xff, 0xff, 0xff, 0xf0, 0xff, 0xff, 0xff, 0x70, 0x6b, 0x73, 0x64, 0x69, 0x72, 0x30, 0x00
|
||||
|
||||
.global gIQSkillGroups
|
||||
gIQSkillGroups: @ 81076E4
|
||||
.4byte 9999
|
||||
.4byte 4
|
||||
.4byte 1
|
||||
.4byte 2
|
||||
.4byte 4
|
||||
.4byte 4
|
||||
.4byte 6
|
||||
.4byte 7
|
||||
.4byte 8
|
||||
.4byte 9
|
||||
.4byte 9
|
||||
.4byte 9
|
||||
.4byte 10
|
||||
.4byte 10
|
||||
.4byte 11
|
||||
.4byte 11
|
||||
.4byte 14
|
||||
.4byte 14
|
||||
.4byte 14
|
||||
.4byte 16
|
||||
.4byte 16
|
||||
.4byte 9
|
||||
.4byte 17
|
||||
.4byte 6
|
||||
.string "pksdir0\0"
|
||||
.string "pksdir0\0"
|
||||
|
||||
.global gUnknown_8107754
|
||||
gUnknown_8107754: @ 8107754
|
||||
.string "Stats\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_810775C
|
||||
gUnknown_810775C: @ 810775C
|
||||
.string "Features\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8107768
|
||||
gUnknown_8107768: @ 8107768
|
||||
.string "Type:\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8107770
|
||||
gUnknown_8107770: @ 8107770
|
||||
.string "Special Abilities:\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8107784
|
||||
gUnknown_8107784: @ 8107784
|
||||
.string "{ARG_MOVE_ITEM_1}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8107788
|
||||
gUnknown_8107788: @ 8107788
|
||||
.byte 0x87, 0x42, 0x00, 0x00
|
||||
|
||||
.global gUnknown_810778C
|
||||
gUnknown_810778C: @ 810778C
|
||||
.byte 0x87, 0x40, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8107790
|
||||
gUnknown_8107790: @ 8107790
|
||||
.string "{ARG_MOVE_ITEM_0}{ARG_MOVE_ITEM_1}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8107798
|
||||
gUnknown_8107798: @ 8107798
|
||||
.string "Info\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_81077A8
|
||||
gUnknown_81077A8: @ 81077A8
|
||||
.incbin "baserom.gba", 0x1077A8, 0x40
|
||||
|
||||
.global gUnknown_81077E8
|
||||
gUnknown_81077E8: @ 81077E8
|
||||
.incbin "baserom.gba", 0x1077E8, 0x40
|
||||
|
||||
.global gUnknown_8107828
|
||||
gUnknown_8107828: @ 8107828
|
||||
.incbin "baserom.gba", 0x107828, 0x85C
|
||||
|
||||
.global gUnknown_8108084
|
||||
gUnknown_8108084: @ 8108084
|
||||
.incbin "baserom.gba", 0x108084, 0xDD4
|
||||
|
||||
.global gUnknown_8108E58
|
||||
gUnknown_8108E58: @ 8108E58
|
||||
@ replacing .incbin "baserom.gba", 0x00108e58, 0x68
|
||||
@ u16*s
|
||||
.4byte 0x8108184
|
||||
.4byte 0x810819c
|
||||
.4byte 0x81081ea
|
||||
.4byte 0x8108274
|
||||
.4byte 0x8108302
|
||||
.4byte 0x810838e
|
||||
.4byte 0x8108432
|
||||
.4byte 0x81084d6
|
||||
.4byte 0x810857e
|
||||
.4byte 0x810862c
|
||||
.4byte 0x81086c8
|
||||
.4byte 0x8108766
|
||||
.4byte 0x8108804
|
||||
.4byte 0x81088a2
|
||||
.4byte 0x810893e
|
||||
.4byte 0x81089da
|
||||
.4byte 0x8108a10
|
||||
.4byte 0x8108a6e
|
||||
.4byte 0x8108ab4
|
||||
.4byte 0x8108b16
|
||||
.4byte 0x8108b5c
|
||||
.4byte 0x8108bc0
|
||||
.4byte 0x8108c12
|
||||
.4byte 0x8108c92
|
||||
.4byte 0x8108d18
|
||||
.4byte 0x8108e36
|
||||
|
||||
.global gUnknown_8108EC0
|
||||
gUnknown_8108EC0: @ 8108EC0
|
||||
.incbin "baserom.gba", 0x108EC0, 0x50
|
||||
|
||||
.global gUnknown_8108F10
|
||||
gUnknown_8108F10: @ 8108F10
|
||||
.string "{COLOR_2 YELLOW_4}%s{END_COLOR_TEXT_2}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8108F18
|
||||
gUnknown_8108F18: @ 8108F18
|
||||
.string "{COLOR_2 YELLOW_4}%s{END_COLOR_TEXT_2}"
|
||||
.byte 0x81, 0x40
|
||||
.string "{COLOR_2 CYAN}%d{END_COLOR_TEXT_2}F\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8108F2C
|
||||
gUnknown_8108F2C: @ 8108F2C
|
||||
.string "{COLOR_2 YELLOW_4}%s{END_COLOR_TEXT_2}"
|
||||
.byte 0x81, 0x40
|
||||
.string "B{COLOR_2 CYAN}%d{END_COLOR_TEXT_2}F\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8108F40
|
||||
gUnknown_8108F40: @ 8108F40
|
||||
.byte 0x00, 0x00
|
||||
|
||||
.global gUnknown_8108F42
|
||||
gUnknown_8108F42: @ 8108F42
|
||||
.byte 0x99, 0x00, 0x9c, 0x00, 0x9e, 0x00, 0xdb, 0x00
|
||||
|
||||
.global gUnknown_8108F4A
|
||||
gUnknown_8108F4A: @ 8108F4A
|
||||
.byte 0xe1, 0xe7, 0xe6, 0xe2, 0x00, 0x00
|
||||
|
||||
.global gUnknown_8108F50
|
||||
gUnknown_8108F50: @ 8108F50
|
||||
.string "No problem.\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8108F64
|
||||
gUnknown_8108F64: @ 8108F64
|
||||
.incbin "baserom.gba", 0x108F64, 0x800
|
||||
|
||||
.global gItemParaFileName
|
||||
gItemParaFileName: @ 8109764
|
||||
.string "itempara\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8109770
|
||||
gUnknown_8109770: @ 8109770
|
||||
.string "%s %d\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8109778
|
||||
gUnknown_8109778: @ 8109778
|
||||
.string "%s\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_810977C
|
||||
gUnknown_810977C: @ 810977C
|
||||
@ replacing .incbin "baserom.gba", 0x0010977c, 0x8
|
||||
.string "%d {POKE}\0"
|
||||
|
||||
.global gUnknown_8109784
|
||||
gUnknown_8109784: @ 8109784
|
||||
@ replacing .incbin "baserom.gba", 0x00109784, 0x8
|
||||
.byte 0x87, 0x44
|
||||
.asciz "%s\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_810978C
|
||||
gUnknown_810978C: @ 810978C
|
||||
@ replacing .incbin "baserom.gba", 0x0010978c, 0x8
|
||||
.byte 0x87, 0x41
|
||||
.asciz "%s\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8109794
|
||||
gUnknown_8109794: @ 8109794
|
||||
@ replacing .incbin "baserom.gba", 0x00109794, 0x10
|
||||
.byte 0x25, 0x73, 0x23, 0x3d, 0x25, 0x63, 0x23, 0x43, 0x04, 0x25, 0x73, 0x23, 0x52, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_81097A4
|
||||
gUnknown_81097A4: @ 81097A4
|
||||
@ replacing .incbin "baserom.gba", 0x001097a4, 0xc
|
||||
.byte 0x25, 0x73, 0x23, 0x43, 0x04, 0x25, 0x73, 0x23, 0x52, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_81097B0
|
||||
gUnknown_81097B0: @ 81097B0
|
||||
@ replacing .incbin "baserom.gba", 0x001097b0, 0x14
|
||||
.byte 0xa0, 0x86, 0x01, 0x00, 0x10, 0x27, 0x00, 0x00, 0xe8, 0x03, 0x00, 0x00, 0x64, 0x00, 0x00, 0x00, 0x0a, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_81097C4
|
||||
gUnknown_81097C4: @ 81097C4
|
||||
.byte 0x83
|
||||
|
||||
.global gUnknown_81097C5
|
||||
gUnknown_81097C5: @ 81097C5
|
||||
@ replacing .incbin "baserom.gba", 0x001097c5, 0x1b
|
||||
.byte 0x9f, 0x83, 0xa0, 0x83, 0xa1, 0x83, 0xa2, 0x83, 0xa3, 0x83, 0xa4, 0x83, 0xa5, 0x83, 0xa6, 0x83, 0xa7, 0x83, 0xa8, 0x00, 0x00, 0x00, 0x00, 0xc4, 0x97, 0x10, 0x08
|
||||
|
||||
.global gGummiStatBoostLUT
|
||||
gGummiStatBoostLUT: @ 81097E0
|
||||
@ replacing .incbin "baserom.gba", 0x001097e0, 0x8
|
||||
.2byte 0x0001
|
||||
.2byte 0x0002
|
||||
.2byte 0x0004
|
||||
.2byte 0x0008
|
||||
|
||||
.global gUnknown_81097E8
|
||||
gUnknown_81097E8: @ 81097E8
|
||||
@ replacing .incbin "baserom.gba", 0x001097e8, 0x10
|
||||
.byte 0x10, 0x00, 0x00, 0x00
|
||||
.byte 0x12, 0x00, 0x00, 0x00
|
||||
.byte 0x14, 0x00, 0x00, 0x00
|
||||
.byte 0x16, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_81097F8
|
||||
gUnknown_81097F8: @ 81097F8
|
||||
@ replacing .incbin "baserom.gba", 0x001097f8, 0x18
|
||||
.byte 0x11, 0x00, 0x00, 0x00
|
||||
.byte 0x13, 0x00, 0x00, 0x00
|
||||
.byte 0x15, 0x00, 0x00, 0x00
|
||||
.byte 0x17, 0x00, 0x00, 0x00
|
||||
.string "pksdir0\0"
|
||||
|
||||
|
||||
.global gRescueRankMaxPoints
|
||||
gRescueRankMaxPoints: @ 8109810
|
||||
.4byte 50
|
||||
.4byte 500
|
||||
.4byte 1500
|
||||
.4byte 3000
|
||||
.4byte 7500
|
||||
.4byte 15000
|
||||
.4byte 100000000
|
||||
|
||||
.global gTeamNamePlaceholder
|
||||
gTeamNamePlaceholder: @ 810982C
|
||||
.string "Pokémon\0"
|
||||
.string "pksdir0\0"
|
||||
|
||||
.global gUnknown_810983C
|
||||
gUnknown_810983C: @ 810983C
|
||||
.incbin "baserom.gba", 0x10983C, 0x68
|
||||
|
||||
.global gUnknown_81098A4
|
||||
gUnknown_81098A4: @ 81098A4
|
||||
.string "{COLOR_2}"
|
||||
.byte 0x4
|
||||
.string "%s{END_COLOR_TEXT_2}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_81098AC
|
||||
gUnknown_81098AC: @ 81098AC
|
||||
.string "%s#=%c{COLOR_1}"
|
||||
.byte 0x4
|
||||
.string "%s{END_COLOR_TEXT_1}\0"
|
||||
.align 2,0
|
||||
.string "pksdir0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_81098C4
|
||||
gUnknown_81098C4: @ 81098C4
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
.byte 0x00, 0x00, 0x00, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_81098D0
|
||||
gUnknown_81098D0: @ 81098D0
|
||||
.string "wazapara\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_81098DC
|
||||
gUnknown_81098DC: @ 81098DC
|
||||
.string "%+d\0"
|
||||
|
||||
.global gUnknown_81098E0
|
||||
gUnknown_81098E0: @ 81098E0
|
||||
.string "{COLOR_2}%c%s%s{END_COLOR_TEXT_2}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_81098EC
|
||||
gUnknown_81098EC: @ 81098EC
|
||||
.string "{COLOR_2}%c#:%s%s%s#;%c%2d/%2d{END_COLOR_TEXT_2}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8109908
|
||||
gUnknown_8109908: @ 8109908
|
||||
.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
|
||||
|
||||
.global gUnknown_8109910
|
||||
gUnknown_8109910: @ 8109910
|
||||
.string "{COLOR_2}%c%s%s%s#=%c%2d/%2d{END_COLOR_TEXT_2}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8109928
|
||||
gUnknown_8109928: @ 8109928
|
||||
.byte 0x87, 0x42, 0x00 @ apparently shows B in memory viewer
|
||||
|
||||
.global gUnknown_810992B
|
||||
gUnknown_810992B: @ 810992B
|
||||
.byte 0x00
|
||||
|
||||
.global gUnknown_810992C
|
||||
gUnknown_810992C: @ 810992C
|
||||
.string "%s\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8109930
|
||||
gUnknown_8109930: @ 8109930
|
||||
.string "{ARG_POKEMON_0}\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8109954
|
||||
gUnknown_8109954: @ 8109954
|
||||
.byte 0x20, 0x48, 0x68, 0x00
|
||||
.byte 0x80, 0x38, 0x20, 0x00
|
||||
.byte 0x28, 0x80, 0x48, 0x00
|
||||
.byte 0x28, 0x80, 0x48, 0x00
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8109984
|
||||
gUnknown_8109984: @ 8109984
|
||||
.byte 0x00, 0x01, 0x02, 0x03, 0x04, 0x02, 0x01, 0x00
|
||||
.string "pksdir0\0"
|
||||
.align 2,0
|
||||
|
||||
.global gStoryMissionText
|
||||
gStoryMissionText: @ 8109994
|
||||
.incbin "baserom.gba", 0x109994, 0x314
|
||||
|
||||
.global gDummyScenarioText
|
||||
gDummyScenarioText: @ 8109CA8
|
||||
.string "{COLOR_1 YELLOW_3}Scenario try dummy{END_COLOR_TEXT_1}\0"
|
||||
.align 2,0
|
||||
|
||||
.global gUnknown_8109CC0
|
||||
gUnknown_8109CC0: @ 8109CC0
|
||||
.string "{COLOR_1 RED_2}???{END_COLOR_TEXT_1}\0"
|
||||
.align 2,0
|
||||
.string "pksdir0\0"
|
||||
|
||||
.global gMeetNinetalesText
|
||||
gMeetNinetalesText: @ 8109CD4
|
||||
.string "Meet Ninetales.\0"
|
||||
.align 2,0
|
||||
|
||||
.global gAvoidCaptureText
|
||||
gAvoidCaptureText: @ 8109CE4
|
||||
.string "Avoid capture.\0"
|
||||
.align 2,0
|
||||
|
||||
.global gFinalScenarioText
|
||||
gFinalScenarioText: @ 8109CF4
|
||||
.incbin "baserom.gba", 0x109CF4, 0x3C
|
||||
|
||||
.global gDungeons
|
||||
gDungeons: @ 8109D30
|
||||
.incbin "baserom.gba", 0x109D30, 0x620
|
||||
|
||||
.global gUnknown_810A350
|
||||
gUnknown_810A350: @ 810A350
|
||||
@ replacing .incbin "baserom.gba", 0x0010a350, 0xb
|
||||
.byte 0x18, 0x19, 0x1e, 0x27, 0x31, 0x32, 0x33, 0x36, 0x37, 0x3d, 0x3f
|
||||
|
||||
.global gInvalidItemIDs
|
||||
gInvalidItemIDs: @ 810A35B (item related)
|
||||
@ replacing .incbin "baserom.gba", 0x0010a35b, 0x10
|
||||
.byte 0xed, 0xee, 0xef, 0xb1, 0xe9, 0x24, 0xd8, 0xd2, 0xb0, 0xdc, 0x32, 0x33, 0x34, 0xc2, 0xec, 0xf0
|
||||
|
||||
.global gTacticsTargetLeader
|
||||
gTacticsTargetLeader: @ 810A36B
|
||||
@ replacing .incbin "baserom.gba", 0x0010a36b, 0xd
|
||||
.byte 0x01
|
||||
.byte 0x00
|
||||
.byte 0x00
|
||||
.byte 0x00
|
||||
.byte 0x01
|
||||
.byte 0x01
|
||||
.byte 0x01
|
||||
.byte 0x01
|
||||
.byte 0x01
|
||||
.byte 0x00
|
||||
.byte 0x01
|
||||
.byte 0x00
|
||||
.byte 0x00
|
||||
|
||||
.global gReqTacticLvls
|
||||
gReqTacticLvls: @ 810A378
|
||||
@ replacing .incbin "baserom.gba", 0x0010a378, 0x18
|
||||
.2byte 1
|
||||
.2byte 25
|
||||
.2byte 1
|
||||
.2byte 1
|
||||
.2byte 999
|
||||
.2byte 999
|
||||
.2byte 35
|
||||
.2byte 40
|
||||
.2byte 20
|
||||
.2byte 15
|
||||
.2byte 10
|
||||
.2byte 999
|
||||
|
||||
.global gReqIQSkillPts
|
||||
gReqIQSkillPts: @ 810A390
|
||||
.byte 0x0f, 0x27, 0x00, 0x00
|
||||
.byte 0x69, 0x00, 0x00, 0x00
|
||||
.byte 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0xf4, 0x01, 0x00, 0x00
|
||||
.byte 0x64, 0x00, 0x00, 0x00
|
||||
.byte 0x02, 0x00, 0x00, 0x00
|
||||
.byte 0x28, 0x00, 0x00, 0x00
|
||||
.byte 0x19, 0x00, 0x00, 0x00
|
||||
.byte 0xc8, 0x00, 0x00, 0x00
|
||||
.byte 0x0a, 0x00, 0x00, 0x00
|
||||
.byte 0x7d, 0x00, 0x00, 0x00
|
||||
.byte 0x90, 0x01, 0x00, 0x00
|
||||
.byte 0xde, 0x03, 0x00, 0x00
|
||||
.byte 0x8c, 0x00, 0x00, 0x00
|
||||
.byte 0x20, 0x03, 0x00, 0x00
|
||||
.byte 0xfa, 0x00, 0x00, 0x00
|
||||
.byte 0xa0, 0x00, 0x00, 0x00
|
||||
.byte 0x46, 0x00, 0x00, 0x00
|
||||
.byte 0x58, 0x02, 0x00, 0x00
|
||||
.byte 0x2c, 0x01, 0x00, 0x00
|
||||
.byte 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x01, 0x00, 0x00, 0x00
|
||||
.byte 0x01, 0x00, 0x00, 0x00
|
||||
|
||||
.global gUnknown_810A3F0
|
||||
gUnknown_810A3F0: @ 810A3F0 (money related according to PMDe
|
||||
@ LUT for money item stack size -> money amount
|
||||
|
||||
.4byte 4, 6, 10, 14, 22, 26, 34, 38, 46, 58
|
||||
.4byte 62, 74, 82, 86, 94, 106, 118, 122, 134, 142
|
||||
.4byte 146, 158, 166, 178, 194, 202, 206, 214, 218, 226
|
||||
.4byte 254, 262, 274, 278, 298, 302, 314, 326, 334, 346
|
||||
.4byte 358, 362, 382, 386, 394, 398, 422, 446, 454, 458
|
||||
.4byte 466, 478, 482, 502, 514, 526, 538, 542, 554, 562
|
||||
.4byte 566, 586, 614, 622, 626, 634, 662, 674, 694, 698
|
||||
.4byte 706, 718, 734, 746, 758, 768, 778, 794, 802, 818
|
||||
.4byte 838, 842, 862, 866, 878, 886, 898, 914, 922, 926
|
||||
.4byte 934, 958, 974, 982, 998, 1000, 1100, 1300, 1500, 20000
|
||||
|
||||
.global gTypeGummiIQBoost
|
||||
gTypeGummiIQBoost: @ 810A580
|
||||
// s16[0x12][NUMBER_OF_GUMMIS = 18]
|
||||
// relates [type][gummi tyep] -> iq boost amount
|
||||
.incbin "baserom.gba", 0x10A580, 0x288
|
||||
|
||||
.global gUnknown_810A808
|
||||
gUnknown_810A808: @ 810A808
|
||||
.incbin "baserom.gba", 0x10A808, 0x288
|
||||
|
|
@ -126,7 +126,7 @@ gAdventureLogText: @ 810B04C
|
|||
.4byte BrokeCurse_810B3C4
|
||||
.4byte TeamBaseDone_810B3A0
|
||||
.4byte Smeargle_810B38C
|
||||
.4byte SpottedMunclax_810B378
|
||||
.4byte SpottedMunchlax_810B378
|
||||
.4byte NumMoves_810B360
|
||||
.4byte NumFriendRescues_810B33C
|
||||
.4byte NumPokemonEvolved_810B324
|
||||
|
|
@ -278,8 +278,8 @@ NumMoves_810B360:
|
|||
.string "$d0 moves were learned.\0"
|
||||
.align 2,0
|
||||
|
||||
.global SpottedMunclax_810B378
|
||||
SpottedMunclax_810B378:
|
||||
.global SpottedMunchlax_810B378
|
||||
SpottedMunchlax_810B378:
|
||||
.string "Spotted Munchlax.\0"
|
||||
.align 2,0
|
||||
|
||||
|
|
|
|||
|
|
@ -162,18 +162,18 @@
|
|||
#define ITEM_ID_CALM_MIND 0x80
|
||||
#define ITEM_ID_ROAR 0x81
|
||||
#define ITEM_ID_TOXIC 0x82
|
||||
#define ITEM_ID_HAIL_ORB 0x83
|
||||
#define ITEM_ID_HAIL 0x83
|
||||
#define ITEM_ID_BULK_UP 0x84
|
||||
#define ITEM_ID_BULLET_SEED 0x85
|
||||
#define ITEM_ID_HIDDEN_POWER 0x86
|
||||
#define ITEM_ID_SUNNY_ORB 0x87
|
||||
#define ITEM_ID_SUNNY_DAY 0x87
|
||||
#define ITEM_ID_TAUNT 0x88
|
||||
#define ITEM_ID_ICE_BEAM 0x89
|
||||
#define ITEM_ID_BLIZZARD 0x8A
|
||||
#define ITEM_ID_HYPER_BEAM 0x8B
|
||||
#define ITEM_ID_LIGHT_SCREEN 0x8C
|
||||
#define ITEM_ID_PROTECT 0x8D
|
||||
#define ITEM_ID_RAINY_ORB 0x8E
|
||||
#define ITEM_ID_RAIN_DANCE 0x8E
|
||||
#define ITEM_ID_GIGA_DRAIN 0x8F
|
||||
#define ITEM_ID_SAFEGUARD 0x90
|
||||
#define ITEM_ID_FRUSTRATION 0x91
|
||||
|
|
@ -187,14 +187,14 @@
|
|||
#define ITEM_ID_PSYCHIC 0x99
|
||||
#define ITEM_ID_SHADOW_BALL 0x9A
|
||||
#define ITEM_ID_BRICK_BREAK 0x9B
|
||||
#define ITEM_ID_EVASION_ORB 0x9C
|
||||
#define ITEM_ID_DOUBLE_TEAM 0x9C
|
||||
#define ITEM_ID_REFLECT 0x9D
|
||||
#define ITEM_ID_SHOCK_WAVE 0x9E
|
||||
#define ITEM_ID_FLAMETHROWER 0x9F
|
||||
#define ITEM_ID_SLUDGE_BOMB 0xA0
|
||||
#define ITEM_ID_SANDY_ORB 0xA1
|
||||
#define ITEM_ID_SANDSTORM 0xA1
|
||||
#define ITEM_ID_FIRE_BLAST 0xA2
|
||||
#define ITEM_ID_ROCKY_ORB 0xA3
|
||||
#define ITEM_ID_ROCK_TOMB 0xA3
|
||||
#define ITEM_ID_AERIAL_ACE 0xA4
|
||||
#define ITEM_ID_TORMENT 0xA5
|
||||
#define ITEM_ID_FACADE 0xA6
|
||||
|
|
@ -204,7 +204,7 @@
|
|||
#define ITEM_ID_THIEF 0xAA
|
||||
#define ITEM_ID_STEEL_WING 0xAB
|
||||
#define ITEM_ID_SKILL_SWAP 0xAC
|
||||
#define ITEM_ID_SNATCH_ORB 0xAD
|
||||
#define ITEM_ID_SNATCH 0xAD
|
||||
#define ITEM_ID_OVERHEAT 0xAE
|
||||
#define ITEM_ID_WIDE_SLASH 0xAF
|
||||
#define ITEM_ID_EXCAVATE 0xB0
|
||||
|
|
|
|||
11
include/dungeon_ai_item_weight.h
Normal file
11
include/dungeon_ai_item_weight.h
Normal file
|
|
@ -0,0 +1,11 @@
|
|||
#ifndef GUARD_DUNGEON_AI_ITEM_WEIGHT_H
|
||||
#define GUARD_DUNGEON_AI_ITEM_WEIGHT_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
|
||||
// 0x48F28
|
||||
u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemTargetFlags);
|
||||
// 0x494EC
|
||||
bool8 CanTargetAdjacentPokemon(struct DungeonEntity *pokemon);
|
||||
|
||||
#endif
|
||||
|
|
@ -164,8 +164,7 @@ struct DungeonEntityData
|
|||
u8 fillFE[0x100 - 0xFE];
|
||||
/* 0x100 */ u8 targetingDecoy; // If the Pokémon is targeting a decoy, this indicates whether the decoy target is a team or wild Pokémon.
|
||||
u8 fill101[0x104 - 0x101];
|
||||
/* 0x104 */ u8 movementSpeed;
|
||||
u8 fill105[0x108 - 0x105];
|
||||
/* 0x104 */ s32 movementSpeed;
|
||||
// The turn counter for movement speed up/down is split into five timers each. Multiple timers are used if the Pokémon is affected by multiple
|
||||
// speed-up/slow effects at once, like using Agility twice.
|
||||
/* 0x108 */ u8 speedUpTurnsLeft[5];
|
||||
|
|
@ -195,7 +194,9 @@ struct DungeonEntityData
|
|||
u8 unk15D;
|
||||
u8 unk15E;
|
||||
u8 unk15F;
|
||||
u8 fill160[0x16C - 0x160];
|
||||
u8 fill160[0x169 - 0x160];
|
||||
u8 turnsSinceWarpScarfActivation;
|
||||
u8 fill16A[0x16C - 0x16A];
|
||||
/* 0x16C */ struct Position targetPosition;
|
||||
/* 0x170 */ struct Position posPixel;
|
||||
u32 unk174;
|
||||
|
|
|
|||
9
include/dungeon_items.h
Normal file
9
include/dungeon_items.h
Normal file
|
|
@ -0,0 +1,9 @@
|
|||
#ifndef GUARD_DUNGEON_ITEMS_H
|
||||
#define GUARD_DUNGEON_ITEMS_H
|
||||
|
||||
#include "dungeon_entity.h"
|
||||
|
||||
// 0x46CB0
|
||||
bool8 HasItem(struct DungeonEntity *pokemon, u8 itemIndex);
|
||||
|
||||
#endif
|
||||
|
|
@ -1,7 +1,11 @@
|
|||
#ifndef GUARD_DUNGEON_UTIL_H
|
||||
#define GUARD_DUNGEON_UTIL_H
|
||||
|
||||
#include "constants/direction.h"
|
||||
#include "dungeon_entity.h"
|
||||
#include "position.h"
|
||||
|
||||
extern const struct Position gAdjacentTileOffsets[NUM_DIRECTIONS];
|
||||
|
||||
// 0x450E0
|
||||
bool8 EntityExists(struct DungeonEntity *pokemon);
|
||||
|
|
|
|||
8
include/moves.h
Normal file
8
include/moves.h
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
#ifndef GUARD_MOVES_H
|
||||
#define GUARD_MOVES_H
|
||||
|
||||
#include "constants/move.h"
|
||||
|
||||
u32 GetMoveMaxPP(struct PokemonMove *move);
|
||||
|
||||
#endif
|
||||
7
include/number_util.h
Normal file
7
include/number_util.h
Normal file
|
|
@ -0,0 +1,7 @@
|
|||
#ifndef GUARD_NUMBER_UTIL_H
|
||||
#define GUARD_NUMBER_UTIL_H
|
||||
|
||||
// 0x94450
|
||||
s32 RoundUpFixedPoint(s32 fixedPointNumber);
|
||||
|
||||
#endif
|
||||
|
|
@ -192,8 +192,11 @@ SECTIONS {
|
|||
asm/code_80450F8.o(.text);
|
||||
src/dungeon_visibility.o(.text);
|
||||
asm/code_8045A00.o(.text);
|
||||
src/dungeon_items.o(.text);
|
||||
asm/code_8046CE4.o(.text);
|
||||
src/code_8048480.o(.text);
|
||||
asm/code_8048480.o(.text);
|
||||
src/dungeon_ai_item_weight.o(.text);
|
||||
src/dungeon_map_access.o(.text);
|
||||
asm/code_8049590.o(.text);
|
||||
src/code_80521D0.o(.text);
|
||||
|
|
@ -260,6 +263,8 @@ SECTIONS {
|
|||
asm/moves_1.o(.text);
|
||||
src/moves_1.o(.text);
|
||||
asm/code_8094148.o(.text);
|
||||
src/number_util.o(.text);
|
||||
asm/code_809447C.o(.text);
|
||||
src/code_8092334.o(.text);
|
||||
src/game_options.o(.text);
|
||||
asm/code_8094D28.o(.text);
|
||||
|
|
@ -386,6 +391,14 @@ SECTIONS {
|
|||
data/personality_test.o(.rodata);
|
||||
src/personality_test.o(.rodata);
|
||||
data/data_80F4278.o(.rodata);
|
||||
src/dungeon_util.o(.rodata);
|
||||
data/data_80F4468.o(.rodata);
|
||||
src/dungeon_pokemon_attributes_1.o(.rodata);
|
||||
data/data_80F59C8.o(.rodata);
|
||||
src/charge_move.o(.rodata);
|
||||
data/data_8106A4C.o(.rodata);
|
||||
src/dungeon_ai_1.o(.rodata);
|
||||
data/data_8107010.o(.rodata);
|
||||
src/friend_area.o(.rodata);
|
||||
data/data_810AC60.o(.rodata);
|
||||
src/exclusive_pokemon.o(.rodata);
|
||||
|
|
|
|||
|
|
@ -4,7 +4,20 @@
|
|||
#include "constants/status.h"
|
||||
#include "dungeon_util.h"
|
||||
|
||||
extern u32 gMultiTurnChargingStatuses[];
|
||||
const u32 gMultiTurnChargingStatuses[10] = {
|
||||
CHARGING_STATUS_SOLARBEAM,
|
||||
CHARGING_STATUS_SKY_ATTACK,
|
||||
CHARGING_STATUS_RAZOR_WIND,
|
||||
CHARGING_STATUS_FOCUS_PUNCH,
|
||||
CHARGING_STATUS_SKULL_BASH,
|
||||
CHARGING_STATUS_FLY,
|
||||
CHARGING_STATUS_BOUNCE,
|
||||
CHARGING_STATUS_DIVE,
|
||||
CHARGING_STATUS_DIG,
|
||||
CHARGING_STATUS_NONE
|
||||
};
|
||||
|
||||
ALIGNED(4) const char chargingStatusFill[] = "pksdir0";
|
||||
|
||||
bool8 IsCharging(struct DungeonEntity *pokemon, bool8 checkCharge)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -5,7 +5,38 @@
|
|||
#include "constants/targeting.h"
|
||||
#include "dungeon_pokemon_attributes_1.h"
|
||||
|
||||
extern bool8 gTargetingData[3][2][2][2];
|
||||
const u8 gTargetingData[3][2][2][2] = {
|
||||
{
|
||||
{
|
||||
{TARGET_CAPABILITY_CANNOT_ATTACK, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET},
|
||||
{TARGET_CAPABILITY_CAN_TARGET, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET}
|
||||
},
|
||||
{
|
||||
{TARGET_CAPABILITY_CAN_TARGET, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET},
|
||||
{TARGET_CAPABILITY_CANNOT_ATTACK, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET}
|
||||
}
|
||||
},
|
||||
{
|
||||
{
|
||||
{TARGET_CAPABILITY_CANNOT_ATTACK, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET},
|
||||
{TARGET_CAPABILITY_CAN_TARGET, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET}
|
||||
},
|
||||
{
|
||||
{TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET, TARGET_CAPABILITY_CAN_TARGET},
|
||||
{TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET, TARGET_CAPABILITY_CAN_TARGET}
|
||||
}
|
||||
},
|
||||
{
|
||||
{
|
||||
{TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET, TARGET_CAPABILITY_CAN_TARGET},
|
||||
{TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET, TARGET_CAPABILITY_CAN_TARGET}
|
||||
},
|
||||
{
|
||||
{TARGET_CAPABILITY_CAN_TARGET, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET},
|
||||
{TARGET_CAPABILITY_CANNOT_ATTACK, TARGET_CAPABILITY_CAN_ATTACK_NOT_TARGET}
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
u8 CanTarget(struct DungeonEntity *pokemon, struct DungeonEntity *targetPokemon, bool8 ignoreInvisible, bool8 checkPetrified)
|
||||
{
|
||||
|
|
|
|||
|
|
@ -5,8 +5,7 @@
|
|||
#include "dungeon_global_data.h"
|
||||
#include "dungeon_map_access.h"
|
||||
#include "dungeon_pokemon_attributes_1.h"
|
||||
|
||||
extern struct Position gAdjacentTileOffsets[8];
|
||||
#include "dungeon_util.h"
|
||||
|
||||
bool8 IsTargetStraightAhead(struct DungeonEntity *pokemon, struct DungeonEntity *targetPokemon, s32 facingDir, s32 maxRange)
|
||||
{
|
||||
|
|
|
|||
461
src/dungeon_ai_item_weight.c
Normal file
461
src/dungeon_ai_item_weight.c
Normal file
|
|
@ -0,0 +1,461 @@
|
|||
#include "global.h"
|
||||
#include "dungeon_ai_item_weight.h"
|
||||
|
||||
#include "constants/status.h"
|
||||
#include "constants/targeting.h"
|
||||
#include "dungeon_ai_1.h"
|
||||
#include "dungeon_map_access.h"
|
||||
#include "dungeon_pokemon_attributes_1.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "moves.h"
|
||||
#include "number_util.h"
|
||||
|
||||
extern bool8 HasNegativeStatus(struct DungeonEntity*);
|
||||
|
||||
u32 EvaluateItem(struct DungeonEntity *targetPokemon, struct ItemSlot *item, u32 itemTargetFlags)
|
||||
{
|
||||
struct DungeonEntityData *pokemonData = targetPokemon->entityData;
|
||||
s32 itemWeight = 0;
|
||||
bool8 targetOther = itemTargetFlags & 1;
|
||||
u16 targetAlly = (itemTargetFlags >> 1) & 1;
|
||||
s32 i;
|
||||
struct PokemonMove *move;
|
||||
struct PokemonMove *move2;
|
||||
switch (item->itemIndex)
|
||||
{
|
||||
case ITEM_ID_STICK:
|
||||
case ITEM_ID_IRON_THORN:
|
||||
case ITEM_ID_SILVER_SPIKE:
|
||||
case ITEM_ID_GOLD_FANG:
|
||||
case ITEM_ID_CACNEA_SPIKE:
|
||||
case ITEM_ID_CORSOLA_TWIG:
|
||||
case ITEM_ID_GRAVELEROCK:
|
||||
case ITEM_ID_GEO_PEBBLE:
|
||||
if (targetOther)
|
||||
{
|
||||
itemWeight = 70;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_DIET_RIBBON:
|
||||
if (targetOther && RoundUpFixedPoint(pokemonData->belly) > 0)
|
||||
{
|
||||
return 50;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_WHIFF_SPECS:
|
||||
case ITEM_ID_NO_AIM_SCOPE:
|
||||
if (targetOther)
|
||||
{
|
||||
return 50;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_ORAN_BERRY:
|
||||
case ITEM_ID_SITRUS_BERRY:
|
||||
if (pokemonData->HP < pokemonData->maxHP && pokemonData->HP <= pokemonData->maxHP / 4)
|
||||
{
|
||||
if (!targetOther)
|
||||
{
|
||||
if (CanTargetAdjacentPokemon(targetPokemon))
|
||||
{
|
||||
itemWeight = 100;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 50;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 50;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_MAX_ELIXIR:
|
||||
itemWeight = 0;
|
||||
move = pokemonData->moves;
|
||||
move2 = move;
|
||||
for (i = 0; i < MAX_MON_MOVES; move++, move2++, i++)
|
||||
{
|
||||
if (move->moveFlags & MOVE_FLAG_EXISTS)
|
||||
{
|
||||
if (move->pp == 0)
|
||||
{
|
||||
itemWeight += 30;
|
||||
}
|
||||
if (move->pp != GetMoveMaxPP(move2))
|
||||
{
|
||||
itemWeight += 6;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (itemWeight > 98)
|
||||
{
|
||||
itemWeight = 99;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_HEAL_SEED:
|
||||
if (HasNegativeStatus(targetPokemon))
|
||||
{
|
||||
itemWeight = 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_PROTEIN:
|
||||
if (pokemonData->attack > 249)
|
||||
{
|
||||
itemWeight = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 100;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_CALCIUM:
|
||||
if (pokemonData->specialAttack > 249)
|
||||
{
|
||||
itemWeight = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 100;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_IRON:
|
||||
if (pokemonData->defense > 249)
|
||||
{
|
||||
itemWeight = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 100;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_ZINC:
|
||||
if (pokemonData->specialDefense > 249)
|
||||
{
|
||||
itemWeight = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 100;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_LIFE_SEED:
|
||||
if (!targetOther)
|
||||
{
|
||||
if (CanTargetAdjacentPokemon(targetPokemon))
|
||||
{
|
||||
itemWeight = 10;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 100;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_EYEDROP_SEED:
|
||||
if (!CanSeeInvisible(targetPokemon))
|
||||
{
|
||||
if (CanTargetAdjacentPokemon(targetPokemon))
|
||||
{
|
||||
itemWeight = 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 5;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_QUICK_SEED:
|
||||
if (targetPokemon->entityData->movementSpeed <= 3)
|
||||
{
|
||||
if (CanTargetAdjacentPokemon(targetPokemon))
|
||||
{
|
||||
itemWeight = 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 5;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_ALLURE_SEED:
|
||||
if (pokemonData->eyesightStatus != EYESIGHT_STATUS_CROSS_EYED)
|
||||
{
|
||||
if (CanTargetAdjacentPokemon(targetPokemon))
|
||||
{
|
||||
itemWeight = 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 5;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_CHERI_BERRY:
|
||||
if (pokemonData->nonVolatileStatus != NON_VOLATILE_STATUS_PARALYZED)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else if (CanTargetAdjacentPokemon(targetPokemon))
|
||||
{
|
||||
itemWeight = 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 30;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_TOTTER_SEED:
|
||||
if (pokemonData->volatileStatus != VOLATILE_STATUS_CONFUSED)
|
||||
{
|
||||
if (CanTargetAdjacentPokemon(targetPokemon))
|
||||
{
|
||||
itemWeight = 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 15;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_PECHA_BERRY:
|
||||
if (pokemonData->nonVolatileStatus != NON_VOLATILE_STATUS_POISONED &&
|
||||
pokemonData->nonVolatileStatus != NON_VOLATILE_STATUS_BADLY_POISONED)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else if (CanTargetAdjacentPokemon(targetPokemon))
|
||||
{
|
||||
itemWeight = 100;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 50;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_BLINKER_SEED:
|
||||
if (pokemonData->eyesightStatus != EYESIGHT_STATUS_BLINKER)
|
||||
{
|
||||
if (CanTargetAdjacentPokemon(targetPokemon))
|
||||
{
|
||||
itemWeight = 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 5;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_WARP_SEED:
|
||||
if (!targetAlly)
|
||||
{
|
||||
if (CanTargetAdjacentPokemon(targetPokemon))
|
||||
{
|
||||
itemWeight = 40;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 5;
|
||||
}
|
||||
}
|
||||
else if (pokemonData->HP < pokemonData->maxHP && pokemonData->HP < 20)
|
||||
{
|
||||
if (!targetOther)
|
||||
{
|
||||
if (CanTargetAdjacentPokemon(targetPokemon))
|
||||
{
|
||||
itemWeight = 100;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 50;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 50;
|
||||
}
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_PATSY_BAND:
|
||||
itemWeight = 40;
|
||||
break;
|
||||
case ITEM_ID_SLEEP_SEED:
|
||||
if (pokemonData->sleepStatus != SLEEP_STATUS_SLEEP &&
|
||||
pokemonData->sleepStatus != SLEEP_STATUS_NAPPING &&
|
||||
pokemonData->sleepStatus != SLEEP_STATUS_NIGHTMARE)
|
||||
{
|
||||
if (CanTargetAdjacentPokemon(targetPokemon))
|
||||
{
|
||||
itemWeight = 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 5;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_CHESTO_BERRY:
|
||||
if (pokemonData->sleepStatus != SLEEP_STATUS_SLEEPLESS)
|
||||
{
|
||||
itemWeight = 5;
|
||||
}
|
||||
else
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_JOY_SEED:
|
||||
if (pokemonData->level < 99)
|
||||
{
|
||||
itemWeight = 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_GINSENG:
|
||||
itemWeight = 80;
|
||||
break;
|
||||
case ITEM_ID_RAWST_BERRY:
|
||||
if (pokemonData->nonVolatileStatus == NON_VOLATILE_STATUS_BURNED)
|
||||
{
|
||||
return 50;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_HUNGER_SEED:
|
||||
if (RoundUpFixedPoint(pokemonData->belly) > 0)
|
||||
{
|
||||
return 50;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_DOOM_SEED:
|
||||
if (pokemonData->level > 1)
|
||||
{
|
||||
itemWeight = 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_STUN_SEED:
|
||||
if (pokemonData->immobilizeStatus == IMMOBILIZE_STATUS_PETRIFIED)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
else if (CanTargetAdjacentPokemon(targetPokemon))
|
||||
{
|
||||
itemWeight = 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 5;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_BLAST_SEED:
|
||||
if (CanTargetAdjacentPokemon(targetPokemon))
|
||||
{
|
||||
itemWeight = 80;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 30;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_APPLE:
|
||||
case ITEM_ID_BIG_APPLE:
|
||||
case ITEM_ID_HUGE_APPLE:
|
||||
if (RoundUpFixedPoint(pokemonData->belly) < 10)
|
||||
{
|
||||
return 100;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 0;
|
||||
}
|
||||
break;
|
||||
case ITEM_ID_GRIMY_FOOD:
|
||||
itemWeight = 30;
|
||||
break;
|
||||
case ITEM_ID_ROLLCALL_ORB:
|
||||
move = pokemonData->moves; // Fixes a regswap.
|
||||
if (targetOther)
|
||||
{
|
||||
itemWeight = 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
itemWeight = 20;
|
||||
}
|
||||
break;
|
||||
default:
|
||||
itemWeight = 0;
|
||||
}
|
||||
return itemWeight;
|
||||
}
|
||||
|
||||
bool8 CanTargetAdjacentPokemon(struct DungeonEntity *pokemon)
|
||||
{
|
||||
s32 facingDir;
|
||||
for (facingDir = 0; facingDir < NUM_DIRECTIONS; facingDir++)
|
||||
{
|
||||
struct MapTile *mapTile = GetMapTileAtPosition(pokemon->posWorld.x + gAdjacentTileOffsets[facingDir].x, pokemon->posWorld.y + gAdjacentTileOffsets[facingDir].y);
|
||||
struct DungeonEntity *adjacentPokemon = mapTile->pokemon;
|
||||
if (adjacentPokemon != NULL && GetEntityType(adjacentPokemon) != ENTITY_NONE &&
|
||||
CanTarget(pokemon, adjacentPokemon, FALSE, TRUE) == TARGET_CAPABILITY_CAN_TARGET)
|
||||
{
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -8,6 +8,7 @@
|
|||
#include "dungeon_action.h"
|
||||
#include "dungeon_ai_1.h"
|
||||
#include "dungeon_ai_attack.h"
|
||||
#include "dungeon_ai_item_weight.h"
|
||||
#include "dungeon_ai_items.h"
|
||||
#include "dungeon_capabilities.h"
|
||||
#include "dungeon_capabilities_1.h"
|
||||
|
|
@ -35,7 +36,6 @@ enum ItemTargetFlag
|
|||
};
|
||||
|
||||
extern s32 CalculateFacingDir(struct Position*, struct Position*);
|
||||
extern u32 EvaluateItem(struct DungeonEntity*, struct ItemSlot*, u32);
|
||||
extern void sub_8077274(struct DungeonEntity *, struct DungeonEntity *);
|
||||
|
||||
extern s32 gNumPotentialTargets;
|
||||
|
|
|
|||
21
src/dungeon_items.c
Normal file
21
src/dungeon_items.c
Normal file
|
|
@ -0,0 +1,21 @@
|
|||
#include "global.h"
|
||||
#include "dungeon_items.h"
|
||||
|
||||
bool8 HasItem(struct DungeonEntity *pokemon, u8 itemIndex)
|
||||
{
|
||||
// Weird assignment to fix a regswap.
|
||||
struct DungeonEntityData *pokemonData = pokemonData = pokemon->entityData;
|
||||
if (!(pokemonData->heldItem.itemFlags & ITEM_FLAG_EXISTS))
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
if (pokemonData->heldItem.itemFlags & ITEM_FLAG_STICKY)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
if (pokemonData->heldItem.itemIndex != itemIndex)
|
||||
{
|
||||
return FALSE;
|
||||
}
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -1,19 +1,18 @@
|
|||
#include "global.h"
|
||||
#include "dungeon_global_data.h"
|
||||
#include "dungeon_pokemon_attributes_1.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "pokemon.h"
|
||||
|
||||
#include "constants/dungeon.h"
|
||||
#include "constants/iq_skill.h"
|
||||
#include "constants/move_id.h"
|
||||
#include "constants/status.h"
|
||||
#include "constants/tactic.h"
|
||||
#include "dungeon_global_data.h"
|
||||
#include "dungeon_items.h"
|
||||
#include "dungeon_util.h"
|
||||
#include "pokemon.h"
|
||||
#include "pokemon_3.h"
|
||||
|
||||
extern s16 gItemMasterMinWildLevel;
|
||||
|
||||
extern u8 HasItem(struct DungeonEntity *, u32);
|
||||
const s16 gItemMasterMinWildLevel[] = {16};
|
||||
|
||||
extern bool8 IsIQSkillSet(u8 *, u32);
|
||||
extern void SetIQSkill(u8 *param_1, u32 skillIndex);
|
||||
|
|
@ -73,7 +72,7 @@ void LoadIQSkills(struct DungeonEntity *pokemon)
|
|||
SetIQSkill(iVar2, IQ_SKILL_ITEM_CATCHER);
|
||||
if (pokemonData->isBoss)
|
||||
SetIQSkill(iVar2, IQ_SKILL_SELF_CURER);
|
||||
if (pokemonData->level >= gItemMasterMinWildLevel)
|
||||
if (pokemonData->level >= *gItemMasterMinWildLevel)
|
||||
SetIQSkill(iVar2, IQ_SKILL_ITEM_MASTER);
|
||||
pokemonData->tactic = TACTIC_GO_AFTER_FOES;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,6 +3,17 @@
|
|||
|
||||
#include "dungeon_map_access.h"
|
||||
|
||||
const struct Position gAdjacentTileOffsets[NUM_DIRECTIONS] = {
|
||||
{0, 1},
|
||||
{1, 1},
|
||||
{1, 0},
|
||||
{1, -1},
|
||||
{0, -1},
|
||||
{-1, -1},
|
||||
{-1, 0},
|
||||
{-1, 1}
|
||||
};
|
||||
|
||||
extern struct MapTile* GetMapEntity(s16, s16);
|
||||
|
||||
bool8 EntityExists(struct DungeonEntity *entity)
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include "global.h"
|
||||
#include "file_system.h"
|
||||
#include "item.h"
|
||||
#include "moves.h"
|
||||
#include "team_inventory.h"
|
||||
#include "random.h"
|
||||
#include "pokemon.h"
|
||||
|
|
@ -42,7 +43,6 @@ extern void InitPokemonMove(void*, u16); // first arg is some struct
|
|||
extern void sub_80078A4(u32, u32, u32, u32, u32);
|
||||
extern u32 GetMoveType(void*);
|
||||
extern u8* GetUnformattedTypeString(s16);
|
||||
extern u32 GetMoveMaxPP(void*);
|
||||
extern void sub_80073E0(u32);
|
||||
extern void xxx_format_and_draw(u32, u32, u8 *, u32, u32);
|
||||
extern s32 sub_8091E94(s32 a1, s32 a2, s32 a3);
|
||||
|
|
@ -698,7 +698,7 @@ u32 sub_80913E0(struct ItemSlot* slot, u32 a2, struct subStruct_203B240 ** a3)
|
|||
|
||||
xxx_format_and_draw(8, 24, GetItemDescription(slot->itemIndex), a2, 0);
|
||||
if (GetItemType(slot->itemIndex) == ITEM_TYPE_TM) {
|
||||
u8* buffer8 = buffer88 + 0x50; // field in struct
|
||||
struct PokemonMove *buffer8 = (struct PokemonMove*) (buffer88 + 0x50); // field in struct
|
||||
u16 move = GetItemMove(slot->itemIndex);
|
||||
u8 moves_data;
|
||||
u8* typestring;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
#include "global.h"
|
||||
#include "moves.h"
|
||||
|
||||
#include "file_system.h"
|
||||
#include "constants/move.h"
|
||||
#include "constants/move_id.h"
|
||||
|
||||
struct MoveDataFile
|
||||
|
|
@ -36,7 +37,6 @@ extern u8 gUnknown_810992C[];
|
|||
|
||||
extern void sub_8093F10(struct PokemonMove *, struct PokemonMove *);
|
||||
extern void sub_80928C0(u8 *, struct PokemonMove *, struct unkStruct_80928C0 *);
|
||||
extern u32 GetMoveMaxPP(struct PokemonMove*);
|
||||
bool8 DoesMoveCharge(u16 move);
|
||||
extern void ExpandPlaceholdersBuffer(u8 *, u8 *, ...);
|
||||
|
||||
|
|
|
|||
22
src/number_util.c
Normal file
22
src/number_util.c
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
#include "global.h"
|
||||
#include "number_util.h"
|
||||
|
||||
s32 RoundUpFixedPoint(s32 fixedPointNumber)
|
||||
{
|
||||
if ((s16) fixedPointNumber == 0)
|
||||
{
|
||||
if (fixedPointNumber >> 16 == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
}
|
||||
else if (fixedPointNumber >> 16 != 0)
|
||||
{
|
||||
return (s16) fixedPointNumber + 1;
|
||||
}
|
||||
else
|
||||
{
|
||||
return (s16) fixedPointNumber;
|
||||
}
|
||||
}
|
||||
Loading…
Reference in New Issue
Block a user