Merge branch 'master' of https://github.com/pret/pokeemerald into decompile_pokedex
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -3134,7 +3134,7 @@ _081639FC:
|
||||
bl __umodsi3
|
||||
cmp r0, 0
|
||||
bne _08163A78
|
||||
bl sub_81DA57C
|
||||
bl UpdateGymLeaderRematch
|
||||
b _08163A78
|
||||
.pool
|
||||
_08163A2C:
|
||||
|
||||
823
asm/blit.s
823
asm/blit.s
@@ -1,823 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start BlitBitmapRect4BitWithoutColorKey
|
||||
@ void BlitBitmapRect4BitWithoutColorKey(struct Bitmap *src, struct Bitmap *dest, u16 srcX, u16 srcY, u16 destX, u16 destY, u16 width, u16 height)
|
||||
BlitBitmapRect4BitWithoutColorKey: @ 8002BDC
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, 0x14
|
||||
ldr r4, [sp, 0x2C]
|
||||
ldr r5, [sp, 0x30]
|
||||
ldr r6, [sp, 0x34]
|
||||
ldr r7, [sp, 0x38]
|
||||
lsls r2, 16
|
||||
lsrs r2, 16
|
||||
lsls r3, 16
|
||||
lsrs r3, 16
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
lsls r5, 16
|
||||
lsrs r5, 16
|
||||
lsls r6, 16
|
||||
lsrs r6, 16
|
||||
lsls r7, 16
|
||||
lsrs r7, 16
|
||||
str r4, [sp]
|
||||
str r5, [sp, 0x4]
|
||||
str r6, [sp, 0x8]
|
||||
str r7, [sp, 0xC]
|
||||
movs r4, 0xFF
|
||||
str r4, [sp, 0x10]
|
||||
bl BlitBitmapRect4Bit
|
||||
add sp, 0x14
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end BlitBitmapRect4BitWithoutColorKey
|
||||
|
||||
thumb_func_start BlitBitmapRect4Bit
|
||||
@ void BlitBitmapRect4Bit(struct Bitmap *src, struct Bitmap *dest, u16 srcX, u16 srcY, u16 destX, u16 destY, u16 width, u16 height, u8 colorKey)
|
||||
BlitBitmapRect4Bit: @ 8002C20
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x2C
|
||||
str r0, [sp]
|
||||
str r1, [sp, 0x4]
|
||||
ldr r0, [sp, 0x4C]
|
||||
ldr r1, [sp, 0x50]
|
||||
ldr r4, [sp, 0x54]
|
||||
ldr r5, [sp, 0x58]
|
||||
ldr r6, [sp, 0x5C]
|
||||
lsls r2, 16
|
||||
lsrs r2, 16
|
||||
str r2, [sp, 0x8]
|
||||
lsls r3, 16
|
||||
lsrs r7, r3, 16
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
str r0, [sp, 0xC]
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
mov r9, r1
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
lsls r5, 16
|
||||
lsrs r5, 16
|
||||
lsls r6, 24
|
||||
lsrs r6, 24
|
||||
str r6, [sp, 0x10]
|
||||
ldr r0, [sp, 0x4]
|
||||
ldrh r3, [r0, 0x4]
|
||||
ldr r1, [sp, 0xC]
|
||||
subs r0, r3, r1
|
||||
adds r2, r4
|
||||
mov r8, r2
|
||||
cmp r0, r4
|
||||
bge _08002C74
|
||||
ldr r2, [sp, 0x8]
|
||||
adds r0, r2
|
||||
mov r8, r0
|
||||
_08002C74:
|
||||
ldr r4, [sp, 0x4]
|
||||
ldrh r0, [r4, 0x6]
|
||||
mov r1, r9
|
||||
subs r0, r1
|
||||
adds r2, r5, r7
|
||||
str r2, [sp, 0x14]
|
||||
cmp r0, r5
|
||||
bge _08002C88
|
||||
adds r0, r7
|
||||
str r0, [sp, 0x14]
|
||||
_08002C88:
|
||||
ldr r4, [sp]
|
||||
ldrh r1, [r4, 0x4]
|
||||
movs r2, 0x7
|
||||
adds r0, r1, 0
|
||||
ands r0, r2
|
||||
adds r1, r0
|
||||
asrs r1, 3
|
||||
str r1, [sp, 0x18]
|
||||
adds r0, r3, 0
|
||||
ands r0, r2
|
||||
adds r0, r3, r0
|
||||
asrs r0, 3
|
||||
str r0, [sp, 0x1C]
|
||||
ldr r0, [sp, 0x10]
|
||||
cmp r0, 0xFF
|
||||
bne _08002D46
|
||||
adds r3, r7, 0
|
||||
mov r1, r9
|
||||
ldr r2, [sp, 0x14]
|
||||
cmp r3, r2
|
||||
blt _08002CB4
|
||||
b _08002DEE
|
||||
_08002CB4:
|
||||
ldr r5, [sp, 0x8]
|
||||
ldr r6, [sp, 0xC]
|
||||
adds r4, r3, 0x1
|
||||
str r4, [sp, 0x24]
|
||||
adds r0, r1, 0x1
|
||||
str r0, [sp, 0x28]
|
||||
cmp r5, r8
|
||||
bge _08002D3A
|
||||
movs r7, 0x3
|
||||
asrs r0, r3, 3
|
||||
ldr r2, [sp, 0x18]
|
||||
muls r0, r2
|
||||
lsls r0, 5
|
||||
mov r10, r0
|
||||
lsls r0, r3, 29
|
||||
lsrs r0, 27
|
||||
mov r9, r0
|
||||
asrs r0, r1, 3
|
||||
ldr r4, [sp, 0x1C]
|
||||
muls r0, r4
|
||||
lsls r0, 5
|
||||
mov r12, r0
|
||||
lsls r0, r1, 29
|
||||
lsrs r3, r0, 27
|
||||
_08002CE4:
|
||||
asrs r0, r5, 1
|
||||
ands r0, r7
|
||||
ldr r2, [sp]
|
||||
ldr r1, [r2]
|
||||
adds r1, r0
|
||||
asrs r0, r5, 3
|
||||
lsls r0, 5
|
||||
adds r1, r0
|
||||
add r1, r10
|
||||
mov r4, r9
|
||||
adds r2, r1, r4
|
||||
asrs r0, r6, 1
|
||||
ands r0, r7
|
||||
ldr r4, [sp, 0x4]
|
||||
ldr r1, [r4]
|
||||
adds r1, r0
|
||||
asrs r0, r6, 3
|
||||
lsls r0, 5
|
||||
adds r1, r0
|
||||
add r1, r12
|
||||
adds r4, r1, r3
|
||||
ldrb r2, [r2]
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x1
|
||||
ands r0, r1
|
||||
lsls r0, 2
|
||||
asrs r2, r0
|
||||
movs r0, 0xF
|
||||
ands r2, r0
|
||||
adds r0, r6, 0
|
||||
ands r0, r1
|
||||
lsls r1, r0, 2
|
||||
lsls r2, r1
|
||||
movs r0, 0xF0
|
||||
asrs r0, r1
|
||||
ldrb r1, [r4]
|
||||
ands r0, r1
|
||||
orrs r2, r0
|
||||
strb r2, [r4]
|
||||
adds r5, 0x1
|
||||
adds r6, 0x1
|
||||
cmp r5, r8
|
||||
blt _08002CE4
|
||||
_08002D3A:
|
||||
ldr r3, [sp, 0x24]
|
||||
ldr r1, [sp, 0x28]
|
||||
ldr r2, [sp, 0x14]
|
||||
cmp r3, r2
|
||||
blt _08002CB4
|
||||
b _08002DEE
|
||||
_08002D46:
|
||||
adds r3, r7, 0
|
||||
mov r1, r9
|
||||
ldr r4, [sp, 0x14]
|
||||
cmp r3, r4
|
||||
bge _08002DEE
|
||||
_08002D50:
|
||||
ldr r5, [sp, 0x8]
|
||||
ldr r6, [sp, 0xC]
|
||||
adds r0, r3, 0x1
|
||||
str r0, [sp, 0x24]
|
||||
adds r2, r1, 0x1
|
||||
str r2, [sp, 0x28]
|
||||
cmp r5, r8
|
||||
bge _08002DE4
|
||||
movs r4, 0x3
|
||||
mov r9, r4
|
||||
asrs r0, r3, 3
|
||||
ldr r2, [sp, 0x18]
|
||||
muls r0, r2
|
||||
lsls r0, 5
|
||||
str r0, [sp, 0x20]
|
||||
lsls r0, r3, 29
|
||||
lsrs r0, 27
|
||||
mov r10, r0
|
||||
movs r3, 0x1
|
||||
asrs r0, r1, 3
|
||||
ldr r4, [sp, 0x1C]
|
||||
muls r0, r4
|
||||
lsls r0, 5
|
||||
mov r12, r0
|
||||
lsls r0, r1, 29
|
||||
lsrs r7, r0, 27
|
||||
_08002D84:
|
||||
asrs r0, r5, 1
|
||||
mov r1, r9
|
||||
ands r0, r1
|
||||
ldr r2, [sp]
|
||||
ldr r1, [r2]
|
||||
adds r1, r0
|
||||
asrs r0, r5, 3
|
||||
lsls r0, 5
|
||||
adds r1, r0
|
||||
ldr r4, [sp, 0x20]
|
||||
adds r1, r4
|
||||
mov r0, r10
|
||||
adds r2, r1, r0
|
||||
asrs r0, r6, 1
|
||||
mov r1, r9
|
||||
ands r0, r1
|
||||
ldr r4, [sp, 0x4]
|
||||
ldr r1, [r4]
|
||||
adds r1, r0
|
||||
asrs r0, r6, 3
|
||||
lsls r0, 5
|
||||
adds r1, r0
|
||||
add r1, r12
|
||||
adds r4, r1, r7
|
||||
ldrb r2, [r2]
|
||||
adds r0, r5, 0
|
||||
ands r0, r3
|
||||
lsls r0, 2
|
||||
asrs r2, r0
|
||||
movs r0, 0xF
|
||||
ands r2, r0
|
||||
ldr r0, [sp, 0x10]
|
||||
cmp r2, r0
|
||||
beq _08002DDC
|
||||
adds r0, r6, 0
|
||||
ands r0, r3
|
||||
lsls r1, r0, 2
|
||||
lsls r2, r1
|
||||
movs r0, 0xF0
|
||||
asrs r0, r1
|
||||
ldrb r1, [r4]
|
||||
ands r0, r1
|
||||
orrs r2, r0
|
||||
strb r2, [r4]
|
||||
_08002DDC:
|
||||
adds r5, 0x1
|
||||
adds r6, 0x1
|
||||
cmp r5, r8
|
||||
blt _08002D84
|
||||
_08002DE4:
|
||||
ldr r3, [sp, 0x24]
|
||||
ldr r1, [sp, 0x28]
|
||||
ldr r2, [sp, 0x14]
|
||||
cmp r3, r2
|
||||
blt _08002D50
|
||||
_08002DEE:
|
||||
add sp, 0x2C
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end BlitBitmapRect4Bit
|
||||
|
||||
thumb_func_start FillBitmapRect4Bit
|
||||
@ void FillBitmapRect4Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue)
|
||||
FillBitmapRect4Bit: @ 8002E00
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x8
|
||||
mov r9, r0
|
||||
ldr r0, [sp, 0x28]
|
||||
ldr r4, [sp, 0x2C]
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
str r1, [sp]
|
||||
lsls r2, 16
|
||||
lsrs r2, 16
|
||||
adds r6, r2, 0
|
||||
lsls r3, 16
|
||||
lsrs r3, 16
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
lsls r4, 24
|
||||
lsrs r5, r4, 24
|
||||
adds r4, r1, r3
|
||||
mov r3, r9
|
||||
ldrh r1, [r3, 0x4]
|
||||
cmp r4, r1
|
||||
ble _08002E36
|
||||
adds r4, r1, 0
|
||||
_08002E36:
|
||||
adds r2, r0
|
||||
mov r12, r2
|
||||
mov r2, r9
|
||||
ldrh r0, [r2, 0x6]
|
||||
cmp r12, r0
|
||||
ble _08002E44
|
||||
mov r12, r0
|
||||
_08002E44:
|
||||
movs r0, 0x7
|
||||
ands r0, r1
|
||||
adds r0, r1, r0
|
||||
asrs r0, 3
|
||||
str r0, [sp, 0x4]
|
||||
lsls r0, r5, 28
|
||||
lsrs r0, 24
|
||||
mov r8, r0
|
||||
movs r3, 0xF
|
||||
mov r10, r3
|
||||
mov r0, r10
|
||||
ands r0, r5
|
||||
mov r10, r0
|
||||
adds r1, r6, 0
|
||||
cmp r1, r12
|
||||
bge _08002EB6
|
||||
_08002E64:
|
||||
ldr r3, [sp]
|
||||
adds r7, r1, 0x1
|
||||
cmp r3, r4
|
||||
bge _08002EB0
|
||||
asrs r0, r1, 3
|
||||
ldr r2, [sp, 0x4]
|
||||
muls r0, r2
|
||||
lsls r6, r0, 5
|
||||
lsls r0, r1, 29
|
||||
lsrs r5, r0, 27
|
||||
_08002E78:
|
||||
asrs r2, r3, 1
|
||||
movs r0, 0x3
|
||||
ands r2, r0
|
||||
mov r0, r9
|
||||
ldr r1, [r0]
|
||||
adds r1, r2
|
||||
asrs r0, r3, 3
|
||||
lsls r0, 5
|
||||
adds r1, r0
|
||||
adds r1, r6
|
||||
adds r2, r1, r5
|
||||
lsls r0, r3, 31
|
||||
cmp r0, 0
|
||||
beq _08002E9E
|
||||
ldrb r1, [r2]
|
||||
movs r0, 0xF
|
||||
ands r0, r1
|
||||
mov r1, r8
|
||||
b _08002EA6
|
||||
_08002E9E:
|
||||
ldrb r1, [r2]
|
||||
movs r0, 0xF0
|
||||
ands r0, r1
|
||||
mov r1, r10
|
||||
_08002EA6:
|
||||
orrs r0, r1
|
||||
strb r0, [r2]
|
||||
adds r3, 0x1
|
||||
cmp r3, r4
|
||||
blt _08002E78
|
||||
_08002EB0:
|
||||
adds r1, r7, 0
|
||||
cmp r1, r12
|
||||
blt _08002E64
|
||||
_08002EB6:
|
||||
add sp, 0x8
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end FillBitmapRect4Bit
|
||||
|
||||
thumb_func_start BlitBitmapRect4BitTo8Bit
|
||||
@ void BlitBitmapRect4BitTo8Bit(struct Bitmap *src, struct Bitmap *dest, u16 srcX, u16 srcY, u16 destX, u16 destY, u16 width, u16 height, u8 colorKey, u8 paletteOffset)
|
||||
BlitBitmapRect4BitTo8Bit: @ 8002EC8
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x3C
|
||||
str r0, [sp]
|
||||
str r1, [sp, 0x4]
|
||||
ldr r0, [sp, 0x5C]
|
||||
ldr r1, [sp, 0x60]
|
||||
ldr r5, [sp, 0x64]
|
||||
ldr r4, [sp, 0x68]
|
||||
ldr r6, [sp, 0x6C]
|
||||
ldr r7, [sp, 0x70]
|
||||
mov r8, r7
|
||||
lsls r2, 16
|
||||
lsrs r2, 16
|
||||
str r2, [sp, 0x8]
|
||||
lsls r3, 16
|
||||
lsrs r3, 16
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
str r0, [sp, 0xC]
|
||||
lsls r1, 16
|
||||
lsrs r7, r1, 16
|
||||
lsls r5, 16
|
||||
lsrs r5, 16
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
lsls r6, 24
|
||||
lsrs r6, 24
|
||||
str r6, [sp, 0x10]
|
||||
mov r0, r8
|
||||
lsls r0, 28
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x14]
|
||||
lsls r0, r6, 28
|
||||
lsrs r0, 24
|
||||
str r0, [sp, 0x28]
|
||||
ldr r1, [sp, 0x4]
|
||||
ldrh r0, [r1, 0x4]
|
||||
ldr r2, [sp, 0xC]
|
||||
subs r0, r2
|
||||
ldr r1, [sp, 0x8]
|
||||
adds r1, r5, r1
|
||||
str r1, [sp, 0x18]
|
||||
cmp r0, r5
|
||||
bge _08002F2E
|
||||
ldr r2, [sp, 0x8]
|
||||
adds r0, r2
|
||||
str r0, [sp, 0x18]
|
||||
_08002F2E:
|
||||
ldr r5, [sp, 0x4]
|
||||
ldrh r1, [r5, 0x6]
|
||||
subs r0, r1, r7
|
||||
cmp r0, r4
|
||||
bge _08002F40
|
||||
adds r0, r3, r1
|
||||
subs r0, r7
|
||||
str r0, [sp, 0x1C]
|
||||
b _08002F44
|
||||
_08002F40:
|
||||
adds r4, r3, r4
|
||||
str r4, [sp, 0x1C]
|
||||
_08002F44:
|
||||
ldr r0, [sp]
|
||||
ldrh r1, [r0, 0x4]
|
||||
movs r2, 0x7
|
||||
adds r0, r1, 0
|
||||
ands r0, r2
|
||||
adds r1, r0
|
||||
asrs r1, 3
|
||||
str r1, [sp, 0x20]
|
||||
ldr r5, [sp, 0x4]
|
||||
ldrh r1, [r5, 0x4]
|
||||
adds r0, r1, 0
|
||||
ands r0, r2
|
||||
adds r1, r0
|
||||
asrs r1, 3
|
||||
str r1, [sp, 0x24]
|
||||
ldr r0, [sp, 0x10]
|
||||
cmp r0, 0xFF
|
||||
bne _08003024
|
||||
adds r2, r3, 0
|
||||
adds r5, r7, 0
|
||||
ldr r1, [sp, 0x1C]
|
||||
cmp r2, r1
|
||||
blt _08002F74
|
||||
b _08003106
|
||||
_08002F74:
|
||||
ldr r3, [sp, 0x8]
|
||||
lsrs r3, 1
|
||||
str r3, [sp, 0x2C]
|
||||
movs r0, 0x3
|
||||
ands r3, r0
|
||||
str r3, [sp, 0x2C]
|
||||
ldr r7, [sp, 0x8]
|
||||
lsrs r0, r7, 3
|
||||
lsls r0, 5
|
||||
str r0, [sp, 0x30]
|
||||
_08002F88:
|
||||
ldr r0, [sp]
|
||||
ldr r1, [r0]
|
||||
ldr r3, [sp, 0x2C]
|
||||
adds r1, r3
|
||||
ldr r7, [sp, 0x30]
|
||||
adds r1, r7
|
||||
asrs r0, r2, 3
|
||||
ldr r3, [sp, 0x20]
|
||||
muls r0, r3
|
||||
lsls r0, 5
|
||||
mov r8, r0
|
||||
add r1, r8
|
||||
lsls r0, r2, 29
|
||||
lsrs r7, r0, 27
|
||||
adds r6, r1, r7
|
||||
ldr r3, [sp, 0x8]
|
||||
ldr r4, [sp, 0xC]
|
||||
adds r2, 0x1
|
||||
mov r10, r2
|
||||
adds r0, r5, 0x1
|
||||
str r0, [sp, 0x38]
|
||||
ldr r1, [sp, 0x18]
|
||||
cmp r3, r1
|
||||
bge _08003018
|
||||
asrs r0, r5, 3
|
||||
ldr r2, [sp, 0x24]
|
||||
muls r0, r2
|
||||
lsls r0, 6
|
||||
mov r12, r0
|
||||
lsls r0, r5, 29
|
||||
lsrs r0, 26
|
||||
mov r9, r0
|
||||
_08002FC8:
|
||||
movs r0, 0x7
|
||||
ands r0, r4
|
||||
ldr r5, [sp, 0x4]
|
||||
ldr r1, [r5]
|
||||
adds r1, r0
|
||||
asrs r0, r4, 3
|
||||
lsls r0, 6
|
||||
adds r1, r0
|
||||
add r1, r12
|
||||
mov r0, r9
|
||||
adds r5, r1, r0
|
||||
movs r0, 0x1
|
||||
ands r0, r3
|
||||
cmp r0, 0
|
||||
beq _08002FEC
|
||||
ldrb r0, [r6]
|
||||
lsrs r0, 4
|
||||
b _08003008
|
||||
_08002FEC:
|
||||
asrs r2, r3, 1
|
||||
movs r0, 0x3
|
||||
ands r2, r0
|
||||
ldr r0, [sp]
|
||||
ldr r1, [r0]
|
||||
adds r1, r2
|
||||
asrs r0, r3, 3
|
||||
lsls r0, 5
|
||||
adds r1, r0
|
||||
add r1, r8
|
||||
adds r6, r1, r7
|
||||
ldrb r1, [r6]
|
||||
movs r0, 0xF
|
||||
ands r0, r1
|
||||
_08003008:
|
||||
ldr r1, [sp, 0x14]
|
||||
adds r0, r1, r0
|
||||
strb r0, [r5]
|
||||
adds r3, 0x1
|
||||
adds r4, 0x1
|
||||
ldr r2, [sp, 0x18]
|
||||
cmp r3, r2
|
||||
blt _08002FC8
|
||||
_08003018:
|
||||
mov r2, r10
|
||||
ldr r5, [sp, 0x38]
|
||||
ldr r3, [sp, 0x1C]
|
||||
cmp r2, r3
|
||||
blt _08002F88
|
||||
b _08003106
|
||||
_08003024:
|
||||
adds r2, r3, 0
|
||||
adds r5, r7, 0
|
||||
ldr r7, [sp, 0x1C]
|
||||
cmp r2, r7
|
||||
bge _08003106
|
||||
ldr r0, [sp, 0x8]
|
||||
lsrs r0, 1
|
||||
str r0, [sp, 0x34]
|
||||
movs r0, 0x3
|
||||
ldr r1, [sp, 0x34]
|
||||
ands r1, r0
|
||||
str r1, [sp, 0x34]
|
||||
_0800303C:
|
||||
ldr r3, [sp]
|
||||
ldr r1, [r3]
|
||||
ldr r7, [sp, 0x34]
|
||||
adds r1, r7
|
||||
ldr r3, [sp, 0x8]
|
||||
lsrs r0, r3, 3
|
||||
lsls r0, 5
|
||||
adds r1, r0
|
||||
asrs r0, r2, 3
|
||||
ldr r7, [sp, 0x20]
|
||||
muls r0, r7
|
||||
lsls r0, 5
|
||||
mov r8, r0
|
||||
add r1, r8
|
||||
lsls r0, r2, 29
|
||||
lsrs r7, r0, 27
|
||||
adds r6, r1, r7
|
||||
ldr r4, [sp, 0xC]
|
||||
adds r2, 0x1
|
||||
mov r10, r2
|
||||
adds r0, r5, 0x1
|
||||
str r0, [sp, 0x38]
|
||||
ldr r1, [sp, 0x18]
|
||||
cmp r3, r1
|
||||
bge _080030FC
|
||||
asrs r0, r5, 3
|
||||
ldr r2, [sp, 0x24]
|
||||
muls r0, r2
|
||||
lsls r0, 6
|
||||
mov r9, r0
|
||||
lsls r0, r5, 29
|
||||
lsrs r0, 26
|
||||
mov r12, r0
|
||||
_0800307E:
|
||||
movs r0, 0x1
|
||||
ands r0, r3
|
||||
cmp r0, 0
|
||||
beq _080030B2
|
||||
ldrb r2, [r6]
|
||||
movs r0, 0xF0
|
||||
ands r0, r2
|
||||
ldr r5, [sp, 0x28]
|
||||
cmp r0, r5
|
||||
beq _080030F2
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x7
|
||||
ands r0, r1
|
||||
ldr r5, [sp, 0x4]
|
||||
ldr r1, [r5]
|
||||
adds r1, r0
|
||||
asrs r0, r4, 3
|
||||
lsls r0, 6
|
||||
adds r1, r0
|
||||
add r1, r9
|
||||
mov r0, r12
|
||||
adds r5, r1, r0
|
||||
lsrs r0, r2, 4
|
||||
ldr r1, [sp, 0x14]
|
||||
adds r0, r1, r0
|
||||
b _080030F0
|
||||
_080030B2:
|
||||
asrs r2, r3, 1
|
||||
movs r0, 0x3
|
||||
ands r2, r0
|
||||
ldr r5, [sp]
|
||||
ldr r1, [r5]
|
||||
adds r1, r2
|
||||
asrs r0, r3, 3
|
||||
lsls r0, 5
|
||||
adds r1, r0
|
||||
add r1, r8
|
||||
adds r6, r1, r7
|
||||
ldrb r0, [r6]
|
||||
movs r2, 0xF
|
||||
ands r2, r0
|
||||
ldr r0, [sp, 0x10]
|
||||
cmp r2, r0
|
||||
beq _080030F2
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x7
|
||||
ands r0, r1
|
||||
ldr r5, [sp, 0x4]
|
||||
ldr r1, [r5]
|
||||
adds r1, r0
|
||||
asrs r0, r4, 3
|
||||
lsls r0, 6
|
||||
adds r1, r0
|
||||
add r1, r9
|
||||
mov r0, r12
|
||||
adds r5, r1, r0
|
||||
ldr r1, [sp, 0x14]
|
||||
adds r0, r1, r2
|
||||
_080030F0:
|
||||
strb r0, [r5]
|
||||
_080030F2:
|
||||
adds r3, 0x1
|
||||
adds r4, 0x1
|
||||
ldr r2, [sp, 0x18]
|
||||
cmp r3, r2
|
||||
blt _0800307E
|
||||
_080030FC:
|
||||
mov r2, r10
|
||||
ldr r5, [sp, 0x38]
|
||||
ldr r3, [sp, 0x1C]
|
||||
cmp r2, r3
|
||||
blt _0800303C
|
||||
_08003106:
|
||||
add sp, 0x3C
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end BlitBitmapRect4BitTo8Bit
|
||||
|
||||
thumb_func_start FillBitmapRect8Bit
|
||||
@ void FillBitmapRect8Bit(struct Bitmap *surface, u16 x, u16 y, u16 width, u16 height, u8 fillValue)
|
||||
FillBitmapRect8Bit: @ 8003118
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x8
|
||||
mov r8, r0
|
||||
ldr r0, [sp, 0x28]
|
||||
ldr r4, [sp, 0x2C]
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
mov r10, r1
|
||||
lsls r2, 16
|
||||
lsrs r2, 16
|
||||
adds r6, r2, 0
|
||||
lsls r3, 16
|
||||
lsrs r3, 16
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
mov r9, r4
|
||||
adds r5, r1, r3
|
||||
mov r3, r8
|
||||
ldrh r1, [r3, 0x4]
|
||||
cmp r5, r1
|
||||
ble _08003150
|
||||
adds r5, r1, 0
|
||||
_08003150:
|
||||
adds r7, r2, r0
|
||||
mov r2, r8
|
||||
ldrh r0, [r2, 0x6]
|
||||
cmp r7, r0
|
||||
ble _0800315C
|
||||
adds r7, r0, 0
|
||||
_0800315C:
|
||||
movs r0, 0x7
|
||||
ands r0, r1
|
||||
adds r0, r1, r0
|
||||
asrs r0, 3
|
||||
str r0, [sp]
|
||||
adds r1, r6, 0
|
||||
cmp r1, r7
|
||||
bge _080031AC
|
||||
_0800316C:
|
||||
mov r3, r10
|
||||
adds r6, r1, 0x1
|
||||
str r6, [sp, 0x4]
|
||||
cmp r3, r5
|
||||
bge _080031A6
|
||||
movs r0, 0x7
|
||||
mov r12, r0
|
||||
asrs r0, r1, 3
|
||||
ldr r2, [sp]
|
||||
muls r0, r2
|
||||
lsls r4, r0, 6
|
||||
lsls r0, r1, 29
|
||||
lsrs r2, r0, 26
|
||||
_08003186:
|
||||
adds r0, r3, 0
|
||||
mov r6, r12
|
||||
ands r0, r6
|
||||
mov r6, r8
|
||||
ldr r1, [r6]
|
||||
adds r1, r0
|
||||
asrs r0, r3, 3
|
||||
lsls r0, 6
|
||||
adds r1, r0
|
||||
adds r1, r4
|
||||
adds r1, r2
|
||||
mov r0, r9
|
||||
strb r0, [r1]
|
||||
adds r3, 0x1
|
||||
cmp r3, r5
|
||||
blt _08003186
|
||||
_080031A6:
|
||||
ldr r1, [sp, 0x4]
|
||||
cmp r1, r7
|
||||
blt _0800316C
|
||||
_080031AC:
|
||||
add sp, 0x8
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end FillBitmapRect8Bit
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
@@ -1729,7 +1729,7 @@ _080B3248:
|
||||
thumb_func_start sub_80B3254
|
||||
sub_80B3254: @ 80B3254
|
||||
push {lr}
|
||||
bl sub_809FF80
|
||||
bl SaveGame
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80B3254
|
||||
|
||||
3903
asm/credits.s
3903
asm/credits.s
File diff suppressed because it is too large
Load Diff
@@ -326,7 +326,7 @@ _0809C13A:
|
||||
beq _0809C15C
|
||||
movs r0, 0x6
|
||||
bl PlaySE
|
||||
bl sub_809FA9C
|
||||
bl ShowStartMenu
|
||||
_0809C14E:
|
||||
movs r0, 0x1
|
||||
b _0809C172
|
||||
|
||||
@@ -3388,7 +3388,7 @@ _0813980C:
|
||||
_0813981C:
|
||||
ldrh r5, [r2]
|
||||
adds r0, r5, 0
|
||||
bl sub_80EF370
|
||||
bl CountDigits
|
||||
adds r3, r0, 0
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
@@ -3408,7 +3408,7 @@ _0813983C:
|
||||
adds r4, 0x4
|
||||
ldrh r5, [r2]
|
||||
adds r0, r5, 0
|
||||
bl sub_80EF370
|
||||
bl CountDigits
|
||||
adds r3, r0, 0
|
||||
lsls r3, 24
|
||||
lsrs r3, 24
|
||||
@@ -4894,7 +4894,7 @@ sub_813A46C: @ 813A46C
|
||||
lsrs r0, 24
|
||||
mov r1, sp
|
||||
movs r2, 0
|
||||
bl sub_81AE860
|
||||
bl ListMenuGetScrollAndRow
|
||||
ldr r1, =gUnknown_0203AB68
|
||||
mov r0, sp
|
||||
ldrh r0, [r0]
|
||||
@@ -4903,7 +4903,7 @@ sub_813A46C: @ 813A46C
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r1, sp
|
||||
bl sub_81AE838
|
||||
bl ListMenuGetCurrentItemArrayId
|
||||
ldrh r0, [r4, 0x1E]
|
||||
ldr r5, =gUnknown_0203AB6A
|
||||
ldrh r1, [r5]
|
||||
@@ -5007,7 +5007,7 @@ sub_813A570: @ 813A570
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r1, sp
|
||||
bl sub_81AE838
|
||||
bl ListMenuGetCurrentItemArrayId
|
||||
ldrh r0, [r4, 0x1E]
|
||||
mov r1, sp
|
||||
ldrh r1, [r1]
|
||||
@@ -5019,7 +5019,7 @@ sub_813A570: @ 813A570
|
||||
lsrs r0, 24
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
ldr r0, =gUnknown_0203AB64
|
||||
ldr r0, [r0]
|
||||
bl Free
|
||||
@@ -6012,7 +6012,7 @@ sub_813ADD4: @ 813ADD4
|
||||
adds r4, 0x16
|
||||
add r1, sp, 0x14
|
||||
adds r2, r4, 0
|
||||
bl sub_81AE860
|
||||
bl ListMenuGetScrollAndRow
|
||||
ldrh r0, [r6, 0x22]
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
@@ -6173,7 +6173,7 @@ sub_813AF48: @ 813AF48
|
||||
lsrs r0, 24
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
ldr r0, =gUnknown_0203AB64
|
||||
ldr r0, [r0]
|
||||
bl Free
|
||||
@@ -6817,7 +6817,7 @@ sub_813B4E0: @ 813B4E0
|
||||
push {lr}
|
||||
ldr r0, =gSpecialVar_0x8004
|
||||
ldrh r0, [r0]
|
||||
bl sub_81D15CC
|
||||
bl GetRematchIdxByTrainerIdx
|
||||
cmp r0, 0
|
||||
blt _0813B50C
|
||||
movs r1, 0xAE
|
||||
|
||||
@@ -1,709 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start SetUpFieldMove_Flash
|
||||
SetUpFieldMove_Flash: @ 81370FC
|
||||
push {r4,lr}
|
||||
bl ShouldDoBrailleFlyEffect
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _08137134
|
||||
ldr r4, =gSpecialVar_Result
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
strh r0, [r4]
|
||||
ldr r1, =gUnknown_03005DB0
|
||||
ldr r0, =FieldCallback_Teleport
|
||||
str r0, [r1]
|
||||
ldr r1, =gUnknown_0203CEEC
|
||||
ldr r0, =sub_8179918
|
||||
b _08137152
|
||||
.pool
|
||||
_08137134:
|
||||
ldr r0, =gMapHeader
|
||||
ldrb r0, [r0, 0x15]
|
||||
cmp r0, 0x1
|
||||
bne _08137170
|
||||
ldr r0, =0x00000888
|
||||
bl FlagGet
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _08137170
|
||||
ldr r1, =gUnknown_03005DB0
|
||||
ldr r0, =FieldCallback_Teleport
|
||||
str r0, [r1]
|
||||
ldr r1, =gUnknown_0203CEEC
|
||||
ldr r0, =hm2_flash
|
||||
_08137152:
|
||||
str r0, [r1]
|
||||
movs r0, 0x1
|
||||
b _08137172
|
||||
.pool
|
||||
_08137170:
|
||||
movs r0, 0
|
||||
_08137172:
|
||||
pop {r4}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end SetUpFieldMove_Flash
|
||||
|
||||
thumb_func_start hm2_flash
|
||||
hm2_flash: @ 8137178
|
||||
push {r4,lr}
|
||||
bl oei_task_add
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
bl GetCursorSelectionMonId
|
||||
ldr r1, =gFieldEffectArguments
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
str r0, [r1]
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r2, =sub_81371B4
|
||||
lsrs r1, r2, 16
|
||||
strh r1, [r0, 0x18]
|
||||
strh r2, [r0, 0x1A]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end hm2_flash
|
||||
|
||||
thumb_func_start sub_81371B4
|
||||
sub_81371B4: @ 81371B4
|
||||
push {lr}
|
||||
movs r0, 0xCF
|
||||
bl PlaySE
|
||||
ldr r0, =0x00000888
|
||||
bl FlagSet
|
||||
ldr r0, =EventScript_2926F8
|
||||
bl ScriptContext1_SetupScript
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81371B4
|
||||
|
||||
thumb_func_start sub_81371D4
|
||||
sub_81371D4: @ 81371D4
|
||||
push {lr}
|
||||
bl RunTasks
|
||||
bl AnimateSprites
|
||||
bl BuildOamBuffer
|
||||
bl UpdatePaletteFade
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_81371D4
|
||||
|
||||
thumb_func_start sub_81371EC
|
||||
sub_81371EC: @ 81371EC
|
||||
push {lr}
|
||||
bl LoadOam
|
||||
bl ProcessSpriteCopyRequests
|
||||
bl TransferPlttBuffer
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_81371EC
|
||||
|
||||
thumb_func_start c2_change_map
|
||||
c2_change_map: @ 8137200
|
||||
push {r4,lr}
|
||||
sub sp, 0x8
|
||||
movs r0, 0
|
||||
bl SetVBlankCallback
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0xC
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0xA
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x8
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x18
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x1A
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x14
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x16
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x10
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x12
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
mov r1, sp
|
||||
movs r0, 0
|
||||
strh r0, [r1]
|
||||
ldr r1, =0x040000d4
|
||||
mov r0, sp
|
||||
str r0, [r1]
|
||||
movs r0, 0xC0
|
||||
lsls r0, 19
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, =0x8100c000
|
||||
str r0, [r1, 0x8]
|
||||
ldr r0, [r1, 0x8]
|
||||
movs r4, 0
|
||||
str r4, [sp, 0x4]
|
||||
add r0, sp, 0x4
|
||||
str r0, [r1]
|
||||
movs r0, 0xE0
|
||||
lsls r0, 19
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, =0x85000100
|
||||
str r0, [r1, 0x8]
|
||||
ldr r0, [r1, 0x8]
|
||||
mov r0, sp
|
||||
strh r4, [r0]
|
||||
str r0, [r1]
|
||||
ldr r0, =0x05000002
|
||||
str r0, [r1, 0x4]
|
||||
ldr r0, =0x810001ff
|
||||
str r0, [r1, 0x8]
|
||||
ldr r0, [r1, 0x8]
|
||||
bl ResetPaletteFade
|
||||
bl ResetTasks
|
||||
bl ResetSpriteData
|
||||
ldr r3, =0x04000208
|
||||
ldrh r2, [r3]
|
||||
strh r4, [r3]
|
||||
ldr r4, =0x04000200
|
||||
ldrh r0, [r4]
|
||||
movs r1, 0x1
|
||||
orrs r0, r1
|
||||
strh r0, [r4]
|
||||
strh r2, [r3]
|
||||
ldr r0, =sub_81371EC
|
||||
bl SetVBlankCallback
|
||||
ldr r0, =sub_81371D4
|
||||
bl SetMainCallback2
|
||||
bl sub_8137304
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _081372D2
|
||||
ldr r0, =gMain
|
||||
ldr r0, [r0, 0x8]
|
||||
bl SetMainCallback2
|
||||
_081372D2:
|
||||
add sp, 0x8
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end c2_change_map
|
||||
|
||||
thumb_func_start sub_8137304
|
||||
sub_8137304: @ 8137304
|
||||
push {r4-r7,lr}
|
||||
bl get_map_light_from_warp0
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
bl Overworld_GetMapTypeOfSaveblockLocation
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
movs r3, 0
|
||||
ldr r4, =gUnknown_085B27C8
|
||||
ldrb r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _08137358
|
||||
adds r7, r4, 0
|
||||
adds r0, r4, 0x4
|
||||
mov r12, r0
|
||||
_08137326:
|
||||
lsls r2, r3, 3
|
||||
adds r1, r2, r7
|
||||
ldrb r0, [r1]
|
||||
cmp r0, r6
|
||||
bne _08137348
|
||||
ldrb r0, [r1, 0x1]
|
||||
cmp r0, r5
|
||||
bne _08137348
|
||||
mov r1, r12
|
||||
adds r0, r2, r1
|
||||
ldr r0, [r0]
|
||||
bl _call_via_r0
|
||||
movs r0, 0x1
|
||||
b _0813735A
|
||||
.pool
|
||||
_08137348:
|
||||
adds r0, r3, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r3, r0, 24
|
||||
lsls r0, r3, 3
|
||||
adds r0, r4
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _08137326
|
||||
_08137358:
|
||||
movs r0, 0
|
||||
_0813735A:
|
||||
pop {r4-r7}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8137304
|
||||
|
||||
thumb_func_start sub_8137360
|
||||
sub_8137360: @ 8137360
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r5, r0, 24
|
||||
lsrs r4, r1, 24
|
||||
movs r3, 0
|
||||
ldr r1, =gUnknown_085B27C8
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0
|
||||
beq _081373A0
|
||||
adds r6, r1, 0
|
||||
_08137376:
|
||||
lsls r0, r3, 3
|
||||
adds r2, r0, r6
|
||||
ldrb r0, [r2]
|
||||
cmp r0, r5
|
||||
bne _08137390
|
||||
ldrb r0, [r2, 0x1]
|
||||
cmp r0, r4
|
||||
bne _08137390
|
||||
ldrb r0, [r2, 0x2]
|
||||
b _081373A2
|
||||
.pool
|
||||
_08137390:
|
||||
adds r0, r3, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r3, r0, 24
|
||||
lsls r0, r3, 3
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _08137376
|
||||
_081373A0:
|
||||
movs r0, 0
|
||||
_081373A2:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_8137360
|
||||
|
||||
thumb_func_start fade_type_for_given_maplight_pair
|
||||
fade_type_for_given_maplight_pair: @ 81373A8
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 24
|
||||
lsls r1, 24
|
||||
lsrs r5, r0, 24
|
||||
lsrs r4, r1, 24
|
||||
movs r3, 0
|
||||
ldr r1, =gUnknown_085B27C8
|
||||
ldrb r0, [r1]
|
||||
cmp r0, 0
|
||||
beq _081373E8
|
||||
adds r6, r1, 0
|
||||
_081373BE:
|
||||
lsls r0, r3, 3
|
||||
adds r2, r0, r6
|
||||
ldrb r0, [r2]
|
||||
cmp r0, r5
|
||||
bne _081373D8
|
||||
ldrb r0, [r2, 0x1]
|
||||
cmp r0, r4
|
||||
bne _081373D8
|
||||
ldrb r0, [r2, 0x3]
|
||||
b _081373EA
|
||||
.pool
|
||||
_081373D8:
|
||||
adds r0, r3, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r3, r0, 24
|
||||
lsls r0, r3, 3
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _081373BE
|
||||
_081373E8:
|
||||
movs r0, 0
|
||||
_081373EA:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end fade_type_for_given_maplight_pair
|
||||
|
||||
thumb_func_start sub_81373F0
|
||||
sub_81373F0: @ 81373F0
|
||||
push {lr}
|
||||
ldr r0, =sub_8137404
|
||||
movs r1, 0
|
||||
bl CreateTask
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81373F0
|
||||
|
||||
thumb_func_start sub_8137404
|
||||
sub_8137404: @ 8137404
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldr r0, =sub_8137420
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_8137404
|
||||
|
||||
thumb_func_start sub_8137420
|
||||
sub_8137420: @ 8137420
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
ldr r0, =gCaveTransitionTiles
|
||||
ldr r1, =0x0600c000
|
||||
bl LZ77UnCompVram
|
||||
ldr r0, =gCaveTransitionTilemap
|
||||
ldr r1, =0x0600f800
|
||||
bl LZ77UnCompVram
|
||||
ldr r0, =gCaveTransitionPalette_White
|
||||
movs r1, 0xE0
|
||||
movs r2, 0x20
|
||||
bl LoadPalette
|
||||
ldr r0, =gUnknown_085B28A0
|
||||
movs r1, 0xE0
|
||||
movs r2, 0x10
|
||||
bl LoadPalette
|
||||
ldr r1, =0x00003e41
|
||||
movs r0, 0x50
|
||||
bl SetGpuReg
|
||||
movs r0, 0x52
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x54
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
ldr r1, =0x00001f0c
|
||||
movs r0, 0x8
|
||||
bl SetGpuReg
|
||||
movs r1, 0x8A
|
||||
lsls r1, 5
|
||||
movs r0, 0
|
||||
bl SetGpuReg
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, =sub_81374C4
|
||||
str r1, [r0]
|
||||
movs r2, 0
|
||||
movs r1, 0x10
|
||||
strh r1, [r0, 0x8]
|
||||
strh r2, [r0, 0xA]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8137420
|
||||
|
||||
thumb_func_start sub_81374C4
|
||||
sub_81374C4: @ 81374C4
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r5, r1, r2
|
||||
ldrh r4, [r5, 0xA]
|
||||
movs r0, 0x80
|
||||
lsls r0, 5
|
||||
adds r1, r4, r0
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
movs r0, 0x52
|
||||
bl SetGpuReg
|
||||
cmp r4, 0x10
|
||||
bhi _081374F8
|
||||
ldrh r0, [r5, 0xA]
|
||||
adds r0, 0x1
|
||||
strh r0, [r5, 0xA]
|
||||
b _08137500
|
||||
.pool
|
||||
_081374F8:
|
||||
movs r0, 0
|
||||
strh r0, [r5, 0xC]
|
||||
ldr r0, =sub_813750C
|
||||
str r0, [r5]
|
||||
_08137500:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81374C4
|
||||
|
||||
thumb_func_start sub_813750C
|
||||
sub_813750C: @ 813750C
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
ldr r1, =0x00001010
|
||||
movs r0, 0x52
|
||||
bl SetGpuReg
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r4, r0, r1
|
||||
ldrh r1, [r4, 0xC]
|
||||
cmp r1, 0x7
|
||||
bhi _08137554
|
||||
adds r0, r1, 0x1
|
||||
strh r0, [r4, 0xC]
|
||||
lsls r1, 1
|
||||
ldr r0, =gUnknown_085B28A0
|
||||
adds r0, r1, r0
|
||||
movs r2, 0x10
|
||||
subs r2, r1
|
||||
lsls r2, 16
|
||||
lsrs r2, 16
|
||||
movs r1, 0xE0
|
||||
bl LoadPalette
|
||||
b _08137566
|
||||
.pool
|
||||
_08137554:
|
||||
ldr r0, =gCaveTransitionPalette_White
|
||||
movs r1, 0
|
||||
movs r2, 0x20
|
||||
bl LoadPalette
|
||||
ldr r0, =sub_8137574
|
||||
str r0, [r4]
|
||||
movs r0, 0x8
|
||||
strh r0, [r4, 0xC]
|
||||
_08137566:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_813750C
|
||||
|
||||
thumb_func_start sub_8137574
|
||||
sub_8137574: @ 8137574
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldrh r2, [r1, 0xC]
|
||||
movs r3, 0xC
|
||||
ldrsh r0, [r1, r3]
|
||||
cmp r0, 0
|
||||
beq _08137598
|
||||
subs r0, r2, 0x1
|
||||
strh r0, [r1, 0xC]
|
||||
b _081375A0
|
||||
.pool
|
||||
_08137598:
|
||||
ldr r0, =gMain
|
||||
ldr r0, [r0, 0x8]
|
||||
bl SetMainCallback2
|
||||
_081375A0:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8137574
|
||||
|
||||
thumb_func_start sub_81375A8
|
||||
sub_81375A8: @ 81375A8
|
||||
push {lr}
|
||||
ldr r0, =sub_81375BC
|
||||
movs r1, 0
|
||||
bl CreateTask
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81375A8
|
||||
|
||||
thumb_func_start sub_81375BC
|
||||
sub_81375BC: @ 81375BC
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
ldr r0, =sub_81375D8
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_81375BC
|
||||
|
||||
thumb_func_start sub_81375D8
|
||||
sub_81375D8: @ 81375D8
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
ldr r0, =gCaveTransitionTiles
|
||||
ldr r1, =0x0600c000
|
||||
bl LZ77UnCompVram
|
||||
ldr r0, =gCaveTransitionTilemap
|
||||
ldr r1, =0x0600f800
|
||||
bl LZ77UnCompVram
|
||||
movs r0, 0x50
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x52
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
movs r0, 0x54
|
||||
movs r1, 0
|
||||
bl SetGpuReg
|
||||
ldr r1, =0x00001f0c
|
||||
movs r0, 0x8
|
||||
bl SetGpuReg
|
||||
movs r1, 0x8A
|
||||
lsls r1, 5
|
||||
movs r0, 0
|
||||
bl SetGpuReg
|
||||
ldr r0, =gCaveTransitionPalette_White
|
||||
movs r1, 0xE0
|
||||
movs r2, 0x20
|
||||
bl LoadPalette
|
||||
ldr r0, =gCaveTransitionPalette_Black
|
||||
movs r1, 0
|
||||
movs r2, 0x20
|
||||
bl LoadPalette
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, =sub_8137678
|
||||
str r1, [r0]
|
||||
movs r2, 0
|
||||
movs r1, 0x10
|
||||
strh r1, [r0, 0x8]
|
||||
strh r2, [r0, 0xA]
|
||||
strh r2, [r0, 0xC]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81375D8
|
||||
|
||||
thumb_func_start sub_8137678
|
||||
sub_8137678: @ 8137678
|
||||
push {r4,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r4, r1, r2
|
||||
ldrh r1, [r4, 0xC]
|
||||
cmp r1, 0xF
|
||||
bhi _081376B4
|
||||
adds r2, r1, 0x1
|
||||
adds r0, r2, 0x1
|
||||
strh r0, [r4, 0xC]
|
||||
movs r0, 0xF
|
||||
subs r0, r1
|
||||
lsls r0, 1
|
||||
ldr r1, =gUnknown_085B2890
|
||||
adds r0, r1
|
||||
lsls r2, 17
|
||||
lsrs r2, 16
|
||||
movs r1, 0xE0
|
||||
bl LoadPalette
|
||||
b _081376C8
|
||||
.pool
|
||||
_081376B4:
|
||||
ldr r1, =0x00001010
|
||||
movs r0, 0x52
|
||||
bl SetGpuReg
|
||||
ldr r1, =0x00003e41
|
||||
movs r0, 0x50
|
||||
bl SetGpuReg
|
||||
ldr r0, =sub_81376DC
|
||||
str r0, [r4]
|
||||
_081376C8:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8137678
|
||||
|
||||
thumb_func_start sub_81376DC
|
||||
sub_81376DC: @ 81376DC
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r5, r1, r2
|
||||
ldrh r0, [r5, 0xA]
|
||||
movs r1, 0x10
|
||||
subs r1, r0
|
||||
lsls r1, 16
|
||||
lsrs r4, r1, 16
|
||||
movs r0, 0x80
|
||||
lsls r0, 21
|
||||
adds r1, r0
|
||||
lsrs r1, 16
|
||||
movs r0, 0x52
|
||||
bl SetGpuReg
|
||||
cmp r4, 0
|
||||
beq _08137714
|
||||
ldrh r0, [r5, 0xA]
|
||||
adds r0, 0x1
|
||||
strh r0, [r5, 0xA]
|
||||
b _08137726
|
||||
.pool
|
||||
_08137714:
|
||||
ldr r0, =gCaveTransitionPalette_Black
|
||||
movs r1, 0
|
||||
movs r2, 0x20
|
||||
bl LoadPalette
|
||||
ldr r0, =gMain
|
||||
ldr r0, [r0, 0x8]
|
||||
bl SetMainCallback2
|
||||
_08137726:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81376DC
|
||||
@@ -1,596 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_81BE66C
|
||||
sub_81BE66C: @ 81BE66C
|
||||
push {lr}
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
ldrh r1, [r0, 0x4]
|
||||
movs r0, 0xD0
|
||||
lsls r0, 5
|
||||
cmp r1, r0
|
||||
bne _081BE690
|
||||
movs r0, 0xA7
|
||||
lsls r0, 1
|
||||
bl FlagGet
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
b _081BE692
|
||||
.pool
|
||||
_081BE690:
|
||||
movs r0, 0
|
||||
_081BE692:
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81BE66C
|
||||
|
||||
thumb_func_start sub_81BE698
|
||||
sub_81BE698: @ 81BE698
|
||||
push {lr}
|
||||
ldr r0, =gUnknown_0203CF18
|
||||
ldr r0, [r0]
|
||||
adds r0, 0x4
|
||||
bl sub_8151E50
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BE698
|
||||
|
||||
thumb_func_start sub_81BE6AC
|
||||
sub_81BE6AC: @ 81BE6AC
|
||||
ldr r1, =gUnknown_0203CF18
|
||||
movs r0, 0
|
||||
str r0, [r1]
|
||||
bx lr
|
||||
.pool
|
||||
thumb_func_end sub_81BE6AC
|
||||
|
||||
thumb_func_start sub_81BE6B8
|
||||
sub_81BE6B8: @ 81BE6B8
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_0203CF18
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _081BE6CC
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
b _081BE718
|
||||
.pool
|
||||
_081BE6CC:
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
ldrh r1, [r0, 0x4]
|
||||
movs r0, 0xD0
|
||||
lsls r0, 5
|
||||
cmp r1, r0
|
||||
bne _081BE718
|
||||
movs r0, 0xA7
|
||||
lsls r0, 1
|
||||
bl FlagGet
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _081BE718
|
||||
movs r0, 0xC8
|
||||
bl AllocZeroed
|
||||
str r0, [r4]
|
||||
adds r0, 0x4
|
||||
bl sub_8151B3C
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x4
|
||||
ldr r1, =gUnknown_08617E18
|
||||
bl sub_8151B68
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x4
|
||||
movs r1, 0x1
|
||||
movs r2, 0x1
|
||||
bl sub_8151CA8
|
||||
ldr r0, =sub_81BE698
|
||||
movs r1, 0xFF
|
||||
bl CreateTask
|
||||
ldr r1, [r4]
|
||||
strb r0, [r1]
|
||||
_081BE718:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BE6B8
|
||||
|
||||
thumb_func_start sub_81BE72C
|
||||
sub_81BE72C: @ 81BE72C
|
||||
push {r4,lr}
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
ldrh r1, [r0, 0x4]
|
||||
movs r0, 0xD0
|
||||
lsls r0, 5
|
||||
cmp r1, r0
|
||||
bne _081BE788
|
||||
movs r0, 0xA7
|
||||
lsls r0, 1
|
||||
bl FlagGet
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _081BE788
|
||||
ldr r4, =gUnknown_0203CF18
|
||||
ldr r0, [r4]
|
||||
cmp r0, 0
|
||||
beq _081BE788
|
||||
ldr r0, =sub_81BE698
|
||||
bl FuncIsActiveTask
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _081BE766
|
||||
ldr r0, [r4]
|
||||
ldrb r0, [r0]
|
||||
bl DestroyTask
|
||||
_081BE766:
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x4
|
||||
movs r1, 0x1
|
||||
movs r2, 0x1
|
||||
bl sub_8151D28
|
||||
ldr r0, [r4]
|
||||
adds r0, 0x4
|
||||
movs r1, 0x1
|
||||
movs r2, 0x1
|
||||
bl sub_8151C50
|
||||
ldr r0, [r4]
|
||||
bl Free
|
||||
movs r0, 0
|
||||
str r0, [r4]
|
||||
_081BE788:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BE72C
|
||||
|
||||
thumb_func_start sub_81BE79C
|
||||
sub_81BE79C: @ 81BE79C
|
||||
push {r4,lr}
|
||||
ldr r0, =0x000040cb
|
||||
bl VarGet
|
||||
lsls r0, 16
|
||||
cmp r0, 0
|
||||
beq _081BE7B8
|
||||
movs r0, 0xA7
|
||||
lsls r0, 1
|
||||
bl FlagClear
|
||||
b _081BE7EE
|
||||
.pool
|
||||
_081BE7B8:
|
||||
bl Random
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
movs r0, 0x1
|
||||
ands r4, r0
|
||||
movs r0, 0x9D
|
||||
bl FlagGet
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
bne _081BE7D4
|
||||
movs r4, 0x1
|
||||
_081BE7D4:
|
||||
cmp r4, 0
|
||||
beq _081BE7E6
|
||||
movs r0, 0xA7
|
||||
lsls r0, 1
|
||||
bl FlagSet
|
||||
bl sub_81BE6B8
|
||||
b _081BE7EE
|
||||
_081BE7E6:
|
||||
movs r0, 0xA7
|
||||
lsls r0, 1
|
||||
bl FlagClear
|
||||
_081BE7EE:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_81BE79C
|
||||
|
||||
thumb_func_start sub_81BE7F4
|
||||
sub_81BE7F4: @ 81BE7F4
|
||||
push {lr}
|
||||
ldr r0, =sub_81BE808
|
||||
movs r1, 0x8
|
||||
bl CreateTask
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BE7F4
|
||||
|
||||
thumb_func_start sub_81BE808
|
||||
sub_81BE808: @ 81BE808
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
ldrb r1, [r0, 0x5]
|
||||
ldrb r2, [r0, 0x4]
|
||||
movs r0, 0x2D
|
||||
mov r3, sp
|
||||
bl TryGetFieldObjectIdByLocalIdAndMap
|
||||
mov r0, sp
|
||||
ldrb r0, [r0]
|
||||
lsls r2, r0, 3
|
||||
adds r2, r0
|
||||
lsls r2, 2
|
||||
ldr r4, =gMapObjects
|
||||
adds r2, r4
|
||||
ldr r3, =gSprites
|
||||
ldrb r1, [r2, 0x4]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r3
|
||||
ldrh r1, [r0, 0x26]
|
||||
adds r1, 0x4
|
||||
strh r1, [r0, 0x26]
|
||||
ldr r0, =gPlayerAvatar
|
||||
ldrb r0, [r0, 0x5]
|
||||
lsls r1, r0, 3
|
||||
adds r1, r0
|
||||
lsls r1, 2
|
||||
adds r1, r4
|
||||
ldrb r2, [r2, 0x4]
|
||||
lsls r0, r2, 4
|
||||
adds r0, r2
|
||||
lsls r0, 2
|
||||
adds r0, r3
|
||||
movs r4, 0x22
|
||||
ldrsh r2, [r0, r4]
|
||||
movs r4, 0x26
|
||||
ldrsh r0, [r0, r4]
|
||||
adds r2, r0
|
||||
ldrb r1, [r1, 0x4]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r3
|
||||
movs r3, 0x22
|
||||
ldrsh r1, [r0, r3]
|
||||
movs r4, 0x26
|
||||
ldrsh r0, [r0, r4]
|
||||
adds r1, r0
|
||||
cmp r2, r1
|
||||
blt _081BE882
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
bl EnableBothScriptContexts
|
||||
_081BE882:
|
||||
add sp, 0x4
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BE808
|
||||
|
||||
thumb_func_start sp136_strengh_sound
|
||||
sp136_strengh_sound: @ 81BE89C
|
||||
push {r4-r6,lr}
|
||||
mov r6, r8
|
||||
push {r6}
|
||||
mov r8, r0
|
||||
adds r4, r1, 0
|
||||
adds r5, r2, 0
|
||||
adds r6, r3, 0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r8, r0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
lsls r6, 24
|
||||
lsrs r6, 24
|
||||
ldr r0, =sub_81BE900
|
||||
movs r1, 0x9
|
||||
bl CreateTask
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r1, r2
|
||||
movs r0, 0
|
||||
strh r4, [r1, 0x8]
|
||||
strh r0, [r1, 0xA]
|
||||
strh r5, [r1, 0xC]
|
||||
strh r6, [r1, 0xE]
|
||||
mov r0, r8
|
||||
strh r0, [r1, 0x10]
|
||||
movs r0, 0
|
||||
bl SetCameraPanningCallback
|
||||
movs r0, 0xD6
|
||||
bl PlaySE
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sp136_strengh_sound
|
||||
|
||||
thumb_func_start sub_81BE900
|
||||
sub_81BE900: @ 81BE900
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
ldr r1, =gTasks + 0x8
|
||||
adds r4, r0, r1
|
||||
ldrh r0, [r4, 0x2]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4, 0x2]
|
||||
movs r1, 0x2
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, 0x6
|
||||
ldrsh r1, [r4, r2]
|
||||
bl __modsi3
|
||||
cmp r0, 0
|
||||
bne _081BE95C
|
||||
strh r0, [r4, 0x2]
|
||||
ldrh r0, [r4, 0x4]
|
||||
subs r0, 0x1
|
||||
strh r0, [r4, 0x4]
|
||||
ldrh r0, [r4]
|
||||
negs r0, r0
|
||||
strh r0, [r4]
|
||||
ldrh r0, [r4, 0x8]
|
||||
negs r0, r0
|
||||
strh r0, [r4, 0x8]
|
||||
movs r1, 0
|
||||
ldrsh r0, [r4, r1]
|
||||
movs r2, 0x8
|
||||
ldrsh r1, [r4, r2]
|
||||
bl SetCameraPanning
|
||||
movs r1, 0x4
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, 0
|
||||
bne _081BE95C
|
||||
bl sub_81BE968
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
bl InstallCameraPanAheadCallback
|
||||
_081BE95C:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BE900
|
||||
|
||||
thumb_func_start sub_81BE968
|
||||
sub_81BE968: @ 81BE968
|
||||
push {lr}
|
||||
ldr r0, =sub_81BE9C0
|
||||
bl FindTaskIdByFunc
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
cmp r2, 0xFF
|
||||
beq _081BE988
|
||||
ldr r0, =gTasks
|
||||
lsls r1, r2, 2
|
||||
adds r1, r2
|
||||
lsls r1, 3
|
||||
adds r1, r0
|
||||
ldrh r0, [r1, 0x8]
|
||||
adds r0, 0x1
|
||||
strh r0, [r1, 0x8]
|
||||
_081BE988:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BE968
|
||||
|
||||
thumb_func_start sub_81BE994
|
||||
sub_81BE994: @ 81BE994
|
||||
push {lr}
|
||||
ldr r0, =gUnknown_08617D94
|
||||
bl LoadSpriteSheets
|
||||
bl sub_81BEA20
|
||||
ldr r0, =sub_81BE9C0
|
||||
movs r1, 0x8
|
||||
bl CreateTask
|
||||
movs r0, 0x2
|
||||
movs r1, 0x1
|
||||
movs r2, 0x10
|
||||
movs r3, 0x3
|
||||
bl sp136_strengh_sound
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BE994
|
||||
|
||||
thumb_func_start sub_81BE9C0
|
||||
sub_81BE9C0: @ 81BE9C0
|
||||
push {r4,lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r3, r1, 3
|
||||
ldr r4, =gTasks + 0x8
|
||||
adds r2, r3, r4
|
||||
ldrh r0, [r2, 0x2]
|
||||
adds r0, 0x1
|
||||
strh r0, [r2, 0x2]
|
||||
lsls r0, 16
|
||||
movs r1, 0xFA
|
||||
lsls r1, 18
|
||||
cmp r0, r1
|
||||
beq _081BE9E6
|
||||
ldrh r0, [r2]
|
||||
cmp r0, 0x11
|
||||
bne _081BE9F0
|
||||
_081BE9E6:
|
||||
adds r0, r4, 0
|
||||
subs r0, 0x8
|
||||
adds r0, r3, r0
|
||||
ldr r1, =sub_81BEA00
|
||||
str r1, [r0]
|
||||
_081BE9F0:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BE9C0
|
||||
|
||||
thumb_func_start sub_81BEA00
|
||||
sub_81BEA00: @ 81BEA00
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
movs r0, 0xFA
|
||||
lsls r0, 4
|
||||
bl FreeSpriteTilesByTag
|
||||
adds r0, r4, 0
|
||||
bl DestroyTask
|
||||
bl EnableBothScriptContexts
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_81BEA00
|
||||
|
||||
thumb_func_start sub_81BEA20
|
||||
sub_81BEA20: @ 81BEA20
|
||||
push {r4-r7,lr}
|
||||
movs r4, 0
|
||||
ldr r5, =gUnknown_08617D64
|
||||
adds r7, r5, 0x2
|
||||
ldr r6, =gSprites
|
||||
_081BEA2A:
|
||||
lsls r0, r4, 1
|
||||
adds r0, r4
|
||||
lsls r0, 1
|
||||
adds r1, r0, r5
|
||||
ldrh r1, [r1]
|
||||
adds r1, 0x78
|
||||
lsls r1, 16
|
||||
asrs r1, 16
|
||||
adds r0, r7
|
||||
movs r3, 0
|
||||
ldrsh r2, [r0, r3]
|
||||
ldr r0, =gUnknown_08617E60
|
||||
movs r3, 0x8
|
||||
bl CreateSprite
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r6
|
||||
ldrb r2, [r0, 0x5]
|
||||
movs r3, 0xD
|
||||
negs r3, r3
|
||||
adds r1, r3, 0
|
||||
ands r2, r1
|
||||
movs r1, 0xF
|
||||
ands r2, r1
|
||||
strb r2, [r0, 0x5]
|
||||
strh r4, [r0, 0x2E]
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0x7
|
||||
bls _081BEA2A
|
||||
movs r4, 0
|
||||
ldr r5, =gUnknown_08617D64
|
||||
adds r7, r5, 0x2
|
||||
ldr r6, =gSprites
|
||||
_081BEA78:
|
||||
lsls r0, r4, 1
|
||||
adds r0, r4
|
||||
lsls r0, 1
|
||||
adds r1, r0, r5
|
||||
ldrh r1, [r1]
|
||||
adds r1, 0x73
|
||||
lsls r1, 16
|
||||
asrs r1, 16
|
||||
adds r0, r7
|
||||
ldrh r2, [r0]
|
||||
subs r2, 0x3
|
||||
lsls r2, 16
|
||||
asrs r2, 16
|
||||
ldr r0, =gUnknown_08617E34
|
||||
movs r3, 0x8
|
||||
bl CreateSprite
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r6
|
||||
ldrb r2, [r0, 0x5]
|
||||
movs r3, 0xD
|
||||
negs r3, r3
|
||||
adds r1, r3, 0
|
||||
ands r2, r1
|
||||
movs r1, 0xF
|
||||
ands r2, r1
|
||||
strb r2, [r0, 0x5]
|
||||
strh r4, [r0, 0x2E]
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0x7
|
||||
bls _081BEA78
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BEA20
|
||||
|
||||
thumb_func_start sub_81BEAD8
|
||||
sub_81BEAD8: @ 81BEAD8
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldrh r0, [r4, 0x30]
|
||||
adds r0, 0x2
|
||||
strh r0, [r4, 0x30]
|
||||
movs r1, 0x30
|
||||
ldrsh r0, [r4, r1]
|
||||
lsrs r1, r0, 31
|
||||
adds r0, r1
|
||||
asrs r0, 1
|
||||
strh r0, [r4, 0x26]
|
||||
movs r0, 0x22
|
||||
ldrsh r3, [r4, r0]
|
||||
movs r1, 0x26
|
||||
ldrsh r0, [r4, r1]
|
||||
adds r3, r0
|
||||
ldr r2, =gUnknown_08617D64
|
||||
movs r0, 0x2E
|
||||
ldrsh r1, [r4, r0]
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 1
|
||||
adds r2, 0x4
|
||||
adds r0, r2
|
||||
movs r1, 0
|
||||
ldrsh r0, [r0, r1]
|
||||
cmp r3, r0
|
||||
ble _081BEB1A
|
||||
adds r0, r4, 0
|
||||
bl DestroySprite
|
||||
bl sub_81BE968
|
||||
_081BEB1A:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BEAD8
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
@@ -1,339 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start hm_prepare_dive_probably
|
||||
hm_prepare_dive_probably: @ 8161508
|
||||
push {r4-r6,lr}
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r6, 0x64
|
||||
muls r0, r6
|
||||
ldr r4, =gPlayerParty
|
||||
adds r0, r4
|
||||
movs r1, 0x3A
|
||||
bl GetMonData
|
||||
adds r5, r0, 0
|
||||
lsls r5, 16
|
||||
lsrs r5, 16
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
muls r0, r6
|
||||
adds r0, r4
|
||||
movs r1, 0x39
|
||||
bl GetMonData
|
||||
adds r4, r0, 0
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
adds r0, r5, 0
|
||||
movs r1, 0x5
|
||||
bl __udivsi3
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r4, r0
|
||||
bhi _08161558
|
||||
movs r0, 0
|
||||
b _0816155A
|
||||
.pool
|
||||
_08161558:
|
||||
movs r0, 0x1
|
||||
_0816155A:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end hm_prepare_dive_probably
|
||||
|
||||
thumb_func_start sub_8161560
|
||||
sub_8161560: @ 8161560
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
ldr r0, =gUnknown_0203CEC8
|
||||
movs r1, 0xA
|
||||
strb r1, [r0, 0xB]
|
||||
ldrb r1, [r0, 0x9]
|
||||
strb r1, [r0, 0xA]
|
||||
bl GetCursorSelectionMonId
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
movs r1, 0x1
|
||||
bl sub_81B0FCC
|
||||
movs r0, 0x5
|
||||
bl display_pokemon_menu_message
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, =sub_81B1370
|
||||
str r1, [r0]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8161560
|
||||
|
||||
thumb_func_start sub_81615A8
|
||||
sub_81615A8: @ 81615A8
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x8
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
str r4, [sp, 0x4]
|
||||
ldr r1, =gUnknown_0203CEC8
|
||||
ldrb r7, [r1, 0x9]
|
||||
mov r8, r7
|
||||
ldrb r0, [r1, 0xA]
|
||||
adds r5, r0, 0
|
||||
cmp r5, 0x6
|
||||
bls _081615EC
|
||||
movs r0, 0
|
||||
strb r0, [r1, 0xB]
|
||||
bl display_pokemon_menu_message
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, =sub_81B1370
|
||||
str r1, [r0]
|
||||
b _08161658
|
||||
.pool
|
||||
_081615EC:
|
||||
movs r0, 0x64
|
||||
mov r10, r0
|
||||
mov r0, r10
|
||||
muls r0, r5
|
||||
ldr r1, =gPlayerParty
|
||||
mov r9, r1
|
||||
adds r6, r0, r1
|
||||
adds r0, r6, 0
|
||||
movs r1, 0x39
|
||||
bl GetMonData
|
||||
lsls r0, 16
|
||||
lsrs r4, r0, 16
|
||||
cmp r4, 0
|
||||
beq _0816161A
|
||||
cmp r7, r5
|
||||
beq _0816161A
|
||||
adds r0, r6, 0
|
||||
movs r1, 0x3A
|
||||
bl GetMonData
|
||||
cmp r0, r4
|
||||
bne _08161628
|
||||
_0816161A:
|
||||
ldr r0, [sp, 0x4]
|
||||
bl sub_81617B8
|
||||
b _08161658
|
||||
.pool
|
||||
_08161628:
|
||||
movs r0, 0x1
|
||||
bl PlaySE
|
||||
mov r1, r10
|
||||
mov r0, r8
|
||||
muls r0, r1
|
||||
add r0, r9
|
||||
movs r1, 0x3A
|
||||
bl GetMonData
|
||||
movs r1, 0x5
|
||||
bl __udivsi3
|
||||
adds r3, r0, 0
|
||||
lsls r3, 16
|
||||
asrs r3, 16
|
||||
movs r2, 0x1
|
||||
negs r2, r2
|
||||
ldr r0, =sub_816166C
|
||||
str r0, [sp]
|
||||
ldr r0, [sp, 0x4]
|
||||
mov r1, r8
|
||||
bl sub_81B1F18
|
||||
_08161658:
|
||||
add sp, 0x8
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81615A8
|
||||
|
||||
thumb_func_start sub_816166C
|
||||
sub_816166C: @ 816166C
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
movs r0, 0x1
|
||||
bl PlaySE
|
||||
ldr r5, =gUnknown_0203CEC8
|
||||
movs r1, 0x9
|
||||
ldrsb r1, [r5, r1]
|
||||
movs r0, 0x64
|
||||
muls r0, r1
|
||||
ldr r1, =gPlayerParty
|
||||
adds r0, r1
|
||||
movs r1, 0x3A
|
||||
bl GetMonData
|
||||
movs r1, 0x5
|
||||
bl __udivsi3
|
||||
adds r3, r0, 0
|
||||
lsls r3, 16
|
||||
asrs r3, 16
|
||||
ldrb r1, [r5, 0xA]
|
||||
ldr r0, =sub_81616C0
|
||||
str r0, [sp]
|
||||
adds r0, r4, 0
|
||||
movs r2, 0x1
|
||||
bl sub_81B1F18
|
||||
add sp, 0x4
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_816166C
|
||||
|
||||
thumb_func_start sub_81616C0
|
||||
sub_81616C0: @ 81616C0
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
ldr r0, =gUnknown_0203CEC8
|
||||
movs r1, 0xA
|
||||
ldrsb r1, [r0, r1]
|
||||
movs r0, 0x64
|
||||
muls r0, r1
|
||||
ldr r1, =gPlayerParty
|
||||
adds r0, r1
|
||||
ldr r1, =gStringVar1
|
||||
bl GetMonNickname
|
||||
ldr r4, =gStringVar4
|
||||
ldr r1, =gText_PkmnHPRestoredByVar2
|
||||
adds r0, r4, 0
|
||||
bl StringExpandPlaceholders
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl sub_81B1B5C
|
||||
movs r0, 0x2
|
||||
bl schedule_bg_copy_tilemap_to_vram
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, =sub_8161724
|
||||
str r1, [r0]
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81616C0
|
||||
|
||||
thumb_func_start sub_8161724
|
||||
sub_8161724: @ 8161724
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
bl sub_81B1BD4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _08161772
|
||||
ldr r4, =gUnknown_0203CEC8
|
||||
movs r0, 0
|
||||
strb r0, [r4, 0xB]
|
||||
ldrb r0, [r4, 0x9]
|
||||
movs r1, 0
|
||||
bl sub_81B0FCC
|
||||
ldrb r0, [r4, 0xA]
|
||||
strb r0, [r4, 0x9]
|
||||
ldrb r0, [r4, 0xA]
|
||||
movs r1, 0x1
|
||||
bl sub_81B0FCC
|
||||
movs r0, 0x6
|
||||
movs r1, 0
|
||||
bl sub_8198070
|
||||
movs r0, 0x6
|
||||
bl ClearWindowTilemap
|
||||
movs r0, 0
|
||||
bl display_pokemon_menu_message
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, =sub_81B1370
|
||||
str r1, [r0]
|
||||
_08161772:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8161724
|
||||
|
||||
thumb_func_start sub_8161784
|
||||
sub_8161784: @ 8161784
|
||||
push {r4,lr}
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
bl sub_81B1BD4
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0x1
|
||||
beq _081617AA
|
||||
movs r0, 0x5
|
||||
bl display_pokemon_menu_message
|
||||
ldr r0, =gTasks
|
||||
lsls r1, r4, 2
|
||||
adds r1, r4
|
||||
lsls r1, 3
|
||||
adds r1, r0
|
||||
ldr r0, =sub_81B1370
|
||||
str r0, [r1]
|
||||
_081617AA:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_8161784
|
||||
|
||||
thumb_func_start sub_81617B8
|
||||
sub_81617B8: @ 81617B8
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
movs r0, 0x5
|
||||
bl PlaySE
|
||||
ldr r0, =gText_CantBeUsedOnPkmn
|
||||
movs r1, 0
|
||||
bl sub_81B1B5C
|
||||
movs r0, 0x2
|
||||
bl schedule_bg_copy_tilemap_to_vram
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r4, 2
|
||||
adds r0, r4
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldr r1, =sub_8161784
|
||||
str r1, [r0]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81617B8
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
@@ -5,893 +5,6 @@
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_81BEB24
|
||||
sub_81BEB24: @ 81BEB24
|
||||
push {r4,r5,lr}
|
||||
movs r4, 0
|
||||
ldr r5, =gUnknown_08617DA4
|
||||
_081BEB2A:
|
||||
lsls r2, r4, 2
|
||||
adds r2, r5
|
||||
ldrb r0, [r2]
|
||||
adds r0, 0x7
|
||||
ldrb r1, [r2, 0x1]
|
||||
adds r1, 0x7
|
||||
ldrh r2, [r2, 0x2]
|
||||
bl MapGridSetMetatileIdAt
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0x11
|
||||
bls _081BEB2A
|
||||
bl DrawWholeMapView
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BEB24
|
||||
|
||||
thumb_func_start sub_81BEB54
|
||||
sub_81BEB54: @ 81BEB54
|
||||
push {lr}
|
||||
ldr r0, =sub_81BED50
|
||||
movs r1, 0x9
|
||||
bl CreateTask
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BEB54
|
||||
|
||||
thumb_func_start sub_81BEB68
|
||||
sub_81BEB68: @ 81BEB68
|
||||
push {lr}
|
||||
ldr r0, =sub_81BEBF4
|
||||
movs r1, 0x9
|
||||
bl CreateTask
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BEB68
|
||||
|
||||
thumb_func_start sub_81BEB7C
|
||||
sub_81BEB7C: @ 81BEB7C
|
||||
push {lr}
|
||||
ldr r0, =sub_81BF028
|
||||
movs r1, 0x9
|
||||
bl CreateTask
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BEB7C
|
||||
|
||||
thumb_func_start sub_81BEB90
|
||||
sub_81BEB90: @ 81BEB90
|
||||
push {r4,lr}
|
||||
ldr r4, =gUnknown_0203CF14
|
||||
ldr r0, [r4]
|
||||
ldrh r1, [r0]
|
||||
movs r0, 0x10
|
||||
bl SetGpuReg
|
||||
ldr r0, [r4]
|
||||
ldrh r1, [r0, 0x2]
|
||||
movs r0, 0x12
|
||||
bl SetGpuReg
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BEB90
|
||||
|
||||
thumb_func_start sub_81BEBB4
|
||||
sub_81BEBB4: @ 81BEBB4
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
ldr r2, =gTasks
|
||||
lsls r1, r0, 2
|
||||
adds r1, r0
|
||||
lsls r1, 3
|
||||
adds r2, r1, r2
|
||||
ldrh r1, [r2, 0x8]
|
||||
movs r3, 0x8
|
||||
ldrsh r0, [r2, r3]
|
||||
cmp r0, 0
|
||||
bne _081BEBEC
|
||||
ldr r0, =gUnknown_0203CF14
|
||||
ldr r1, [r0]
|
||||
ldrh r0, [r1]
|
||||
negs r0, r0
|
||||
strh r0, [r1]
|
||||
movs r0, 0x2
|
||||
strh r0, [r2, 0x8]
|
||||
bl sub_81BEB90
|
||||
b _081BEBF0
|
||||
.pool
|
||||
_081BEBEC:
|
||||
subs r0, r1, 0x1
|
||||
strh r0, [r2, 0x8]
|
||||
_081BEBF0:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_81BEBB4
|
||||
|
||||
thumb_func_start sub_81BEBF4
|
||||
sub_81BEBF4: @ 81BEBF4
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0xC
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
movs r1, 0x8
|
||||
ldrsh r0, [r0, r1]
|
||||
cmp r0, 0x6
|
||||
bls _081BEC10
|
||||
b _081BED40
|
||||
_081BEC10:
|
||||
lsls r0, 2
|
||||
ldr r1, =_081BEC24
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.pool
|
||||
.align 2, 0
|
||||
_081BEC24:
|
||||
.4byte _081BEC40
|
||||
.4byte _081BEC50
|
||||
.4byte _081BEC88
|
||||
.4byte _081BECB0
|
||||
.4byte _081BECF8
|
||||
.4byte _081BED00
|
||||
.4byte _081BED1C
|
||||
_081BEC40:
|
||||
bl FreeAllWindowBuffers
|
||||
movs r0, 0
|
||||
movs r1, 0x7
|
||||
movs r2, 0x2
|
||||
bl SetBgAttribute
|
||||
b _081BED04
|
||||
_081BEC50:
|
||||
ldr r4, =gUnknown_0203CF04
|
||||
movs r0, 0x92
|
||||
lsls r0, 4
|
||||
bl AllocZeroed
|
||||
str r0, [r4]
|
||||
ldr r4, =gUnknown_0203CF08
|
||||
movs r0, 0x80
|
||||
lsls r0, 4
|
||||
bl AllocZeroed
|
||||
str r0, [r4]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl ChangeBgX
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl ChangeBgY
|
||||
b _081BECD8
|
||||
.pool
|
||||
_081BEC88:
|
||||
ldr r0, =gUnknown_08617274
|
||||
ldr r4, =gUnknown_0203CF04
|
||||
ldr r1, [r4]
|
||||
movs r2, 0x92
|
||||
lsls r2, 3
|
||||
bl CpuSet
|
||||
ldr r1, [r4]
|
||||
movs r2, 0x92
|
||||
lsls r2, 4
|
||||
movs r0, 0
|
||||
movs r3, 0
|
||||
bl LoadBgTiles
|
||||
b _081BECD8
|
||||
.pool
|
||||
_081BECB0:
|
||||
ldr r0, =gUnknown_0203CF08
|
||||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
bl SetBgTilemapBuffer
|
||||
ldr r1, =gUnknown_08617B94
|
||||
movs r0, 0x6
|
||||
str r0, [sp]
|
||||
movs r0, 0xC
|
||||
str r0, [sp, 0x4]
|
||||
movs r0, 0x11
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
movs r2, 0xC
|
||||
movs r3, 0x1D
|
||||
bl CopyToBgTilemapBufferRect_ChangePalette
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
_081BECD8:
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r5, 2
|
||||
adds r0, r5
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldrh r1, [r0, 0x8]
|
||||
adds r1, 0x1
|
||||
strh r1, [r0, 0x8]
|
||||
b _081BED40
|
||||
.pool
|
||||
_081BECF8:
|
||||
movs r0, 0
|
||||
bl ShowBg
|
||||
b _081BED04
|
||||
_081BED00:
|
||||
bl sub_81BEB24
|
||||
_081BED04:
|
||||
ldr r0, =gTasks
|
||||
lsls r1, r5, 2
|
||||
adds r1, r5
|
||||
lsls r1, 3
|
||||
adds r1, r0
|
||||
ldrh r0, [r1, 0x8]
|
||||
adds r0, 0x1
|
||||
strh r0, [r1, 0x8]
|
||||
b _081BED40
|
||||
.pool
|
||||
_081BED1C:
|
||||
ldr r4, =gUnknown_0203CF14
|
||||
movs r0, 0x4
|
||||
bl Alloc
|
||||
str r0, [r4]
|
||||
movs r2, 0
|
||||
movs r1, 0x2
|
||||
strh r1, [r0]
|
||||
strh r2, [r0, 0x2]
|
||||
ldr r0, =sub_81BEBB4
|
||||
movs r1, 0xA
|
||||
bl CreateTask
|
||||
adds r0, r5, 0
|
||||
bl DestroyTask
|
||||
bl EnableBothScriptContexts
|
||||
_081BED40:
|
||||
add sp, 0xC
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BEBF4
|
||||
|
||||
thumb_func_start sub_81BED50
|
||||
sub_81BED50: @ 81BED50
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x10
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r10, r0
|
||||
ldr r1, =gTasks
|
||||
lsls r0, 2
|
||||
add r0, r10
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldrh r0, [r0, 0x8]
|
||||
subs r0, 0x1
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
adds r6, r1, 0
|
||||
cmp r0, 0x7
|
||||
bls _081BED7C
|
||||
b _081BF002
|
||||
_081BED7C:
|
||||
lsls r0, 2
|
||||
ldr r1, =_081BED90
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.pool
|
||||
.align 2, 0
|
||||
_081BED90:
|
||||
.4byte _081BEDB0
|
||||
.4byte _081BF002
|
||||
.4byte _081BEDC4
|
||||
.4byte _081BEF64
|
||||
.4byte _081BEF94
|
||||
.4byte _081BEFD0
|
||||
.4byte _081BEFF0
|
||||
.4byte _081BEFF8
|
||||
_081BEDB0:
|
||||
ldr r4, =gUnknown_0203CF10
|
||||
movs r0, 0xC0
|
||||
lsls r0, 2
|
||||
bl AllocZeroed
|
||||
str r0, [r4]
|
||||
b _081BF002
|
||||
.pool
|
||||
_081BEDC4:
|
||||
mov r1, r10
|
||||
lsls r0, r1, 2
|
||||
adds r1, r0, r1
|
||||
lsls r1, 3
|
||||
adds r2, r1, r6
|
||||
ldrh r3, [r2, 0xE]
|
||||
movs r4, 0xE
|
||||
ldrsh r1, [r2, r4]
|
||||
str r0, [sp, 0x8]
|
||||
cmp r1, 0x5F
|
||||
bgt _081BEE8A
|
||||
movs r1, 0xA
|
||||
ldrsh r0, [r2, r1]
|
||||
cmp r0, 0x1
|
||||
ble _081BEE7C
|
||||
lsls r0, r3, 24
|
||||
lsrs r4, r0, 24
|
||||
movs r0, 0x30
|
||||
bl Alloc
|
||||
ldr r3, =gUnknown_0203CF10
|
||||
ldr r1, [r3]
|
||||
lsls r2, r4, 3
|
||||
adds r1, r2, r1
|
||||
str r0, [r1]
|
||||
movs r5, 0
|
||||
adds r4, r2, 0
|
||||
_081BEDFA:
|
||||
ldr r0, [r3]
|
||||
adds r0, r4, r0
|
||||
ldr r0, [r0]
|
||||
adds r0, r5
|
||||
strb r5, [r0]
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 16
|
||||
lsrs r5, r0, 16
|
||||
cmp r5, 0x2F
|
||||
bls _081BEDFA
|
||||
movs r5, 0
|
||||
ldr r7, =gUnknown_0203CF10
|
||||
adds r6, r2, 0
|
||||
_081BEE14:
|
||||
bl Random
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
movs r1, 0x30
|
||||
bl __umodsi3
|
||||
adds r4, r0, 0
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
bl Random
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
movs r1, 0x30
|
||||
bl __umodsi3
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
ldr r1, [r7]
|
||||
adds r1, r6, r1
|
||||
ldr r1, [r1]
|
||||
adds r0, r1, r0
|
||||
ldrb r2, [r0]
|
||||
adds r1, r4
|
||||
ldrb r1, [r1]
|
||||
strb r1, [r0]
|
||||
ldr r0, [r7]
|
||||
adds r0, r6, r0
|
||||
ldr r0, [r0]
|
||||
adds r0, r4
|
||||
strb r2, [r0]
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 16
|
||||
lsrs r5, r0, 16
|
||||
cmp r5, 0x2F
|
||||
bls _081BEE14
|
||||
ldr r0, =gTasks
|
||||
ldr r1, [sp, 0x8]
|
||||
add r1, r10
|
||||
lsls r1, 3
|
||||
adds r2, r1, r0
|
||||
ldrh r3, [r2, 0xE]
|
||||
movs r4, 0xE
|
||||
ldrsh r1, [r2, r4]
|
||||
adds r6, r0, 0
|
||||
cmp r1, 0x5F
|
||||
bgt _081BEE78
|
||||
adds r0, r3, 0x1
|
||||
strh r0, [r2, 0xE]
|
||||
_081BEE78:
|
||||
movs r0, 0
|
||||
strh r0, [r2, 0xA]
|
||||
_081BEE7C:
|
||||
ldr r1, [sp, 0x8]
|
||||
add r1, r10
|
||||
lsls r1, 3
|
||||
adds r1, r6
|
||||
ldrh r0, [r1, 0xA]
|
||||
adds r0, 0x1
|
||||
strh r0, [r1, 0xA]
|
||||
_081BEE8A:
|
||||
ldr r0, [sp, 0x8]
|
||||
add r0, r10
|
||||
lsls r0, 3
|
||||
adds r0, r6
|
||||
ldrb r4, [r0, 0xE]
|
||||
ldrb r5, [r0, 0xC]
|
||||
lsls r0, r4, 16
|
||||
cmp r5, r4
|
||||
bcs _081BEF32
|
||||
str r0, [sp, 0xC]
|
||||
_081BEE9E:
|
||||
movs r6, 0
|
||||
adds r0, r5, 0x1
|
||||
str r0, [sp, 0x4]
|
||||
lsls r4, r5, 3
|
||||
movs r2, 0x5F
|
||||
subs r1, r2, r5
|
||||
lsls r0, r1, 1
|
||||
adds r0, r1
|
||||
lsls r0, 4
|
||||
mov r9, r0
|
||||
_081BEEB2:
|
||||
ldr r0, =gUnknown_0203CF04
|
||||
ldr r0, [r0]
|
||||
ldr r7, =gUnknown_0203CF10
|
||||
ldr r3, [r7]
|
||||
adds r3, r4, r3
|
||||
ldrb r2, [r3, 0x4]
|
||||
adds r1, r2, 0x1
|
||||
strb r1, [r3, 0x4]
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
ldr r1, [r3]
|
||||
adds r1, r2
|
||||
ldrb r1, [r1]
|
||||
add r1, r9
|
||||
lsls r1, 16
|
||||
lsrs r1, 16
|
||||
movs r2, 0x1
|
||||
mov r8, r2
|
||||
str r2, [sp]
|
||||
movs r2, 0
|
||||
movs r3, 0x30
|
||||
bl sub_81BF2B8
|
||||
adds r0, r6, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r6, r0, 24
|
||||
cmp r6, 0
|
||||
beq _081BEEB2
|
||||
ldr r0, [r7]
|
||||
adds r1, r4, r0
|
||||
ldrb r0, [r1, 0x4]
|
||||
cmp r0, 0x2F
|
||||
bls _081BEF24
|
||||
ldr r0, [r1]
|
||||
bl Free
|
||||
ldr r0, [r7]
|
||||
adds r0, r4, r0
|
||||
movs r1, 0
|
||||
str r1, [r0]
|
||||
ldr r1, [sp, 0x8]
|
||||
add r1, r10
|
||||
lsls r1, 3
|
||||
ldr r4, =gTasks
|
||||
adds r1, r4
|
||||
ldrh r0, [r1, 0xC]
|
||||
adds r0, 0x1
|
||||
strh r0, [r1, 0xC]
|
||||
mov r0, r8
|
||||
ands r5, r0
|
||||
cmp r5, 0x1
|
||||
bne _081BEF24
|
||||
ldr r0, =gUnknown_0203CF14
|
||||
ldr r1, [r0]
|
||||
ldrh r0, [r1, 0x2]
|
||||
subs r0, 0x1
|
||||
strh r0, [r1, 0x2]
|
||||
_081BEF24:
|
||||
ldr r1, [sp, 0x4]
|
||||
lsls r0, r1, 16
|
||||
lsrs r5, r0, 16
|
||||
ldr r2, [sp, 0xC]
|
||||
lsrs r0, r2, 16
|
||||
cmp r5, r0
|
||||
bcc _081BEE9E
|
||||
_081BEF32:
|
||||
ldr r0, =gUnknown_0203CF04
|
||||
ldr r1, [r0]
|
||||
movs r2, 0x92
|
||||
lsls r2, 4
|
||||
movs r0, 0
|
||||
movs r3, 0
|
||||
bl LoadBgTiles
|
||||
ldr r0, =gUnknown_0203CF10
|
||||
ldr r0, [r0]
|
||||
movs r4, 0xBE
|
||||
lsls r4, 2
|
||||
adds r0, r4
|
||||
ldrb r0, [r0, 0x4]
|
||||
cmp r0, 0x2F
|
||||
bhi _081BF002
|
||||
b _081BF014
|
||||
.pool
|
||||
_081BEF64:
|
||||
movs r0, 0
|
||||
bl UnsetBgTilemapBuffer
|
||||
ldr r0, =sub_81BEBB4
|
||||
bl FindTaskIdByFunc
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
cmp r0, 0xFF
|
||||
beq _081BEF7C
|
||||
bl DestroyTask
|
||||
_081BEF7C:
|
||||
ldr r0, =gUnknown_0203CF14
|
||||
ldr r1, [r0]
|
||||
movs r0, 0
|
||||
strh r0, [r1]
|
||||
strh r0, [r1, 0x2]
|
||||
bl sub_81BEB90
|
||||
b _081BF002
|
||||
.pool
|
||||
_081BEF94:
|
||||
ldr r4, =gUnknown_0203CF14
|
||||
ldr r0, [r4]
|
||||
bl Free
|
||||
movs r5, 0
|
||||
str r5, [r4]
|
||||
ldr r4, =gUnknown_0203CF10
|
||||
ldr r0, [r4]
|
||||
bl Free
|
||||
str r5, [r4]
|
||||
ldr r4, =gUnknown_0203CF04
|
||||
ldr r0, [r4]
|
||||
bl Free
|
||||
str r5, [r4]
|
||||
ldr r4, =gUnknown_0203CF08
|
||||
ldr r0, [r4]
|
||||
bl Free
|
||||
str r5, [r4]
|
||||
b _081BF002
|
||||
.pool
|
||||
_081BEFD0:
|
||||
movs r0, 0xC
|
||||
movs r1, 0x2
|
||||
bl SetGpuRegBits
|
||||
movs r0, 0x8
|
||||
movs r1, 0
|
||||
bl SetGpuRegBits
|
||||
movs r0, 0
|
||||
movs r1, 0x7
|
||||
movs r2, 0
|
||||
bl SetBgAttribute
|
||||
bl sub_81971D0
|
||||
b _081BF002
|
||||
_081BEFF0:
|
||||
movs r0, 0
|
||||
bl ShowBg
|
||||
b _081BF002
|
||||
_081BEFF8:
|
||||
mov r0, r10
|
||||
bl DestroyTask
|
||||
bl EnableBothScriptContexts
|
||||
_081BF002:
|
||||
ldr r0, =gTasks
|
||||
mov r2, r10
|
||||
lsls r1, r2, 2
|
||||
add r1, r10
|
||||
lsls r1, 3
|
||||
adds r1, r0
|
||||
ldrh r0, [r1, 0x8]
|
||||
adds r0, 0x1
|
||||
strh r0, [r1, 0x8]
|
||||
_081BF014:
|
||||
add sp, 0x10
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BED50
|
||||
|
||||
thumb_func_start sub_81BF028
|
||||
sub_81BF028: @ 81BF028
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
sub sp, 0x18
|
||||
lsls r0, 24
|
||||
lsrs r7, r0, 24
|
||||
ldr r1, =gTasks
|
||||
lsls r0, r7, 2
|
||||
adds r0, r7
|
||||
lsls r0, 3
|
||||
adds r0, r1
|
||||
ldrh r0, [r0, 0x8]
|
||||
subs r0, 0x1
|
||||
lsls r0, 16
|
||||
asrs r0, 16
|
||||
cmp r0, 0x7
|
||||
bls _081BF04C
|
||||
b _081BF228
|
||||
_081BF04C:
|
||||
lsls r0, 2
|
||||
ldr r1, =_081BF060
|
||||
adds r0, r1
|
||||
ldr r0, [r0]
|
||||
mov pc, r0
|
||||
.pool
|
||||
.align 2, 0
|
||||
_081BF060:
|
||||
.4byte _081BF080
|
||||
.4byte _081BF0B4
|
||||
.4byte _081BF0DC
|
||||
.4byte _081BF0F0
|
||||
.4byte _081BF148
|
||||
.4byte _081BF170
|
||||
.4byte _081BF1CC
|
||||
.4byte _081BF224
|
||||
_081BF080:
|
||||
ldr r4, =gUnknown_0203CF0C
|
||||
movs r0, 0x14
|
||||
bl AllocZeroed
|
||||
str r0, [r4]
|
||||
movs r0, 0x80
|
||||
bl AllocZeroed
|
||||
ldr r1, [r4]
|
||||
str r0, [r1]
|
||||
movs r0, 0x8
|
||||
bl AllocZeroed
|
||||
ldr r1, [r4]
|
||||
str r0, [r1, 0x4]
|
||||
movs r0, 0x80
|
||||
lsls r0, 2
|
||||
bl AllocZeroed
|
||||
ldr r1, [r4]
|
||||
str r0, [r1, 0xC]
|
||||
movs r0, 0
|
||||
strh r0, [r1, 0x10]
|
||||
b _081BF228
|
||||
.pool
|
||||
_081BF0B4:
|
||||
ldr r0, =gUnknown_0203CF0C
|
||||
ldr r0, [r0]
|
||||
ldr r1, [r0]
|
||||
movs r5, 0
|
||||
ldr r2, =gRootFossil_Gfx
|
||||
_081BF0BE:
|
||||
adds r0, r5, r2
|
||||
ldrb r0, [r0]
|
||||
strb r0, [r1]
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 16
|
||||
lsrs r5, r0, 16
|
||||
adds r1, 0x1
|
||||
cmp r5, 0x7F
|
||||
bls _081BF0BE
|
||||
b _081BF228
|
||||
.pool
|
||||
_081BF0DC:
|
||||
ldr r0, =gUnknown_0203CF0C
|
||||
ldr r0, [r0]
|
||||
ldr r1, [r0, 0x4]
|
||||
ldr r0, [r0]
|
||||
str r0, [r1]
|
||||
movs r0, 0x80
|
||||
strh r0, [r1, 0x4]
|
||||
b _081BF228
|
||||
.pool
|
||||
_081BF0F0:
|
||||
mov r1, sp
|
||||
ldr r0, =gUnknown_08617E00
|
||||
ldm r0!, {r2-r4}
|
||||
stm r1!, {r2-r4}
|
||||
ldm r0!, {r2-r4}
|
||||
stm r1!, {r2-r4}
|
||||
ldr r4, =gUnknown_0203CF0C
|
||||
ldr r0, [r4]
|
||||
ldr r0, [r0, 0x4]
|
||||
str r0, [sp, 0xC]
|
||||
movs r2, 0x10
|
||||
negs r2, r2
|
||||
mov r0, sp
|
||||
movs r1, 0x80
|
||||
movs r3, 0x1
|
||||
bl CreateSprite
|
||||
ldr r1, [r4]
|
||||
movs r3, 0
|
||||
strb r0, [r1, 0x8]
|
||||
ldr r2, =gSprites
|
||||
ldr r0, [r4]
|
||||
ldrb r1, [r0, 0x8]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r2
|
||||
adds r0, 0x28
|
||||
strb r3, [r0]
|
||||
ldr r3, [r4]
|
||||
ldrb r1, [r3, 0x8]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r2
|
||||
ldrh r1, [r0, 0x20]
|
||||
strh r1, [r0, 0x2E]
|
||||
ldrb r1, [r3, 0x8]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r2
|
||||
movs r1, 0x1
|
||||
strh r1, [r0, 0x30]
|
||||
_081BF148:
|
||||
movs r5, 0
|
||||
ldr r2, =gUnknown_0203CF0C
|
||||
_081BF14C:
|
||||
ldr r0, [r2]
|
||||
ldr r1, [r0, 0xC]
|
||||
lsls r0, r5, 1
|
||||
adds r0, r1
|
||||
strh r5, [r0]
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 16
|
||||
lsrs r5, r0, 16
|
||||
cmp r5, 0xFF
|
||||
bls _081BF14C
|
||||
b _081BF228
|
||||
.pool
|
||||
_081BF170:
|
||||
movs r5, 0
|
||||
movs r6, 0xFF
|
||||
ldr r0, =0x000001ff
|
||||
mov r8, r0
|
||||
_081BF178:
|
||||
bl Random
|
||||
adds r4, r6, 0
|
||||
ands r4, r0
|
||||
bl Random
|
||||
adds r1, r6, 0
|
||||
ands r1, r0
|
||||
ldr r0, =gUnknown_0203CF0C
|
||||
ldr r3, [r0]
|
||||
ldr r0, [r3, 0xC]
|
||||
lsls r1, 1
|
||||
adds r1, r0
|
||||
ldrh r2, [r1]
|
||||
lsls r4, 1
|
||||
adds r4, r0
|
||||
ldrh r0, [r4]
|
||||
strh r0, [r1]
|
||||
strh r2, [r4]
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 16
|
||||
lsrs r5, r0, 16
|
||||
cmp r5, r8
|
||||
bls _081BF178
|
||||
ldr r2, =gSprites
|
||||
ldrb r1, [r3, 0x8]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r2, 0x1C
|
||||
adds r0, r2
|
||||
ldr r1, =sub_81BF248
|
||||
str r1, [r0]
|
||||
b _081BF228
|
||||
.pool
|
||||
_081BF1CC:
|
||||
ldr r3, =gSprites
|
||||
ldr r5, =gUnknown_0203CF0C
|
||||
ldr r0, [r5]
|
||||
ldrb r1, [r0, 0x8]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r2, r0, 2
|
||||
adds r0, r3, 0
|
||||
adds r0, 0x1C
|
||||
adds r0, r2, r0
|
||||
ldr r1, [r0]
|
||||
ldr r0, =SpriteCallbackDummy
|
||||
cmp r1, r0
|
||||
bne _081BF238
|
||||
adds r0, r2, r3
|
||||
bl DestroySprite
|
||||
ldr r0, [r5]
|
||||
ldr r0, [r0, 0xC]
|
||||
bl Free
|
||||
ldr r0, [r5]
|
||||
movs r4, 0
|
||||
str r4, [r0, 0xC]
|
||||
ldr r0, [r0, 0x4]
|
||||
bl Free
|
||||
ldr r0, [r5]
|
||||
str r4, [r0, 0x4]
|
||||
ldr r0, [r0]
|
||||
bl Free
|
||||
ldr r0, [r5]
|
||||
str r4, [r0]
|
||||
bl Free
|
||||
str r4, [r5]
|
||||
b _081BF228
|
||||
.pool
|
||||
_081BF224:
|
||||
bl EnableBothScriptContexts
|
||||
_081BF228:
|
||||
ldr r0, =gTasks
|
||||
lsls r1, r7, 2
|
||||
adds r1, r7
|
||||
lsls r1, 3
|
||||
adds r1, r0
|
||||
ldrh r0, [r1, 0x8]
|
||||
adds r0, 0x1
|
||||
strh r0, [r1, 0x8]
|
||||
_081BF238:
|
||||
add sp, 0x18
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81BF028
|
||||
|
||||
thumb_func_start sub_81BF248
|
||||
sub_81BF248: @ 81BF248
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x4
|
||||
adds r5, r0, 0
|
||||
ldr r0, =gUnknown_0203CF0C
|
||||
ldr r0, [r0]
|
||||
ldrh r0, [r0, 0x10]
|
||||
cmp r0, 0xFF
|
||||
bls _081BF268
|
||||
ldr r0, =SpriteCallbackDummy
|
||||
str r0, [r5, 0x1C]
|
||||
b _081BF2B0
|
||||
.pool
|
||||
_081BF268:
|
||||
ldrh r1, [r5, 0x22]
|
||||
movs r2, 0x22
|
||||
ldrsh r0, [r5, r2]
|
||||
cmp r0, 0x5F
|
||||
ble _081BF2AC
|
||||
movs r4, 0
|
||||
_081BF274:
|
||||
ldr r0, =gUnknown_0203CF0C
|
||||
ldr r3, [r0]
|
||||
ldr r0, [r3]
|
||||
ldrh r1, [r3, 0x10]
|
||||
adds r2, r1, 0x1
|
||||
strh r2, [r3, 0x10]
|
||||
lsls r1, 16
|
||||
ldr r2, [r3, 0xC]
|
||||
lsrs r1, 15
|
||||
adds r1, r2
|
||||
ldrh r1, [r1]
|
||||
movs r2, 0
|
||||
str r2, [sp]
|
||||
movs r3, 0x10
|
||||
bl sub_81BF2B8
|
||||
adds r0, r4, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
cmp r4, 0x1
|
||||
bls _081BF274
|
||||
adds r0, r5, 0
|
||||
movs r1, 0
|
||||
bl StartSpriteAnim
|
||||
b _081BF2B0
|
||||
.pool
|
||||
_081BF2AC:
|
||||
adds r0, r1, 0x1
|
||||
strh r0, [r5, 0x22]
|
||||
_081BF2B0:
|
||||
add sp, 0x4
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_81BF248
|
||||
|
||||
thumb_func_start sub_81BF2B8
|
||||
sub_81BF2B8: @ 81BF2B8
|
||||
push {r4-r7,lr}
|
||||
|
||||
6270
asm/intro.s
6270
asm/intro.s
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,637 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start RemoveBagObject
|
||||
@ void RemoveBagObject(u8 a1)
|
||||
RemoveBagObject: @ 80D4CA8
|
||||
push {r4,r5,lr}
|
||||
lsls r0, 24
|
||||
lsrs r4, r0, 24
|
||||
ldr r0, =gUnknown_0203CE54
|
||||
ldr r2, =0x00000804
|
||||
adds r1, r4, r2
|
||||
ldr r0, [r0]
|
||||
adds r5, r0, r1
|
||||
ldrb r0, [r5]
|
||||
cmp r0, 0xFF
|
||||
beq _080D4CEE
|
||||
adds r4, 0x64
|
||||
adds r0, r4, 0
|
||||
bl FreeSpriteTilesByTag
|
||||
adds r0, r4, 0
|
||||
bl FreeSpritePaletteByTag
|
||||
ldrb r1, [r5]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
ldr r4, =gSprites
|
||||
adds r0, r4
|
||||
bl FreeSpriteOamMatrix
|
||||
ldrb r1, [r5]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r4
|
||||
bl DestroySprite
|
||||
movs r0, 0xFF
|
||||
strb r0, [r5]
|
||||
_080D4CEE:
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end RemoveBagObject
|
||||
|
||||
thumb_func_start AddBagVisualObject
|
||||
@ void AddBagVisualObject(u8 bagPocketId)
|
||||
AddBagVisualObject: @ 80D4D00
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
ldr r0, =gUnknown_0203CE54
|
||||
ldr r4, [r0]
|
||||
ldr r0, =0x00000804
|
||||
adds r4, r0
|
||||
ldr r0, =gUnknown_0857FB4C
|
||||
movs r1, 0x44
|
||||
movs r2, 0x42
|
||||
movs r3, 0
|
||||
bl CreateSprite
|
||||
strb r0, [r4]
|
||||
adds r0, r5, 0
|
||||
movs r1, 0
|
||||
bl SetBagVisualPocketId
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end AddBagVisualObject
|
||||
|
||||
thumb_func_start SetBagVisualPocketId
|
||||
@ void SetBagVisualPocketId(u8 bagPocketId, bool8 isSwitchingPockets)
|
||||
SetBagVisualPocketId: @ 80D4D38
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
lsrs r3, r0, 24
|
||||
lsls r1, 24
|
||||
ldr r0, =gUnknown_0203CE54
|
||||
ldr r0, [r0]
|
||||
ldr r2, =0x00000804
|
||||
adds r0, r2
|
||||
ldrb r2, [r0]
|
||||
lsls r0, r2, 4
|
||||
adds r0, r2
|
||||
lsls r0, 2
|
||||
ldr r2, =gSprites
|
||||
adds r2, r0, r2
|
||||
cmp r1, 0
|
||||
beq _080D4D84
|
||||
ldr r0, =0x0000fffb
|
||||
strh r0, [r2, 0x26]
|
||||
ldr r0, =ObjectCB_BagVisualSwitchingPockets
|
||||
str r0, [r2, 0x1C]
|
||||
adds r0, r3, 0x1
|
||||
strh r0, [r2, 0x2E]
|
||||
adds r0, r2, 0
|
||||
movs r1, 0
|
||||
bl StartSpriteAnim
|
||||
b _080D4D90
|
||||
.pool
|
||||
_080D4D84:
|
||||
adds r1, r3, 0x1
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r2, 0
|
||||
bl StartSpriteAnim
|
||||
_080D4D90:
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end SetBagVisualPocketId
|
||||
|
||||
thumb_func_start ObjectCB_BagVisualSwitchingPockets
|
||||
@ void ObjectCB_BagVisualSwitchingPockets(struct obj *object)
|
||||
ObjectCB_BagVisualSwitchingPockets: @ 80D4D94
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldrh r1, [r4, 0x26]
|
||||
movs r2, 0x26
|
||||
ldrsh r0, [r4, r2]
|
||||
cmp r0, 0
|
||||
beq _080D4DA8
|
||||
adds r0, r1, 0x1
|
||||
strh r0, [r4, 0x26]
|
||||
b _080D4DB8
|
||||
_080D4DA8:
|
||||
ldrh r1, [r4, 0x2E]
|
||||
lsls r1, 24
|
||||
lsrs r1, 24
|
||||
adds r0, r4, 0
|
||||
bl StartSpriteAnim
|
||||
ldr r0, =SpriteCallbackDummy
|
||||
str r0, [r4, 0x1C]
|
||||
_080D4DB8:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end ObjectCB_BagVisualSwitchingPockets
|
||||
|
||||
thumb_func_start ShakeBagVisual
|
||||
@ void ShakeBagVisual()
|
||||
ShakeBagVisual: @ 80D4DC4
|
||||
push {r4,lr}
|
||||
ldr r0, =gUnknown_0203CE54
|
||||
ldr r0, [r0]
|
||||
ldr r1, =0x00000804
|
||||
adds r0, r1
|
||||
ldrb r1, [r0]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
ldr r1, =gSprites
|
||||
adds r4, r0, r1
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x3F
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0x20
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080D4DF4
|
||||
adds r0, r4, 0
|
||||
movs r1, 0x1
|
||||
bl StartSpriteAffineAnim
|
||||
ldr r0, =ObjectCB_ShakeBagVisual
|
||||
str r0, [r4, 0x1C]
|
||||
_080D4DF4:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end ShakeBagVisual
|
||||
|
||||
thumb_func_start ObjectCB_ShakeBagVisual
|
||||
@ void ObjectCB_ShakeBagVisual(struct obj *object)
|
||||
ObjectCB_ShakeBagVisual: @ 80D4E0C
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
adds r0, 0x3F
|
||||
ldrb r1, [r0]
|
||||
movs r0, 0x20
|
||||
ands r0, r1
|
||||
cmp r0, 0
|
||||
beq _080D4E28
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl StartSpriteAffineAnim
|
||||
ldr r0, =SpriteCallbackDummy
|
||||
str r0, [r4, 0x1C]
|
||||
_080D4E28:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end ObjectCB_ShakeBagVisual
|
||||
|
||||
thumb_func_start AddSwitchPocketRotatingBallObject
|
||||
@ void AddSwitchPocketRotatingBallObject(u16 rotationDirection)
|
||||
AddSwitchPocketRotatingBallObject: @ 80D4E34
|
||||
push {r4,r5,lr}
|
||||
adds r5, r0, 0
|
||||
lsls r5, 16
|
||||
lsrs r5, 16
|
||||
ldr r0, =gUnknown_0203CE54
|
||||
ldr r4, [r0]
|
||||
ldr r0, =0x00000805
|
||||
adds r4, r0
|
||||
ldr r0, =gUnknown_0857FBA0
|
||||
bl LoadSpriteSheet
|
||||
ldr r0, =gUnknown_0857FBA8
|
||||
bl LoadSpritePalette
|
||||
ldr r0, =gUnknown_0857FBB0
|
||||
movs r1, 0x10
|
||||
movs r2, 0x10
|
||||
movs r3, 0
|
||||
bl CreateSprite
|
||||
strb r0, [r4]
|
||||
ldr r2, =gSprites
|
||||
ldrb r1, [r4]
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
adds r0, r2
|
||||
strh r5, [r0, 0x2E]
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end AddSwitchPocketRotatingBallObject
|
||||
|
||||
thumb_func_start update_switch_pocket_rotating_ball_coords
|
||||
@ void update_switch_pocket_rotating_ball_coords(struct obj *object)
|
||||
update_switch_pocket_rotating_ball_coords: @ 80D4E8C
|
||||
ldrh r2, [r0, 0x30]
|
||||
ldrh r1, [r0, 0x34]
|
||||
adds r1, 0x1
|
||||
movs r3, 0x1
|
||||
ands r1, r3
|
||||
subs r2, r1
|
||||
adds r1, r0, 0
|
||||
adds r1, 0x28
|
||||
strb r2, [r1]
|
||||
ldrh r2, [r0, 0x30]
|
||||
ldrh r1, [r0, 0x34]
|
||||
adds r1, 0x1
|
||||
ands r1, r3
|
||||
subs r2, r1
|
||||
adds r0, 0x29
|
||||
strb r2, [r0]
|
||||
bx lr
|
||||
thumb_func_end update_switch_pocket_rotating_ball_coords
|
||||
|
||||
thumb_func_start ObjectCB_SwitchPocketRotatingBallInit
|
||||
@ void ObjectCB_SwitchPocketRotatingBallInit(struct obj *object)
|
||||
ObjectCB_SwitchPocketRotatingBallInit: @ 80D4EB0
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldrb r1, [r4, 0x1]
|
||||
movs r0, 0x4
|
||||
negs r0, r0
|
||||
ands r0, r1
|
||||
movs r1, 0x1
|
||||
orrs r0, r1
|
||||
strb r0, [r4, 0x1]
|
||||
movs r0, 0x2E
|
||||
ldrsh r1, [r4, r0]
|
||||
movs r0, 0x1
|
||||
negs r0, r0
|
||||
cmp r1, r0
|
||||
bne _080D4ED8
|
||||
ldr r0, =gUnknown_0857FB98
|
||||
b _080D4EDA
|
||||
.pool
|
||||
_080D4ED8:
|
||||
ldr r0, =gUnknown_0857FB9C
|
||||
_080D4EDA:
|
||||
str r0, [r4, 0x10]
|
||||
adds r0, r4, 0
|
||||
bl InitSpriteAffineAnim
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x28
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
strh r0, [r4, 0x30]
|
||||
adds r0, r4, 0
|
||||
adds r0, 0x29
|
||||
ldrb r0, [r0]
|
||||
lsls r0, 24
|
||||
asrs r0, 24
|
||||
strh r0, [r4, 0x30]
|
||||
adds r0, r4, 0
|
||||
bl update_switch_pocket_rotating_ball_coords
|
||||
ldr r0, =ObjectCB_SwitchPocketRotatingBallContinue
|
||||
str r0, [r4, 0x1C]
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end ObjectCB_SwitchPocketRotatingBallInit
|
||||
|
||||
thumb_func_start ObjectCB_SwitchPocketRotatingBallContinue
|
||||
@ void ObjectCB_SwitchPocketRotatingBallContinue(struct obj *object)
|
||||
ObjectCB_SwitchPocketRotatingBallContinue: @ 80D4F14
|
||||
push {r4,lr}
|
||||
adds r4, r0, 0
|
||||
ldrh r0, [r4, 0x34]
|
||||
adds r0, 0x1
|
||||
strh r0, [r4, 0x34]
|
||||
adds r0, r4, 0
|
||||
bl update_switch_pocket_rotating_ball_coords
|
||||
movs r1, 0x34
|
||||
ldrsh r0, [r4, r1]
|
||||
cmp r0, 0x10
|
||||
bne _080D4F32
|
||||
movs r0, 0x1
|
||||
bl RemoveBagObject
|
||||
_080D4F32:
|
||||
pop {r4}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end ObjectCB_SwitchPocketRotatingBallContinue
|
||||
|
||||
thumb_func_start AddBagItemIconObject
|
||||
@ void AddBagItemIconObject(u16 itemId, u8 a2)
|
||||
AddBagItemIconObject: @ 80D4F38
|
||||
push {r4-r6,lr}
|
||||
lsls r0, 16
|
||||
lsrs r6, r0, 16
|
||||
lsls r1, 24
|
||||
lsrs r4, r1, 24
|
||||
ldr r0, =gUnknown_0203CE54
|
||||
ldr r2, =0x00000806
|
||||
adds r1, r4, r2
|
||||
ldr r0, [r0]
|
||||
adds r5, r0, r1
|
||||
ldrb r0, [r5]
|
||||
cmp r0, 0xFF
|
||||
bne _080D4F86
|
||||
adds r4, 0x66
|
||||
adds r0, r4, 0
|
||||
bl FreeSpriteTilesByTag
|
||||
adds r0, r4, 0
|
||||
bl FreeSpritePaletteByTag
|
||||
adds r0, r4, 0
|
||||
adds r1, r4, 0
|
||||
adds r2, r6, 0
|
||||
bl AddItemIconSprite
|
||||
lsls r0, 24
|
||||
lsrs r2, r0, 24
|
||||
cmp r2, 0x40
|
||||
beq _080D4F86
|
||||
strb r2, [r5]
|
||||
ldr r1, =gSprites
|
||||
lsls r0, r2, 4
|
||||
adds r0, r2
|
||||
lsls r0, 2
|
||||
adds r0, r1
|
||||
movs r1, 0x18
|
||||
strh r1, [r0, 0x24]
|
||||
movs r1, 0x58
|
||||
strh r1, [r0, 0x26]
|
||||
_080D4F86:
|
||||
pop {r4-r6}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end AddBagItemIconObject
|
||||
|
||||
thumb_func_start RemoveBagItemIconObject
|
||||
@ void RemoveBagItemIconObject(u8 a1)
|
||||
RemoveBagItemIconObject: @ 80D4F98
|
||||
push {lr}
|
||||
lsls r0, 24
|
||||
movs r1, 0x80
|
||||
lsls r1, 18
|
||||
adds r0, r1
|
||||
lsrs r0, 24
|
||||
bl RemoveBagObject
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end RemoveBagItemIconObject
|
||||
|
||||
thumb_func_start sub_80D4FAC
|
||||
sub_80D4FAC: @ 80D4FAC
|
||||
push {lr}
|
||||
ldr r0, =gUnknown_0203CE54
|
||||
ldr r0, [r0]
|
||||
ldr r1, =0x00000808
|
||||
adds r0, r1
|
||||
movs r1, 0x8
|
||||
bl sub_8122344
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80D4FAC
|
||||
|
||||
thumb_func_start sub_80D4FC8
|
||||
sub_80D4FC8: @ 80D4FC8
|
||||
push {lr}
|
||||
adds r2, r0, 0
|
||||
lsls r2, 24
|
||||
lsrs r2, 24
|
||||
ldr r0, =gUnknown_0203CE54
|
||||
ldr r0, [r0]
|
||||
ldr r1, =0x00000808
|
||||
adds r0, r1
|
||||
movs r1, 0x8
|
||||
bl sub_81223FC
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80D4FC8
|
||||
|
||||
thumb_func_start sub_80D4FEC
|
||||
sub_80D4FEC: @ 80D4FEC
|
||||
push {lr}
|
||||
adds r3, r0, 0
|
||||
lsls r3, 24
|
||||
ldr r0, =gUnknown_0203CE54
|
||||
ldr r0, [r0]
|
||||
ldr r1, =0x00000808
|
||||
adds r0, r1
|
||||
lsrs r3, 4
|
||||
movs r1, 0x80
|
||||
lsls r1, 13
|
||||
adds r3, r1
|
||||
lsrs r3, 16
|
||||
movs r1, 0x88
|
||||
movs r2, 0x78
|
||||
bl sub_8122448
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80D4FEC
|
||||
|
||||
thumb_func_start sub_80D5018
|
||||
sub_80D5018: @ 80D5018
|
||||
push {r4-r7,lr}
|
||||
mov r7, r8
|
||||
push {r7}
|
||||
adds r6, r0, 0
|
||||
adds r4, r1, 0
|
||||
movs r2, 0x80
|
||||
lsls r2, 4
|
||||
adds r0, r4, 0
|
||||
movs r1, 0
|
||||
bl memset
|
||||
movs r0, 0x80
|
||||
lsls r0, 1
|
||||
adds r4, r0
|
||||
movs r7, 0
|
||||
_080D5036:
|
||||
adds r4, 0x20
|
||||
movs r5, 0
|
||||
adds r1, r7, 0x1
|
||||
mov r8, r1
|
||||
_080D503E:
|
||||
adds r0, r4, 0
|
||||
adds r1, r6, 0
|
||||
movs r2, 0x20
|
||||
bl memcpy
|
||||
adds r4, 0x20
|
||||
adds r6, 0x20
|
||||
adds r0, r5, 0x1
|
||||
lsls r0, 24
|
||||
lsrs r5, r0, 24
|
||||
cmp r5, 0x5
|
||||
bls _080D503E
|
||||
cmp r7, 0x5
|
||||
beq _080D505C
|
||||
adds r4, 0x20
|
||||
_080D505C:
|
||||
mov r1, r8
|
||||
lsls r0, r1, 24
|
||||
lsrs r7, r0, 24
|
||||
cmp r7, 0x5
|
||||
bls _080D5036
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_80D5018
|
||||
|
||||
thumb_func_start sub_80D5070
|
||||
sub_80D5070: @ 80D5070
|
||||
push {r4,r5,lr}
|
||||
sub sp, 0x8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
adds r4, r0, 0
|
||||
cmp r4, 0x2A
|
||||
bne _080D5082
|
||||
bl IsEnigmaBerryValid
|
||||
_080D5082:
|
||||
ldr r5, =gBerryPicTable
|
||||
lsls r4, 3
|
||||
adds r0, r5, 0x4
|
||||
adds r0, r4, r0
|
||||
ldr r0, [r0]
|
||||
str r0, [sp]
|
||||
ldr r1, =0xffff0000
|
||||
ldr r0, [sp, 0x4]
|
||||
ands r0, r1
|
||||
ldr r1, =0x00007544
|
||||
orrs r0, r1
|
||||
str r0, [sp, 0x4]
|
||||
mov r0, sp
|
||||
bl LoadCompressedObjectPalette
|
||||
adds r4, r5
|
||||
ldr r0, [r4]
|
||||
ldr r4, =0x0201d000
|
||||
adds r1, r4, 0
|
||||
bl LZDecompressWram
|
||||
ldr r0, =0xfffff000
|
||||
adds r1, r4, r0
|
||||
adds r0, r4, 0
|
||||
bl sub_80D5018
|
||||
add sp, 0x8
|
||||
pop {r4,r5}
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_80D5070
|
||||
|
||||
thumb_func_start CreateBerryTagSprite
|
||||
CreateBerryTagSprite: @ 80D50D4
|
||||
push {r4,r5,lr}
|
||||
adds r4, r1, 0
|
||||
adds r5, r2, 0
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
lsls r4, 16
|
||||
lsrs r4, 16
|
||||
lsls r5, 16
|
||||
lsrs r5, 16
|
||||
bl sub_80D5070
|
||||
ldr r0, =gUnknown_0857FBEC
|
||||
lsls r4, 16
|
||||
asrs r4, 16
|
||||
lsls r5, 16
|
||||
asrs r5, 16
|
||||
adds r1, r4, 0
|
||||
adds r2, r5, 0
|
||||
movs r3, 0
|
||||
bl CreateSprite
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
pop {r4,r5}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end CreateBerryTagSprite
|
||||
|
||||
thumb_func_start FreeBerryTagSpritePalette
|
||||
FreeBerryTagSpritePalette: @ 80D510C
|
||||
push {lr}
|
||||
ldr r0, =0x00007544
|
||||
bl FreeSpritePaletteByTag
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end FreeBerryTagSpritePalette
|
||||
|
||||
thumb_func_start sub_80D511C
|
||||
sub_80D511C: @ 80D511C
|
||||
push {r4-r6,lr}
|
||||
mov r6, r8
|
||||
push {r6}
|
||||
adds r4, r0, 0
|
||||
adds r5, r1, 0
|
||||
adds r6, r2, 0
|
||||
mov r8, r3
|
||||
lsls r4, 24
|
||||
lsrs r4, 24
|
||||
lsls r5, 24
|
||||
lsrs r5, 24
|
||||
lsls r6, 24
|
||||
lsrs r6, 24
|
||||
mov r0, r8
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
mov r8, r0
|
||||
ldr r0, =0x00007544
|
||||
bl FreeSpritePaletteByTag
|
||||
adds r0, r4, 0
|
||||
bl sub_80D5070
|
||||
ldr r0, =gUnknown_0857FC7C
|
||||
adds r1, r5, 0
|
||||
adds r2, r6, 0
|
||||
movs r3, 0
|
||||
bl CreateSprite
|
||||
lsls r0, 24
|
||||
lsrs r1, r0, 24
|
||||
adds r4, r1, 0
|
||||
mov r0, r8
|
||||
cmp r0, 0x1
|
||||
bne _080D5172
|
||||
lsls r0, r1, 4
|
||||
adds r0, r1
|
||||
lsls r0, 2
|
||||
ldr r1, =gSprites
|
||||
adds r0, r1
|
||||
movs r1, 0x1
|
||||
bl StartSpriteAffineAnim
|
||||
_080D5172:
|
||||
adds r0, r4, 0
|
||||
pop {r3}
|
||||
mov r8, r3
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end sub_80D511C
|
||||
|
||||
thumb_func_start CreateBerryFlavorCircleSprite
|
||||
CreateBerryFlavorCircleSprite: @ 80D518C
|
||||
push {lr}
|
||||
adds r1, r0, 0
|
||||
ldr r0, =gUnknown_0857FE10
|
||||
lsls r1, 16
|
||||
asrs r1, 16
|
||||
movs r2, 0x74
|
||||
movs r3, 0
|
||||
bl CreateSprite
|
||||
lsls r0, 24
|
||||
lsrs r0, 24
|
||||
pop {r1}
|
||||
bx r1
|
||||
.pool
|
||||
thumb_func_end CreateBerryFlavorCircleSprite
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
@@ -903,7 +903,7 @@ sub_8160EA0: @ 8160EA0
|
||||
ldrb r0, [r0]
|
||||
ldr r1, =gUnknown_0203BC38
|
||||
adds r2, r1, 0x2
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
bl FreeAllWindowBuffers
|
||||
ldr r0, [r4]
|
||||
bl Free
|
||||
@@ -988,7 +988,7 @@ sub_8160F50: @ 8160F50
|
||||
ldr r4, =gUnknown_0203BC38
|
||||
adds r2, r4, 0x2
|
||||
adds r1, r4, 0
|
||||
bl sub_81AE860
|
||||
bl ListMenuGetScrollAndRow
|
||||
movs r0, 0x2
|
||||
negs r0, r0
|
||||
cmp r5, r0
|
||||
|
||||
1643
asm/list_menu.s
1643
asm/list_menu.s
File diff suppressed because it is too large
Load Diff
@@ -8,7 +8,7 @@
|
||||
thumb_func_start sub_80D47D4
|
||||
sub_80D47D4: @ 80D47D4
|
||||
push {lr}
|
||||
bl sub_80A0934
|
||||
bl HideStartMenu
|
||||
bl ShowMapNamePopup
|
||||
movs r0, 0x1
|
||||
pop {r1}
|
||||
|
||||
@@ -15413,7 +15413,7 @@ sub_81B8448: @ 81B8448
|
||||
str r0, [sp]
|
||||
ldr r0, =sub_81B1370
|
||||
str r0, [sp, 0x4]
|
||||
ldr r0, =sub_816BB28
|
||||
ldr r0, =Mailbox_ReturnToMailListAfterDeposit
|
||||
str r0, [sp, 0x8]
|
||||
movs r0, 0
|
||||
movs r1, 0
|
||||
@@ -15442,7 +15442,7 @@ sub_81B8474: @ 81B8474
|
||||
movs r0, 0
|
||||
strb r0, [r1]
|
||||
ldr r2, =gSaveBlock1Ptr
|
||||
ldr r0, =gUnknown_0203BCB8
|
||||
ldr r0, =playerPCItemPageInfo
|
||||
ldrh r1, [r0]
|
||||
adds r1, 0x6
|
||||
ldrh r0, [r0, 0x2]
|
||||
|
||||
3436
asm/player_pc.s
3436
asm/player_pc.s
File diff suppressed because it is too large
Load Diff
@@ -3469,7 +3469,7 @@ sub_81C5B4C: @ 81C5B4C
|
||||
ldr r4, =gUnknown_0203CF38
|
||||
subs r2, r4, 0x2
|
||||
adds r1, r4, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
ldr r0, =gUnknown_0203CF2C
|
||||
ldr r0, [r0]
|
||||
ldr r0, [r0]
|
||||
@@ -3545,7 +3545,7 @@ _081C5C12:
|
||||
adds r1, r4, 0
|
||||
adds r1, 0x8
|
||||
adds r2, r4, 0x6
|
||||
bl sub_81AE860
|
||||
bl ListMenuGetScrollAndRow
|
||||
ldrh r1, [r4, 0x8]
|
||||
ldrh r0, [r4, 0x6]
|
||||
adds r1, r0
|
||||
@@ -3572,7 +3572,7 @@ _081C5C5C:
|
||||
mov r8, r1
|
||||
mov r2, r8
|
||||
subs r2, 0x2
|
||||
bl sub_81AE860
|
||||
bl ListMenuGetScrollAndRow
|
||||
movs r0, 0x2
|
||||
negs r0, r0
|
||||
cmp r6, r0
|
||||
@@ -4642,7 +4642,7 @@ sub_81C65CC: @ 81C65CC
|
||||
ldrb r0, [r4]
|
||||
adds r1, r6, 0
|
||||
adds r2, r7, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
bl sub_81C5924
|
||||
bl sub_81C59BC
|
||||
bl sub_81C5314
|
||||
@@ -4953,7 +4953,7 @@ sub_81C68B0: @ 81C68B0
|
||||
ldrb r0, [r4]
|
||||
ldr r1, =gUnknown_0203CF38
|
||||
subs r2, r1, 0x2
|
||||
bl sub_81AE860
|
||||
bl ListMenuGetScrollAndRow
|
||||
b _081C6940
|
||||
.pool
|
||||
_081C68F8:
|
||||
@@ -4964,7 +4964,7 @@ _081C68F8:
|
||||
ldr r4, =gUnknown_0203CF38
|
||||
subs r2, r4, 0x2
|
||||
adds r1, r4, 0
|
||||
bl sub_81AE860
|
||||
bl ListMenuGetScrollAndRow
|
||||
movs r0, 0
|
||||
bl sub_81C7028
|
||||
subs r4, 0x8
|
||||
@@ -5054,7 +5054,7 @@ _081C69A8:
|
||||
ldrb r0, [r5]
|
||||
adds r1, r7, 0
|
||||
mov r2, r8
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
movs r3, 0x2
|
||||
ldrsh r0, [r5, r3]
|
||||
cmp r0, r4
|
||||
@@ -5109,7 +5109,7 @@ sub_81C6A14: @ 81C6A14
|
||||
ldrb r0, [r4]
|
||||
adds r1, r5, 0
|
||||
adds r2, r7, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
movs r0, 0x2
|
||||
ldrsh r2, [r4, r0]
|
||||
ldrh r0, [r5]
|
||||
|
||||
1053
asm/pokenav.s
1053
asm/pokenav.s
File diff suppressed because it is too large
Load Diff
@@ -1192,7 +1192,7 @@ sub_8012F64: @ 8012F64
|
||||
ldrb r0, [r4, 0x12]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
ldrb r0, [r4, 0x10]
|
||||
bl ClearWindowTilemap
|
||||
ldrb r0, [r4, 0xF]
|
||||
@@ -2394,7 +2394,7 @@ _08013A8C:
|
||||
ldrb r0, [r6, 0xE]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
ldrb r0, [r6, 0xC]
|
||||
bl ClearWindowTilemap
|
||||
ldrb r0, [r6, 0xB]
|
||||
@@ -4511,7 +4511,7 @@ _08014E16:
|
||||
ldrb r0, [r5, 0x12]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
ldrb r0, [r5, 0xF]
|
||||
@@ -4567,7 +4567,7 @@ _08014EA8:
|
||||
ldrb r0, [r5, 0x12]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
ldrb r0, [r5, 0xF]
|
||||
@@ -4923,7 +4923,7 @@ _08015204:
|
||||
ldrb r0, [r7, 0xE]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
ldrb r0, [r7, 0xD]
|
||||
@@ -5292,7 +5292,7 @@ _08015564:
|
||||
ldrb r0, [r5, 0xE]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
movs r0, 0
|
||||
bl CopyBgTilemapBufferToVram
|
||||
ldrb r0, [r5, 0xB]
|
||||
@@ -8545,7 +8545,7 @@ _08017228:
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x1
|
||||
bl sub_819746C
|
||||
@@ -8565,7 +8565,7 @@ _08017264:
|
||||
ldrb r0, [r6]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
ldrb r0, [r5]
|
||||
movs r1, 0x1
|
||||
bl sub_819746C
|
||||
@@ -8669,7 +8669,7 @@ _0801733E:
|
||||
ldrb r0, [r4]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
ldrb r0, [r6]
|
||||
bl RemoveWindow
|
||||
mov r7, r9
|
||||
@@ -8691,7 +8691,7 @@ _08017368:
|
||||
ldrb r0, [r1]
|
||||
movs r1, 0
|
||||
movs r2, 0
|
||||
bl sub_81AE6C8
|
||||
bl DestroyListMenuTask
|
||||
ldrb r0, [r6]
|
||||
bl RemoveWindow
|
||||
mov r3, r9
|
||||
|
||||
@@ -836,7 +836,7 @@ _080E24C6:
|
||||
adds r1, r4, 0
|
||||
adds r2, r7, 0
|
||||
movs r3, 0x11
|
||||
bl sub_819A024
|
||||
bl PrintPlayerNameOnWindow
|
||||
adds r0, r6, 0
|
||||
mov r1, r8
|
||||
movs r2, 0
|
||||
|
||||
@@ -1985,7 +1985,7 @@ _080E0AEA:
|
||||
adds r1, r2, r3
|
||||
subs r3, 0x2
|
||||
adds r2, r3
|
||||
bl sub_81AE860
|
||||
bl ListMenuGetScrollAndRow
|
||||
movs r0, 0x2
|
||||
negs r0, r0
|
||||
cmp r5, r0
|
||||
|
||||
2101
asm/start_menu.s
2101
asm/start_menu.s
File diff suppressed because it is too large
Load Diff
@@ -1,206 +0,0 @@
|
||||
.include "asm/macros.inc"
|
||||
.include "constants/constants.inc"
|
||||
|
||||
.syntax unified
|
||||
|
||||
.text
|
||||
|
||||
thumb_func_start sub_81DA57C
|
||||
sub_81DA57C: @ 81DA57C
|
||||
push {lr}
|
||||
ldr r0, =0x00000864
|
||||
bl FlagGet
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _081DA5CA
|
||||
bl Random
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
movs r1, 0x64
|
||||
bl __umodsi3
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
cmp r0, 0x1E
|
||||
bhi _081DA5CA
|
||||
movs r0, 0x5B
|
||||
bl FlagGet
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
beq _081DA5C0
|
||||
ldr r0, =gUnknown_0862AD34
|
||||
movs r1, 0x8
|
||||
movs r2, 0x5
|
||||
bl sub_81DA5D4
|
||||
b _081DA5CA
|
||||
.pool
|
||||
_081DA5C0:
|
||||
ldr r0, =gUnknown_0862AD44
|
||||
movs r1, 0x7
|
||||
movs r2, 0x1
|
||||
bl sub_81DA5D4
|
||||
_081DA5CA:
|
||||
pop {r0}
|
||||
bx r0
|
||||
.pool
|
||||
thumb_func_end sub_81DA57C
|
||||
|
||||
thumb_func_start sub_81DA5D4
|
||||
sub_81DA5D4: @ 81DA5D4
|
||||
push {r4-r7,lr}
|
||||
mov r7, r10
|
||||
mov r6, r9
|
||||
mov r5, r8
|
||||
push {r5-r7}
|
||||
sub sp, 0x8
|
||||
mov r9, r0
|
||||
adds r7, r1, 0
|
||||
mov r10, r2
|
||||
movs r6, 0
|
||||
movs r0, 0x5
|
||||
mov r8, r0
|
||||
movs r5, 0
|
||||
cmp r5, r7
|
||||
bcs _081DA61C
|
||||
mov r4, r9
|
||||
_081DA5F4:
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
ldrh r1, [r4]
|
||||
ldr r2, =0x000009ca
|
||||
adds r0, r2
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _081DA614
|
||||
adds r0, r1, 0
|
||||
bl sub_81DA6CC
|
||||
cmp r8, r0
|
||||
ble _081DA612
|
||||
mov r8, r0
|
||||
_081DA612:
|
||||
adds r6, 0x1
|
||||
_081DA614:
|
||||
adds r4, 0x2
|
||||
adds r5, 0x1
|
||||
cmp r5, r7
|
||||
bcc _081DA5F4
|
||||
_081DA61C:
|
||||
cmp r6, 0
|
||||
beq _081DA6BA
|
||||
cmp r8, r10
|
||||
bhi _081DA6BA
|
||||
movs r6, 0
|
||||
movs r5, 0
|
||||
cmp r5, r7
|
||||
bcs _081DA654
|
||||
mov r4, r9
|
||||
_081DA62E:
|
||||
ldr r0, =gSaveBlock1Ptr
|
||||
ldr r0, [r0]
|
||||
ldrh r1, [r4]
|
||||
ldr r2, =0x000009ca
|
||||
adds r0, r2
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _081DA64C
|
||||
adds r0, r1, 0
|
||||
bl sub_81DA6CC
|
||||
cmp r0, r8
|
||||
bne _081DA64C
|
||||
adds r6, 0x1
|
||||
_081DA64C:
|
||||
adds r4, 0x2
|
||||
adds r5, 0x1
|
||||
cmp r5, r7
|
||||
bcc _081DA62E
|
||||
_081DA654:
|
||||
cmp r6, 0
|
||||
beq _081DA6BA
|
||||
bl Random
|
||||
lsls r0, 16
|
||||
lsrs r0, 16
|
||||
adds r1, r6, 0
|
||||
bl __modsi3
|
||||
adds r6, r0, 0
|
||||
movs r5, 0
|
||||
cmp r5, r7
|
||||
bcs _081DA6BA
|
||||
ldr r2, =gSaveBlock1Ptr
|
||||
ldr r3, =0x000009ca
|
||||
mov r4, r9
|
||||
_081DA674:
|
||||
ldr r0, [r2]
|
||||
ldrh r1, [r4]
|
||||
adds r0, r3
|
||||
adds r0, r1
|
||||
ldrb r0, [r0]
|
||||
cmp r0, 0
|
||||
bne _081DA6B2
|
||||
adds r0, r1, 0
|
||||
str r2, [sp]
|
||||
str r3, [sp, 0x4]
|
||||
bl sub_81DA6CC
|
||||
ldr r2, [sp]
|
||||
ldr r3, [sp, 0x4]
|
||||
cmp r0, r8
|
||||
bne _081DA6B2
|
||||
cmp r6, 0
|
||||
bne _081DA6B0
|
||||
ldr r0, [r2]
|
||||
adds r0, r3
|
||||
ldrh r4, [r4]
|
||||
adds r0, r4
|
||||
mov r1, r8
|
||||
strb r1, [r0]
|
||||
b _081DA6BA
|
||||
.pool
|
||||
_081DA6B0:
|
||||
subs r6, 0x1
|
||||
_081DA6B2:
|
||||
adds r4, 0x2
|
||||
adds r5, 0x1
|
||||
cmp r5, r7
|
||||
bcc _081DA674
|
||||
_081DA6BA:
|
||||
add sp, 0x8
|
||||
pop {r3-r5}
|
||||
mov r8, r3
|
||||
mov r9, r4
|
||||
mov r10, r5
|
||||
pop {r4-r7}
|
||||
pop {r0}
|
||||
bx r0
|
||||
thumb_func_end sub_81DA5D4
|
||||
|
||||
thumb_func_start sub_81DA6CC
|
||||
sub_81DA6CC: @ 81DA6CC
|
||||
push {r4-r6,lr}
|
||||
adds r5, r0, 0
|
||||
movs r4, 0
|
||||
ldr r6, =gRematchTable
|
||||
_081DA6D4:
|
||||
lsls r0, r4, 1
|
||||
lsls r1, r5, 4
|
||||
adds r0, r1
|
||||
adds r0, r6
|
||||
ldrh r0, [r0]
|
||||
bl HasTrainerBeenFought
|
||||
lsls r0, 24
|
||||
cmp r0, 0
|
||||
bne _081DA6F0
|
||||
adds r0, r4, 0
|
||||
b _081DA6F8
|
||||
.pool
|
||||
_081DA6F0:
|
||||
adds r4, 0x1
|
||||
cmp r4, 0x4
|
||||
ble _081DA6D4
|
||||
movs r0, 0x5
|
||||
_081DA6F8:
|
||||
pop {r4-r6}
|
||||
pop {r1}
|
||||
bx r1
|
||||
thumb_func_end sub_81DA6CC
|
||||
|
||||
.align 2, 0 @ Don't pad with nop.
|
||||
Reference in New Issue
Block a user