mirror of
https://github.com/pret/pokeemerald-jp.git
synced 2026-09-30 14:15:28 -04:00
18087 lines
320 KiB
ArmAsm
18087 lines
320 KiB
ArmAsm
.include "asm/macros.inc"
|
|
.include "constants/constants.inc"
|
|
.text
|
|
.syntax unified
|
|
|
|
thumb_func_start ClearTVShowData
|
|
ClearTVShowData: @ 0x080ECA80
|
|
push {r4, r5, r6, r7, lr}
|
|
movs r3, #0
|
|
ldr r6, _080ECAD0
|
|
movs r5, #0
|
|
ldr r7, _080ECAD4
|
|
_080ECA8A:
|
|
ldr r0, [r6]
|
|
lsls r1, r3, #3
|
|
adds r1, r1, r3
|
|
lsls r1, r1, #2
|
|
adds r0, r0, r1
|
|
ldr r2, _080ECAD8
|
|
adds r0, r0, r2
|
|
strb r5, [r0]
|
|
ldr r0, [r6]
|
|
adds r0, r0, r1
|
|
adds r2, #1
|
|
adds r0, r0, r2
|
|
strb r5, [r0]
|
|
movs r2, #0
|
|
adds r4, r3, #1
|
|
adds r3, r1, #0
|
|
_080ECAAA:
|
|
ldr r0, [r6]
|
|
adds r1, r2, r3
|
|
adds r0, r0, r7
|
|
adds r0, r0, r1
|
|
strb r5, [r0]
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #0x21
|
|
bls _080ECAAA
|
|
lsls r0, r4, #0x18
|
|
lsrs r3, r0, #0x18
|
|
cmp r3, #0x18
|
|
bls _080ECA8A
|
|
bl ClearPokemonNews
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ECAD0: .4byte 0x03005AEC
|
|
_080ECAD4: .4byte 0x000027CE
|
|
_080ECAD8: .4byte 0x000027CC
|
|
thumb_func_end ClearTVShowData
|
|
|
|
thumb_func_start special_0x44
|
|
special_0x44: @ 0x080ECADC
|
|
push {r4, r5, r6, r7, lr}
|
|
movs r4, #5
|
|
ldr r1, _080ECB50
|
|
ldr r0, [r1]
|
|
movs r2, #0xa2
|
|
lsls r2, r2, #6
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080ECB10
|
|
adds r3, r1, #0
|
|
subs r2, #0xb4
|
|
_080ECAF4:
|
|
adds r0, r4, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
cmp r4, #0x17
|
|
bhi _080ECB10
|
|
ldr r0, [r3]
|
|
lsls r1, r4, #3
|
|
adds r1, r1, r4
|
|
lsls r1, r1, #2
|
|
adds r0, r0, r1
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080ECAF4
|
|
_080ECB10:
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
adds r1, r4, #0
|
|
bl __modsi3
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
adds r7, r5, #0
|
|
ldr r6, _080ECB50
|
|
_080ECB26:
|
|
ldr r1, [r6]
|
|
lsls r0, r5, #3
|
|
adds r0, r0, r5
|
|
lsls r4, r0, #2
|
|
adds r1, r1, r4
|
|
ldr r0, _080ECB54
|
|
adds r1, r1, r0
|
|
ldrb r0, [r1]
|
|
bl GetTVChannelByShowType
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #4
|
|
beq _080ECB5C
|
|
ldr r0, [r6]
|
|
adds r0, r0, r4
|
|
ldr r1, _080ECB58
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
b _080ECB6C
|
|
.align 2, 0
|
|
_080ECB50: .4byte 0x03005AEC
|
|
_080ECB54: .4byte 0x000027CC
|
|
_080ECB58: .4byte 0x000027CD
|
|
_080ECB5C:
|
|
ldr r2, _080ECB74
|
|
adds r0, r4, r2
|
|
ldr r1, [r6]
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1, #0x16]
|
|
cmp r0, #0
|
|
bne _080ECB78
|
|
ldrb r0, [r1, #1]
|
|
_080ECB6C:
|
|
cmp r0, #1
|
|
bne _080ECB78
|
|
adds r0, r5, #0
|
|
b _080ECB8C
|
|
.align 2, 0
|
|
_080ECB74: .4byte 0x000027CC
|
|
_080ECB78:
|
|
cmp r5, #0
|
|
bne _080ECB80
|
|
movs r5, #0x17
|
|
b _080ECB86
|
|
_080ECB80:
|
|
subs r0, r5, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
_080ECB86:
|
|
cmp r5, r7
|
|
bne _080ECB26
|
|
movs r0, #0xff
|
|
_080ECB8C:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end special_0x44
|
|
|
|
thumb_func_start FindAnyTVShowOnTheAir
|
|
FindAnyTVShowOnTheAir: @ 0x080ECB94
|
|
push {lr}
|
|
bl special_0x44
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0xff
|
|
bne _080ECBA6
|
|
movs r0, #0xff
|
|
b _080ECBDE
|
|
_080ECBA6:
|
|
ldr r0, _080ECBD0
|
|
ldr r2, [r0]
|
|
ldr r3, _080ECBD4
|
|
adds r0, r2, r3
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
beq _080ECBDC
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r2, r0
|
|
ldr r2, _080ECBD8
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x29
|
|
bne _080ECBDC
|
|
bl FindFirstActiveTVShowThatIsNotAMassOutbreak
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
b _080ECBDE
|
|
.align 2, 0
|
|
_080ECBD0: .4byte 0x03005AEC
|
|
_080ECBD4: .4byte 0x00002B90
|
|
_080ECBD8: .4byte 0x000027CC
|
|
_080ECBDC:
|
|
adds r0, r1, #0
|
|
_080ECBDE:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end FindAnyTVShowOnTheAir
|
|
|
|
thumb_func_start UpdateTVScreensOnMap
|
|
UpdateTVScreensOnMap: @ 0x080ECBE4
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
ldr r0, _080ECC18
|
|
bl FlagSet
|
|
bl CheckForBigMovieOrEmergencyNewsOnTV
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080ECC0A
|
|
cmp r0, #2
|
|
beq _080ECC5E
|
|
ldr r0, _080ECC1C
|
|
ldr r0, [r0]
|
|
ldrh r0, [r0, #4]
|
|
cmp r0, #0xd
|
|
bne _080ECC20
|
|
_080ECC0A:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
movs r2, #3
|
|
bl SetTVMetatilesOnMap
|
|
b _080ECC5E
|
|
.align 2, 0
|
|
_080ECC18: .4byte 0x00000891
|
|
_080ECC1C: .4byte 0x03005AEC
|
|
_080ECC20:
|
|
ldr r0, _080ECC64
|
|
bl FlagGet
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _080ECC5E
|
|
bl FindAnyTVShowOnTheAir
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
bne _080ECC4E
|
|
bl FindAnyTVNewsOnTheAir
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0xff
|
|
bne _080ECC4E
|
|
bl IsTVShowInSearchOfTrainersAiring
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _080ECC5E
|
|
_080ECC4E:
|
|
ldr r0, _080ECC68
|
|
bl FlagClear
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
movs r2, #3
|
|
bl SetTVMetatilesOnMap
|
|
_080ECC5E:
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ECC64: .4byte 0x00000892
|
|
_080ECC68: .4byte 0x00000891
|
|
thumb_func_end UpdateTVScreensOnMap
|
|
|
|
thumb_func_start SetTVMetatilesOnMap
|
|
SetTVMetatilesOnMap: @ 0x080ECC6C
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
mov sb, r0
|
|
mov sl, r1
|
|
lsls r2, r2, #0x10
|
|
lsrs r2, r2, #0x10
|
|
movs r5, #0
|
|
cmp r5, sl
|
|
bge _080ECCC0
|
|
movs r1, #0xc0
|
|
lsls r1, r1, #4
|
|
adds r0, r1, #0
|
|
mov r8, r2
|
|
mov r1, r8
|
|
orrs r1, r0
|
|
mov r8, r1
|
|
_080ECC92:
|
|
movs r4, #0
|
|
adds r7, r5, #1
|
|
cmp r4, sb
|
|
bge _080ECCBA
|
|
mov r0, r8
|
|
lsls r6, r0, #0x10
|
|
_080ECC9E:
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
bl MapGridGetMetatileBehaviorAt
|
|
cmp r0, #0x86
|
|
bne _080ECCB4
|
|
adds r0, r4, #0
|
|
adds r1, r5, #0
|
|
lsrs r2, r6, #0x10
|
|
bl MapGridSetMetatileIdAt
|
|
_080ECCB4:
|
|
adds r4, #1
|
|
cmp r4, sb
|
|
blt _080ECC9E
|
|
_080ECCBA:
|
|
adds r5, r7, #0
|
|
cmp r5, sl
|
|
blt _080ECC92
|
|
_080ECCC0:
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
thumb_func_end SetTVMetatilesOnMap
|
|
|
|
thumb_func_start TurnOffTVScreen
|
|
TurnOffTVScreen: @ 0x080ECCD0
|
|
push {lr}
|
|
ldr r1, _080ECCE8
|
|
ldr r0, [r1]
|
|
ldr r1, [r1, #4]
|
|
movs r2, #2
|
|
bl SetTVMetatilesOnMap
|
|
bl DrawWholeMapView
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ECCE8: .4byte 0x03005B20
|
|
thumb_func_end TurnOffTVScreen
|
|
|
|
thumb_func_start TurnOnTVScreen
|
|
TurnOnTVScreen: @ 0x080ECCEC
|
|
push {lr}
|
|
ldr r1, _080ECD04
|
|
ldr r0, [r1]
|
|
ldr r1, [r1, #4]
|
|
movs r2, #3
|
|
bl SetTVMetatilesOnMap
|
|
bl DrawWholeMapView
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ECD04: .4byte 0x03005B20
|
|
thumb_func_end TurnOnTVScreen
|
|
|
|
thumb_func_start special_0x45
|
|
special_0x45: @ 0x080ECD08
|
|
ldr r0, _080ECD20
|
|
ldr r1, [r0]
|
|
ldr r0, _080ECD24
|
|
ldrh r2, [r0]
|
|
lsls r0, r2, #3
|
|
adds r0, r0, r2
|
|
lsls r0, r0, #2
|
|
adds r1, r1, r0
|
|
ldr r0, _080ECD28
|
|
adds r1, r1, r0
|
|
ldrb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080ECD20: .4byte 0x03005AEC
|
|
_080ECD24: .4byte 0x02037280
|
|
_080ECD28: .4byte 0x000027CC
|
|
thumb_func_end special_0x45
|
|
|
|
thumb_func_start FindFirstActiveTVShowThatIsNotAMassOutbreak
|
|
FindFirstActiveTVShowThatIsNotAMassOutbreak: @ 0x080ECD2C
|
|
push {r4, lr}
|
|
movs r2, #0
|
|
ldr r0, _080ECD58
|
|
ldr r3, [r0]
|
|
_080ECD34:
|
|
lsls r0, r2, #3
|
|
adds r0, r0, r2
|
|
lsls r0, r0, #2
|
|
adds r1, r3, r0
|
|
ldr r4, _080ECD5C
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080ECD60
|
|
cmp r0, #0x29
|
|
beq _080ECD60
|
|
adds r4, #1
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _080ECD60
|
|
adds r0, r2, #0
|
|
b _080ECD6C
|
|
.align 2, 0
|
|
_080ECD58: .4byte 0x03005AEC
|
|
_080ECD5C: .4byte 0x000027CC
|
|
_080ECD60:
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #0x17
|
|
bls _080ECD34
|
|
movs r0, #0xff
|
|
_080ECD6C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end FindFirstActiveTVShowThatIsNotAMassOutbreak
|
|
|
|
thumb_func_start special_0x4a
|
|
special_0x4a: @ 0x080ECD74
|
|
push {lr}
|
|
ldr r3, _080ECDA4
|
|
ldr r2, _080ECDA8
|
|
ldrh r1, [r2]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080ECDAC
|
|
adds r0, r0, r1
|
|
ldr r3, [r3]
|
|
adds r0, r3, r0
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x29
|
|
bne _080ECDB4
|
|
ldr r1, _080ECDB0
|
|
adds r0, r3, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
beq _080ECDB4
|
|
bl FindFirstActiveTVShowThatIsNotAMassOutbreak
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
b _080ECDB6
|
|
.align 2, 0
|
|
_080ECDA4: .4byte 0x03005AEC
|
|
_080ECDA8: .4byte 0x02037280
|
|
_080ECDAC: .4byte 0x000027CC
|
|
_080ECDB0: .4byte 0x00002B90
|
|
_080ECDB4:
|
|
ldrb r0, [r2]
|
|
_080ECDB6:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end special_0x4a
|
|
|
|
thumb_func_start ResetGabbyAndTy
|
|
ResetGabbyAndTy: @ 0x080ECDBC
|
|
push {r4, r5, r6, lr}
|
|
mov r6, sl
|
|
mov r5, sb
|
|
mov r4, r8
|
|
push {r4, r5, r6}
|
|
ldr r3, _080ECEA0
|
|
ldr r2, [r3]
|
|
ldr r1, _080ECEA4
|
|
adds r0, r2, r1
|
|
movs r4, #0
|
|
mov sl, r4
|
|
movs r1, #0
|
|
strh r1, [r0]
|
|
ldr r4, _080ECEA8
|
|
adds r0, r2, r4
|
|
strh r1, [r0]
|
|
adds r4, #2
|
|
adds r0, r2, r4
|
|
strh r1, [r0]
|
|
ldr r0, _080ECEAC
|
|
adds r1, r2, r0
|
|
ldr r0, _080ECEB0
|
|
strh r0, [r1]
|
|
adds r4, #6
|
|
adds r2, r2, r4
|
|
ldrb r1, [r2]
|
|
movs r0, #2
|
|
rsbs r0, r0, #0
|
|
mov sb, r0
|
|
ands r0, r1
|
|
strb r0, [r2]
|
|
ldr r1, [r3]
|
|
adds r1, r1, r4
|
|
ldrb r2, [r1]
|
|
movs r0, #3
|
|
rsbs r0, r0, #0
|
|
mov r8, r0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
ldr r1, [r3]
|
|
adds r1, r1, r4
|
|
ldrb r2, [r1]
|
|
movs r6, #5
|
|
rsbs r6, r6, #0
|
|
adds r0, r6, #0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
ldr r1, [r3]
|
|
adds r1, r1, r4
|
|
ldrb r2, [r1]
|
|
movs r5, #9
|
|
rsbs r5, r5, #0
|
|
adds r0, r5, #0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
ldr r1, [r3]
|
|
adds r1, r1, r4
|
|
ldrb r2, [r1]
|
|
movs r0, #0x11
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
ldr r1, [r3]
|
|
adds r1, r1, r4
|
|
ldrb r2, [r1]
|
|
movs r0, #0x1f
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
ldr r0, [r3]
|
|
ldr r2, _080ECEB4
|
|
adds r0, r0, r2
|
|
ldrb r1, [r0]
|
|
mov r4, sb
|
|
ands r4, r1
|
|
strb r4, [r0]
|
|
ldr r0, [r3]
|
|
adds r0, r0, r2
|
|
ldrb r1, [r0]
|
|
mov r4, r8
|
|
ands r4, r1
|
|
strb r4, [r0]
|
|
ldr r0, [r3]
|
|
adds r0, r0, r2
|
|
ldrb r1, [r0]
|
|
ands r6, r1
|
|
strb r6, [r0]
|
|
ldr r0, [r3]
|
|
adds r0, r0, r2
|
|
ldrb r1, [r0]
|
|
ands r5, r1
|
|
strb r5, [r0]
|
|
ldr r1, [r3]
|
|
adds r1, r1, r2
|
|
ldrb r2, [r1]
|
|
movs r0, #0xf
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
ldr r0, [r3]
|
|
ldr r1, _080ECEB8
|
|
adds r0, r0, r1
|
|
mov r4, sl
|
|
strb r4, [r0]
|
|
ldr r0, [r3]
|
|
adds r1, #1
|
|
adds r0, r0, r1
|
|
strb r4, [r0]
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ECEA0: .4byte 0x03005AEC
|
|
_080ECEA4: .4byte 0x00002BA4
|
|
_080ECEA8: .4byte 0x00002BA6
|
|
_080ECEAC: .4byte 0x00002BAA
|
|
_080ECEB0: .4byte 0x0000FFFF
|
|
_080ECEB4: .4byte 0x00002BAF
|
|
_080ECEB8: .4byte 0x00002BAC
|
|
thumb_func_end ResetGabbyAndTy
|
|
|
|
thumb_func_start GabbyAndTyBeforeInterview
|
|
GabbyAndTyBeforeInterview: @ 0x080ECEBC
|
|
push {r4, lr}
|
|
ldr r3, _080ECF24
|
|
ldr r2, [r3]
|
|
ldr r0, _080ECF28
|
|
mov ip, r0
|
|
ldrh r1, [r0, #6]
|
|
ldr r4, _080ECF2C
|
|
adds r0, r2, r4
|
|
strh r1, [r0]
|
|
mov r0, ip
|
|
ldrh r1, [r0, #0x26]
|
|
adds r4, #2
|
|
adds r0, r2, r4
|
|
strh r1, [r0]
|
|
mov r0, ip
|
|
ldrh r1, [r0, #0x22]
|
|
adds r4, #2
|
|
adds r0, r2, r4
|
|
strh r1, [r0]
|
|
ldr r0, _080ECF30
|
|
adds r2, r2, r0
|
|
ldrb r1, [r2]
|
|
adds r0, r1, #0
|
|
adds r4, r3, #0
|
|
cmp r0, #0xff
|
|
beq _080ECEF4
|
|
adds r0, r1, #1
|
|
strb r0, [r2]
|
|
_080ECEF4:
|
|
ldr r2, [r4]
|
|
mov r0, ip
|
|
ldrb r1, [r0, #5]
|
|
lsls r1, r1, #0x1f
|
|
ldr r0, _080ECF34
|
|
adds r2, r2, r0
|
|
lsrs r1, r1, #0x1f
|
|
ldrb r3, [r2]
|
|
movs r0, #2
|
|
rsbs r0, r0, #0
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
mov r1, ip
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq _080ECF38
|
|
ldr r0, [r4]
|
|
ldr r1, _080ECF34
|
|
adds r0, r0, r1
|
|
ldrb r1, [r0]
|
|
movs r2, #2
|
|
orrs r1, r2
|
|
b _080ECF46
|
|
.align 2, 0
|
|
_080ECF24: .4byte 0x03005AEC
|
|
_080ECF28: .4byte 0x03005A70
|
|
_080ECF2C: .4byte 0x00002BA4
|
|
_080ECF30: .4byte 0x00002BAD
|
|
_080ECF34: .4byte 0x00002BAE
|
|
_080ECF38:
|
|
ldr r0, [r4]
|
|
ldr r1, _080ECF60
|
|
adds r0, r0, r1
|
|
ldrb r2, [r0]
|
|
movs r1, #3
|
|
rsbs r1, r1, #0
|
|
ands r1, r2
|
|
_080ECF46:
|
|
strb r1, [r0]
|
|
mov r1, ip
|
|
ldrb r0, [r1, #3]
|
|
cmp r0, #0
|
|
beq _080ECF64
|
|
ldr r0, [r4]
|
|
ldr r1, _080ECF60
|
|
adds r0, r0, r1
|
|
ldrb r1, [r0]
|
|
movs r2, #4
|
|
orrs r1, r2
|
|
b _080ECF72
|
|
.align 2, 0
|
|
_080ECF60: .4byte 0x00002BAE
|
|
_080ECF64:
|
|
ldr r0, [r4]
|
|
ldr r1, _080ECFAC
|
|
adds r0, r0, r1
|
|
ldrb r2, [r0]
|
|
movs r1, #5
|
|
rsbs r1, r1, #0
|
|
ands r1, r2
|
|
_080ECF72:
|
|
strb r1, [r0]
|
|
mov r0, ip
|
|
ldrb r1, [r0, #5]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080ECFB0
|
|
movs r1, #0
|
|
mov r0, ip
|
|
adds r0, #0x36
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080ECFB0
|
|
_080ECF8C:
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0xa
|
|
bhi _080ECFBE
|
|
mov r0, ip
|
|
adds r0, #0x36
|
|
adds r0, r1, r0
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080ECF8C
|
|
ldr r0, [r4]
|
|
ldr r4, _080ECFAC
|
|
adds r0, r0, r4
|
|
b _080ECFB6
|
|
.align 2, 0
|
|
_080ECFAC: .4byte 0x00002BAE
|
|
_080ECFB0:
|
|
ldr r0, [r4]
|
|
ldr r1, _080ECFDC
|
|
adds r0, r0, r1
|
|
_080ECFB6:
|
|
ldrb r1, [r0]
|
|
movs r2, #8
|
|
orrs r1, r2
|
|
strb r1, [r0]
|
|
_080ECFBE:
|
|
bl TakeTVShowInSearchOfTrainersOffTheAir
|
|
ldr r0, _080ECFE0
|
|
ldr r0, [r0]
|
|
ldr r4, _080ECFE4
|
|
adds r0, r0, r4
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _080ECFD6
|
|
movs r0, #1
|
|
bl FlagSet
|
|
_080ECFD6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ECFDC: .4byte 0x00002BAE
|
|
_080ECFE0: .4byte 0x03005AEC
|
|
_080ECFE4: .4byte 0x00002BA8
|
|
thumb_func_end GabbyAndTyBeforeInterview
|
|
|
|
thumb_func_start GabbyAndTyAfterInterview
|
|
GabbyAndTyAfterInterview: @ 0x080ECFE8
|
|
push {r4, r5, r6, lr}
|
|
ldr r5, _080ED074
|
|
ldr r2, [r5]
|
|
ldr r6, _080ED078
|
|
adds r0, r2, r6
|
|
ldrb r1, [r0]
|
|
lsls r1, r1, #0x1f
|
|
ldr r4, _080ED07C
|
|
adds r2, r2, r4
|
|
lsrs r1, r1, #0x1f
|
|
ldrb r3, [r2]
|
|
movs r0, #2
|
|
rsbs r0, r0, #0
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldr r2, [r5]
|
|
adds r0, r2, r6
|
|
ldrb r0, [r0]
|
|
adds r2, r2, r4
|
|
movs r1, #2
|
|
ands r1, r0
|
|
ldrb r3, [r2]
|
|
movs r0, #3
|
|
rsbs r0, r0, #0
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldr r2, [r5]
|
|
adds r0, r2, r6
|
|
ldrb r0, [r0]
|
|
adds r2, r2, r4
|
|
movs r1, #4
|
|
ands r1, r0
|
|
ldrb r3, [r2]
|
|
movs r0, #5
|
|
rsbs r0, r0, #0
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldr r2, [r5]
|
|
adds r0, r2, r6
|
|
ldrb r0, [r0]
|
|
adds r2, r2, r4
|
|
movs r1, #8
|
|
ands r1, r0
|
|
ldrb r3, [r2]
|
|
movs r0, #9
|
|
rsbs r0, r0, #0
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
strb r0, [r2]
|
|
ldr r1, [r5]
|
|
adds r1, r1, r6
|
|
ldrb r0, [r1]
|
|
movs r2, #0x10
|
|
orrs r0, r2
|
|
strb r0, [r1]
|
|
ldr r0, [r5]
|
|
ldr r1, _080ED080
|
|
ldrb r1, [r1, #0x14]
|
|
ldr r2, _080ED084
|
|
adds r0, r0, r2
|
|
strb r1, [r0]
|
|
movs r0, #6
|
|
bl IncrementGameStat
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED074: .4byte 0x03005AEC
|
|
_080ED078: .4byte 0x00002BAE
|
|
_080ED07C: .4byte 0x00002BAF
|
|
_080ED080: .4byte 0x02036FB8
|
|
_080ED084: .4byte 0x00002BAC
|
|
thumb_func_end GabbyAndTyAfterInterview
|
|
|
|
thumb_func_start TakeTVShowInSearchOfTrainersOffTheAir
|
|
TakeTVShowInSearchOfTrainersOffTheAir: @ 0x080ED088
|
|
ldr r0, _080ED09C
|
|
ldr r1, [r0]
|
|
ldr r0, _080ED0A0
|
|
adds r1, r1, r0
|
|
ldrb r2, [r1]
|
|
movs r0, #0x11
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
strb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080ED09C: .4byte 0x03005AEC
|
|
_080ED0A0: .4byte 0x00002BAE
|
|
thumb_func_end TakeTVShowInSearchOfTrainersOffTheAir
|
|
|
|
thumb_func_start GabbyAndTyGetBattleNum
|
|
GabbyAndTyGetBattleNum: @ 0x080ED0A4
|
|
push {lr}
|
|
ldr r0, _080ED0C8
|
|
ldr r0, [r0]
|
|
ldr r2, _080ED0CC
|
|
adds r1, r0, r2
|
|
ldrb r0, [r1]
|
|
cmp r0, #5
|
|
bls _080ED0C2
|
|
ldrb r0, [r1]
|
|
movs r1, #3
|
|
bl __umodsi3
|
|
adds r0, #6
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
_080ED0C2:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080ED0C8: .4byte 0x03005AEC
|
|
_080ED0CC: .4byte 0x00002BAD
|
|
thumb_func_end GabbyAndTyGetBattleNum
|
|
|
|
thumb_func_start IsTVShowInSearchOfTrainersAiring
|
|
IsTVShowInSearchOfTrainersAiring: @ 0x080ED0D0
|
|
ldr r0, _080ED0E0
|
|
ldr r0, [r0]
|
|
ldr r1, _080ED0E4
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x1b
|
|
lsrs r0, r0, #0x1f
|
|
bx lr
|
|
.align 2, 0
|
|
_080ED0E0: .4byte 0x03005AEC
|
|
_080ED0E4: .4byte 0x00002BAE
|
|
thumb_func_end IsTVShowInSearchOfTrainersAiring
|
|
|
|
thumb_func_start GabbyAndTyGetLastQuote
|
|
GabbyAndTyGetLastQuote: @ 0x080ED0E8
|
|
push {r4, r5, lr}
|
|
ldr r5, _080ED114
|
|
ldr r0, [r5]
|
|
ldr r2, _080ED118
|
|
adds r1, r0, r2
|
|
ldrh r0, [r1]
|
|
ldr r4, _080ED11C
|
|
cmp r0, r4
|
|
beq _080ED124
|
|
ldr r0, _080ED120
|
|
ldrh r1, [r1]
|
|
bl CopyEasyChatWord
|
|
ldr r1, [r5]
|
|
ldr r0, _080ED118
|
|
adds r1, r1, r0
|
|
ldrh r2, [r1]
|
|
adds r0, r4, #0
|
|
orrs r0, r2
|
|
strh r0, [r1]
|
|
movs r0, #1
|
|
b _080ED126
|
|
.align 2, 0
|
|
_080ED114: .4byte 0x03005AEC
|
|
_080ED118: .4byte 0x00002BAA
|
|
_080ED11C: .4byte 0x0000FFFF
|
|
_080ED120: .4byte 0x02021C40
|
|
_080ED124:
|
|
movs r0, #0
|
|
_080ED126:
|
|
pop {r4, r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GabbyAndTyGetLastQuote
|
|
|
|
thumb_func_start GabbyAndTyGetLastBattleTrivia
|
|
GabbyAndTyGetLastBattleTrivia: @ 0x080ED12C
|
|
push {lr}
|
|
ldr r0, _080ED144
|
|
ldr r0, [r0]
|
|
ldr r1, _080ED148
|
|
adds r0, r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080ED14C
|
|
movs r0, #1
|
|
b _080ED172
|
|
.align 2, 0
|
|
_080ED144: .4byte 0x03005AEC
|
|
_080ED148: .4byte 0x00002BAF
|
|
_080ED14C:
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080ED158
|
|
movs r0, #2
|
|
b _080ED172
|
|
_080ED158:
|
|
movs r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080ED164
|
|
movs r0, #3
|
|
b _080ED172
|
|
_080ED164:
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080ED170
|
|
movs r0, #0
|
|
b _080ED172
|
|
_080ED170:
|
|
movs r0, #4
|
|
_080ED172:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end GabbyAndTyGetLastBattleTrivia
|
|
|
|
thumb_func_start GabbyAndTySetScriptVarsToEventObjectLocalIds
|
|
GabbyAndTySetScriptVarsToEventObjectLocalIds: @ 0x080ED178
|
|
push {lr}
|
|
bl GabbyAndTyGetBattleNum
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
subs r0, #1
|
|
cmp r0, #7
|
|
bhi _080ED250
|
|
lsls r0, r0, #2
|
|
ldr r1, _080ED194
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080ED194: .4byte 0x080ED198
|
|
_080ED198: @ jump table
|
|
.4byte _080ED1B8 @ case 0
|
|
.4byte _080ED1CC @ case 1
|
|
.4byte _080ED1E0 @ case 2
|
|
.4byte _080ED1F4 @ case 3
|
|
.4byte _080ED208 @ case 4
|
|
.4byte _080ED21C @ case 5
|
|
.4byte _080ED230 @ case 6
|
|
.4byte _080ED244 @ case 7
|
|
_080ED1B8:
|
|
ldr r1, _080ED1C4
|
|
movs r0, #0xe
|
|
strh r0, [r1]
|
|
ldr r1, _080ED1C8
|
|
movs r0, #0xd
|
|
b _080ED24E
|
|
.align 2, 0
|
|
_080ED1C4: .4byte 0x02037280
|
|
_080ED1C8: .4byte 0x02037282
|
|
_080ED1CC:
|
|
ldr r1, _080ED1D8
|
|
movs r0, #5
|
|
strh r0, [r1]
|
|
ldr r1, _080ED1DC
|
|
movs r0, #6
|
|
b _080ED24E
|
|
.align 2, 0
|
|
_080ED1D8: .4byte 0x02037280
|
|
_080ED1DC: .4byte 0x02037282
|
|
_080ED1E0:
|
|
ldr r1, _080ED1EC
|
|
movs r0, #0x12
|
|
strh r0, [r1]
|
|
ldr r1, _080ED1F0
|
|
movs r0, #0x11
|
|
b _080ED24E
|
|
.align 2, 0
|
|
_080ED1EC: .4byte 0x02037280
|
|
_080ED1F0: .4byte 0x02037282
|
|
_080ED1F4:
|
|
ldr r1, _080ED200
|
|
movs r0, #0x15
|
|
strh r0, [r1]
|
|
ldr r1, _080ED204
|
|
movs r0, #0x16
|
|
b _080ED24E
|
|
.align 2, 0
|
|
_080ED200: .4byte 0x02037280
|
|
_080ED204: .4byte 0x02037282
|
|
_080ED208:
|
|
ldr r1, _080ED214
|
|
movs r0, #8
|
|
strh r0, [r1]
|
|
ldr r1, _080ED218
|
|
movs r0, #9
|
|
b _080ED24E
|
|
.align 2, 0
|
|
_080ED214: .4byte 0x02037280
|
|
_080ED218: .4byte 0x02037282
|
|
_080ED21C:
|
|
ldr r1, _080ED228
|
|
movs r0, #0x13
|
|
strh r0, [r1]
|
|
ldr r1, _080ED22C
|
|
movs r0, #0x14
|
|
b _080ED24E
|
|
.align 2, 0
|
|
_080ED228: .4byte 0x02037280
|
|
_080ED22C: .4byte 0x02037282
|
|
_080ED230:
|
|
ldr r1, _080ED23C
|
|
movs r0, #0x17
|
|
strh r0, [r1]
|
|
ldr r1, _080ED240
|
|
movs r0, #0x18
|
|
b _080ED24E
|
|
.align 2, 0
|
|
_080ED23C: .4byte 0x02037280
|
|
_080ED240: .4byte 0x02037282
|
|
_080ED244:
|
|
ldr r1, _080ED254
|
|
movs r0, #0xa
|
|
strh r0, [r1]
|
|
ldr r1, _080ED258
|
|
movs r0, #0xb
|
|
_080ED24E:
|
|
strh r0, [r1]
|
|
_080ED250:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED254: .4byte 0x02037280
|
|
_080ED258: .4byte 0x02037282
|
|
thumb_func_end GabbyAndTySetScriptVarsToEventObjectLocalIds
|
|
|
|
thumb_func_start InterviewAfter
|
|
InterviewAfter: @ 0x080ED25C
|
|
push {lr}
|
|
ldr r0, _080ED274
|
|
ldrh r0, [r0]
|
|
subs r0, #1
|
|
cmp r0, #7
|
|
bhi _080ED2C4
|
|
lsls r0, r0, #2
|
|
ldr r1, _080ED278
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080ED274: .4byte 0x02037282
|
|
_080ED278: .4byte 0x080ED27C
|
|
_080ED27C: @ jump table
|
|
.4byte _080ED29C @ case 0
|
|
.4byte _080ED2A2 @ case 1
|
|
.4byte _080ED2A8 @ case 2
|
|
.4byte _080ED2AE @ case 3
|
|
.4byte _080ED2C4 @ case 4
|
|
.4byte _080ED2B4 @ case 5
|
|
.4byte _080ED2BA @ case 6
|
|
.4byte _080ED2C0 @ case 7
|
|
_080ED29C:
|
|
bl InterviewAfter_FanClubLetter
|
|
b _080ED2C4
|
|
_080ED2A2:
|
|
bl InterviewAfter_RecentHappenings
|
|
b _080ED2C4
|
|
_080ED2A8:
|
|
bl InterviewAfter_PkmnFanClubOpinions
|
|
b _080ED2C4
|
|
_080ED2AE:
|
|
bl InterviewAfter_DummyShow4
|
|
b _080ED2C4
|
|
_080ED2B4:
|
|
bl InterviewAfter_BravoTrainerPokemonProfile
|
|
b _080ED2C4
|
|
_080ED2BA:
|
|
bl InterviewAfter_BravoTrainerBattleTowerProfile
|
|
b _080ED2C4
|
|
_080ED2C0:
|
|
bl InterviewAfter_ContestLiveUpdates
|
|
_080ED2C4:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end InterviewAfter
|
|
|
|
thumb_func_start PutPokemonTodayCaughtOnAir
|
|
PutPokemonTodayCaughtOnAir: @ 0x080ED2C8
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
movs r4, #0
|
|
bl sub_080EF88C
|
|
bl sub_080EE238
|
|
ldr r5, _080ED2E8
|
|
ldrh r0, [r5, #0x28]
|
|
cmp r0, #0
|
|
bne _080ED2EC
|
|
bl PutPokemonTodayFailedOnTheAir
|
|
b _080ED41E
|
|
.align 2, 0
|
|
_080ED2E8: .4byte 0x03005A70
|
|
_080ED2EC:
|
|
bl UpdateWorldOfMastersAndPutItOnTheAir
|
|
ldr r0, _080ED3A8
|
|
bl TV_BernoulliTrial
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _080ED2FE
|
|
b _080ED41E
|
|
_080ED2FE:
|
|
ldrh r1, [r5, #0x28]
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #1
|
|
ldr r1, _080ED3AC
|
|
adds r0, r0, r1
|
|
adds r1, r5, #0
|
|
adds r1, #0x2a
|
|
bl StringCompare
|
|
cmp r0, #0
|
|
bne _080ED318
|
|
b _080ED41E
|
|
_080ED318:
|
|
ldr r0, _080ED3B0
|
|
ldr r0, [r0]
|
|
ldr r1, _080ED3B4
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r1, _080ED3B8
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080ED41E
|
|
movs r0, #0x15
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080ED41E
|
|
movs r2, #0
|
|
adds r7, r5, #0
|
|
adds r1, r7, #0
|
|
adds r1, #0x36
|
|
_080ED34C:
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
adds r0, r4, r0
|
|
lsls r0, r0, #0x10
|
|
lsrs r4, r0, #0x10
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #0xa
|
|
bls _080ED34C
|
|
cmp r4, #0
|
|
bne _080ED36E
|
|
ldrb r1, [r7, #5]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080ED41E
|
|
_080ED36E:
|
|
movs r4, #0
|
|
ldr r2, _080ED3B0
|
|
ldr r0, _080ED3B8
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080ED3B4
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r5, r1, r0
|
|
movs r0, #0x15
|
|
strb r0, [r5]
|
|
strb r4, [r5, #1]
|
|
ldrb r1, [r7, #5]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080ED3C0
|
|
movs r4, #1
|
|
movs r0, #1
|
|
adds r3, r5, #0
|
|
adds r3, #0x13
|
|
ldr r1, _080ED3BC
|
|
mov r8, r1
|
|
adds r6, r5, #4
|
|
b _080ED3F2
|
|
.align 2, 0
|
|
_080ED3A8: .4byte 0x0000FFFF
|
|
_080ED3AC: .4byte 0x082EA31C
|
|
_080ED3B0: .4byte 0x03005AEC
|
|
_080ED3B4: .4byte 0x000027CC
|
|
_080ED3B8: .4byte 0x03005E20
|
|
_080ED3BC: .4byte 0x03005AF0
|
|
_080ED3C0:
|
|
movs r2, #0
|
|
ldr r0, _080ED428
|
|
mov ip, r0
|
|
adds r3, r5, #0
|
|
adds r3, #0x13
|
|
ldr r1, _080ED42C
|
|
mov r8, r1
|
|
adds r6, r5, #4
|
|
adds r1, r7, #0
|
|
adds r1, #0x36
|
|
_080ED3D4:
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
adds r0, r4, r0
|
|
lsls r0, r0, #0x10
|
|
lsrs r4, r0, #0x10
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #0xa
|
|
bls _080ED3D4
|
|
cmp r4, #0xff
|
|
bls _080ED3EE
|
|
movs r4, #0xff
|
|
_080ED3EE:
|
|
mov r1, ip
|
|
ldrh r0, [r1]
|
|
_080ED3F2:
|
|
strb r4, [r5, #0x12]
|
|
strb r0, [r5, #0xf]
|
|
mov r0, r8
|
|
ldr r1, [r0]
|
|
adds r0, r3, #0
|
|
bl StringCopy
|
|
ldr r4, _080ED430
|
|
adds r0, r6, #0
|
|
adds r1, r4, #0
|
|
bl StringCopy
|
|
subs r4, #0x2a
|
|
ldrh r0, [r4, #0x28]
|
|
strh r0, [r5, #0x10]
|
|
adds r0, r5, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080ED434
|
|
ldrb r0, [r0]
|
|
strb r0, [r5, #2]
|
|
strb r0, [r5, #3]
|
|
_080ED41E:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED428: .4byte 0x02023EAC
|
|
_080ED42C: .4byte 0x03005AF0
|
|
_080ED430: .4byte 0x03005A9A
|
|
_080ED434: .4byte 0x0829BDA5
|
|
thumb_func_end PutPokemonTodayCaughtOnAir
|
|
|
|
thumb_func_start UpdateWorldOfMastersAndPutItOnTheAir
|
|
UpdateWorldOfMastersAndPutItOnTheAir: @ 0x080ED438
|
|
push {r4, lr}
|
|
ldr r0, _080ED47C
|
|
ldr r1, [r0]
|
|
ldr r0, _080ED480
|
|
adds r4, r1, r0
|
|
ldrb r0, [r4]
|
|
cmp r0, #0x19
|
|
beq _080ED45E
|
|
ldr r2, _080ED484
|
|
adds r0, r1, r2
|
|
movs r1, #0x18
|
|
bl DeleteTVShowInArrayByIdx
|
|
movs r0, #5
|
|
bl GetGameStat
|
|
strh r0, [r4, #6]
|
|
movs r0, #0x19
|
|
strb r0, [r4]
|
|
_080ED45E:
|
|
ldrh r0, [r4, #2]
|
|
adds r0, #1
|
|
strh r0, [r4, #2]
|
|
ldr r1, _080ED488
|
|
ldrh r0, [r1, #0x28]
|
|
strh r0, [r4, #4]
|
|
ldrh r0, [r1, #6]
|
|
strh r0, [r4, #8]
|
|
ldr r0, _080ED48C
|
|
ldrb r0, [r0, #0x14]
|
|
strb r0, [r4, #0xa]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED47C: .4byte 0x03005AEC
|
|
_080ED480: .4byte 0x00002B2C
|
|
_080ED484: .4byte 0x000027CC
|
|
_080ED488: .4byte 0x03005A70
|
|
_080ED48C: .4byte 0x02036FB8
|
|
thumb_func_end UpdateWorldOfMastersAndPutItOnTheAir
|
|
|
|
thumb_func_start PutPokemonTodayFailedOnTheAir
|
|
PutPokemonTodayFailedOnTheAir: @ 0x080ED490
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r0, _080ED554
|
|
bl TV_BernoulliTrial
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _080ED548
|
|
movs r1, #0
|
|
movs r5, #0
|
|
ldr r2, _080ED558
|
|
_080ED4A8:
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
adds r0, r5, r0
|
|
lsls r0, r0, #0x10
|
|
lsrs r5, r0, #0x10
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0xa
|
|
bls _080ED4A8
|
|
cmp r5, #0xff
|
|
bls _080ED4C2
|
|
movs r5, #0xff
|
|
_080ED4C2:
|
|
cmp r5, #2
|
|
bls _080ED548
|
|
ldr r0, _080ED55C
|
|
mov r8, r0
|
|
ldrb r0, [r0]
|
|
cmp r0, #6
|
|
beq _080ED4D4
|
|
cmp r0, #1
|
|
bne _080ED548
|
|
_080ED4D4:
|
|
ldr r7, _080ED560
|
|
ldr r0, [r7]
|
|
ldr r6, _080ED564
|
|
adds r0, r0, r6
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r4, _080ED568
|
|
strb r0, [r4]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080ED548
|
|
movs r0, #0x17
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080ED548
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r6
|
|
ldr r4, [r7]
|
|
adds r4, r4, r0
|
|
movs r1, #0
|
|
movs r0, #0x17
|
|
strb r0, [r4]
|
|
strb r1, [r4, #1]
|
|
ldr r1, _080ED56C
|
|
ldrh r0, [r1, #6]
|
|
strh r0, [r4, #0xc]
|
|
ldrh r0, [r1, #0x20]
|
|
strh r0, [r4, #0xe]
|
|
strb r5, [r4, #0x10]
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
strb r0, [r4, #0x11]
|
|
ldr r0, _080ED570
|
|
ldrb r0, [r0, #0x14]
|
|
strb r0, [r4, #0x12]
|
|
adds r0, r4, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080ED574
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080ED578
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #2]
|
|
_080ED548:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED554: .4byte 0x0000FFFF
|
|
_080ED558: .4byte 0x03005AA6
|
|
_080ED55C: .4byte 0x02023FDE
|
|
_080ED560: .4byte 0x03005AEC
|
|
_080ED564: .4byte 0x000027CC
|
|
_080ED568: .4byte 0x03005E20
|
|
_080ED56C: .4byte 0x03005A70
|
|
_080ED570: .4byte 0x02036FB8
|
|
_080ED574: .4byte 0x03005AF0
|
|
_080ED578: .4byte 0x0829BDA5
|
|
thumb_func_end PutPokemonTodayFailedOnTheAir
|
|
|
|
thumb_func_start tv_store_id_3x
|
|
tv_store_id_3x: @ 0x080ED57C
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl GetPlayerIDAsU32
|
|
strb r0, [r4, #0x1e]
|
|
lsrs r2, r0, #8
|
|
strb r2, [r4, #0x1f]
|
|
adds r1, r4, #0
|
|
adds r1, #0x20
|
|
strb r0, [r1]
|
|
adds r1, #1
|
|
strb r2, [r1]
|
|
adds r1, #1
|
|
strb r0, [r1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x23
|
|
strb r2, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end tv_store_id_3x
|
|
|
|
thumb_func_start tv_store_id_2x
|
|
tv_store_id_2x: @ 0x080ED5A4
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
bl GetPlayerIDAsU32
|
|
adds r1, r4, #0
|
|
adds r1, #0x20
|
|
strb r0, [r1]
|
|
lsrs r1, r0, #8
|
|
adds r2, r4, #0
|
|
adds r2, #0x21
|
|
strb r1, [r2]
|
|
adds r2, #1
|
|
strb r0, [r2]
|
|
adds r0, r4, #0
|
|
adds r0, #0x23
|
|
strb r1, [r0]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
thumb_func_end tv_store_id_2x
|
|
|
|
thumb_func_start InterviewAfter_ContestLiveUpdates
|
|
InterviewAfter_ContestLiveUpdates: @ 0x080ED5CC
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r0, _080ED66C
|
|
mov r8, r0
|
|
ldr r7, [r0]
|
|
ldr r1, _080ED670
|
|
adds r6, r7, r1
|
|
ldrb r1, [r6]
|
|
cmp r1, #8
|
|
bne _080ED662
|
|
ldr r0, _080ED674
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
lsls r4, r0, #3
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #2
|
|
ldr r5, _080ED678
|
|
adds r4, r4, r5
|
|
adds r4, r7, r4
|
|
strb r1, [r4]
|
|
movs r0, #1
|
|
strb r0, [r4, #1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x14
|
|
ldr r1, _080ED67C
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
ldr r0, _080ED680
|
|
ldrh r0, [r0]
|
|
strb r0, [r4, #0x1c]
|
|
ldr r0, _080ED684
|
|
ldrb r1, [r0]
|
|
movs r0, #0x64
|
|
muls r0, r1, r0
|
|
ldr r1, _080ED688
|
|
adds r0, r0, r1
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r4, #0x12]
|
|
ldrh r0, [r6, #2]
|
|
strh r0, [r4, #2]
|
|
ldrb r0, [r6, #0xc]
|
|
strb r0, [r4, #0xc]
|
|
ldrb r0, [r6, #0xd]
|
|
strb r0, [r4, #0xd]
|
|
ldrb r0, [r6, #0xe]
|
|
strb r0, [r4, #0xe]
|
|
ldrh r0, [r6, #0x10]
|
|
strh r0, [r4, #0x10]
|
|
ldrb r0, [r6, #0xf]
|
|
strb r0, [r4, #0xf]
|
|
adds r0, r4, #4
|
|
ldr r2, _080ED68C
|
|
adds r1, r7, r2
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
bl tv_store_id_2x
|
|
ldr r0, _080ED690
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0x1d]
|
|
ldrb r0, [r6, #0x1e]
|
|
strb r0, [r4, #0x1e]
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
adds r0, r0, r5
|
|
movs r1, #0x18
|
|
bl DeleteTVShowInArrayByIdx
|
|
_080ED662:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED66C: .4byte 0x03005AEC
|
|
_080ED670: .4byte 0x00002B2C
|
|
_080ED674: .4byte 0x03005E20
|
|
_080ED678: .4byte 0x000027CC
|
|
_080ED67C: .4byte 0x03005AF0
|
|
_080ED680: .4byte 0x02039BCC
|
|
_080ED684: .4byte 0x02039BC4
|
|
_080ED688: .4byte 0x02024190
|
|
_080ED68C: .4byte 0x00002B30
|
|
_080ED690: .4byte 0x0829BDA5
|
|
thumb_func_end InterviewAfter_ContestLiveUpdates
|
|
|
|
thumb_func_start PutBattleUpdateOnTheAir
|
|
PutBattleUpdateOnTheAir: @ 0x080ED694
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
lsls r0, r0, #0x18
|
|
lsrs r7, r0, #0x18
|
|
lsls r1, r1, #0x10
|
|
lsrs r1, r1, #0x10
|
|
mov sl, r1
|
|
lsls r2, r2, #0x10
|
|
lsrs r2, r2, #0x10
|
|
mov sb, r2
|
|
lsls r3, r3, #0x10
|
|
lsrs r3, r3, #0x10
|
|
mov r8, r3
|
|
ldr r6, _080ED718
|
|
ldr r0, [r6]
|
|
ldr r5, _080ED71C
|
|
adds r0, r0, r5
|
|
bl FindEmptyTVSlotWithinFirstFiveShowsOfArray
|
|
ldr r4, _080ED720
|
|
strb r0, [r4]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080ED76E
|
|
movs r0, #0xa
|
|
bl FindActiveBroadcastByShowType_SetScriptResult
|
|
ldr r0, _080ED724
|
|
ldrh r0, [r0]
|
|
cmp r0, #1
|
|
beq _080ED76E
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r5
|
|
ldr r1, [r6]
|
|
adds r4, r1, r0
|
|
movs r0, #0xa
|
|
strb r0, [r4]
|
|
movs r5, #1
|
|
strb r5, [r4, #1]
|
|
adds r0, r4, #4
|
|
ldr r1, _080ED728
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
ldr r0, _080ED72C
|
|
ldr r1, [r0]
|
|
movs r0, #0x40
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080ED730
|
|
adds r0, r5, #0
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080ED732
|
|
strb r5, [r4, #0x18]
|
|
b _080ED734
|
|
.align 2, 0
|
|
_080ED718: .4byte 0x03005AEC
|
|
_080ED71C: .4byte 0x000027CC
|
|
_080ED720: .4byte 0x03005E20
|
|
_080ED724: .4byte 0x02037290
|
|
_080ED728: .4byte 0x03005AF0
|
|
_080ED72C: .4byte 0x02022C90
|
|
_080ED730:
|
|
movs r0, #2
|
|
_080ED732:
|
|
strb r0, [r4, #0x18]
|
|
_080ED734:
|
|
mov r0, sl
|
|
strh r0, [r4, #0x14]
|
|
mov r0, sb
|
|
strh r0, [r4, #0x16]
|
|
mov r0, r8
|
|
strh r0, [r4, #2]
|
|
adds r0, r4, #0
|
|
adds r0, #0xc
|
|
lsls r1, r7, #3
|
|
subs r1, r1, r7
|
|
lsls r5, r1, #2
|
|
ldr r6, _080ED77C
|
|
adds r1, r5, r6
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
bl tv_store_id_2x
|
|
ldr r0, _080ED780
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0x19]
|
|
cmp r0, #1
|
|
beq _080ED76A
|
|
adds r0, r6, r5
|
|
ldrh r0, [r0, #0x12]
|
|
cmp r0, #1
|
|
bne _080ED76C
|
|
_080ED76A:
|
|
movs r0, #1
|
|
_080ED76C:
|
|
strb r0, [r4, #0x1a]
|
|
_080ED76E:
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED77C: .4byte 0x020226A8
|
|
_080ED780: .4byte 0x0829BDA5
|
|
thumb_func_end PutBattleUpdateOnTheAir
|
|
|
|
thumb_func_start Put3CheersForPokeblocksOnTheAir
|
|
Put3CheersForPokeblocksOnTheAir: @ 0x080ED784
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
sub sp, #4
|
|
mov sl, r0
|
|
ldr r0, [sp, #0x24]
|
|
lsls r1, r1, #0x18
|
|
lsrs r5, r1, #0x18
|
|
lsls r2, r2, #0x18
|
|
lsrs r6, r2, #0x18
|
|
lsls r3, r3, #0x18
|
|
lsrs r3, r3, #0x18
|
|
str r3, [sp]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
mov sb, r0
|
|
ldr r0, _080ED7D8
|
|
mov r8, r0
|
|
ldr r0, [r0]
|
|
ldr r7, _080ED7DC
|
|
adds r0, r0, r7
|
|
bl FindEmptyTVSlotWithinFirstFiveShowsOfArray
|
|
ldr r4, _080ED7E0
|
|
strb r0, [r4]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080ED7D4
|
|
movs r0, #9
|
|
bl FindActiveBroadcastByShowType_SetScriptResult
|
|
ldr r0, _080ED7E4
|
|
ldrh r0, [r0]
|
|
cmp r0, #1
|
|
bne _080ED7E8
|
|
_080ED7D4:
|
|
movs r0, #0
|
|
b _080ED85E
|
|
.align 2, 0
|
|
_080ED7D8: .4byte 0x03005AEC
|
|
_080ED7DC: .4byte 0x000027CC
|
|
_080ED7E0: .4byte 0x03005E20
|
|
_080ED7E4: .4byte 0x02037290
|
|
_080ED7E8:
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r7
|
|
mov r2, r8
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
movs r0, #9
|
|
strb r0, [r4]
|
|
movs r7, #1
|
|
strb r7, [r4, #1]
|
|
adds r0, r4, #0
|
|
adds r0, #0xc
|
|
ldr r1, _080ED850
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
adds r0, r4, #4
|
|
mov r1, sl
|
|
bl StringCopy
|
|
movs r0, #7
|
|
ands r5, r0
|
|
ldrb r1, [r4, #3]
|
|
subs r0, #0xf
|
|
ands r0, r1
|
|
orrs r0, r5
|
|
movs r1, #3
|
|
ands r6, r1
|
|
lsls r2, r6, #3
|
|
subs r1, #0x1c
|
|
ands r0, r1
|
|
orrs r0, r2
|
|
strb r0, [r4, #3]
|
|
mov r0, sp
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #2]
|
|
adds r0, r4, #0
|
|
bl tv_store_id_2x
|
|
ldr r0, _080ED854
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0x14]
|
|
cmp r0, #1
|
|
beq _080ED84C
|
|
mov r1, sb
|
|
cmp r1, #1
|
|
bne _080ED858
|
|
_080ED84C:
|
|
strb r7, [r4, #0x15]
|
|
b _080ED85C
|
|
.align 2, 0
|
|
_080ED850: .4byte 0x03005AF0
|
|
_080ED854: .4byte 0x0829BDA5
|
|
_080ED858:
|
|
mov r2, sb
|
|
strb r2, [r4, #0x15]
|
|
_080ED85C:
|
|
movs r0, #1
|
|
_080ED85E:
|
|
add sp, #4
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end Put3CheersForPokeblocksOnTheAir
|
|
|
|
thumb_func_start PutFanClubSpecialOnTheAir
|
|
PutFanClubSpecialOnTheAir: @ 0x080ED870
|
|
push {r4, r5, r6, lr}
|
|
ldr r6, _080ED8D8
|
|
ldr r0, _080ED8DC
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080ED8E0
|
|
adds r0, r0, r1
|
|
ldr r1, [r6]
|
|
adds r4, r1, r0
|
|
ldr r0, _080ED8E4
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #2
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #1
|
|
strb r0, [r4, #0x16]
|
|
adds r0, r4, #2
|
|
ldr r1, _080ED8E8
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
movs r0, #0xb
|
|
strb r0, [r4]
|
|
movs r5, #1
|
|
strb r5, [r4, #1]
|
|
bl GetPlayerIDAsU32
|
|
strb r0, [r4, #0xa]
|
|
lsrs r0, r0, #8
|
|
strb r0, [r4, #0xb]
|
|
adds r0, r4, #0
|
|
adds r0, #0xc
|
|
ldr r1, _080ED8EC
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
bl tv_store_id_2x
|
|
ldr r0, _080ED8F0
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0x17]
|
|
cmp r0, #1
|
|
beq _080ED8D4
|
|
ldr r0, [r6]
|
|
ldr r1, _080ED8F4
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _080ED8F8
|
|
_080ED8D4:
|
|
strb r5, [r4, #0x18]
|
|
b _080ED8FA
|
|
.align 2, 0
|
|
_080ED8D8: .4byte 0x03005AEC
|
|
_080ED8DC: .4byte 0x02037284
|
|
_080ED8E0: .4byte 0x000027CC
|
|
_080ED8E4: .4byte 0x02037282
|
|
_080ED8E8: .4byte 0x03005AF0
|
|
_080ED8EC: .4byte 0x02021C40
|
|
_080ED8F0: .4byte 0x0829BDA5
|
|
_080ED8F4: .4byte 0x000031A0
|
|
_080ED8F8:
|
|
strb r0, [r4, #0x18]
|
|
_080ED8FA:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end PutFanClubSpecialOnTheAir
|
|
|
|
thumb_func_start ContestLiveUpdates_BeforeInterview_1
|
|
ContestLiveUpdates_BeforeInterview_1: @ 0x080ED900
|
|
push {r4, r5, r6, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r6, r0, #0x18
|
|
ldr r5, _080ED940
|
|
ldr r0, [r5]
|
|
ldr r4, _080ED944
|
|
adds r0, r0, r4
|
|
movs r1, #0x18
|
|
bl DeleteTVShowInArrayByIdx
|
|
ldr r0, [r5]
|
|
adds r0, r0, r4
|
|
bl FindEmptyTVSlotWithinFirstFiveShowsOfArray
|
|
ldr r1, _080ED948
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080ED938
|
|
ldr r0, [r5]
|
|
ldr r1, _080ED94C
|
|
adds r0, r0, r1
|
|
strb r6, [r0, #0xd]
|
|
movs r1, #8
|
|
strb r1, [r0]
|
|
_080ED938:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED940: .4byte 0x03005AEC
|
|
_080ED944: .4byte 0x000027CC
|
|
_080ED948: .4byte 0x03005E20
|
|
_080ED94C: .4byte 0x00002B2C
|
|
thumb_func_end ContestLiveUpdates_BeforeInterview_1
|
|
|
|
thumb_func_start ContestLiveUpdates_BeforeInterview_2
|
|
ContestLiveUpdates_BeforeInterview_2: @ 0x080ED950
|
|
push {r4, r5, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
ldr r0, _080ED980
|
|
ldr r0, [r0]
|
|
ldr r1, _080ED984
|
|
adds r4, r0, r1
|
|
ldr r1, _080ED988
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotWithinFirstFiveShowsOfArray
|
|
ldr r1, _080ED98C
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080ED978
|
|
strb r5, [r4, #0xe]
|
|
_080ED978:
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED980: .4byte 0x03005AEC
|
|
_080ED984: .4byte 0x00002B2C
|
|
_080ED988: .4byte 0x000027CC
|
|
_080ED98C: .4byte 0x03005E20
|
|
thumb_func_end ContestLiveUpdates_BeforeInterview_2
|
|
|
|
thumb_func_start ContestLiveUpdates_BeforeInterview_3
|
|
ContestLiveUpdates_BeforeInterview_3: @ 0x080ED990
|
|
push {r4, r5, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
ldr r0, _080ED9C0
|
|
ldr r0, [r0]
|
|
ldr r1, _080ED9C4
|
|
adds r4, r0, r1
|
|
ldr r1, _080ED9C8
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotWithinFirstFiveShowsOfArray
|
|
ldr r1, _080ED9CC
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080ED9B8
|
|
strb r5, [r4, #0xf]
|
|
_080ED9B8:
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080ED9C0: .4byte 0x03005AEC
|
|
_080ED9C4: .4byte 0x00002B2C
|
|
_080ED9C8: .4byte 0x000027CC
|
|
_080ED9CC: .4byte 0x03005E20
|
|
thumb_func_end ContestLiveUpdates_BeforeInterview_3
|
|
|
|
thumb_func_start ContestLiveUpdates_BeforeInterview_4
|
|
ContestLiveUpdates_BeforeInterview_4: @ 0x080ED9D0
|
|
push {r4, r5, lr}
|
|
lsls r0, r0, #0x10
|
|
lsrs r5, r0, #0x10
|
|
ldr r0, _080EDA00
|
|
ldr r0, [r0]
|
|
ldr r1, _080EDA04
|
|
adds r4, r0, r1
|
|
ldr r1, _080EDA08
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotWithinFirstFiveShowsOfArray
|
|
ldr r1, _080EDA0C
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080ED9F8
|
|
strh r5, [r4, #0x10]
|
|
_080ED9F8:
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EDA00: .4byte 0x03005AEC
|
|
_080EDA04: .4byte 0x00002B2C
|
|
_080EDA08: .4byte 0x000027CC
|
|
_080EDA0C: .4byte 0x03005E20
|
|
thumb_func_end ContestLiveUpdates_BeforeInterview_4
|
|
|
|
thumb_func_start ContestLiveUpdates_BeforeInterview_5
|
|
ContestLiveUpdates_BeforeInterview_5: @ 0x080EDA10
|
|
push {r4, r5, r6, r7, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r7, r0, #0x18
|
|
lsls r1, r1, #0x18
|
|
lsrs r5, r1, #0x18
|
|
ldr r0, _080EDA64
|
|
ldr r4, [r0]
|
|
ldr r0, _080EDA68
|
|
adds r6, r4, r0
|
|
ldr r1, _080EDA6C
|
|
adds r0, r4, r1
|
|
bl FindEmptyTVSlotWithinFirstFiveShowsOfArray
|
|
ldr r1, _080EDA70
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EDAA0
|
|
ldr r2, _080EDA74
|
|
lsls r1, r5, #6
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
strh r0, [r6, #2]
|
|
ldr r3, _080EDA78
|
|
adds r0, r4, r3
|
|
adds r2, #0xd
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
strb r7, [r6, #0xc]
|
|
adds r1, r5, #1
|
|
ldr r0, _080EDA7C
|
|
ldrb r0, [r0]
|
|
cmp r1, r0
|
|
ble _080EDA84
|
|
ldr r0, _080EDA80
|
|
ldrb r0, [r0]
|
|
b _080EDA9E
|
|
.align 2, 0
|
|
_080EDA64: .4byte 0x03005AEC
|
|
_080EDA68: .4byte 0x00002B2C
|
|
_080EDA6C: .4byte 0x000027CC
|
|
_080EDA70: .4byte 0x03005E20
|
|
_080EDA74: .4byte 0x02039AA0
|
|
_080EDA78: .4byte 0x00002B30
|
|
_080EDA7C: .4byte 0x02039BD0
|
|
_080EDA80: .4byte 0x0829BDA5
|
|
_080EDA84:
|
|
ldr r0, _080EDAA8
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
beq _080EDA9C
|
|
ldr r1, _080EDAAC
|
|
lsls r0, r5, #3
|
|
subs r0, r0, r5
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0, #0x1a]
|
|
cmp r0, #1
|
|
bne _080EDA9E
|
|
_080EDA9C:
|
|
movs r0, #1
|
|
_080EDA9E:
|
|
strb r0, [r6, #0x1e]
|
|
_080EDAA0:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EDAA8: .4byte 0x0829BDA5
|
|
_080EDAAC: .4byte 0x020226A0
|
|
thumb_func_end ContestLiveUpdates_BeforeInterview_5
|
|
|
|
thumb_func_start InterviewAfter_BravoTrainerPokemonProfile
|
|
InterviewAfter_BravoTrainerPokemonProfile: @ 0x080EDAB0
|
|
push {r4, r5, r6, r7, lr}
|
|
ldr r0, _080EDB54
|
|
ldr r6, [r0]
|
|
ldr r0, _080EDB58
|
|
adds r5, r6, r0
|
|
ldrb r2, [r5]
|
|
cmp r2, #6
|
|
bne _080EDB80
|
|
ldr r0, _080EDB5C
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EDB60
|
|
adds r0, r0, r1
|
|
adds r4, r6, r0
|
|
strb r2, [r4]
|
|
movs r7, #1
|
|
strb r7, [r4, #1]
|
|
ldrh r0, [r5, #2]
|
|
strh r0, [r4, #2]
|
|
adds r0, r4, #0
|
|
adds r0, #0x16
|
|
ldr r1, _080EDB64
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
adds r0, #8
|
|
ldr r2, _080EDB68
|
|
adds r1, r6, r2
|
|
bl StringCopy
|
|
ldrb r0, [r5, #0x13]
|
|
lsls r0, r0, #0x1d
|
|
lsrs r0, r0, #0x1d
|
|
ldrb r2, [r4, #0x13]
|
|
movs r3, #8
|
|
rsbs r3, r3, #0
|
|
adds r1, r3, #0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strb r1, [r4, #0x13]
|
|
ldrb r2, [r5, #0x13]
|
|
movs r0, #0x18
|
|
ands r0, r2
|
|
movs r2, #0x19
|
|
rsbs r2, r2, #0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
strb r2, [r4, #0x13]
|
|
ldrh r0, [r5, #0x14]
|
|
strh r0, [r4, #0x14]
|
|
ldrb r0, [r5, #0x13]
|
|
movs r1, #0x60
|
|
ands r1, r0
|
|
movs r0, #0x61
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x13]
|
|
ldrb r1, [r5, #0x13]
|
|
lsls r1, r1, #0x1d
|
|
lsrs r1, r1, #0x1d
|
|
ands r0, r3
|
|
orrs r0, r1
|
|
strb r0, [r4, #0x13]
|
|
adds r0, r4, #0
|
|
bl tv_store_id_2x
|
|
ldr r0, _080EDB6C
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0x1e]
|
|
cmp r0, #1
|
|
beq _080EDB4E
|
|
ldrb r0, [r5, #0x1f]
|
|
cmp r0, #1
|
|
bne _080EDB70
|
|
_080EDB4E:
|
|
strb r7, [r4, #0x1f]
|
|
b _080EDB72
|
|
.align 2, 0
|
|
_080EDB54: .4byte 0x03005AEC
|
|
_080EDB58: .4byte 0x00002B2C
|
|
_080EDB5C: .4byte 0x03005E20
|
|
_080EDB60: .4byte 0x000027CC
|
|
_080EDB64: .4byte 0x03005AF0
|
|
_080EDB68: .4byte 0x00002B34
|
|
_080EDB6C: .4byte 0x0829BDA5
|
|
_080EDB70:
|
|
strb r0, [r4, #0x1f]
|
|
_080EDB72:
|
|
ldr r0, _080EDB88
|
|
ldr r0, [r0]
|
|
ldr r1, _080EDB8C
|
|
adds r0, r0, r1
|
|
movs r1, #0x18
|
|
bl DeleteTVShowInArrayByIdx
|
|
_080EDB80:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EDB88: .4byte 0x03005AEC
|
|
_080EDB8C: .4byte 0x000027CC
|
|
thumb_func_end InterviewAfter_BravoTrainerPokemonProfile
|
|
|
|
thumb_func_start BravoTrainerPokemonProfile_BeforeInterview1
|
|
BravoTrainerPokemonProfile_BeforeInterview1: @ 0x080EDB90
|
|
push {r4, r5, r6, lr}
|
|
lsls r0, r0, #0x10
|
|
lsrs r6, r0, #0x10
|
|
ldr r4, _080EDBD4
|
|
ldr r0, [r4]
|
|
ldr r1, _080EDBD8
|
|
adds r5, r0, r1
|
|
bl InterviewBefore_BravoTrainerPkmnProfile
|
|
ldr r0, [r4]
|
|
ldr r1, _080EDBDC
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotWithinFirstFiveShowsOfArray
|
|
ldr r1, _080EDBE0
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EDBCE
|
|
ldr r0, [r4]
|
|
ldr r1, _080EDBDC
|
|
adds r0, r0, r1
|
|
movs r1, #0x18
|
|
bl DeleteTVShowInArrayByIdx
|
|
strh r6, [r5, #0x14]
|
|
movs r0, #6
|
|
strb r0, [r5]
|
|
_080EDBCE:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EDBD4: .4byte 0x03005AEC
|
|
_080EDBD8: .4byte 0x00002B2C
|
|
_080EDBDC: .4byte 0x000027CC
|
|
_080EDBE0: .4byte 0x03005E20
|
|
thumb_func_end BravoTrainerPokemonProfile_BeforeInterview1
|
|
|
|
thumb_func_start BravoTrainerPokemonProfile_BeforeInterview2
|
|
BravoTrainerPokemonProfile_BeforeInterview2: @ 0x080EDBE4
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
ldr r0, _080EDC88
|
|
ldr r0, [r0]
|
|
mov r8, r0
|
|
ldr r7, _080EDC8C
|
|
add r7, r8
|
|
ldr r0, _080EDC90
|
|
add r0, r8
|
|
bl FindEmptyTVSlotWithinFirstFiveShowsOfArray
|
|
ldr r1, _080EDC94
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EDC7C
|
|
movs r3, #3
|
|
adds r0, r4, #0
|
|
ands r0, r3
|
|
lsls r0, r0, #5
|
|
ldrb r1, [r7, #0x13]
|
|
movs r2, #0x61
|
|
rsbs r2, r2, #0
|
|
ands r2, r1
|
|
orrs r2, r0
|
|
strb r2, [r7, #0x13]
|
|
ldr r0, _080EDC98
|
|
ldrb r0, [r0]
|
|
movs r1, #7
|
|
ands r1, r0
|
|
movs r0, #8
|
|
rsbs r0, r0, #0
|
|
ands r0, r2
|
|
orrs r0, r1
|
|
strb r0, [r7, #0x13]
|
|
ldr r1, _080EDC9C
|
|
ldrb r1, [r1]
|
|
ands r3, r1
|
|
lsls r3, r3, #3
|
|
movs r1, #0x19
|
|
rsbs r1, r1, #0
|
|
ands r0, r1
|
|
orrs r0, r3
|
|
strb r0, [r7, #0x13]
|
|
ldr r6, _080EDCA0
|
|
ldrb r0, [r6]
|
|
movs r5, #0x64
|
|
muls r0, r5, r0
|
|
ldr r4, _080EDCA4
|
|
adds r0, r0, r4
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r7, #2]
|
|
ldrb r0, [r6]
|
|
muls r0, r5, r0
|
|
adds r0, r0, r4
|
|
ldr r2, _080EDCA8
|
|
add r2, r8
|
|
movs r1, #2
|
|
bl GetMonData
|
|
ldrb r0, [r6]
|
|
muls r0, r5, r0
|
|
adds r0, r0, r4
|
|
movs r1, #3
|
|
bl GetMonData
|
|
strb r0, [r7, #0x1f]
|
|
_080EDC7C:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EDC88: .4byte 0x03005AEC
|
|
_080EDC8C: .4byte 0x00002B2C
|
|
_080EDC90: .4byte 0x000027CC
|
|
_080EDC94: .4byte 0x03005E20
|
|
_080EDC98: .4byte 0x02039BCC
|
|
_080EDC9C: .4byte 0x02039BCE
|
|
_080EDCA0: .4byte 0x02039BC4
|
|
_080EDCA4: .4byte 0x02024190
|
|
_080EDCA8: .4byte 0x00002B34
|
|
thumb_func_end BravoTrainerPokemonProfile_BeforeInterview2
|
|
|
|
thumb_func_start InterviewAfter_BravoTrainerBattleTowerProfile
|
|
InterviewAfter_BravoTrainerBattleTowerProfile: @ 0x080EDCAC
|
|
push {r4, r5, r6, lr}
|
|
ldr r2, _080EDD1C
|
|
ldr r0, _080EDD20
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EDD24
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r6, r1, r0
|
|
movs r0, #7
|
|
strb r0, [r6]
|
|
movs r0, #1
|
|
strb r0, [r6, #1]
|
|
adds r0, r6, #2
|
|
ldr r4, _080EDD28
|
|
ldr r1, [r4]
|
|
bl StringCopy
|
|
adds r0, r6, #0
|
|
adds r0, #0xc
|
|
ldr r1, [r4]
|
|
ldr r2, _080EDD2C
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r1, [r4]
|
|
ldr r2, _080EDD30
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
strh r0, [r6, #0xa]
|
|
adds r2, #2
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
strh r0, [r6, #0x14]
|
|
ldr r5, _080EDD34
|
|
adds r1, r1, r5
|
|
ldrb r0, [r1]
|
|
movs r1, #0
|
|
bl GetCurrentBattleTowerWinStreak
|
|
strh r0, [r6, #0x16]
|
|
ldr r0, [r4]
|
|
ldr r1, _080EDD38
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
strb r0, [r6, #0x1c]
|
|
ldr r0, [r4]
|
|
adds r0, r0, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080EDD3C
|
|
movs r0, #0x32
|
|
b _080EDD3E
|
|
.align 2, 0
|
|
_080EDD1C: .4byte 0x03005AEC
|
|
_080EDD20: .4byte 0x03005E20
|
|
_080EDD24: .4byte 0x000027CC
|
|
_080EDD28: .4byte 0x03005AF0
|
|
_080EDD2C: .4byte 0x00000BD8
|
|
_080EDD30: .4byte 0x00000BD4
|
|
_080EDD34: .4byte 0x00000D07
|
|
_080EDD38: .4byte 0x00000D06
|
|
_080EDD3C:
|
|
movs r0, #0x64
|
|
_080EDD3E:
|
|
strb r0, [r6, #0x1a]
|
|
ldr r0, _080EDD70
|
|
ldrh r0, [r0]
|
|
strb r0, [r6, #0x1b]
|
|
adds r0, r6, #0
|
|
bl tv_store_id_2x
|
|
ldr r0, _080EDD74
|
|
ldrb r0, [r0]
|
|
strb r0, [r6, #0x1d]
|
|
cmp r0, #1
|
|
beq _080EDD64
|
|
ldr r0, _080EDD78
|
|
ldr r0, [r0]
|
|
ldr r2, _080EDD7C
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _080EDD66
|
|
_080EDD64:
|
|
movs r0, #1
|
|
_080EDD66:
|
|
strb r0, [r6, #0x1e]
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EDD70: .4byte 0x02037280
|
|
_080EDD74: .4byte 0x0829BDA5
|
|
_080EDD78: .4byte 0x03005AF0
|
|
_080EDD7C: .4byte 0x00000BEB
|
|
thumb_func_end InterviewAfter_BravoTrainerBattleTowerProfile
|
|
|
|
thumb_func_start SaveRecordedItemPurchasesForTVShow
|
|
SaveRecordedItemPurchasesForTVShow: @ 0x080EDD80
|
|
push {r4, r5, r6, r7, lr}
|
|
ldr r5, _080EDE40
|
|
ldr r0, [r5]
|
|
ldrh r1, [r0, #4]
|
|
ldr r0, _080EDE44
|
|
cmp r1, r0
|
|
beq _080EDE3A
|
|
ldr r0, _080EDE48
|
|
cmp r1, r0
|
|
beq _080EDE3A
|
|
ldr r0, _080EDE4C
|
|
bl TV_BernoulliTrial
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
cmp r4, #0
|
|
bne _080EDE3A
|
|
ldr r0, [r5]
|
|
ldr r7, _080EDE50
|
|
adds r0, r0, r7
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r6, _080EDE54
|
|
strb r0, [r6]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EDE3A
|
|
movs r0, #0x16
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EDE3A
|
|
bl TV_SortPurchasesByQuantity
|
|
ldr r2, _080EDE58
|
|
ldrh r0, [r2, #2]
|
|
cmp r0, #0x13
|
|
bls _080EDE3A
|
|
movs r1, #0
|
|
ldrsb r1, [r6, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r7
|
|
ldr r1, [r5]
|
|
adds r5, r1, r0
|
|
movs r0, #0x16
|
|
strb r0, [r5]
|
|
strb r4, [r5, #1]
|
|
ldr r0, _080EDE5C
|
|
ldrb r0, [r0, #0x14]
|
|
strb r0, [r5, #0x12]
|
|
movs r4, #0
|
|
adds r7, r5, #6
|
|
mov ip, r2
|
|
adds r6, r5, #0
|
|
adds r6, #0xc
|
|
_080EDDFE:
|
|
lsls r2, r4, #1
|
|
adds r3, r7, r2
|
|
lsls r1, r4, #2
|
|
add r1, ip
|
|
ldrh r0, [r1]
|
|
strh r0, [r3]
|
|
adds r2, r6, r2
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r2]
|
|
adds r0, r4, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
cmp r4, #2
|
|
bls _080EDDFE
|
|
movs r0, #1
|
|
bl GetPriceReduction
|
|
strb r0, [r5, #2]
|
|
adds r0, r5, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080EDE60
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
adds r0, r5, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EDE64
|
|
ldrb r0, [r0]
|
|
strb r0, [r5, #3]
|
|
_080EDE3A:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EDE40: .4byte 0x03005AEC
|
|
_080EDE44: .4byte 0x00003C1A
|
|
_080EDE48: .4byte 0x0000371A
|
|
_080EDE4C: .4byte 0x00005555
|
|
_080EDE50: .4byte 0x000027CC
|
|
_080EDE54: .4byte 0x03005E20
|
|
_080EDE58: .4byte 0x02039C20
|
|
_080EDE5C: .4byte 0x02036FB8
|
|
_080EDE60: .4byte 0x03005AF0
|
|
_080EDE64: .4byte 0x0829BDA5
|
|
thumb_func_end SaveRecordedItemPurchasesForTVShow
|
|
|
|
thumb_func_start PutNameRaterShowOnTheAir
|
|
PutNameRaterShowOnTheAir: @ 0x080EDE68
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
bl InterviewBefore_NameRater
|
|
ldr r0, _080EDF40
|
|
ldrh r0, [r0]
|
|
cmp r0, #1
|
|
beq _080EDF32
|
|
ldr r0, _080EDF44
|
|
mov r8, r0
|
|
ldrh r0, [r0]
|
|
movs r7, #0x64
|
|
muls r0, r7, r0
|
|
ldr r6, _080EDF48
|
|
adds r0, r0, r6
|
|
ldr r4, _080EDF4C
|
|
movs r1, #2
|
|
adds r2, r4, #0
|
|
bl GetMonData
|
|
ldr r1, _080EDF50
|
|
mov sb, r1
|
|
ldr r0, [r1]
|
|
bl StringLength
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
cmp r0, #1
|
|
bls _080EDF32
|
|
adds r0, r4, #0
|
|
bl StringLength
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
cmp r0, #1
|
|
bls _080EDF32
|
|
ldr r2, _080EDF54
|
|
ldr r0, _080EDF58
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EDF5C
|
|
adds r0, r0, r1
|
|
ldr r4, [r2]
|
|
adds r4, r4, r0
|
|
movs r0, #5
|
|
strb r0, [r4]
|
|
movs r5, #1
|
|
strb r5, [r4, #1]
|
|
mov r2, r8
|
|
ldrh r0, [r2]
|
|
muls r0, r7, r0
|
|
adds r0, r0, r6
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r4, #2]
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #3
|
|
bl __umodsi3
|
|
strb r0, [r4, #0x1a]
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
ands r0, r5
|
|
strb r0, [r4, #0x1b]
|
|
ldrh r0, [r4, #2]
|
|
bl TV_GetSomeOtherSpeciesAlreadySeenByPlayer
|
|
strh r0, [r4, #0x1c]
|
|
adds r0, r4, #0
|
|
adds r0, #0xf
|
|
mov r2, sb
|
|
ldr r1, [r2]
|
|
bl StringCopy
|
|
mov r1, r8
|
|
ldrh r0, [r1]
|
|
muls r0, r7, r0
|
|
adds r0, r0, r6
|
|
adds r2, r4, #4
|
|
movs r1, #2
|
|
bl GetMonData
|
|
adds r0, r4, #0
|
|
bl tv_store_id_2x
|
|
ldr r0, _080EDF60
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0x1e]
|
|
strb r0, [r4, #0x1f]
|
|
_080EDF32:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EDF40: .4byte 0x02037290
|
|
_080EDF44: .4byte 0x02037280
|
|
_080EDF48: .4byte 0x02024190
|
|
_080EDF4C: .4byte 0x02021C40
|
|
_080EDF50: .4byte 0x03005AF0
|
|
_080EDF54: .4byte 0x03005AEC
|
|
_080EDF58: .4byte 0x03005E20
|
|
_080EDF5C: .4byte 0x000027CC
|
|
_080EDF60: .4byte 0x0829BDA5
|
|
thumb_func_end PutNameRaterShowOnTheAir
|
|
|
|
thumb_func_start StartMassOutbreak
|
|
StartMassOutbreak: @ 0x080EDF64
|
|
push {r4, r5, lr}
|
|
ldr r4, _080EDFF4
|
|
ldr r0, _080EDFF8
|
|
ldrh r0, [r0]
|
|
lsls r1, r0, #3
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #2
|
|
ldr r0, _080EDFFC
|
|
adds r1, r1, r0
|
|
ldr r2, [r4]
|
|
adds r1, r2, r1
|
|
ldrh r3, [r1, #0xc]
|
|
ldr r5, _080EE000
|
|
adds r0, r2, r5
|
|
strh r3, [r0]
|
|
ldrb r0, [r1, #0x10]
|
|
ldr r3, _080EE004
|
|
adds r2, r2, r3
|
|
strb r0, [r2]
|
|
ldr r0, [r4]
|
|
ldrb r2, [r1, #0x11]
|
|
adds r5, #3
|
|
adds r0, r0, r5
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
ldrb r2, [r1, #0x14]
|
|
adds r3, #2
|
|
adds r0, r0, r3
|
|
strb r2, [r0]
|
|
ldr r0, [r4]
|
|
ldrb r2, [r1, #2]
|
|
adds r5, #2
|
|
adds r0, r0, r5
|
|
strb r2, [r0]
|
|
ldr r2, [r4]
|
|
ldrh r3, [r1, #0xe]
|
|
adds r5, #1
|
|
adds r0, r2, r5
|
|
strh r3, [r0]
|
|
ldrh r3, [r1, #4]
|
|
adds r5, #2
|
|
adds r0, r2, r5
|
|
strh r3, [r0]
|
|
ldrh r3, [r1, #6]
|
|
adds r5, #2
|
|
adds r0, r2, r5
|
|
strh r3, [r0]
|
|
ldrh r3, [r1, #8]
|
|
adds r5, #2
|
|
adds r0, r2, r5
|
|
strh r3, [r0]
|
|
ldrh r3, [r1, #0xa]
|
|
adds r5, #2
|
|
adds r0, r2, r5
|
|
strh r3, [r0]
|
|
ldrb r0, [r1, #3]
|
|
ldr r3, _080EE008
|
|
adds r2, r2, r3
|
|
strb r0, [r2]
|
|
ldr r0, [r4]
|
|
ldrb r1, [r1, #0x13]
|
|
adds r5, #3
|
|
adds r0, r0, r5
|
|
strb r1, [r0]
|
|
ldr r0, [r4]
|
|
ldr r1, _080EE00C
|
|
adds r0, r0, r1
|
|
movs r1, #2
|
|
strh r1, [r0]
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EDFF4: .4byte 0x03005AEC
|
|
_080EDFF8: .4byte 0x02037280
|
|
_080EDFFC: .4byte 0x000027CC
|
|
_080EE000: .4byte 0x00002B90
|
|
_080EE004: .4byte 0x00002B92
|
|
_080EE008: .4byte 0x00002BA0
|
|
_080EE00C: .4byte 0x00002BA2
|
|
thumb_func_end StartMassOutbreak
|
|
|
|
thumb_func_start PutLilycoveContestLadyShowOnTheAir
|
|
PutLilycoveContestLadyShowOnTheAir: @ 0x080EE010
|
|
push {r4, lr}
|
|
bl sub_080F0578
|
|
ldr r0, _080EE06C
|
|
ldrh r0, [r0]
|
|
cmp r0, #1
|
|
beq _080EE066
|
|
ldr r2, _080EE070
|
|
ldr r0, _080EE074
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EE078
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
adds r0, r4, #0
|
|
adds r0, #0x17
|
|
bl sub_0818E4A4
|
|
ldrb r0, [r4, #0x17]
|
|
strb r0, [r4, #0x18]
|
|
movs r0, #0xc
|
|
strb r0, [r4]
|
|
movs r0, #1
|
|
strb r0, [r4, #1]
|
|
adds r0, r4, #2
|
|
bl sub_0818E478
|
|
adds r0, r4, #0
|
|
adds r0, #0xa
|
|
adds r1, r4, #0
|
|
adds r1, #0xb
|
|
bl sub_0818E43C
|
|
bl sub_0818E4DC
|
|
strb r0, [r4, #0x16]
|
|
adds r0, r4, #0
|
|
bl tv_store_id_2x
|
|
_080EE066:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE06C: .4byte 0x02037290
|
|
_080EE070: .4byte 0x03005AEC
|
|
_080EE074: .4byte 0x03005E20
|
|
_080EE078: .4byte 0x000027CC
|
|
thumb_func_end PutLilycoveContestLadyShowOnTheAir
|
|
|
|
thumb_func_start InterviewAfter_FanClubLetter
|
|
InterviewAfter_FanClubLetter: @ 0x080EE07C
|
|
push {r4, lr}
|
|
ldr r2, _080EE0D4
|
|
ldr r0, _080EE0D8
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EE0DC
|
|
adds r0, r0, r1
|
|
ldr r4, [r2]
|
|
adds r4, r4, r0
|
|
movs r0, #1
|
|
strb r0, [r4]
|
|
strb r0, [r4, #1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x10
|
|
ldr r1, _080EE0E0
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
bl GetLeadMonIndex
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
movs r1, #0x64
|
|
muls r0, r1, r0
|
|
ldr r1, _080EE0E4
|
|
adds r0, r0, r1
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r4, #2]
|
|
adds r0, r4, #0
|
|
bl tv_store_id_2x
|
|
ldr r0, _080EE0E8
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0x18]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE0D4: .4byte 0x03005AEC
|
|
_080EE0D8: .4byte 0x03005E20
|
|
_080EE0DC: .4byte 0x000027CC
|
|
_080EE0E0: .4byte 0x03005AF0
|
|
_080EE0E4: .4byte 0x02024190
|
|
_080EE0E8: .4byte 0x0829BDA5
|
|
thumb_func_end InterviewAfter_FanClubLetter
|
|
|
|
thumb_func_start InterviewAfter_RecentHappenings
|
|
InterviewAfter_RecentHappenings: @ 0x080EE0EC
|
|
push {r4, r5, lr}
|
|
ldr r2, _080EE130
|
|
ldr r0, _080EE134
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EE138
|
|
adds r0, r0, r1
|
|
ldr r4, [r2]
|
|
adds r4, r4, r0
|
|
movs r5, #0
|
|
movs r0, #2
|
|
strb r0, [r4]
|
|
movs r0, #1
|
|
strb r0, [r4, #1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x10
|
|
ldr r1, _080EE13C
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
strh r5, [r4, #2]
|
|
adds r0, r4, #0
|
|
bl tv_store_id_2x
|
|
ldr r0, _080EE140
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0x18]
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE130: .4byte 0x03005AEC
|
|
_080EE134: .4byte 0x03005E20
|
|
_080EE138: .4byte 0x000027CC
|
|
_080EE13C: .4byte 0x03005AF0
|
|
_080EE140: .4byte 0x0829BDA5
|
|
thumb_func_end InterviewAfter_RecentHappenings
|
|
|
|
thumb_func_start InterviewAfter_PkmnFanClubOpinions
|
|
InterviewAfter_PkmnFanClubOpinions: @ 0x080EE144
|
|
push {r4, r5, r6, r7, lr}
|
|
ldr r2, _080EE1FC
|
|
ldr r0, _080EE200
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EE204
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
movs r0, #3
|
|
strb r0, [r4]
|
|
movs r7, #1
|
|
strb r7, [r4, #1]
|
|
bl GetLeadMonIndex
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
movs r6, #0x64
|
|
muls r0, r6, r0
|
|
ldr r5, _080EE208
|
|
adds r0, r0, r5
|
|
movs r1, #0x20
|
|
movs r2, #0
|
|
bl GetMonData
|
|
lsrs r0, r0, #4
|
|
movs r1, #0xf
|
|
ands r0, r1
|
|
ldrb r2, [r4, #4]
|
|
movs r1, #0x10
|
|
rsbs r1, r1, #0
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strb r1, [r4, #4]
|
|
ldr r0, _080EE20C
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #4
|
|
movs r2, #0xf
|
|
ands r1, r2
|
|
orrs r1, r0
|
|
strb r1, [r4, #4]
|
|
adds r0, r4, #5
|
|
ldr r1, _080EE210
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
bl GetLeadMonIndex
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
muls r0, r6, r0
|
|
adds r0, r0, r5
|
|
adds r2, r4, #0
|
|
adds r2, #0x10
|
|
movs r1, #2
|
|
bl GetMonData
|
|
bl GetLeadMonIndex
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
muls r0, r6, r0
|
|
adds r0, r0, r5
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r4, #2]
|
|
adds r0, r4, #0
|
|
bl tv_store_id_2x
|
|
ldr r0, _080EE214
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0xd]
|
|
cmp r0, #1
|
|
beq _080EE1F8
|
|
bl GetLeadMonIndex
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
muls r0, r6, r0
|
|
adds r0, r0, r5
|
|
movs r1, #3
|
|
bl GetMonData
|
|
cmp r0, #1
|
|
bne _080EE218
|
|
_080EE1F8:
|
|
strb r7, [r4, #0xe]
|
|
b _080EE22C
|
|
.align 2, 0
|
|
_080EE1FC: .4byte 0x03005AEC
|
|
_080EE200: .4byte 0x03005E20
|
|
_080EE204: .4byte 0x000027CC
|
|
_080EE208: .4byte 0x02024190
|
|
_080EE20C: .4byte 0x02037286
|
|
_080EE210: .4byte 0x03005AF0
|
|
_080EE214: .4byte 0x0829BDA5
|
|
_080EE218:
|
|
bl GetLeadMonIndex
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
muls r0, r6, r0
|
|
adds r0, r0, r5
|
|
movs r1, #3
|
|
bl GetMonData
|
|
strb r0, [r4, #0xe]
|
|
_080EE22C:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
thumb_func_end InterviewAfter_PkmnFanClubOpinions
|
|
|
|
thumb_func_start InterviewAfter_DummyShow4
|
|
InterviewAfter_DummyShow4: @ 0x080EE234
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end InterviewAfter_DummyShow4
|
|
|
|
thumb_func_start sub_080EE238
|
|
sub_080EE238: @ 0x080EE238
|
|
push {r4, r5, r6, lr}
|
|
ldr r0, _080EE30C
|
|
bl FlagGet
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _080EE304
|
|
movs r1, #0
|
|
ldr r0, _080EE310
|
|
ldr r2, [r0]
|
|
ldr r3, _080EE314
|
|
_080EE24E:
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r2, r0
|
|
adds r0, r0, r3
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x29
|
|
beq _080EE304
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0x17
|
|
bls _080EE24E
|
|
ldr r0, _080EE318
|
|
bl TV_BernoulliTrial
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
cmp r5, #0
|
|
bne _080EE304
|
|
ldr r6, _080EE310
|
|
ldr r0, [r6]
|
|
ldr r1, _080EE314
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotWithinFirstFiveShowsOfArray
|
|
ldr r4, _080EE31C
|
|
strb r0, [r4]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EE304
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #5
|
|
bl __umodsi3
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r2, #0
|
|
ldrsb r2, [r4, r2]
|
|
lsls r1, r2, #3
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #2
|
|
ldr r2, _080EE314
|
|
adds r1, r1, r2
|
|
ldr r4, [r6]
|
|
adds r4, r4, r1
|
|
movs r1, #0x29
|
|
strb r1, [r4]
|
|
movs r3, #1
|
|
strb r3, [r4, #1]
|
|
ldr r2, _080EE320
|
|
lsls r1, r0, #1
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r2
|
|
ldrb r0, [r1, #0xa]
|
|
strb r0, [r4, #0x14]
|
|
strb r5, [r4, #2]
|
|
strb r5, [r4, #3]
|
|
ldrh r0, [r1]
|
|
movs r2, #0
|
|
strh r0, [r4, #0xc]
|
|
strh r5, [r4, #0xe]
|
|
ldrh r0, [r1, #2]
|
|
strh r0, [r4, #4]
|
|
ldrh r0, [r1, #4]
|
|
strh r0, [r4, #6]
|
|
ldrh r0, [r1, #6]
|
|
strh r0, [r4, #8]
|
|
ldrh r0, [r1, #8]
|
|
strh r0, [r4, #0xa]
|
|
ldrb r0, [r1, #0xb]
|
|
strb r0, [r4, #0x10]
|
|
strb r2, [r4, #0x11]
|
|
strb r2, [r4, #0x12]
|
|
movs r0, #0x32
|
|
strb r0, [r4, #0x13]
|
|
strb r2, [r4, #0x15]
|
|
strh r3, [r4, #0x16]
|
|
adds r0, r4, #0
|
|
bl tv_store_id_2x
|
|
ldr r0, _080EE324
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0x18]
|
|
_080EE304:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE30C: .4byte 0x00000864
|
|
_080EE310: .4byte 0x03005AEC
|
|
_080EE314: .4byte 0x000027CC
|
|
_080EE318: .4byte 0x00000147
|
|
_080EE31C: .4byte 0x03005E20
|
|
_080EE320: .4byte 0x08568B40
|
|
_080EE324: .4byte 0x0829BDA5
|
|
thumb_func_end sub_080EE238
|
|
|
|
thumb_func_start EndMassOutbreak
|
|
EndMassOutbreak: @ 0x080EE328
|
|
push {r4, r5, lr}
|
|
ldr r3, _080EE394
|
|
ldr r0, [r3]
|
|
ldr r2, _080EE398
|
|
adds r1, r0, r2
|
|
movs r4, #0
|
|
movs r2, #0
|
|
strh r2, [r1]
|
|
ldr r5, _080EE39C
|
|
adds r0, r0, r5
|
|
strb r4, [r0]
|
|
ldr r0, [r3]
|
|
ldr r1, _080EE3A0
|
|
adds r0, r0, r1
|
|
strb r4, [r0]
|
|
ldr r0, [r3]
|
|
adds r5, #2
|
|
adds r0, r0, r5
|
|
strb r4, [r0]
|
|
ldr r0, [r3]
|
|
adds r1, #2
|
|
adds r0, r0, r1
|
|
strb r4, [r0]
|
|
ldr r0, [r3]
|
|
adds r5, #2
|
|
adds r1, r0, r5
|
|
strh r2, [r1]
|
|
adds r5, #2
|
|
adds r1, r0, r5
|
|
strh r2, [r1]
|
|
adds r5, #2
|
|
adds r1, r0, r5
|
|
strh r2, [r1]
|
|
adds r5, #2
|
|
adds r1, r0, r5
|
|
strh r2, [r1]
|
|
adds r5, #2
|
|
adds r1, r0, r5
|
|
strh r2, [r1]
|
|
ldr r1, _080EE3A4
|
|
adds r0, r0, r1
|
|
strb r4, [r0]
|
|
ldr r0, [r3]
|
|
adds r5, #3
|
|
adds r0, r0, r5
|
|
strb r4, [r0]
|
|
ldr r0, [r3]
|
|
adds r1, #2
|
|
adds r0, r0, r1
|
|
strh r2, [r0]
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE394: .4byte 0x03005AEC
|
|
_080EE398: .4byte 0x00002B90
|
|
_080EE39C: .4byte 0x00002B92
|
|
_080EE3A0: .4byte 0x00002B93
|
|
_080EE3A4: .4byte 0x00002BA0
|
|
thumb_func_end EndMassOutbreak
|
|
|
|
thumb_func_start UpdateTVShowsPerDay
|
|
UpdateTVShowsPerDay: @ 0x080EE3A8
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
lsls r4, r4, #0x10
|
|
lsrs r4, r4, #0x10
|
|
adds r0, r4, #0
|
|
bl sub_080EE3D4
|
|
adds r0, r4, #0
|
|
bl UpdateMassOutbreakTimeLeft
|
|
adds r0, r4, #0
|
|
bl sub_080EFC24
|
|
adds r0, r4, #0
|
|
bl sub_080EE568
|
|
adds r0, r4, #0
|
|
bl sub_080EF69C
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end UpdateTVShowsPerDay
|
|
|
|
thumb_func_start sub_080EE3D4
|
|
sub_080EE3D4: @ 0x080EE3D4
|
|
push {r4, r5, r6, r7, lr}
|
|
lsls r0, r0, #0x10
|
|
lsrs r5, r0, #0x10
|
|
ldr r1, _080EE41C
|
|
ldr r0, [r1]
|
|
ldr r2, _080EE420
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
mov ip, r1
|
|
cmp r0, #0
|
|
bne _080EE43C
|
|
movs r1, #0
|
|
ldr r6, _080EE424
|
|
_080EE3EE:
|
|
mov r7, ip
|
|
ldr r4, [r7]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r3, r0, #2
|
|
adds r2, r4, r3
|
|
adds r0, r2, r6
|
|
ldrb r0, [r0]
|
|
cmp r0, #0x29
|
|
bne _080EE432
|
|
ldr r7, _080EE428
|
|
adds r0, r2, r7
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _080EE432
|
|
adds r0, r3, r6
|
|
adds r1, r4, r0
|
|
ldrh r0, [r1, #0x16]
|
|
cmp r0, r5
|
|
bhs _080EE42C
|
|
movs r0, #0
|
|
strh r0, [r1, #0x16]
|
|
b _080EE43C
|
|
.align 2, 0
|
|
_080EE41C: .4byte 0x03005AEC
|
|
_080EE420: .4byte 0x00002B90
|
|
_080EE424: .4byte 0x000027CC
|
|
_080EE428: .4byte 0x000027CD
|
|
_080EE42C:
|
|
subs r0, r0, r5
|
|
strh r0, [r1, #0x16]
|
|
b _080EE43C
|
|
_080EE432:
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0x17
|
|
bls _080EE3EE
|
|
_080EE43C:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
thumb_func_end sub_080EE3D4
|
|
|
|
thumb_func_start UpdateMassOutbreakTimeLeft
|
|
UpdateMassOutbreakTimeLeft: @ 0x080EE444
|
|
push {lr}
|
|
lsls r0, r0, #0x10
|
|
lsrs r2, r0, #0x10
|
|
ldr r0, _080EE460
|
|
ldr r0, [r0]
|
|
ldr r3, _080EE464
|
|
adds r1, r0, r3
|
|
ldrh r0, [r1]
|
|
cmp r0, r2
|
|
bhi _080EE468
|
|
bl EndMassOutbreak
|
|
b _080EE46C
|
|
.align 2, 0
|
|
_080EE460: .4byte 0x03005AEC
|
|
_080EE464: .4byte 0x00002BA2
|
|
_080EE468:
|
|
subs r0, r0, r2
|
|
strh r0, [r1]
|
|
_080EE46C:
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end UpdateMassOutbreakTimeLeft
|
|
|
|
thumb_func_start sub_080EE470
|
|
sub_080EE470: @ 0x080EE470
|
|
push {r4, lr}
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _080EE498
|
|
ldr r4, _080EE494
|
|
ldrh r0, [r4]
|
|
lsrs r0, r0, #8
|
|
cmp r0, #4
|
|
bls _080EE486
|
|
bl PutFishingAdviceShowOnTheAir
|
|
_080EE486:
|
|
ldrb r0, [r4]
|
|
strh r0, [r4]
|
|
cmp r0, #0xff
|
|
beq _080EE4BC
|
|
adds r0, #1
|
|
b _080EE4BA
|
|
.align 2, 0
|
|
_080EE494: .4byte 0x02039CF2
|
|
_080EE498:
|
|
ldr r4, _080EE4C4
|
|
ldrb r0, [r4]
|
|
cmp r0, #4
|
|
bls _080EE4A4
|
|
bl PutFishingAdviceShowOnTheAir
|
|
_080EE4A4:
|
|
ldrh r0, [r4]
|
|
movs r1, #0xff
|
|
lsls r1, r1, #8
|
|
ands r1, r0
|
|
strh r1, [r4]
|
|
lsrs r0, r1, #8
|
|
cmp r0, #0xff
|
|
beq _080EE4BC
|
|
movs r2, #0x80
|
|
lsls r2, r2, #1
|
|
adds r0, r1, r2
|
|
_080EE4BA:
|
|
strh r0, [r4]
|
|
_080EE4BC:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE4C4: .4byte 0x02039CF2
|
|
thumb_func_end sub_080EE470
|
|
|
|
thumb_func_start PutFishingAdviceShowOnTheAir
|
|
PutFishingAdviceShowOnTheAir: @ 0x080EE4C8
|
|
push {r4, r5, r6, lr}
|
|
ldr r6, _080EE540
|
|
ldr r0, [r6]
|
|
ldr r5, _080EE544
|
|
adds r0, r0, r5
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r4, _080EE548
|
|
strb r0, [r4]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EE538
|
|
movs r0, #0x18
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EE538
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r5
|
|
ldr r4, [r6]
|
|
adds r4, r4, r0
|
|
movs r1, #0
|
|
movs r0, #0x18
|
|
strb r0, [r4]
|
|
strb r1, [r4, #1]
|
|
ldr r1, _080EE54C
|
|
ldrh r0, [r1]
|
|
strb r0, [r4, #2]
|
|
ldrh r0, [r1]
|
|
lsrs r0, r0, #8
|
|
strb r0, [r4, #3]
|
|
ldr r0, _080EE550
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, #4]
|
|
adds r0, r4, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080EE554
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EE558
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #6]
|
|
_080EE538:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE540: .4byte 0x03005AEC
|
|
_080EE544: .4byte 0x000027CC
|
|
_080EE548: .4byte 0x03005E20
|
|
_080EE54C: .4byte 0x02039CF2
|
|
_080EE550: .4byte 0x02039CF0
|
|
_080EE554: .4byte 0x03005AF0
|
|
_080EE558: .4byte 0x0829BDA5
|
|
thumb_func_end PutFishingAdviceShowOnTheAir
|
|
|
|
thumb_func_start SetPokemonAnglerSpecies
|
|
SetPokemonAnglerSpecies: @ 0x080EE55C
|
|
ldr r1, _080EE564
|
|
strh r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080EE564: .4byte 0x02039CF0
|
|
thumb_func_end SetPokemonAnglerSpecies
|
|
|
|
thumb_func_start sub_080EE568
|
|
sub_080EE568: @ 0x080EE568
|
|
push {r4, lr}
|
|
ldr r4, _080EE594
|
|
ldr r0, [r4]
|
|
ldr r2, _080EE598
|
|
adds r1, r0, r2
|
|
ldrb r0, [r1]
|
|
cmp r0, #0x19
|
|
bne _080EE58E
|
|
ldrh r0, [r1, #2]
|
|
cmp r0, #0x13
|
|
bls _080EE582
|
|
bl sub_080EE5A0
|
|
_080EE582:
|
|
ldr r0, [r4]
|
|
ldr r1, _080EE59C
|
|
adds r0, r0, r1
|
|
movs r1, #0x18
|
|
bl DeleteTVShowInArrayByIdx
|
|
_080EE58E:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE594: .4byte 0x03005AEC
|
|
_080EE598: .4byte 0x00002B2C
|
|
_080EE59C: .4byte 0x000027CC
|
|
thumb_func_end sub_080EE568
|
|
|
|
thumb_func_start sub_080EE5A0
|
|
sub_080EE5A0: @ 0x080EE5A0
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
ldr r7, _080EE648
|
|
ldr r0, [r7]
|
|
ldr r1, _080EE64C
|
|
adds r5, r0, r1
|
|
ldr r0, _080EE650
|
|
bl TV_BernoulliTrial
|
|
lsls r0, r0, #0x18
|
|
lsrs r6, r0, #0x18
|
|
cmp r6, #0
|
|
bne _080EE63C
|
|
ldr r0, [r7]
|
|
ldr r1, _080EE654
|
|
mov r8, r1
|
|
add r0, r8
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r4, _080EE658
|
|
strb r0, [r4]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EE63C
|
|
movs r0, #0x19
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EE63C
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
add r0, r8
|
|
ldr r4, [r7]
|
|
adds r4, r4, r0
|
|
movs r0, #0x19
|
|
strb r0, [r4]
|
|
strb r6, [r4, #1]
|
|
ldrh r0, [r5, #2]
|
|
strh r0, [r4, #2]
|
|
movs r0, #5
|
|
bl GetGameStat
|
|
ldrh r1, [r5, #6]
|
|
subs r0, r0, r1
|
|
strh r0, [r4, #6]
|
|
ldrh r0, [r5, #4]
|
|
strh r0, [r4, #4]
|
|
ldrh r0, [r5, #8]
|
|
strh r0, [r4, #8]
|
|
ldrb r0, [r5, #0xa]
|
|
strb r0, [r4, #0xa]
|
|
adds r0, r4, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080EE65C
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EE660
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0xb]
|
|
ldr r0, [r7]
|
|
add r0, r8
|
|
movs r1, #0x18
|
|
bl DeleteTVShowInArrayByIdx
|
|
_080EE63C:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE648: .4byte 0x03005AEC
|
|
_080EE64C: .4byte 0x00002B2C
|
|
_080EE650: .4byte 0x0000FFFF
|
|
_080EE654: .4byte 0x000027CC
|
|
_080EE658: .4byte 0x03005E20
|
|
_080EE65C: .4byte 0x03005AF0
|
|
_080EE660: .4byte 0x0829BDA5
|
|
thumb_func_end sub_080EE5A0
|
|
|
|
thumb_func_start sub_080EE664
|
|
sub_080EE664: @ 0x080EE664
|
|
push {r4, r5, r6, r7, lr}
|
|
movs r0, #0x1a
|
|
movs r1, #1
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
ldr r4, _080EE6D8
|
|
ldr r0, [r4]
|
|
ldr r1, _080EE6DC
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r2, _080EE6E0
|
|
strb r0, [r2]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EE760
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r2, _080EE6DC
|
|
adds r0, r0, r2
|
|
ldr r1, [r4]
|
|
adds r4, r1, r0
|
|
movs r1, #0
|
|
movs r0, #0x1a
|
|
strb r0, [r4]
|
|
strb r1, [r4, #1]
|
|
ldr r6, _080EE6E4
|
|
movs r5, #0
|
|
_080EE6A8:
|
|
lsls r0, r6, #0x10
|
|
lsrs r0, r0, #0x10
|
|
bl FlagGet
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _080EE6BC
|
|
adds r0, r5, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
_080EE6BC:
|
|
adds r6, #1
|
|
ldr r0, _080EE6E8
|
|
cmp r6, r0
|
|
bls _080EE6A8
|
|
strb r5, [r4, #4]
|
|
bl IsNationalPokedexEnabled
|
|
cmp r0, #0
|
|
beq _080EE6EC
|
|
movs r0, #1
|
|
bl GetNationalPokedexCount
|
|
b _080EE6F2
|
|
.align 2, 0
|
|
_080EE6D8: .4byte 0x03005AEC
|
|
_080EE6DC: .4byte 0x000027CC
|
|
_080EE6E0: .4byte 0x03005E20
|
|
_080EE6E4: .4byte 0x00000867
|
|
_080EE6E8: .4byte 0x0000086E
|
|
_080EE6EC:
|
|
movs r0, #1
|
|
bl GetHoennPokedexCount
|
|
_080EE6F2:
|
|
strh r0, [r4, #2]
|
|
ldr r1, _080EE768
|
|
ldrb r0, [r1, #0x14]
|
|
strb r0, [r4, #7]
|
|
ldrh r0, [r1, #0x12]
|
|
movs r1, #0
|
|
strh r0, [r4, #0xa]
|
|
strb r1, [r4, #5]
|
|
strb r1, [r4, #6]
|
|
movs r6, #0
|
|
adds r7, r4, #0
|
|
adds r7, #0x13
|
|
_080EE70A:
|
|
ldr r0, _080EE76C
|
|
lsls r5, r6, #1
|
|
adds r0, r5, r0
|
|
ldrh r0, [r0]
|
|
bl FlagGet
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
bne _080EE724
|
|
ldrb r0, [r4, #5]
|
|
adds r0, #1
|
|
strb r0, [r4, #5]
|
|
_080EE724:
|
|
ldr r0, _080EE770
|
|
adds r0, r5, r0
|
|
ldrh r0, [r0]
|
|
bl FlagGet
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
bne _080EE73C
|
|
ldrb r0, [r4, #6]
|
|
adds r0, #1
|
|
strb r0, [r4, #6]
|
|
_080EE73C:
|
|
adds r6, #1
|
|
cmp r6, #6
|
|
bls _080EE70A
|
|
ldr r0, _080EE774
|
|
ldr r1, [r0]
|
|
ldr r2, _080EE778
|
|
adds r0, r1, r2
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, #8]
|
|
adds r0, r7, #0
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EE77C
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0xc]
|
|
_080EE760:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE768: .4byte 0x02036FB8
|
|
_080EE76C: .4byte 0x08568B8A
|
|
_080EE770: .4byte 0x08568B7C
|
|
_080EE774: .4byte 0x03005AF0
|
|
_080EE778: .4byte 0x00000EB8
|
|
_080EE77C: .4byte 0x0829BDA5
|
|
thumb_func_end sub_080EE664
|
|
|
|
thumb_func_start sub_080EE780
|
|
sub_080EE780: @ 0x080EE780
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r5, r0, #0
|
|
ldr r7, _080EE7F4
|
|
ldr r0, [r7]
|
|
ldr r6, _080EE7F8
|
|
adds r0, r0, r6
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r4, _080EE7FC
|
|
strb r0, [r4]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EE7EE
|
|
movs r0, #0x1b
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EE7EE
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r6
|
|
ldr r4, [r7]
|
|
adds r4, r4, r0
|
|
movs r1, #0
|
|
movs r0, #0x1b
|
|
strb r0, [r4]
|
|
strb r1, [r4, #1]
|
|
ldr r1, _080EE800
|
|
ldr r0, [r1]
|
|
ldrb r0, [r0, #8]
|
|
strb r0, [r4, #8]
|
|
ldrh r0, [r5]
|
|
strh r0, [r4, #4]
|
|
ldrh r0, [r5, #2]
|
|
strh r0, [r4, #6]
|
|
adds r0, r4, #0
|
|
adds r0, #0x13
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EE804
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #9]
|
|
_080EE7EE:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE7F4: .4byte 0x03005AEC
|
|
_080EE7F8: .4byte 0x000027CC
|
|
_080EE7FC: .4byte 0x03005E20
|
|
_080EE800: .4byte 0x03005AF0
|
|
_080EE804: .4byte 0x0829BDA5
|
|
thumb_func_end sub_080EE780
|
|
|
|
thumb_func_start sub_080EE808
|
|
sub_080EE808: @ 0x080EE808
|
|
push {r4, r5, r6, lr}
|
|
ldr r6, _080EE87C
|
|
ldr r0, [r6]
|
|
ldr r5, _080EE880
|
|
adds r0, r0, r5
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r4, _080EE884
|
|
strb r0, [r4]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EE876
|
|
movs r0, #0x1c
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EE876
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r5
|
|
ldr r4, [r6]
|
|
adds r4, r4, r0
|
|
movs r1, #0
|
|
movs r0, #0x1c
|
|
strb r0, [r4]
|
|
strb r1, [r4, #1]
|
|
ldr r0, _080EE888
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, #2]
|
|
ldr r1, _080EE88C
|
|
ldrb r0, [r1, #0x14]
|
|
strb r0, [r4, #4]
|
|
ldrh r0, [r1, #0x12]
|
|
strh r0, [r4, #6]
|
|
adds r0, r4, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080EE890
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EE894
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #5]
|
|
_080EE876:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE87C: .4byte 0x03005AEC
|
|
_080EE880: .4byte 0x000027CC
|
|
_080EE884: .4byte 0x03005E20
|
|
_080EE888: .4byte 0x02037282
|
|
_080EE88C: .4byte 0x02036FB8
|
|
_080EE890: .4byte 0x03005AF0
|
|
_080EE894: .4byte 0x0829BDA5
|
|
thumb_func_end sub_080EE808
|
|
|
|
thumb_func_start AlertTVOfNewCoinTotal
|
|
AlertTVOfNewCoinTotal: @ 0x080EE898
|
|
push {r4, r5, r6, lr}
|
|
lsls r0, r0, #0x10
|
|
lsrs r4, r0, #0x10
|
|
ldr r0, _080EE8DC
|
|
ldr r0, [r0]
|
|
ldr r1, _080EE8E0
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r1, _080EE8E4
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EE974
|
|
movs r0, #0x1d
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EE974
|
|
movs r5, #0
|
|
ldr r0, _080EE8E8
|
|
ldrb r1, [r0]
|
|
adds r6, r0, #0
|
|
cmp r1, #0
|
|
beq _080EE8EC
|
|
cmp r1, #1
|
|
beq _080EE90E
|
|
b _080EE974
|
|
.align 2, 0
|
|
_080EE8DC: .4byte 0x03005AEC
|
|
_080EE8E0: .4byte 0x000027CC
|
|
_080EE8E4: .4byte 0x03005E20
|
|
_080EE8E8: .4byte 0x02039CF6
|
|
_080EE8EC:
|
|
ldr r0, _080EE900
|
|
ldrh r1, [r0]
|
|
adds r0, r1, #0
|
|
adds r0, #0xc8
|
|
cmp r4, r0
|
|
blt _080EE904
|
|
movs r5, #1
|
|
subs r0, r4, r1
|
|
b _080EE932
|
|
.align 2, 0
|
|
_080EE900: .4byte 0x02039CF4
|
|
_080EE904:
|
|
cmp r1, #0x63
|
|
bls _080EE974
|
|
adds r0, r1, #0
|
|
subs r0, #0x64
|
|
b _080EE92C
|
|
_080EE90E:
|
|
ldr r0, _080EE920
|
|
ldrh r1, [r0]
|
|
adds r0, r1, #0
|
|
adds r0, #0x32
|
|
cmp r4, r0
|
|
blt _080EE924
|
|
movs r5, #1
|
|
subs r0, r4, r1
|
|
b _080EE932
|
|
.align 2, 0
|
|
_080EE920: .4byte 0x02039CF4
|
|
_080EE924:
|
|
cmp r1, #0x31
|
|
bls _080EE974
|
|
adds r0, r1, #0
|
|
subs r0, #0x32
|
|
_080EE92C:
|
|
cmp r4, r0
|
|
bgt _080EE974
|
|
subs r0, r1, r4
|
|
_080EE932:
|
|
lsls r0, r0, #0x10
|
|
lsrs r3, r0, #0x10
|
|
ldr r2, _080EE97C
|
|
ldr r0, _080EE980
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EE984
|
|
adds r0, r0, r1
|
|
ldr r4, [r2]
|
|
adds r4, r4, r0
|
|
movs r1, #0
|
|
movs r0, #0x1d
|
|
strb r0, [r4]
|
|
strb r1, [r4, #1]
|
|
strh r3, [r4, #4]
|
|
ldrb r0, [r6]
|
|
strb r0, [r4, #3]
|
|
strb r5, [r4, #2]
|
|
adds r0, r4, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080EE988
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EE98C
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #8]
|
|
_080EE974:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EE97C: .4byte 0x03005AEC
|
|
_080EE980: .4byte 0x03005E20
|
|
_080EE984: .4byte 0x000027CC
|
|
_080EE988: .4byte 0x03005AF0
|
|
_080EE98C: .4byte 0x0829BDA5
|
|
thumb_func_end AlertTVOfNewCoinTotal
|
|
|
|
thumb_func_start AlertTVThatPlayerPlayedSlotMachine
|
|
AlertTVThatPlayerPlayedSlotMachine: @ 0x080EE990
|
|
ldr r2, _080EE99C
|
|
movs r1, #0
|
|
strb r1, [r2]
|
|
ldr r1, _080EE9A0
|
|
strh r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080EE99C: .4byte 0x02039CF6
|
|
_080EE9A0: .4byte 0x02039CF4
|
|
thumb_func_end AlertTVThatPlayerPlayedSlotMachine
|
|
|
|
thumb_func_start AlertTVThatPlayerPlayedRoulette
|
|
AlertTVThatPlayerPlayedRoulette: @ 0x080EE9A4
|
|
ldr r2, _080EE9B0
|
|
movs r1, #1
|
|
strb r1, [r2]
|
|
ldr r1, _080EE9B4
|
|
strh r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080EE9B0: .4byte 0x02039CF6
|
|
_080EE9B4: .4byte 0x02039CF4
|
|
thumb_func_end AlertTVThatPlayerPlayedRoulette
|
|
|
|
thumb_func_start sub_080EE9B8
|
|
sub_080EE9B8: @ 0x080EE9B8
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
mov r8, r0
|
|
movs r3, #0
|
|
ldr r6, _080EE9FC
|
|
ldr r7, _080EEA00
|
|
adds r2, r6, #0
|
|
movs r1, #0
|
|
_080EE9CC:
|
|
adds r0, r3, r2
|
|
strb r1, [r0]
|
|
adds r0, r3, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r3, r0, #0x18
|
|
cmp r3, #0xf
|
|
bls _080EE9CC
|
|
movs r3, #0
|
|
movs r5, #0
|
|
_080EE9DE:
|
|
ldr r0, [r7]
|
|
ldr r1, _080EEA04
|
|
adds r0, r0, r1
|
|
adds r0, r0, r3
|
|
ldrb r4, [r0]
|
|
adds r3, #1
|
|
cmp r4, #0
|
|
beq _080EEA2A
|
|
movs r1, #0
|
|
ldrb r0, [r6]
|
|
cmp r0, #0
|
|
bne _080EEA08
|
|
strb r4, [r6]
|
|
b _080EEA24
|
|
.align 2, 0
|
|
_080EE9FC: .4byte 0x03005E40
|
|
_080EEA00: .4byte 0x03005AEC
|
|
_080EEA04: .4byte 0x00001AAE
|
|
_080EEA08:
|
|
adds r0, r1, r6
|
|
ldrb r0, [r0]
|
|
cmp r0, r4
|
|
beq _080EEA2A
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0xf
|
|
bhi _080EEA2A
|
|
adds r2, r1, r6
|
|
ldrb r0, [r2]
|
|
cmp r0, #0
|
|
bne _080EEA08
|
|
strb r4, [r2]
|
|
_080EEA24:
|
|
adds r0, r5, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
_080EEA2A:
|
|
lsls r0, r3, #0x18
|
|
lsrs r3, r0, #0x18
|
|
cmp r3, #0xf
|
|
bls _080EE9DE
|
|
cmp r5, #4
|
|
bls _080EEA3E
|
|
movs r0, #4
|
|
mov r1, r8
|
|
strb r0, [r1, #3]
|
|
b _080EEA42
|
|
_080EEA3E:
|
|
mov r0, r8
|
|
strb r5, [r0, #3]
|
|
_080EEA42:
|
|
mov r1, r8
|
|
ldrb r0, [r1, #3]
|
|
cmp r0, #0
|
|
beq _080EEAC4
|
|
cmp r0, #1
|
|
bne _080EEA54
|
|
ldrb r0, [r6]
|
|
strb r0, [r1, #4]
|
|
b _080EEAC4
|
|
_080EEA54:
|
|
movs r6, #0
|
|
adds r7, r5, #0
|
|
muls r7, r5, r7
|
|
cmp r6, r7
|
|
bge _080EEA9E
|
|
ldr r0, _080EEAD0
|
|
mov sb, r0
|
|
_080EEA62:
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
adds r1, r5, #0
|
|
bl __modsi3
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
adds r1, r5, #0
|
|
bl __modsi3
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
mov r0, sb
|
|
adds r2, r4, r0
|
|
ldrb r3, [r2]
|
|
add r1, sb
|
|
ldrb r0, [r1]
|
|
strb r0, [r2]
|
|
strb r3, [r1]
|
|
adds r0, r6, #1
|
|
lsls r0, r0, #0x10
|
|
lsrs r6, r0, #0x10
|
|
cmp r6, r7
|
|
blt _080EEA62
|
|
_080EEA9E:
|
|
movs r3, #0
|
|
mov r1, r8
|
|
ldrb r1, [r1, #3]
|
|
cmp r3, r1
|
|
bhs _080EEAC4
|
|
mov r2, r8
|
|
adds r2, #4
|
|
ldr r4, _080EEAD0
|
|
_080EEAAE:
|
|
adds r1, r2, r3
|
|
adds r0, r3, r4
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r0, r3, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r3, r0, #0x18
|
|
mov r0, r8
|
|
ldrb r0, [r0, #3]
|
|
cmp r3, r0
|
|
blo _080EEAAE
|
|
_080EEAC4:
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EEAD0: .4byte 0x03005E40
|
|
thumb_func_end sub_080EE9B8
|
|
|
|
thumb_func_start sub_080EEAD4
|
|
sub_080EEAD4: @ 0x080EEAD4
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
mov sl, r0
|
|
movs r7, #0
|
|
movs r0, #0
|
|
mov sb, r0
|
|
ldr r1, _080EEC18
|
|
mov r8, r1
|
|
_080EEAEA:
|
|
movs r0, #0x64
|
|
adds r1, r7, #0
|
|
muls r1, r0, r1
|
|
ldr r0, _080EEC1C
|
|
adds r4, r1, r0
|
|
adds r0, r4, #0
|
|
movs r1, #0xb
|
|
bl GetMonData
|
|
cmp r0, #0
|
|
beq _080EEBB4
|
|
adds r0, r4, #0
|
|
movs r1, #0x2d
|
|
bl GetMonData
|
|
cmp r0, #0
|
|
bne _080EEBB4
|
|
adds r0, r4, #0
|
|
movs r1, #0x38
|
|
bl GetMonData
|
|
ldr r2, _080EEC20
|
|
mov r3, sb
|
|
lsls r1, r3, #3
|
|
adds r6, r1, r2
|
|
strb r0, [r6]
|
|
adds r0, r4, #0
|
|
movs r1, #0xb
|
|
bl GetMonData
|
|
strh r0, [r6, #2]
|
|
movs r5, #0
|
|
adds r0, r4, #0
|
|
movs r1, #0xd
|
|
bl GetMonData
|
|
lsls r0, r0, #0x10
|
|
lsrs r1, r0, #0x10
|
|
cmp r1, #0
|
|
beq _080EEB40
|
|
mov r0, r8
|
|
strh r1, [r0]
|
|
movs r5, #1
|
|
_080EEB40:
|
|
adds r0, r4, #0
|
|
movs r1, #0xe
|
|
bl GetMonData
|
|
lsls r0, r0, #0x10
|
|
lsrs r1, r0, #0x10
|
|
cmp r1, #0
|
|
beq _080EEB5C
|
|
lsls r0, r5, #1
|
|
add r0, r8
|
|
strh r1, [r0]
|
|
adds r0, r5, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
_080EEB5C:
|
|
adds r0, r4, #0
|
|
movs r1, #0xf
|
|
bl GetMonData
|
|
lsls r0, r0, #0x10
|
|
lsrs r1, r0, #0x10
|
|
cmp r1, #0
|
|
beq _080EEB78
|
|
lsls r0, r5, #1
|
|
add r0, r8
|
|
strh r1, [r0]
|
|
adds r0, r5, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
_080EEB78:
|
|
adds r0, r4, #0
|
|
movs r1, #0x10
|
|
bl GetMonData
|
|
lsls r0, r0, #0x10
|
|
lsrs r1, r0, #0x10
|
|
cmp r1, #0
|
|
beq _080EEB94
|
|
lsls r0, r5, #1
|
|
add r0, r8
|
|
strh r1, [r0]
|
|
adds r0, r5, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
_080EEB94:
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
adds r1, r5, #0
|
|
bl __modsi3
|
|
lsls r0, r0, #1
|
|
add r0, r8
|
|
ldrh r0, [r0]
|
|
strh r0, [r6, #4]
|
|
mov r0, sb
|
|
adds r0, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
mov sb, r0
|
|
_080EEBB4:
|
|
adds r0, r7, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r7, r0, #0x18
|
|
cmp r7, #5
|
|
bls _080EEAEA
|
|
movs r7, #0
|
|
movs r1, #0
|
|
cmp r1, sb
|
|
bhs _080EEBDE
|
|
ldr r2, _080EEC20
|
|
_080EEBC8:
|
|
lsls r0, r7, #3
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
adds r0, r1, r0
|
|
lsls r0, r0, #0x10
|
|
lsrs r1, r0, #0x10
|
|
adds r0, r7, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r7, r0, #0x18
|
|
cmp r7, sb
|
|
blo _080EEBC8
|
|
_080EEBDE:
|
|
adds r0, r1, #0
|
|
mov r1, sb
|
|
bl __divsi3
|
|
mov r1, sl
|
|
strb r0, [r1, #2]
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
mov r1, sb
|
|
bl __modsi3
|
|
lsls r0, r0, #0x10
|
|
ldr r1, _080EEC20
|
|
lsrs r0, r0, #0xd
|
|
adds r0, r0, r1
|
|
ldrh r1, [r0, #2]
|
|
mov r2, sl
|
|
strh r1, [r2, #8]
|
|
ldrh r0, [r0, #4]
|
|
strh r0, [r2, #0xa]
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EEC18: .4byte 0x03005E30
|
|
_080EEC1C: .4byte 0x02024190
|
|
_080EEC20: .4byte 0x03005E50
|
|
thumb_func_end sub_080EEAD4
|
|
|
|
thumb_func_start TV_PutSecretBaseVisitOnTheAir
|
|
TV_PutSecretBaseVisitOnTheAir: @ 0x080EEC24
|
|
push {r4, lr}
|
|
movs r0, #0x1f
|
|
movs r1, #1
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
ldr r4, _080EEC90
|
|
ldr r0, [r4]
|
|
ldr r1, _080EEC94
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r2, _080EEC98
|
|
strb r0, [r2]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EEC88
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EEC94
|
|
adds r0, r0, r1
|
|
ldr r4, [r4]
|
|
adds r4, r4, r0
|
|
movs r1, #0
|
|
movs r0, #0x1f
|
|
strb r0, [r4]
|
|
strb r1, [r4, #1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080EEC9C
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
bl sub_080EE9B8
|
|
adds r0, r4, #0
|
|
bl sub_080EEAD4
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EECA0
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0xc]
|
|
_080EEC88:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EEC90: .4byte 0x03005AEC
|
|
_080EEC94: .4byte 0x000027CC
|
|
_080EEC98: .4byte 0x03005E20
|
|
_080EEC9C: .4byte 0x03005AF0
|
|
_080EECA0: .4byte 0x0829BDA5
|
|
thumb_func_end TV_PutSecretBaseVisitOnTheAir
|
|
|
|
thumb_func_start sub_080EECA4
|
|
sub_080EECA4: @ 0x080EECA4
|
|
push {r4, r5, r6, r7, lr}
|
|
ldr r6, _080EED44
|
|
ldr r0, [r6]
|
|
ldr r5, _080EED48
|
|
adds r0, r0, r5
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r4, _080EED4C
|
|
strb r0, [r4]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
bne _080EECC4
|
|
b _080EEDE2
|
|
_080EECC4:
|
|
movs r0, #0x1e
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
bne _080EECD6
|
|
b _080EEDE2
|
|
_080EECD6:
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r5
|
|
ldr r1, [r6]
|
|
adds r4, r1, r0
|
|
movs r1, #0
|
|
movs r0, #0x1e
|
|
strb r0, [r4]
|
|
strb r1, [r4, #1]
|
|
movs r5, #0
|
|
ldr r6, _080EED50
|
|
ldr r3, _080EED54
|
|
ldr r7, _080EED58
|
|
adds r2, r6, #0
|
|
adds r2, #0x36
|
|
_080EECFA:
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
adds r0, r5, r0
|
|
lsls r0, r0, #0x10
|
|
lsrs r5, r0, #0x10
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0xa
|
|
bls _080EECFA
|
|
ldrb r1, [r6, #5]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080EED1E
|
|
adds r0, r5, #1
|
|
lsls r0, r0, #0x10
|
|
lsrs r5, r0, #0x10
|
|
_080EED1E:
|
|
ldrb r0, [r3, #0x14]
|
|
strb r0, [r4, #4]
|
|
adds r0, r4, #0
|
|
adds r0, #0x13
|
|
ldr r1, [r7]
|
|
bl StringCopy
|
|
ldrh r0, [r6, #6]
|
|
strh r0, [r4, #0xa]
|
|
ldr r0, _080EED5C
|
|
ldrb r0, [r0]
|
|
subs r0, #1
|
|
cmp r0, #9
|
|
bhi _080EEDA2
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EED60
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EED44: .4byte 0x03005AEC
|
|
_080EED48: .4byte 0x000027CC
|
|
_080EED4C: .4byte 0x03005E20
|
|
_080EED50: .4byte 0x03005A70
|
|
_080EED54: .4byte 0x02036FB8
|
|
_080EED58: .4byte 0x03005AF0
|
|
_080EED5C: .4byte 0x02023FDE
|
|
_080EED60: .4byte 0x080EED64
|
|
_080EED64: @ jump table
|
|
.4byte _080EED96 @ case 0
|
|
.4byte _080EED8C @ case 1
|
|
.4byte _080EED8C @ case 2
|
|
.4byte _080EED9A @ case 3
|
|
.4byte _080EED9A @ case 4
|
|
.4byte _080EED9E @ case 5
|
|
.4byte _080EED92 @ case 6
|
|
.4byte _080EED9A @ case 7
|
|
.4byte _080EEDA2 @ case 8
|
|
.4byte _080EED9E @ case 9
|
|
_080EED8C:
|
|
movs r0, #0
|
|
strb r0, [r4]
|
|
b _080EEDE2
|
|
_080EED92:
|
|
movs r0, #0
|
|
b _080EEDA0
|
|
_080EED96:
|
|
movs r0, #1
|
|
b _080EEDA0
|
|
_080EED9A:
|
|
movs r0, #2
|
|
b _080EEDA0
|
|
_080EED9E:
|
|
movs r0, #3
|
|
_080EEDA0:
|
|
strb r0, [r4, #5]
|
|
_080EEDA2:
|
|
ldr r1, _080EEDC4
|
|
ldrh r0, [r1, #0x20]
|
|
strh r0, [r4, #2]
|
|
ldrb r0, [r4, #5]
|
|
cmp r0, #1
|
|
beq _080EEDD2
|
|
cmp r0, #1
|
|
bgt _080EEDD6
|
|
cmp r0, #0
|
|
bne _080EEDD6
|
|
ldrb r1, [r1, #5]
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080EEDC8
|
|
movs r0, #1
|
|
b _080EEDCC
|
|
.align 2, 0
|
|
_080EEDC4: .4byte 0x03005A70
|
|
_080EEDC8:
|
|
lsls r0, r1, #0x1a
|
|
lsrs r0, r0, #0x1c
|
|
_080EEDCC:
|
|
strh r0, [r4, #6]
|
|
strh r5, [r4, #8]
|
|
b _080EEDD6
|
|
_080EEDD2:
|
|
ldrh r0, [r1, #0x22]
|
|
strh r0, [r4, #0xc]
|
|
_080EEDD6:
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EEDE8
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0xe]
|
|
_080EEDE2:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EEDE8: .4byte 0x0829BDA5
|
|
thumb_func_end sub_080EECA4
|
|
|
|
thumb_func_start sub_080EEDEC
|
|
sub_080EEDEC: @ 0x080EEDEC
|
|
push {r4, r5, r6, lr}
|
|
ldr r6, _080EEE60
|
|
ldr r0, [r6]
|
|
ldr r5, _080EEE64
|
|
adds r0, r0, r5
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r4, _080EEE68
|
|
strb r0, [r4]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EEE5A
|
|
movs r0, #0x20
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EEE5A
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r5
|
|
ldr r4, [r6]
|
|
adds r4, r4, r0
|
|
movs r1, #0
|
|
movs r0, #0x20
|
|
strb r0, [r4]
|
|
strb r1, [r4, #1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080EEE6C
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
ldr r0, _080EEE70
|
|
ldrb r1, [r0]
|
|
movs r0, #4
|
|
subs r0, r0, r1
|
|
strb r0, [r4, #4]
|
|
ldr r0, _080EEE74
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, #2]
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EEE78
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #5]
|
|
_080EEE5A:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EEE60: .4byte 0x03005AEC
|
|
_080EEE64: .4byte 0x000027CC
|
|
_080EEE68: .4byte 0x03005E20
|
|
_080EEE6C: .4byte 0x03005AF0
|
|
_080EEE70: .4byte 0x02037280
|
|
_080EEE74: .4byte 0x02037282
|
|
_080EEE78: .4byte 0x0829BDA5
|
|
thumb_func_end sub_080EEDEC
|
|
|
|
thumb_func_start sub_080EEE7C
|
|
sub_080EEE7C: @ 0x080EEE7C
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
sub sp, #4
|
|
adds r7, r3, #0
|
|
ldr r3, [sp, #0x24]
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
mov sl, r0
|
|
lsls r1, r1, #0x10
|
|
lsrs r1, r1, #0x10
|
|
mov sb, r1
|
|
lsls r2, r2, #0x18
|
|
lsrs r6, r2, #0x18
|
|
lsls r3, r3, #0x10
|
|
lsrs r3, r3, #0x10
|
|
str r3, [sp]
|
|
ldr r0, _080EEF58
|
|
mov r8, r0
|
|
ldr r0, [r0]
|
|
ldr r5, _080EEF5C
|
|
adds r0, r0, r5
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r4, _080EEF60
|
|
strb r0, [r4]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EEF46
|
|
movs r0, #0x21
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EEF46
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r5
|
|
mov r2, r8
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
movs r1, #0
|
|
movs r0, #0x21
|
|
strb r0, [r4]
|
|
strb r1, [r4, #1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080EEF64
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
mov r0, sl
|
|
strh r0, [r4, #4]
|
|
mov r1, sb
|
|
strh r1, [r4, #6]
|
|
lsls r0, r6, #1
|
|
adds r0, r0, r7
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, #2]
|
|
movs r2, #0
|
|
movs r3, #0
|
|
adds r5, r4, #0
|
|
adds r5, #8
|
|
_080EEF0E:
|
|
cmp r2, r6
|
|
beq _080EEF28
|
|
lsls r0, r2, #1
|
|
adds r0, r0, r7
|
|
ldrh r1, [r0]
|
|
cmp r1, #0
|
|
beq _080EEF28
|
|
lsls r0, r3, #1
|
|
adds r0, r5, r0
|
|
strh r1, [r0]
|
|
adds r0, r3, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r3, r0, #0x18
|
|
_080EEF28:
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #3
|
|
bls _080EEF0E
|
|
strb r3, [r4, #0x10]
|
|
mov r2, sp
|
|
ldrh r2, [r2]
|
|
strh r2, [r4, #0xe]
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EEF68
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0x11]
|
|
_080EEF46:
|
|
add sp, #4
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EEF58: .4byte 0x03005AEC
|
|
_080EEF5C: .4byte 0x000027CC
|
|
_080EEF60: .4byte 0x03005E20
|
|
_080EEF64: .4byte 0x03005AF0
|
|
_080EEF68: .4byte 0x0829BDA5
|
|
thumb_func_end sub_080EEE7C
|
|
|
|
thumb_func_start sub_080EEF6C
|
|
sub_080EEF6C: @ 0x080EEF6C
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
mov r8, r0
|
|
lsls r1, r1, #0x18
|
|
lsrs r7, r1, #0x18
|
|
ldr r6, _080EEFE8
|
|
ldr r0, [r6]
|
|
ldr r5, _080EEFEC
|
|
adds r0, r0, r5
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r4, _080EEFF0
|
|
strb r0, [r4]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EEFDE
|
|
movs r0, #0x27
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EEFDE
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r5
|
|
ldr r4, [r6]
|
|
adds r4, r4, r0
|
|
movs r1, #0
|
|
movs r0, #0x27
|
|
strb r0, [r4]
|
|
strb r1, [r4, #1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080EEFF4
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
mov r0, r8
|
|
strb r0, [r4, #2]
|
|
strb r7, [r4, #3]
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EEFF8
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #4]
|
|
_080EEFDE:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EEFE8: .4byte 0x03005AEC
|
|
_080EEFEC: .4byte 0x000027CC
|
|
_080EEFF0: .4byte 0x03005E20
|
|
_080EEFF4: .4byte 0x03005AF0
|
|
_080EEFF8: .4byte 0x0829BDA5
|
|
thumb_func_end sub_080EEF6C
|
|
|
|
thumb_func_start sub_080EEFFC
|
|
sub_080EEFFC: @ 0x080EEFFC
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r5, r0, #0
|
|
lsls r1, r1, #0x18
|
|
lsrs r1, r1, #0x18
|
|
mov r8, r1
|
|
ldr r7, _080EF094
|
|
ldr r0, [r7]
|
|
ldr r6, _080EF098
|
|
adds r0, r0, r6
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r4, _080EF09C
|
|
strb r0, [r4]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EF0B2
|
|
movs r0, #0x23
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EF0B2
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r6
|
|
ldr r1, [r7]
|
|
adds r4, r1, r0
|
|
movs r1, #0
|
|
movs r0, #0x23
|
|
strb r0, [r4]
|
|
strb r1, [r4, #1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080EF0A0
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
adds r2, r4, #4
|
|
adds r0, r5, #0
|
|
movs r1, #2
|
|
bl GetMonData
|
|
adds r0, r5, #0
|
|
bl GetRibbonCount
|
|
strb r0, [r4, #2]
|
|
mov r0, r8
|
|
bl TV_MonDataIdxToRibbon
|
|
strb r0, [r4, #3]
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EF0A4
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #0xf]
|
|
cmp r0, #1
|
|
beq _080EF090
|
|
adds r0, r5, #0
|
|
movs r1, #3
|
|
bl GetMonData
|
|
cmp r0, #1
|
|
bne _080EF0A8
|
|
_080EF090:
|
|
movs r0, #1
|
|
b _080EF0B0
|
|
.align 2, 0
|
|
_080EF094: .4byte 0x03005AEC
|
|
_080EF098: .4byte 0x000027CC
|
|
_080EF09C: .4byte 0x03005E20
|
|
_080EF0A0: .4byte 0x03005AF0
|
|
_080EF0A4: .4byte 0x0829BDA5
|
|
_080EF0A8:
|
|
adds r0, r5, #0
|
|
movs r1, #3
|
|
bl GetMonData
|
|
_080EF0B0:
|
|
strb r0, [r4, #0x10]
|
|
_080EF0B2:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_080EEFFC
|
|
|
|
thumb_func_start GetRibbonCount
|
|
GetRibbonCount: @ 0x080EF0BC
|
|
push {r4, r5, lr}
|
|
adds r5, r0, #0
|
|
movs r1, #0x32
|
|
bl GetMonData
|
|
adds r4, r0, #0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x33
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x34
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x35
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x36
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x43
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x44
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x45
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x46
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x47
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x48
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x49
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x4a
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x4b
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x4c
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x4d
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
movs r1, #0x4e
|
|
bl GetMonData
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r4, #0
|
|
pop {r4, r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GetRibbonCount
|
|
|
|
thumb_func_start TV_MonDataIdxToRibbon
|
|
TV_MonDataIdxToRibbon: @ 0x080EF1B4
|
|
push {lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0x43
|
|
beq _080EF23A
|
|
cmp r0, #0x32
|
|
bne _080EF1C6
|
|
movs r0, #1
|
|
b _080EF240
|
|
_080EF1C6:
|
|
cmp r0, #0x33
|
|
bne _080EF1CE
|
|
movs r0, #5
|
|
b _080EF240
|
|
_080EF1CE:
|
|
cmp r0, #0x34
|
|
bne _080EF1D6
|
|
movs r0, #9
|
|
b _080EF240
|
|
_080EF1D6:
|
|
cmp r0, #0x35
|
|
bne _080EF1DE
|
|
movs r0, #0xd
|
|
b _080EF240
|
|
_080EF1DE:
|
|
cmp r0, #0x36
|
|
bne _080EF1E6
|
|
movs r0, #0x11
|
|
b _080EF240
|
|
_080EF1E6:
|
|
cmp r0, #0x44
|
|
bne _080EF1EE
|
|
movs r0, #0x15
|
|
b _080EF240
|
|
_080EF1EE:
|
|
cmp r0, #0x45
|
|
bne _080EF1F6
|
|
movs r0, #0x16
|
|
b _080EF240
|
|
_080EF1F6:
|
|
cmp r0, #0x46
|
|
bne _080EF1FE
|
|
movs r0, #0x17
|
|
b _080EF240
|
|
_080EF1FE:
|
|
cmp r0, #0x47
|
|
bne _080EF206
|
|
movs r0, #0x18
|
|
b _080EF240
|
|
_080EF206:
|
|
cmp r0, #0x48
|
|
bne _080EF20E
|
|
movs r0, #0x19
|
|
b _080EF240
|
|
_080EF20E:
|
|
cmp r0, #0x49
|
|
bne _080EF216
|
|
movs r0, #0x1a
|
|
b _080EF240
|
|
_080EF216:
|
|
cmp r0, #0x4a
|
|
bne _080EF21E
|
|
movs r0, #0x1b
|
|
b _080EF240
|
|
_080EF21E:
|
|
cmp r0, #0x4b
|
|
bne _080EF226
|
|
movs r0, #0x1c
|
|
b _080EF240
|
|
_080EF226:
|
|
cmp r0, #0x4c
|
|
bne _080EF22E
|
|
movs r0, #0x1d
|
|
b _080EF240
|
|
_080EF22E:
|
|
cmp r0, #0x4d
|
|
bne _080EF236
|
|
movs r0, #0x1e
|
|
b _080EF240
|
|
_080EF236:
|
|
cmp r0, #0x4e
|
|
beq _080EF23E
|
|
_080EF23A:
|
|
movs r0, #0
|
|
b _080EF240
|
|
_080EF23E:
|
|
movs r0, #0x1f
|
|
_080EF240:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end TV_MonDataIdxToRibbon
|
|
|
|
thumb_func_start sub_080EF244
|
|
sub_080EF244: @ 0x080EF244
|
|
push {r4, r5, r6, lr}
|
|
ldr r5, _080EF2BC
|
|
ldr r0, [r5]
|
|
ldr r6, _080EF2C0
|
|
adds r0, r0, r6
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r4, _080EF2C4
|
|
strb r0, [r4]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EF2B4
|
|
movs r0, #0x22
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EF2B4
|
|
movs r1, #0
|
|
ldrsb r1, [r4, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r6
|
|
ldr r4, [r5]
|
|
adds r4, r4, r0
|
|
movs r1, #0
|
|
movs r0, #0x22
|
|
strb r0, [r4]
|
|
strb r1, [r4, #1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080EF2C8
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
ldr r0, [r5]
|
|
ldr r2, _080EF2CC
|
|
adds r1, r0, r2
|
|
ldrh r1, [r1]
|
|
strh r1, [r4, #4]
|
|
ldr r1, _080EF2D0
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
strh r0, [r4, #6]
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EF2D4
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #8]
|
|
_080EF2B4:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EF2BC: .4byte 0x03005AEC
|
|
_080EF2C0: .4byte 0x000027CC
|
|
_080EF2C4: .4byte 0x03005E20
|
|
_080EF2C8: .4byte 0x03005AF0
|
|
_080EF2CC: .4byte 0x00002BB0
|
|
_080EF2D0: .4byte 0x00002BB2
|
|
_080EF2D4: .4byte 0x0829BDA5
|
|
thumb_func_end sub_080EF244
|
|
|
|
thumb_func_start sub_080EF2D8
|
|
sub_080EF2D8: @ 0x080EF2D8
|
|
push {r4, lr}
|
|
ldr r4, _080EF314
|
|
ldr r0, [r4]
|
|
ldr r1, _080EF318
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotWithinFirstFiveShowsOfArray
|
|
ldr r1, _080EF31C
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EF328
|
|
movs r0, #0xb
|
|
bl FindActiveBroadcastByShowType_SetScriptResult
|
|
ldr r0, _080EF320
|
|
ldrh r0, [r0]
|
|
cmp r0, #1
|
|
beq _080EF328
|
|
ldr r0, [r4]
|
|
ldr r1, _080EF324
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
beq _080EF328
|
|
movs r0, #0
|
|
b _080EF32A
|
|
.align 2, 0
|
|
_080EF314: .4byte 0x03005AEC
|
|
_080EF318: .4byte 0x000027CC
|
|
_080EF31C: .4byte 0x03005E20
|
|
_080EF320: .4byte 0x02037290
|
|
_080EF324: .4byte 0x00003150
|
|
_080EF328:
|
|
movs r0, #1
|
|
_080EF32A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_080EF2D8
|
|
|
|
thumb_func_start sub_080EF330
|
|
sub_080EF330: @ 0x080EF330
|
|
push {r4, r5, r6, r7, lr}
|
|
movs r0, #0x24
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
bne _080EF388
|
|
ldr r0, _080EF3A8
|
|
ldr r0, [r0]
|
|
ldr r1, _080EF3AC
|
|
adds r7, r0, r1
|
|
bl GetPlayerIDAsU32
|
|
adds r4, r0, #0
|
|
movs r6, #5
|
|
lsrs r5, r4, #8
|
|
_080EF354:
|
|
lsls r0, r6, #3
|
|
adds r0, r0, r6
|
|
lsls r0, r0, #2
|
|
adds r1, r0, r7
|
|
ldrb r0, [r1]
|
|
cmp r0, #0x24
|
|
bne _080EF37E
|
|
movs r3, #0xff
|
|
adds r0, r4, #0
|
|
ands r0, r3
|
|
adds r2, r1, #0
|
|
adds r2, #0x22
|
|
ldrb r2, [r2]
|
|
cmp r0, r2
|
|
bne _080EF37E
|
|
adds r0, r5, #0
|
|
ands r0, r3
|
|
adds r1, #0x23
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
beq _080EF3B4
|
|
_080EF37E:
|
|
adds r0, r6, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r6, r0, #0x18
|
|
cmp r6, #0x17
|
|
bls _080EF354
|
|
_080EF388:
|
|
ldr r0, _080EF3A8
|
|
ldr r0, [r0]
|
|
ldr r1, _080EF3AC
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r1, _080EF3B0
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EF3D8
|
|
movs r0, #1
|
|
b _080EF3DA
|
|
.align 2, 0
|
|
_080EF3A8: .4byte 0x03005AEC
|
|
_080EF3AC: .4byte 0x000027CC
|
|
_080EF3B0: .4byte 0x03005E20
|
|
_080EF3B4:
|
|
ldr r5, _080EF3D0
|
|
ldr r0, [r5]
|
|
ldr r4, _080EF3D4
|
|
adds r0, r0, r4
|
|
adds r1, r6, #0
|
|
bl DeleteTVShowInArrayByIdx
|
|
ldr r0, [r5]
|
|
adds r0, r0, r4
|
|
bl sub_080F0428
|
|
movs r0, #1
|
|
b _080EF3DA
|
|
.align 2, 0
|
|
_080EF3D0: .4byte 0x03005AEC
|
|
_080EF3D4: .4byte 0x000027CC
|
|
_080EF3D8:
|
|
movs r0, #0
|
|
_080EF3DA:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_080EF330
|
|
|
|
thumb_func_start sub_080EF3E0
|
|
sub_080EF3E0: @ 0x080EF3E0
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, r0, #0x10
|
|
lsrs r6, r0, #0x10
|
|
lsls r1, r1, #0x18
|
|
lsrs r4, r1, #0x18
|
|
ldr r5, _080EF448
|
|
ldr r0, [r5]
|
|
ldr r1, _080EF44C
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r2, _080EF450
|
|
strb r0, [r2]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
bne _080EF40C
|
|
b _080EF56A
|
|
_080EF40C:
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r2, _080EF44C
|
|
adds r0, r0, r2
|
|
ldr r1, [r5]
|
|
adds r7, r1, r0
|
|
movs r1, #0
|
|
movs r0, #0x24
|
|
strb r0, [r7]
|
|
strb r1, [r7, #1]
|
|
adds r0, r7, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080EF454
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
strh r6, [r7, #2]
|
|
strb r4, [r7, #0xd]
|
|
subs r0, r4, #1
|
|
cmp r0, #0xc
|
|
bls _080EF43E
|
|
b _080EF55E
|
|
_080EF43E:
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EF458
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EF448: .4byte 0x03005AEC
|
|
_080EF44C: .4byte 0x000027CC
|
|
_080EF450: .4byte 0x03005E20
|
|
_080EF454: .4byte 0x03005AF0
|
|
_080EF458: .4byte 0x080EF45C
|
|
_080EF45C: @ jump table
|
|
.4byte _080EF490 @ case 0
|
|
.4byte _080EF4C0 @ case 1
|
|
.4byte _080EF500 @ case 2
|
|
.4byte _080EF518 @ case 3
|
|
.4byte _080EF490 @ case 4
|
|
.4byte _080EF490 @ case 5
|
|
.4byte _080EF490 @ case 6
|
|
.4byte _080EF490 @ case 7
|
|
.4byte _080EF490 @ case 8
|
|
.4byte _080EF490 @ case 9
|
|
.4byte _080EF490 @ case 10
|
|
.4byte _080EF490 @ case 11
|
|
.4byte _080EF490 @ case 12
|
|
_080EF490:
|
|
ldr r4, _080EF4BC
|
|
adds r0, r4, #0
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r7, #4]
|
|
adds r0, r4, #0
|
|
adds r0, #0x64
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r7, #6]
|
|
adds r4, #0xc8
|
|
adds r0, r4, #0
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r7, #8]
|
|
b _080EF55E
|
|
.align 2, 0
|
|
_080EF4BC: .4byte 0x02024190
|
|
_080EF4C0:
|
|
ldr r4, _080EF4FC
|
|
adds r0, r4, #0
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r7, #4]
|
|
adds r0, r4, #0
|
|
adds r0, #0x64
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r7, #6]
|
|
adds r0, r4, #0
|
|
adds r0, #0xc8
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r7, #8]
|
|
movs r1, #0x96
|
|
lsls r1, r1, #1
|
|
adds r0, r4, r1
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r7, #0xa]
|
|
b _080EF55E
|
|
.align 2, 0
|
|
_080EF4FC: .4byte 0x02024190
|
|
_080EF500:
|
|
ldr r4, _080EF514
|
|
adds r0, r4, #0
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r7, #4]
|
|
adds r4, #0x64
|
|
adds r0, r4, #0
|
|
b _080EF554
|
|
.align 2, 0
|
|
_080EF514: .4byte 0x02024190
|
|
_080EF518:
|
|
ldr r2, _080EF574
|
|
mov r8, r2
|
|
ldr r6, _080EF578
|
|
ldr r0, [r6]
|
|
ldr r1, _080EF57C
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
movs r5, #0x64
|
|
adds r1, r0, #0
|
|
muls r1, r5, r1
|
|
movs r4, #0xea
|
|
lsls r4, r4, #1
|
|
adds r1, r1, r4
|
|
ldr r0, [r2]
|
|
adds r0, r0, r1
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r7, #4]
|
|
ldr r0, [r6]
|
|
ldr r2, _080EF580
|
|
adds r0, r0, r2
|
|
ldrh r0, [r0]
|
|
adds r1, r0, #0
|
|
muls r1, r5, r1
|
|
adds r1, r1, r4
|
|
mov r2, r8
|
|
ldr r0, [r2]
|
|
adds r0, r0, r1
|
|
_080EF554:
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
strh r0, [r7, #6]
|
|
_080EF55E:
|
|
adds r0, r7, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EF584
|
|
ldrb r0, [r0]
|
|
strb r0, [r7, #0xc]
|
|
_080EF56A:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EF574: .4byte 0x03005AEC
|
|
_080EF578: .4byte 0x03005AF0
|
|
_080EF57C: .4byte 0x00000CAA
|
|
_080EF580: .4byte 0x00000CAC
|
|
_080EF584: .4byte 0x0829BDA5
|
|
thumb_func_end sub_080EF3E0
|
|
|
|
thumb_func_start sub_080EF588
|
|
sub_080EF588: @ 0x080EF588
|
|
push {r4, r5, r6, r7, lr}
|
|
movs r0, #0x26
|
|
movs r1, #0
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EF690
|
|
ldr r7, _080EF644
|
|
ldr r0, [r7]
|
|
ldr r1, _080EF648
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r2, _080EF64C
|
|
strb r0, [r2]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EF690
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EF648
|
|
adds r0, r0, r1
|
|
ldr r1, [r7]
|
|
adds r5, r1, r0
|
|
movs r1, #0
|
|
movs r0, #0x26
|
|
strb r0, [r5]
|
|
strb r1, [r5, #1]
|
|
adds r0, r5, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080EF650
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
ldr r0, _080EF654
|
|
bl VarGet
|
|
strh r0, [r5, #2]
|
|
bl DeleteRegistry_Yes
|
|
adds r0, r5, #4
|
|
ldr r1, _080EF658
|
|
bl StringCopy
|
|
ldr r0, _080EF65C
|
|
bl VarGet
|
|
strh r0, [r5, #0x10]
|
|
ldr r0, _080EF660
|
|
bl VarGet
|
|
adds r4, r0, #0
|
|
ldr r0, _080EF664
|
|
bl VarGet
|
|
lsls r4, r4, #0x10
|
|
lsrs r4, r4, #0x10
|
|
lsls r0, r0, #0x10
|
|
adds r4, r4, r0
|
|
str r4, [r5, #0xc]
|
|
adds r0, r5, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EF668
|
|
ldrb r0, [r0]
|
|
strb r0, [r5, #0x1b]
|
|
cmp r0, #1
|
|
beq _080EF640
|
|
ldr r4, [r7]
|
|
ldr r6, _080EF66C
|
|
adds r0, r6, #0
|
|
bl VarGet
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
lsls r1, r0, #2
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #5
|
|
adds r4, r4, r1
|
|
ldr r0, _080EF670
|
|
adds r4, r4, r0
|
|
ldrb r0, [r4]
|
|
cmp r0, #1
|
|
bne _080EF674
|
|
_080EF640:
|
|
movs r0, #1
|
|
b _080EF68E
|
|
.align 2, 0
|
|
_080EF644: .4byte 0x03005AEC
|
|
_080EF648: .4byte 0x000027CC
|
|
_080EF64C: .4byte 0x03005E20
|
|
_080EF650: .4byte 0x03005AF0
|
|
_080EF654: .4byte 0x000040EC
|
|
_080EF658: .4byte 0x02021C40
|
|
_080EF65C: .4byte 0x000040ED
|
|
_080EF660: .4byte 0x000040EE
|
|
_080EF664: .4byte 0x000040EF
|
|
_080EF668: .4byte 0x0829BDA5
|
|
_080EF66C: .4byte 0x00004054
|
|
_080EF670: .4byte 0x00001AA9
|
|
_080EF674:
|
|
adds r0, r6, #0
|
|
bl VarGet
|
|
ldr r2, [r7]
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
lsls r1, r0, #2
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #5
|
|
adds r2, r2, r1
|
|
ldr r1, _080EF698
|
|
adds r2, r2, r1
|
|
ldrb r0, [r2]
|
|
_080EF68E:
|
|
strb r0, [r5, #0x1c]
|
|
_080EF690:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EF698: .4byte 0x00001AA9
|
|
thumb_func_end sub_080EF588
|
|
|
|
thumb_func_start sub_080EF69C
|
|
sub_080EF69C: @ 0x080EF69C
|
|
push {r4, r5, r6, r7, lr}
|
|
movs r5, #0
|
|
ldr r6, _080EF6A8
|
|
adds r7, r6, #2
|
|
b _080EF6B2
|
|
.align 2, 0
|
|
_080EF6A8: .4byte 0x08568B98
|
|
_080EF6AC:
|
|
adds r0, r5, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
_080EF6B2:
|
|
cmp r5, #6
|
|
bhi _080EF6D2
|
|
lsls r4, r5, #2
|
|
adds r0, r4, r6
|
|
ldrh r0, [r0]
|
|
bl VarGet
|
|
adds r4, r4, r7
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
ldrh r4, [r4]
|
|
cmp r0, r4
|
|
blo _080EF6AC
|
|
adds r0, r5, #0
|
|
bl sub_080EF6F8
|
|
_080EF6D2:
|
|
movs r5, #0
|
|
ldr r4, _080EF6F4
|
|
_080EF6D6:
|
|
lsls r0, r5, #2
|
|
adds r0, r0, r4
|
|
ldrh r0, [r0]
|
|
movs r1, #0
|
|
bl VarSet
|
|
adds r0, r5, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
cmp r5, #6
|
|
bls _080EF6D6
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EF6F4: .4byte 0x08568B98
|
|
thumb_func_end sub_080EF69C
|
|
|
|
thumb_func_start sub_080EF6F8
|
|
sub_080EF6F8: @ 0x080EF6F8
|
|
push {r4, r5, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
movs r0, #0x25
|
|
movs r1, #1
|
|
bl HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
ldr r4, _080EF76C
|
|
ldr r0, [r4]
|
|
ldr r1, _080EF770
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r2, _080EF774
|
|
strb r0, [r2]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EF764
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EF770
|
|
adds r0, r0, r1
|
|
ldr r4, [r4]
|
|
adds r4, r4, r0
|
|
movs r1, #0
|
|
movs r0, #0x25
|
|
strb r0, [r4]
|
|
strb r1, [r4, #1]
|
|
adds r0, r4, #0
|
|
adds r0, #0x13
|
|
ldr r1, _080EF778
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
strb r5, [r4, #4]
|
|
ldr r1, _080EF77C
|
|
lsls r0, r5, #2
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0]
|
|
bl VarGet
|
|
strh r0, [r4, #2]
|
|
adds r0, r4, #0
|
|
bl tv_store_id_3x
|
|
ldr r0, _080EF780
|
|
ldrb r0, [r0]
|
|
strb r0, [r4, #5]
|
|
_080EF764:
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EF76C: .4byte 0x03005AEC
|
|
_080EF770: .4byte 0x000027CC
|
|
_080EF774: .4byte 0x03005E20
|
|
_080EF778: .4byte 0x03005AF0
|
|
_080EF77C: .4byte 0x08568B98
|
|
_080EF780: .4byte 0x0829BDA5
|
|
thumb_func_end sub_080EF6F8
|
|
|
|
thumb_func_start sub_080EF784
|
|
sub_080EF784: @ 0x080EF784
|
|
push {r4, lr}
|
|
ldr r4, _080EF7A4
|
|
adds r0, r4, #0
|
|
bl VarGet
|
|
adds r1, r0, #0
|
|
adds r1, #1
|
|
lsls r1, r1, #0x10
|
|
lsrs r1, r1, #0x10
|
|
adds r0, r4, #0
|
|
bl VarSet
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EF7A4: .4byte 0x000040E6
|
|
thumb_func_end sub_080EF784
|
|
|
|
thumb_func_start sub_080EF7A8
|
|
sub_080EF7A8: @ 0x080EF7A8
|
|
push {r4, lr}
|
|
ldr r4, _080EF7C8
|
|
adds r0, r4, #0
|
|
bl VarGet
|
|
adds r1, r0, #0
|
|
adds r1, #1
|
|
lsls r1, r1, #0x10
|
|
lsrs r1, r1, #0x10
|
|
adds r0, r4, #0
|
|
bl VarSet
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EF7C8: .4byte 0x000040EB
|
|
thumb_func_end sub_080EF7A8
|
|
|
|
thumb_func_start sub_080EF7CC
|
|
sub_080EF7CC: @ 0x080EF7CC
|
|
push {r4, lr}
|
|
ldr r4, _080EF7EC
|
|
adds r0, r4, #0
|
|
bl VarGet
|
|
adds r1, r0, #0
|
|
adds r1, #1
|
|
lsls r1, r1, #0x10
|
|
lsrs r1, r1, #0x10
|
|
adds r0, r4, #0
|
|
bl VarSet
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EF7EC: .4byte 0x000040E7
|
|
thumb_func_end sub_080EF7CC
|
|
|
|
thumb_func_start sub_080EF7F0
|
|
sub_080EF7F0: @ 0x080EF7F0
|
|
push {r4, lr}
|
|
ldr r4, _080EF810
|
|
adds r0, r4, #0
|
|
bl VarGet
|
|
adds r1, r0, #0
|
|
adds r1, #1
|
|
lsls r1, r1, #0x10
|
|
lsrs r1, r1, #0x10
|
|
adds r0, r4, #0
|
|
bl VarSet
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EF810: .4byte 0x000040E8
|
|
thumb_func_end sub_080EF7F0
|
|
|
|
thumb_func_start sub_080EF814
|
|
sub_080EF814: @ 0x080EF814
|
|
push {r4, lr}
|
|
ldr r4, _080EF834
|
|
adds r0, r4, #0
|
|
bl VarGet
|
|
adds r1, r0, #0
|
|
adds r1, #1
|
|
lsls r1, r1, #0x10
|
|
lsrs r1, r1, #0x10
|
|
adds r0, r4, #0
|
|
bl VarSet
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EF834: .4byte 0x000040E9
|
|
thumb_func_end sub_080EF814
|
|
|
|
thumb_func_start sub_080EF838
|
|
sub_080EF838: @ 0x080EF838
|
|
push {r4, lr}
|
|
ldr r4, _080EF85C
|
|
adds r0, r4, #0
|
|
bl VarGet
|
|
adds r1, r0, #0
|
|
ldr r0, _080EF860
|
|
ldrh r0, [r0]
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #0x10
|
|
lsrs r1, r1, #0x10
|
|
adds r0, r4, #0
|
|
bl VarSet
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EF85C: .4byte 0x000040EA
|
|
_080EF860: .4byte 0x02037284
|
|
thumb_func_end sub_080EF838
|
|
|
|
thumb_func_start sub_080EF864
|
|
sub_080EF864: @ 0x080EF864
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
lsls r4, r4, #0x10
|
|
lsrs r4, r4, #0x10
|
|
ldr r5, _080EF888
|
|
adds r0, r5, #0
|
|
bl VarGet
|
|
adds r4, r4, r0
|
|
lsls r4, r4, #0x10
|
|
lsrs r4, r4, #0x10
|
|
adds r0, r5, #0
|
|
adds r1, r4, #0
|
|
bl VarSet
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EF888: .4byte 0x000040F1
|
|
thumb_func_end sub_080EF864
|
|
|
|
thumb_func_start sub_080EF88C
|
|
sub_080EF88C: @ 0x080EF88C
|
|
push {r4, r5, r6, r7, lr}
|
|
ldr r0, _080EF918
|
|
bl FlagGet
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _080EF910
|
|
ldr r6, _080EF91C
|
|
ldr r0, [r6]
|
|
ldr r7, _080EF920
|
|
adds r0, r0, r7
|
|
bl sub_080EF934
|
|
ldr r5, _080EF924
|
|
strb r0, [r5]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080EF910
|
|
ldr r0, _080EF928
|
|
bl TV_BernoulliTrial
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EF910
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #3
|
|
ands r0, r1
|
|
adds r4, r0, #1
|
|
adds r0, r4, #0
|
|
bl sub_080EFBE8
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EF910
|
|
ldr r1, [r6]
|
|
movs r0, #0
|
|
ldrsb r0, [r5, r0]
|
|
lsls r0, r0, #2
|
|
adds r1, r1, r0
|
|
adds r1, r1, r7
|
|
strb r4, [r1]
|
|
ldr r2, [r6]
|
|
movs r0, #0
|
|
ldrsb r0, [r5, r0]
|
|
lsls r0, r0, #2
|
|
adds r0, r2, r0
|
|
ldr r1, _080EF92C
|
|
adds r0, r0, r1
|
|
movs r1, #4
|
|
strh r1, [r0]
|
|
movs r0, #0
|
|
ldrsb r0, [r5, r0]
|
|
lsls r0, r0, #2
|
|
adds r2, r2, r0
|
|
ldr r0, _080EF930
|
|
adds r2, r2, r0
|
|
movs r0, #1
|
|
strb r0, [r2]
|
|
_080EF910:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EF918: .4byte 0x00000864
|
|
_080EF91C: .4byte 0x03005AEC
|
|
_080EF920: .4byte 0x00002B50
|
|
_080EF924: .4byte 0x03005E20
|
|
_080EF928: .4byte 0x0000028F
|
|
_080EF92C: .4byte 0x00002B52
|
|
_080EF930: .4byte 0x00002B51
|
|
thumb_func_end sub_080EF88C
|
|
|
|
thumb_func_start sub_080EF934
|
|
sub_080EF934: @ 0x080EF934
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
movs r1, #0
|
|
_080EF93A:
|
|
lsls r0, r1, #0x18
|
|
asrs r1, r0, #0x18
|
|
lsls r0, r1, #2
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080EF94C
|
|
adds r0, r1, #0
|
|
b _080EF95C
|
|
_080EF94C:
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0xf
|
|
ble _080EF93A
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
_080EF95C:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_080EF934
|
|
|
|
thumb_func_start ClearPokemonNews
|
|
ClearPokemonNews: @ 0x080EF960
|
|
push {r4, lr}
|
|
movs r4, #0
|
|
_080EF964:
|
|
adds r0, r4, #0
|
|
bl ClearPokemonNewsI
|
|
adds r0, r4, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
cmp r4, #0xf
|
|
bls _080EF964
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
thumb_func_end ClearPokemonNews
|
|
|
|
thumb_func_start ClearPokemonNewsI
|
|
ClearPokemonNewsI: @ 0x080EF97C
|
|
push {r4, lr}
|
|
lsls r0, r0, #0x18
|
|
ldr r3, _080EF9AC
|
|
ldr r1, [r3]
|
|
lsrs r0, r0, #0x16
|
|
adds r1, r1, r0
|
|
ldr r2, _080EF9B0
|
|
adds r1, r1, r2
|
|
movs r2, #0
|
|
strb r2, [r1]
|
|
ldr r1, [r3]
|
|
adds r1, r1, r0
|
|
ldr r4, _080EF9B4
|
|
adds r1, r1, r4
|
|
strb r2, [r1]
|
|
ldr r1, [r3]
|
|
adds r1, r1, r0
|
|
ldr r0, _080EF9B8
|
|
adds r1, r1, r0
|
|
strh r2, [r1]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EF9AC: .4byte 0x03005AEC
|
|
_080EF9B0: .4byte 0x00002B50
|
|
_080EF9B4: .4byte 0x00002B51
|
|
_080EF9B8: .4byte 0x00002B52
|
|
thumb_func_end ClearPokemonNewsI
|
|
|
|
thumb_func_start sub_080EF9BC
|
|
sub_080EF9BC: @ 0x080EF9BC
|
|
push {r4, r5, r6, r7, lr}
|
|
movs r2, #0
|
|
ldr r6, _080EF9DC
|
|
_080EF9C2:
|
|
ldr r0, _080EF9DC
|
|
ldr r0, [r0]
|
|
lsls r1, r2, #2
|
|
adds r0, r0, r1
|
|
ldr r3, _080EF9E0
|
|
adds r0, r0, r3
|
|
ldrb r0, [r0]
|
|
adds r5, r2, #1
|
|
cmp r0, #0
|
|
bne _080EFA16
|
|
lsls r0, r5, #0x18
|
|
b _080EFA10
|
|
.align 2, 0
|
|
_080EF9DC: .4byte 0x03005AEC
|
|
_080EF9E0: .4byte 0x00002B50
|
|
_080EF9E4:
|
|
ldr r3, [r6]
|
|
lsls r4, r2, #2
|
|
adds r0, r3, r4
|
|
ldr r7, _080EFA08
|
|
adds r0, r0, r7
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080EFA0C
|
|
adds r0, r3, r7
|
|
adds r1, r0, r1
|
|
adds r0, r0, r4
|
|
ldr r0, [r0]
|
|
str r0, [r1]
|
|
adds r0, r2, #0
|
|
bl ClearPokemonNewsI
|
|
b _080EFA16
|
|
.align 2, 0
|
|
_080EFA08: .4byte 0x00002B50
|
|
_080EFA0C:
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
_080EFA10:
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #0xf
|
|
bls _080EF9E4
|
|
_080EFA16:
|
|
lsls r0, r5, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #0xe
|
|
bls _080EF9C2
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_080EF9BC
|
|
|
|
thumb_func_start FindAnyTVNewsOnTheAir
|
|
FindAnyTVNewsOnTheAir: @ 0x080EFA24
|
|
push {r4, lr}
|
|
movs r2, #0
|
|
ldr r0, _080EFA54
|
|
ldr r3, [r0]
|
|
_080EFA2C:
|
|
lsls r0, r2, #2
|
|
adds r1, r3, r0
|
|
ldr r4, _080EFA58
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
beq _080EFA5C
|
|
adds r4, #1
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bne _080EFA5C
|
|
adds r4, #1
|
|
adds r0, r1, r4
|
|
ldrh r0, [r0]
|
|
cmp r0, #2
|
|
bhi _080EFA5C
|
|
adds r0, r2, #0
|
|
b _080EFA68
|
|
.align 2, 0
|
|
_080EFA54: .4byte 0x03005AEC
|
|
_080EFA58: .4byte 0x00002B50
|
|
_080EFA5C:
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #0xf
|
|
bls _080EFA2C
|
|
movs r0, #0xff
|
|
_080EFA68:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end FindAnyTVNewsOnTheAir
|
|
|
|
thumb_func_start DoPokeNews
|
|
DoPokeNews: @ 0x080EFA70
|
|
push {r4, r5, lr}
|
|
bl FindAnyTVNewsOnTheAir
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #0xff
|
|
bne _080EFA88
|
|
ldr r1, _080EFA84
|
|
movs r0, #0
|
|
b _080EFB1E
|
|
.align 2, 0
|
|
_080EFA84: .4byte 0x02037290
|
|
_080EFA88:
|
|
ldr r5, _080EFAB8
|
|
ldr r0, [r5]
|
|
lsls r4, r2, #2
|
|
adds r1, r0, r4
|
|
ldr r0, _080EFABC
|
|
adds r2, r1, r0
|
|
ldrh r0, [r2]
|
|
cmp r0, #0
|
|
bne _080EFAEC
|
|
ldr r2, _080EFAC0
|
|
adds r1, r1, r2
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
ldr r0, _080EFAC4
|
|
ldrb r0, [r0, #2]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0x13
|
|
bgt _080EFACC
|
|
ldr r1, _080EFAC8
|
|
ldr r0, [r5]
|
|
adds r0, r0, r4
|
|
subs r2, #1
|
|
b _080EFAD4
|
|
.align 2, 0
|
|
_080EFAB8: .4byte 0x03005AEC
|
|
_080EFABC: .4byte 0x00002B52
|
|
_080EFAC0: .4byte 0x00002B51
|
|
_080EFAC4: .4byte 0x03005A50
|
|
_080EFAC8: .4byte 0x08568BC8
|
|
_080EFACC:
|
|
ldr r1, _080EFAE4
|
|
ldr r0, [r5]
|
|
adds r0, r0, r4
|
|
ldr r2, _080EFAE8
|
|
_080EFAD4:
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl ShowFieldMessage
|
|
b _080EFB1A
|
|
.align 2, 0
|
|
_080EFAE4: .4byte 0x08568BDC
|
|
_080EFAE8: .4byte 0x00002B50
|
|
_080EFAEC:
|
|
ldrh r1, [r2]
|
|
ldr r0, _080EFB28
|
|
movs r2, #0
|
|
movs r3, #1
|
|
bl ConvertIntToDecimalStringN
|
|
ldr r0, [r5]
|
|
adds r0, r0, r4
|
|
ldr r1, _080EFB2C
|
|
adds r0, r0, r1
|
|
movs r1, #0
|
|
strb r1, [r0]
|
|
ldr r1, _080EFB30
|
|
ldr r0, [r5]
|
|
adds r0, r0, r4
|
|
ldr r2, _080EFB34
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl ShowFieldMessage
|
|
_080EFB1A:
|
|
ldr r1, _080EFB38
|
|
movs r0, #1
|
|
_080EFB1E:
|
|
strh r0, [r1]
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EFB28: .4byte 0x02021C40
|
|
_080EFB2C: .4byte 0x00002B51
|
|
_080EFB30: .4byte 0x08568BB4
|
|
_080EFB34: .4byte 0x00002B50
|
|
_080EFB38: .4byte 0x02037290
|
|
thumb_func_end DoPokeNews
|
|
|
|
thumb_func_start GetPriceReduction
|
|
GetPriceReduction: @ 0x080EFB3C
|
|
push {r4, r5, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r3, r0, #0x18
|
|
cmp r3, #0
|
|
bne _080EFB4C
|
|
b _080EFB8E
|
|
_080EFB48:
|
|
movs r0, #1
|
|
b _080EFB90
|
|
_080EFB4C:
|
|
movs r2, #0
|
|
ldr r4, _080EFB78
|
|
_080EFB50:
|
|
ldr r1, [r4]
|
|
lsls r0, r2, #2
|
|
adds r1, r1, r0
|
|
ldr r5, _080EFB7C
|
|
adds r0, r1, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, r3
|
|
bne _080EFB84
|
|
ldr r2, _080EFB80
|
|
adds r0, r1, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, #2
|
|
bne _080EFB8E
|
|
adds r0, r3, #0
|
|
bl IsPriceDiscounted
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
bne _080EFB48
|
|
b _080EFB8E
|
|
.align 2, 0
|
|
_080EFB78: .4byte 0x03005AEC
|
|
_080EFB7C: .4byte 0x00002B50
|
|
_080EFB80: .4byte 0x00002B51
|
|
_080EFB84:
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #0xf
|
|
bls _080EFB50
|
|
_080EFB8E:
|
|
movs r0, #0
|
|
_080EFB90:
|
|
pop {r4, r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end GetPriceReduction
|
|
|
|
thumb_func_start IsPriceDiscounted
|
|
IsPriceDiscounted: @ 0x080EFB98
|
|
push {lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080EFBAA
|
|
cmp r0, #3
|
|
beq _080EFBCC
|
|
_080EFBA6:
|
|
movs r0, #1
|
|
b _080EFBDA
|
|
_080EFBAA:
|
|
ldr r0, _080EFBC4
|
|
ldr r0, [r0]
|
|
ldrh r1, [r0, #4]
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
cmp r1, r0
|
|
bne _080EFBD8
|
|
ldr r0, _080EFBC8
|
|
ldrh r0, [r0]
|
|
cmp r0, #0x19
|
|
beq _080EFBA6
|
|
b _080EFBD8
|
|
.align 2, 0
|
|
_080EFBC4: .4byte 0x03005AEC
|
|
_080EFBC8: .4byte 0x02037292
|
|
_080EFBCC:
|
|
ldr r0, _080EFBE0
|
|
ldr r0, [r0]
|
|
ldrh r1, [r0, #4]
|
|
ldr r0, _080EFBE4
|
|
cmp r1, r0
|
|
beq _080EFBA6
|
|
_080EFBD8:
|
|
movs r0, #0
|
|
_080EFBDA:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080EFBE0: .4byte 0x03005AEC
|
|
_080EFBE4: .4byte 0x0000150D
|
|
thumb_func_end IsPriceDiscounted
|
|
|
|
thumb_func_start sub_080EFBE8
|
|
sub_080EFBE8: @ 0x080EFBE8
|
|
push {r4, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #0
|
|
bne _080EFBF6
|
|
_080EFBF2:
|
|
movs r0, #1
|
|
b _080EFC16
|
|
_080EFBF6:
|
|
movs r1, #0
|
|
ldr r0, _080EFC1C
|
|
ldr r3, [r0]
|
|
ldr r4, _080EFC20
|
|
_080EFBFE:
|
|
lsls r0, r1, #2
|
|
adds r0, r3, r0
|
|
adds r0, r0, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, r2
|
|
beq _080EFBF2
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0xf
|
|
bls _080EFBFE
|
|
movs r0, #0
|
|
_080EFC16:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080EFC1C: .4byte 0x03005AEC
|
|
_080EFC20: .4byte 0x00002B50
|
|
thumb_func_end sub_080EFBE8
|
|
|
|
thumb_func_start sub_080EFC24
|
|
sub_080EFC24: @ 0x080EFC24
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
lsls r0, r0, #0x10
|
|
lsrs r7, r0, #0x10
|
|
movs r6, #0
|
|
ldr r0, _080EFC5C
|
|
mov r8, r0
|
|
_080EFC34:
|
|
mov r1, r8
|
|
ldr r0, [r1]
|
|
lsls r1, r6, #2
|
|
adds r2, r0, r1
|
|
ldr r3, _080EFC60
|
|
adds r0, r2, r3
|
|
ldrb r0, [r0]
|
|
adds r4, r1, #0
|
|
cmp r0, #0
|
|
beq _080EFC9A
|
|
ldr r1, _080EFC64
|
|
adds r0, r2, r1
|
|
ldrh r0, [r0]
|
|
cmp r0, r7
|
|
bhs _080EFC68
|
|
adds r0, r6, #0
|
|
bl ClearPokemonNewsI
|
|
b _080EFC9A
|
|
.align 2, 0
|
|
_080EFC5C: .4byte 0x03005AEC
|
|
_080EFC60: .4byte 0x00002B50
|
|
_080EFC64: .4byte 0x00002B52
|
|
_080EFC68:
|
|
ldr r5, _080EFCB4
|
|
adds r0, r2, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080EFC8A
|
|
ldr r0, _080EFCB8
|
|
bl FlagGet
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #1
|
|
bne _080EFC8A
|
|
mov r2, r8
|
|
ldr r0, [r2]
|
|
adds r0, r0, r4
|
|
adds r0, r0, r5
|
|
strb r1, [r0]
|
|
_080EFC8A:
|
|
mov r3, r8
|
|
ldr r1, [r3]
|
|
adds r1, r1, r4
|
|
ldr r0, _080EFCBC
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1]
|
|
subs r0, r0, r7
|
|
strh r0, [r1]
|
|
_080EFC9A:
|
|
adds r0, r6, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r6, r0, #0x18
|
|
cmp r6, #0xf
|
|
bls _080EFC34
|
|
bl sub_080EF9BC
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EFCB4: .4byte 0x00002B51
|
|
_080EFCB8: .4byte 0x00000864
|
|
_080EFCBC: .4byte 0x00002B52
|
|
thumb_func_end sub_080EFC24
|
|
|
|
thumb_func_start CopyContestRankToStringVar
|
|
CopyContestRankToStringVar: @ 0x080EFCC0
|
|
push {lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
lsls r1, r1, #0x18
|
|
lsrs r1, r1, #0x18
|
|
adds r2, r1, #0
|
|
cmp r1, #1
|
|
beq _080EFD00
|
|
cmp r1, #1
|
|
bgt _080EFCDA
|
|
cmp r1, #0
|
|
beq _080EFCE4
|
|
b _080EFD48
|
|
_080EFCDA:
|
|
cmp r2, #2
|
|
beq _080EFD1C
|
|
cmp r2, #3
|
|
beq _080EFD38
|
|
b _080EFD48
|
|
_080EFCE4:
|
|
ldr r1, _080EFCF8
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
ldr r1, _080EFCFC
|
|
ldr r1, [r1, #0x14]
|
|
bl StringCopy
|
|
b _080EFD48
|
|
.align 2, 0
|
|
_080EFCF8: .4byte 0x08568BF0
|
|
_080EFCFC: .4byte 0x085645A0
|
|
_080EFD00:
|
|
ldr r1, _080EFD14
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
ldr r1, _080EFD18
|
|
ldr r1, [r1, #0x18]
|
|
bl StringCopy
|
|
b _080EFD48
|
|
.align 2, 0
|
|
_080EFD14: .4byte 0x08568BF0
|
|
_080EFD18: .4byte 0x085645A0
|
|
_080EFD1C:
|
|
ldr r1, _080EFD30
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
ldr r1, _080EFD34
|
|
ldr r1, [r1, #0x1c]
|
|
bl StringCopy
|
|
b _080EFD48
|
|
.align 2, 0
|
|
_080EFD30: .4byte 0x08568BF0
|
|
_080EFD34: .4byte 0x085645A0
|
|
_080EFD38:
|
|
ldr r1, _080EFD4C
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
ldr r1, _080EFD50
|
|
ldr r1, [r1, #0x20]
|
|
bl StringCopy
|
|
_080EFD48:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EFD4C: .4byte 0x08568BF0
|
|
_080EFD50: .4byte 0x085645A0
|
|
thumb_func_end CopyContestRankToStringVar
|
|
|
|
thumb_func_start CopyContestCategoryToStringVar
|
|
CopyContestCategoryToStringVar: @ 0x080EFD54
|
|
push {lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
lsls r1, r1, #0x18
|
|
lsrs r0, r1, #0x18
|
|
cmp r0, #4
|
|
bhi _080EFE04
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EFD6C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080EFD6C: .4byte 0x080EFD70
|
|
_080EFD70: @ jump table
|
|
.4byte _080EFD84 @ case 0
|
|
.4byte _080EFDA0 @ case 1
|
|
.4byte _080EFDBC @ case 2
|
|
.4byte _080EFDD8 @ case 3
|
|
.4byte _080EFDF4 @ case 4
|
|
_080EFD84:
|
|
ldr r1, _080EFD98
|
|
lsls r0, r2, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
ldr r1, _080EFD9C
|
|
ldr r1, [r1]
|
|
bl StringCopy
|
|
b _080EFE04
|
|
.align 2, 0
|
|
_080EFD98: .4byte 0x08568BF0
|
|
_080EFD9C: .4byte 0x085645A0
|
|
_080EFDA0:
|
|
ldr r1, _080EFDB4
|
|
lsls r0, r2, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
ldr r1, _080EFDB8
|
|
ldr r1, [r1, #4]
|
|
bl StringCopy
|
|
b _080EFE04
|
|
.align 2, 0
|
|
_080EFDB4: .4byte 0x08568BF0
|
|
_080EFDB8: .4byte 0x085645A0
|
|
_080EFDBC:
|
|
ldr r1, _080EFDD0
|
|
lsls r0, r2, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
ldr r1, _080EFDD4
|
|
ldr r1, [r1, #8]
|
|
bl StringCopy
|
|
b _080EFE04
|
|
.align 2, 0
|
|
_080EFDD0: .4byte 0x08568BF0
|
|
_080EFDD4: .4byte 0x085645A0
|
|
_080EFDD8:
|
|
ldr r1, _080EFDEC
|
|
lsls r0, r2, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
ldr r1, _080EFDF0
|
|
ldr r1, [r1, #0xc]
|
|
bl StringCopy
|
|
b _080EFE04
|
|
.align 2, 0
|
|
_080EFDEC: .4byte 0x08568BF0
|
|
_080EFDF0: .4byte 0x085645A0
|
|
_080EFDF4:
|
|
ldr r1, _080EFE08
|
|
lsls r0, r2, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
ldr r1, _080EFE0C
|
|
ldr r1, [r1, #0x10]
|
|
bl StringCopy
|
|
_080EFE04:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EFE08: .4byte 0x08568BF0
|
|
_080EFE0C: .4byte 0x085645A0
|
|
thumb_func_end CopyContestCategoryToStringVar
|
|
|
|
thumb_func_start SetContestCategoryStringVarForInterview
|
|
SetContestCategoryStringVarForInterview: @ 0x080EFE10
|
|
push {lr}
|
|
ldr r2, _080EFE38
|
|
ldr r0, _080EFE3C
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080EFE40
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r1, r1, r0
|
|
ldrb r1, [r1, #0x13]
|
|
lsls r1, r1, #0x1d
|
|
lsrs r1, r1, #0x1d
|
|
movs r0, #1
|
|
bl CopyContestCategoryToStringVar
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EFE38: .4byte 0x03005AEC
|
|
_080EFE3C: .4byte 0x02037280
|
|
_080EFE40: .4byte 0x000027CC
|
|
thumb_func_end SetContestCategoryStringVarForInterview
|
|
|
|
thumb_func_start TV_PrintIntToStringVar
|
|
TV_PrintIntToStringVar: @ 0x080EFE44
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r5, #0
|
|
bl CountDigits
|
|
adds r3, r0, #0
|
|
ldr r0, _080EFE70
|
|
lsls r4, r4, #2
|
|
adds r4, r4, r0
|
|
ldr r0, [r4]
|
|
lsls r3, r3, #0x18
|
|
lsrs r3, r3, #0x18
|
|
adds r1, r5, #0
|
|
movs r2, #0
|
|
bl ConvertIntToDecimalStringN
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080EFE70: .4byte 0x08568BF0
|
|
thumb_func_end TV_PrintIntToStringVar
|
|
|
|
thumb_func_start CountDigits
|
|
CountDigits: @ 0x080EFE74
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
movs r1, #0xa
|
|
bl __divsi3
|
|
cmp r0, #0
|
|
beq _080EFF00
|
|
adds r0, r4, #0
|
|
movs r1, #0x64
|
|
bl __divsi3
|
|
cmp r0, #0
|
|
bne _080EFE92
|
|
movs r0, #2
|
|
b _080EFF0A
|
|
_080EFE92:
|
|
movs r1, #0xfa
|
|
lsls r1, r1, #2
|
|
adds r0, r4, #0
|
|
bl __divsi3
|
|
cmp r0, #0
|
|
bne _080EFEA4
|
|
movs r0, #3
|
|
b _080EFF0A
|
|
_080EFEA4:
|
|
ldr r1, _080EFEB4
|
|
adds r0, r4, #0
|
|
bl __divsi3
|
|
cmp r0, #0
|
|
bne _080EFEB8
|
|
movs r0, #4
|
|
b _080EFF0A
|
|
.align 2, 0
|
|
_080EFEB4: .4byte 0x00002710
|
|
_080EFEB8:
|
|
ldr r1, _080EFEC8
|
|
adds r0, r4, #0
|
|
bl __divsi3
|
|
cmp r0, #0
|
|
bne _080EFECC
|
|
movs r0, #5
|
|
b _080EFF0A
|
|
.align 2, 0
|
|
_080EFEC8: .4byte 0x000186A0
|
|
_080EFECC:
|
|
ldr r1, _080EFEDC
|
|
adds r0, r4, #0
|
|
bl __divsi3
|
|
cmp r0, #0
|
|
bne _080EFEE0
|
|
movs r0, #6
|
|
b _080EFF0A
|
|
.align 2, 0
|
|
_080EFEDC: .4byte 0x000F4240
|
|
_080EFEE0:
|
|
ldr r1, _080EFEF0
|
|
adds r0, r4, #0
|
|
bl __divsi3
|
|
cmp r0, #0
|
|
bne _080EFEF4
|
|
movs r0, #7
|
|
b _080EFF0A
|
|
.align 2, 0
|
|
_080EFEF0: .4byte 0x00989680
|
|
_080EFEF4:
|
|
ldr r1, _080EFF04
|
|
adds r0, r4, #0
|
|
bl __divsi3
|
|
cmp r0, #0
|
|
beq _080EFF08
|
|
_080EFF00:
|
|
movs r0, #1
|
|
b _080EFF0A
|
|
.align 2, 0
|
|
_080EFF04: .4byte 0x05F5E100
|
|
_080EFF08:
|
|
movs r0, #8
|
|
_080EFF0A:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end CountDigits
|
|
|
|
thumb_func_start sub_080EFF10
|
|
sub_080EFF10: @ 0x080EFF10
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
adds r6, r1, #0
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
mov r8, r0
|
|
movs r7, #0
|
|
movs r5, #0
|
|
_080EFF22:
|
|
lsls r4, r5, #1
|
|
adds r0, r6, #6
|
|
adds r1, r0, r4
|
|
ldrh r0, [r1]
|
|
cmp r0, #0
|
|
beq _080EFF42
|
|
bl sub_080D6CD4
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
adds r1, r6, #0
|
|
adds r1, #0xc
|
|
adds r1, r1, r4
|
|
ldrh r1, [r1]
|
|
muls r0, r1, r0
|
|
adds r7, r7, r0
|
|
_080EFF42:
|
|
adds r0, r5, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
cmp r5, #2
|
|
bls _080EFF22
|
|
ldrb r0, [r6, #2]
|
|
cmp r0, #1
|
|
bne _080EFF5C
|
|
asrs r1, r7, #1
|
|
mov r0, r8
|
|
bl TV_PrintIntToStringVar
|
|
b _080EFF64
|
|
_080EFF5C:
|
|
mov r0, r8
|
|
adds r1, r7, #0
|
|
bl TV_PrintIntToStringVar
|
|
_080EFF64:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
thumb_func_end sub_080EFF10
|
|
|
|
thumb_func_start HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
HasMixableShowAlreadyBeenSpawnedWithPlayerID: @ 0x080EFF70
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
mov sl, r0
|
|
lsls r1, r1, #0x18
|
|
lsrs r1, r1, #0x18
|
|
mov sb, r1
|
|
ldr r5, _080EFFE0
|
|
ldr r0, [r5]
|
|
ldr r4, _080EFFE4
|
|
adds r0, r0, r4
|
|
mov r8, r0
|
|
bl GetPlayerIDAsU32
|
|
adds r7, r0, #0
|
|
movs r6, #5
|
|
_080EFF98:
|
|
lsls r0, r6, #3
|
|
adds r0, r0, r6
|
|
lsls r0, r0, #2
|
|
mov r2, r8
|
|
adds r1, r0, r2
|
|
ldrb r0, [r1]
|
|
cmp r0, sl
|
|
bne _080EFFE8
|
|
movs r3, #0xff
|
|
adds r0, r7, #0
|
|
ands r0, r3
|
|
adds r2, r1, #0
|
|
adds r2, #0x22
|
|
ldrb r2, [r2]
|
|
cmp r0, r2
|
|
bne _080EFFE8
|
|
lsrs r0, r7, #8
|
|
ands r0, r3
|
|
adds r1, #0x23
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _080EFFE8
|
|
mov r0, sb
|
|
cmp r0, #1
|
|
bne _080EFFDC
|
|
ldr r0, [r5]
|
|
adds r0, r0, r4
|
|
adds r1, r6, #0
|
|
bl DeleteTVShowInArrayByIdx
|
|
ldr r0, [r5]
|
|
adds r0, r0, r4
|
|
bl sub_080F0428
|
|
_080EFFDC:
|
|
movs r0, #1
|
|
b _080EFFF4
|
|
.align 2, 0
|
|
_080EFFE0: .4byte 0x03005AEC
|
|
_080EFFE4: .4byte 0x000027CC
|
|
_080EFFE8:
|
|
adds r0, r6, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r6, r0, #0x18
|
|
cmp r6, #0x17
|
|
bls _080EFF98
|
|
movs r0, #0
|
|
_080EFFF4:
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end HasMixableShowAlreadyBeenSpawnedWithPlayerID
|
|
|
|
thumb_func_start TV_SortPurchasesByQuantity
|
|
TV_SortPurchasesByQuantity: @ 0x080F0004
|
|
push {r4, r5, r6, r7, lr}
|
|
movs r2, #0
|
|
_080F0008:
|
|
adds r1, r2, #1
|
|
lsls r0, r1, #0x18
|
|
lsrs r5, r0, #0x18
|
|
adds r7, r1, #0
|
|
cmp r5, #2
|
|
bhi _080F0040
|
|
ldr r6, _080F0050
|
|
lsls r0, r2, #2
|
|
adds r4, r0, r6
|
|
_080F001A:
|
|
lsls r0, r5, #2
|
|
adds r3, r0, r6
|
|
ldrh r0, [r4, #2]
|
|
ldrh r1, [r3, #2]
|
|
cmp r0, r1
|
|
bhs _080F0036
|
|
ldrh r1, [r4]
|
|
adds r2, r0, #0
|
|
ldrh r0, [r3]
|
|
strh r0, [r4]
|
|
ldrh r0, [r3, #2]
|
|
strh r0, [r4, #2]
|
|
strh r1, [r3]
|
|
strh r2, [r3, #2]
|
|
_080F0036:
|
|
adds r0, r5, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
cmp r5, #2
|
|
bls _080F001A
|
|
_080F0040:
|
|
lsls r0, r7, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #1
|
|
bls _080F0008
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0050: .4byte 0x02039C20
|
|
thumb_func_end TV_SortPurchasesByQuantity
|
|
|
|
thumb_func_start FindActiveBroadcastByShowType_SetScriptResult
|
|
FindActiveBroadcastByShowType_SetScriptResult: @ 0x080F0054
|
|
push {r4, r5, r6, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r6, r0, #0x18
|
|
movs r1, #0
|
|
ldr r5, _080F0084
|
|
ldr r4, _080F0088
|
|
_080F0060:
|
|
ldr r3, [r5]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r2, r3, r0
|
|
adds r0, r2, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, r6
|
|
bne _080F00A8
|
|
ldr r6, _080F008C
|
|
adds r0, r2, r6
|
|
ldrb r2, [r0]
|
|
cmp r2, #1
|
|
bne _080F0094
|
|
ldr r0, _080F0090
|
|
strh r2, [r0]
|
|
b _080F00B6
|
|
.align 2, 0
|
|
_080F0084: .4byte 0x03005AEC
|
|
_080F0088: .4byte 0x000027CC
|
|
_080F008C: .4byte 0x000027CD
|
|
_080F0090: .4byte 0x02037290
|
|
_080F0094:
|
|
adds r0, r3, r4
|
|
bl DeleteTVShowInArrayByIdx
|
|
ldr r0, [r5]
|
|
adds r0, r0, r4
|
|
bl sub_080F0428
|
|
bl sub_080F0578
|
|
b _080F00B6
|
|
_080F00A8:
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #4
|
|
bls _080F0060
|
|
bl sub_080F0578
|
|
_080F00B6:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end FindActiveBroadcastByShowType_SetScriptResult
|
|
|
|
thumb_func_start InterviewBefore
|
|
InterviewBefore: @ 0x080F00BC
|
|
push {lr}
|
|
ldr r1, _080F00D8
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F00DC
|
|
ldrh r0, [r0]
|
|
subs r0, #1
|
|
cmp r0, #0xa
|
|
bhi _080F014A
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F00E0
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F00D8: .4byte 0x02037290
|
|
_080F00DC: .4byte 0x02037282
|
|
_080F00E0: .4byte 0x080F00E4
|
|
_080F00E4: @ jump table
|
|
.4byte _080F0110 @ case 0
|
|
.4byte _080F0116 @ case 1
|
|
.4byte _080F011C @ case 2
|
|
.4byte _080F0122 @ case 3
|
|
.4byte _080F0128 @ case 4
|
|
.4byte _080F012E @ case 5
|
|
.4byte _080F0134 @ case 6
|
|
.4byte _080F013A @ case 7
|
|
.4byte _080F0140 @ case 8
|
|
.4byte _080F014A @ case 9
|
|
.4byte _080F0146 @ case 10
|
|
_080F0110:
|
|
bl InterviewBefore_FanClubLetter
|
|
b _080F014A
|
|
_080F0116:
|
|
bl InterviewBefore_RecentHappenings
|
|
b _080F014A
|
|
_080F011C:
|
|
bl InterviewBefore_PkmnFanClubOpinions
|
|
b _080F014A
|
|
_080F0122:
|
|
bl InterviewBefore_Dummy
|
|
b _080F014A
|
|
_080F0128:
|
|
bl InterviewBefore_NameRater
|
|
b _080F014A
|
|
_080F012E:
|
|
bl InterviewBefore_BravoTrainerPkmnProfile
|
|
b _080F014A
|
|
_080F0134:
|
|
bl InterviewBefore_BravoTrainerBTProfile
|
|
b _080F014A
|
|
_080F013A:
|
|
bl InterviewBefore_ContestLiveUpdates
|
|
b _080F014A
|
|
_080F0140:
|
|
bl InterviewBefore_3CheersForPokeblocks
|
|
b _080F014A
|
|
_080F0146:
|
|
bl InterviewBefore_FanClubSpecial
|
|
_080F014A:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
thumb_func_end InterviewBefore
|
|
|
|
thumb_func_start InterviewBefore_FanClubLetter
|
|
InterviewBefore_FanClubLetter: @ 0x080F0150
|
|
push {r4, lr}
|
|
movs r0, #1
|
|
bl FindActiveBroadcastByShowType_SetScriptResult
|
|
ldr r0, _080F01AC
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _080F01A6
|
|
ldr r4, _080F01B0
|
|
bl GetLeadMonIndex
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
movs r1, #0x64
|
|
muls r0, r1, r0
|
|
ldr r1, _080F01B4
|
|
adds r0, r0, r1
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
lsls r1, r0, #1
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #1
|
|
ldr r0, _080F01B8
|
|
adds r1, r1, r0
|
|
adds r0, r4, #0
|
|
bl StringCopy
|
|
ldr r2, _080F01BC
|
|
ldr r0, _080F01C0
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, [r2]
|
|
adds r0, r0, r1
|
|
ldr r1, _080F01C4
|
|
adds r0, r0, r1
|
|
movs r1, #6
|
|
bl InitializeEasyChatWordArray
|
|
_080F01A6:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F01AC: .4byte 0x02037290
|
|
_080F01B0: .4byte 0x02021C40
|
|
_080F01B4: .4byte 0x02024190
|
|
_080F01B8: .4byte 0x082EA31C
|
|
_080F01BC: .4byte 0x03005AEC
|
|
_080F01C0: .4byte 0x03005E20
|
|
_080F01C4: .4byte 0x000027D0
|
|
thumb_func_end InterviewBefore_FanClubLetter
|
|
|
|
thumb_func_start InterviewBefore_RecentHappenings
|
|
InterviewBefore_RecentHappenings: @ 0x080F01C8
|
|
push {lr}
|
|
movs r0, #2
|
|
bl FindActiveBroadcastByShowType_SetScriptResult
|
|
ldr r0, _080F01F8
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _080F01F4
|
|
ldr r2, _080F01FC
|
|
ldr r0, _080F0200
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, [r2]
|
|
adds r0, r0, r1
|
|
ldr r1, _080F0204
|
|
adds r0, r0, r1
|
|
movs r1, #6
|
|
bl InitializeEasyChatWordArray
|
|
_080F01F4:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F01F8: .4byte 0x02037290
|
|
_080F01FC: .4byte 0x03005AEC
|
|
_080F0200: .4byte 0x03005E20
|
|
_080F0204: .4byte 0x000027D0
|
|
thumb_func_end InterviewBefore_RecentHappenings
|
|
|
|
thumb_func_start InterviewBefore_PkmnFanClubOpinions
|
|
InterviewBefore_PkmnFanClubOpinions: @ 0x080F0208
|
|
push {r4, r5, r6, lr}
|
|
movs r0, #3
|
|
bl FindActiveBroadcastByShowType_SetScriptResult
|
|
ldr r0, _080F0280
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _080F027A
|
|
ldr r6, _080F0284
|
|
bl GetLeadMonIndex
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
movs r5, #0x64
|
|
muls r0, r5, r0
|
|
ldr r4, _080F0288
|
|
adds r0, r0, r4
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
lsls r1, r0, #1
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #1
|
|
ldr r0, _080F028C
|
|
adds r1, r1, r0
|
|
adds r0, r6, #0
|
|
bl StringCopy
|
|
bl GetLeadMonIndex
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
muls r0, r5, r0
|
|
adds r0, r0, r4
|
|
ldr r4, _080F0290
|
|
movs r1, #2
|
|
adds r2, r4, #0
|
|
bl GetMonData
|
|
adds r0, r4, #0
|
|
bl StringGetEnd10
|
|
ldr r2, _080F0294
|
|
ldr r0, _080F0298
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, [r2]
|
|
adds r0, r0, r1
|
|
ldr r1, _080F029C
|
|
adds r0, r0, r1
|
|
movs r1, #2
|
|
bl InitializeEasyChatWordArray
|
|
_080F027A:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0280: .4byte 0x02037290
|
|
_080F0284: .4byte 0x02021C40
|
|
_080F0288: .4byte 0x02024190
|
|
_080F028C: .4byte 0x082EA31C
|
|
_080F0290: .4byte 0x02021C54
|
|
_080F0294: .4byte 0x03005AEC
|
|
_080F0298: .4byte 0x03005E20
|
|
_080F029C: .4byte 0x000027E8
|
|
thumb_func_end InterviewBefore_PkmnFanClubOpinions
|
|
|
|
thumb_func_start InterviewBefore_Dummy
|
|
InterviewBefore_Dummy: @ 0x080F02A0
|
|
ldr r1, _080F02A8
|
|
movs r0, #1
|
|
strh r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F02A8: .4byte 0x02037290
|
|
thumb_func_end InterviewBefore_Dummy
|
|
|
|
thumb_func_start InterviewBefore_NameRater
|
|
InterviewBefore_NameRater: @ 0x080F02AC
|
|
push {lr}
|
|
movs r0, #5
|
|
bl FindActiveBroadcastByShowType_SetScriptResult
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end InterviewBefore_NameRater
|
|
|
|
thumb_func_start InterviewBefore_BravoTrainerPkmnProfile
|
|
InterviewBefore_BravoTrainerPkmnProfile: @ 0x080F02B8
|
|
push {lr}
|
|
movs r0, #6
|
|
bl FindActiveBroadcastByShowType_SetScriptResult
|
|
ldr r0, _080F02E8
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _080F02E4
|
|
ldr r2, _080F02EC
|
|
ldr r0, _080F02F0
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, [r2]
|
|
adds r0, r0, r1
|
|
ldr r1, _080F02F4
|
|
adds r0, r0, r1
|
|
movs r1, #2
|
|
bl InitializeEasyChatWordArray
|
|
_080F02E4:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F02E8: .4byte 0x02037290
|
|
_080F02EC: .4byte 0x03005AEC
|
|
_080F02F0: .4byte 0x03005E20
|
|
_080F02F4: .4byte 0x000027D0
|
|
thumb_func_end InterviewBefore_BravoTrainerPkmnProfile
|
|
|
|
thumb_func_start InterviewBefore_ContestLiveUpdates
|
|
InterviewBefore_ContestLiveUpdates: @ 0x080F02F8
|
|
push {lr}
|
|
movs r0, #8
|
|
bl FindActiveBroadcastByShowType_SetScriptResult
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end InterviewBefore_ContestLiveUpdates
|
|
|
|
thumb_func_start InterviewBefore_3CheersForPokeblocks
|
|
InterviewBefore_3CheersForPokeblocks: @ 0x080F0304
|
|
push {lr}
|
|
movs r0, #9
|
|
bl FindActiveBroadcastByShowType_SetScriptResult
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end InterviewBefore_3CheersForPokeblocks
|
|
|
|
thumb_func_start InterviewBefore_BravoTrainerBTProfile
|
|
InterviewBefore_BravoTrainerBTProfile: @ 0x080F0310
|
|
push {lr}
|
|
movs r0, #7
|
|
bl FindActiveBroadcastByShowType_SetScriptResult
|
|
ldr r0, _080F0340
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _080F033C
|
|
ldr r2, _080F0344
|
|
ldr r0, _080F0348
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, [r2]
|
|
adds r0, r0, r1
|
|
ldr r1, _080F034C
|
|
adds r0, r0, r1
|
|
movs r1, #1
|
|
bl InitializeEasyChatWordArray
|
|
_080F033C:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0340: .4byte 0x02037290
|
|
_080F0344: .4byte 0x03005AEC
|
|
_080F0348: .4byte 0x03005E20
|
|
_080F034C: .4byte 0x000027E4
|
|
thumb_func_end InterviewBefore_BravoTrainerBTProfile
|
|
|
|
thumb_func_start InterviewBefore_FanClubSpecial
|
|
InterviewBefore_FanClubSpecial: @ 0x080F0350
|
|
push {lr}
|
|
movs r0, #0xb
|
|
bl FindActiveBroadcastByShowType_SetScriptResult
|
|
ldr r0, _080F0380
|
|
ldrh r0, [r0]
|
|
cmp r0, #0
|
|
bne _080F037C
|
|
ldr r2, _080F0384
|
|
ldr r0, _080F0388
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, [r2]
|
|
adds r0, r0, r1
|
|
ldr r1, _080F038C
|
|
adds r0, r0, r1
|
|
movs r1, #1
|
|
bl InitializeEasyChatWordArray
|
|
_080F037C:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0380: .4byte 0x02037290
|
|
_080F0384: .4byte 0x03005AEC
|
|
_080F0388: .4byte 0x03005E20
|
|
_080F038C: .4byte 0x000027E0
|
|
thumb_func_end InterviewBefore_FanClubSpecial
|
|
|
|
thumb_func_start sub_080F0390
|
|
sub_080F0390: @ 0x080F0390
|
|
push {r4, r5, lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
movs r1, #0x64
|
|
adds r4, r0, #0
|
|
muls r4, r1, r4
|
|
ldr r0, _080F03D0
|
|
adds r4, r4, r0
|
|
ldr r5, _080F03D4
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
adds r2, r5, #0
|
|
bl GetMonData
|
|
adds r0, r4, #0
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
adds r1, r0, #0
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #1
|
|
ldr r1, _080F03D8
|
|
adds r0, r0, r1
|
|
adds r1, r5, #0
|
|
bl StringCompare
|
|
cmp r0, #0
|
|
beq _080F03DC
|
|
movs r0, #1
|
|
b _080F03DE
|
|
.align 2, 0
|
|
_080F03D0: .4byte 0x02024190
|
|
_080F03D4: .4byte 0x02021C40
|
|
_080F03D8: .4byte 0x082EA31C
|
|
_080F03DC:
|
|
movs r0, #0
|
|
_080F03DE:
|
|
pop {r4, r5}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_080F0390
|
|
|
|
thumb_func_start sub_080F03E4
|
|
sub_080F03E4: @ 0x080F03E4
|
|
push {lr}
|
|
bl GetLeadMonIndex
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
bl sub_080F0390
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end sub_080F03E4
|
|
|
|
thumb_func_start DeleteTVShowInArrayByIdx
|
|
DeleteTVShowInArrayByIdx: @ 0x080F03FC
|
|
push {lr}
|
|
lsls r1, r1, #0x18
|
|
lsrs r1, r1, #0x18
|
|
lsls r2, r1, #3
|
|
adds r2, r2, r1
|
|
lsls r2, r2, #2
|
|
adds r2, r2, r0
|
|
movs r0, #0
|
|
strb r0, [r2]
|
|
strb r0, [r2, #1]
|
|
movs r1, #0
|
|
adds r2, #2
|
|
movs r3, #0
|
|
_080F0416:
|
|
adds r0, r2, r1
|
|
strb r3, [r0]
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0x21
|
|
bls _080F0416
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end DeleteTVShowInArrayByIdx
|
|
|
|
thumb_func_start sub_080F0428
|
|
sub_080F0428: @ 0x080F0428
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r4, r0, #0
|
|
movs r5, #0
|
|
_080F042E:
|
|
lsls r0, r5, #3
|
|
adds r0, r0, r5
|
|
lsls r1, r0, #2
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080F0472
|
|
adds r0, r5, #1
|
|
b _080F046A
|
|
_080F0440:
|
|
lsls r0, r2, #3
|
|
adds r0, r0, r2
|
|
lsls r0, r0, #2
|
|
adds r3, r0, r4
|
|
ldrb r0, [r3]
|
|
cmp r0, #0
|
|
beq _080F0468
|
|
adds r1, r1, r4
|
|
adds r0, r3, #0
|
|
ldm r0!, {r3, r6, r7}
|
|
stm r1!, {r3, r6, r7}
|
|
ldm r0!, {r3, r6, r7}
|
|
stm r1!, {r3, r6, r7}
|
|
ldm r0!, {r3, r6, r7}
|
|
stm r1!, {r3, r6, r7}
|
|
adds r0, r4, #0
|
|
adds r1, r2, #0
|
|
bl DeleteTVShowInArrayByIdx
|
|
b _080F0472
|
|
_080F0468:
|
|
adds r0, r2, #1
|
|
_080F046A:
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #4
|
|
bls _080F0440
|
|
_080F0472:
|
|
adds r0, r5, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
cmp r5, #3
|
|
bls _080F042E
|
|
movs r5, #5
|
|
_080F047E:
|
|
lsls r0, r5, #3
|
|
adds r0, r0, r5
|
|
lsls r1, r0, #2
|
|
adds r0, r1, r4
|
|
ldrb r0, [r0]
|
|
adds r5, #1
|
|
cmp r0, #0
|
|
bne _080F04C4
|
|
lsls r0, r5, #0x18
|
|
b _080F04BE
|
|
_080F0492:
|
|
lsls r0, r2, #3
|
|
adds r0, r0, r2
|
|
lsls r0, r0, #2
|
|
adds r3, r0, r4
|
|
ldrb r0, [r3]
|
|
cmp r0, #0
|
|
beq _080F04BA
|
|
adds r1, r1, r4
|
|
adds r0, r3, #0
|
|
ldm r0!, {r3, r6, r7}
|
|
stm r1!, {r3, r6, r7}
|
|
ldm r0!, {r3, r6, r7}
|
|
stm r1!, {r3, r6, r7}
|
|
ldm r0!, {r3, r6, r7}
|
|
stm r1!, {r3, r6, r7}
|
|
adds r0, r4, #0
|
|
adds r1, r2, #0
|
|
bl DeleteTVShowInArrayByIdx
|
|
b _080F04C4
|
|
_080F04BA:
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
_080F04BE:
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #0x17
|
|
bls _080F0492
|
|
_080F04C4:
|
|
lsls r0, r5, #0x18
|
|
lsrs r5, r0, #0x18
|
|
cmp r5, #0x17
|
|
bls _080F047E
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
thumb_func_end sub_080F0428
|
|
|
|
thumb_func_start TV_GetSomeOtherSpeciesAlreadySeenByPlayer_AndPrintName
|
|
TV_GetSomeOtherSpeciesAlreadySeenByPlayer_AndPrintName: @ 0x080F04D4
|
|
push {r4, r5, lr}
|
|
adds r4, r0, #0
|
|
adds r0, r1, #0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
bl TV_GetSomeOtherSpeciesAlreadySeenByPlayer
|
|
adds r5, r0, #0
|
|
lsls r5, r5, #0x10
|
|
lsrs r5, r5, #0x10
|
|
ldr r0, _080F050C
|
|
lsls r4, r4, #2
|
|
adds r4, r4, r0
|
|
ldr r0, [r4]
|
|
lsls r1, r5, #1
|
|
adds r1, r1, r5
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F0510
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
adds r0, r5, #0
|
|
pop {r4, r5}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F050C: .4byte 0x08568BF0
|
|
_080F0510: .4byte 0x082EA31C
|
|
thumb_func_end TV_GetSomeOtherSpeciesAlreadySeenByPlayer_AndPrintName
|
|
|
|
thumb_func_start TV_GetSomeOtherSpeciesAlreadySeenByPlayer
|
|
TV_GetSomeOtherSpeciesAlreadySeenByPlayer: @ 0x080F0514
|
|
push {r4, r5, r6, lr}
|
|
lsls r0, r0, #0x10
|
|
lsrs r5, r0, #0x10
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
ldr r1, _080F0534
|
|
bl __umodsi3
|
|
adds r0, #1
|
|
lsls r0, r0, #0x10
|
|
lsrs r4, r0, #0x10
|
|
adds r6, r4, #0
|
|
b _080F0552
|
|
.align 2, 0
|
|
_080F0534: .4byte 0x0000019B
|
|
_080F0538:
|
|
cmp r4, #1
|
|
bne _080F0544
|
|
ldr r4, _080F0540
|
|
b _080F054A
|
|
.align 2, 0
|
|
_080F0540: .4byte 0x0000019B
|
|
_080F0544:
|
|
subs r0, r4, #1
|
|
lsls r0, r0, #0x10
|
|
lsrs r4, r0, #0x10
|
|
_080F054A:
|
|
cmp r4, r6
|
|
bne _080F0552
|
|
adds r4, r5, #0
|
|
b _080F056E
|
|
_080F0552:
|
|
adds r0, r4, #0
|
|
bl HoennToNationalOrder
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #0
|
|
bl GetSetPokedexFlag
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
bne _080F0538
|
|
cmp r4, r5
|
|
beq _080F0538
|
|
_080F056E:
|
|
adds r0, r4, #0
|
|
pop {r4, r5, r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end TV_GetSomeOtherSpeciesAlreadySeenByPlayer
|
|
|
|
thumb_func_start sub_080F0578
|
|
sub_080F0578: @ 0x080F0578
|
|
push {lr}
|
|
ldr r0, _080F05A8
|
|
ldr r0, [r0]
|
|
ldr r1, _080F05AC
|
|
adds r0, r0, r1
|
|
bl FindEmptyTVSlotWithinFirstFiveShowsOfArray
|
|
ldr r1, _080F05B0
|
|
strb r0, [r1]
|
|
ldr r2, _080F05B4
|
|
ldrb r1, [r1]
|
|
lsls r1, r1, #0x18
|
|
asrs r1, r1, #0x18
|
|
strh r1, [r2]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
bne _080F05BC
|
|
ldr r1, _080F05B8
|
|
movs r0, #1
|
|
b _080F05C0
|
|
.align 2, 0
|
|
_080F05A8: .4byte 0x03005AEC
|
|
_080F05AC: .4byte 0x000027CC
|
|
_080F05B0: .4byte 0x03005E20
|
|
_080F05B4: .4byte 0x02037284
|
|
_080F05B8: .4byte 0x02037290
|
|
_080F05BC:
|
|
ldr r1, _080F05C8
|
|
movs r0, #0
|
|
_080F05C0:
|
|
strh r0, [r1]
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F05C8: .4byte 0x02037290
|
|
thumb_func_end sub_080F0578
|
|
|
|
thumb_func_start FindEmptyTVSlotWithinFirstFiveShowsOfArray
|
|
FindEmptyTVSlotWithinFirstFiveShowsOfArray: @ 0x080F05CC
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
movs r1, #0
|
|
_080F05D2:
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080F05E6
|
|
lsls r0, r1, #0x18
|
|
asrs r0, r0, #0x18
|
|
b _080F05F4
|
|
_080F05E6:
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #4
|
|
bls _080F05D2
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
_080F05F4:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end FindEmptyTVSlotWithinFirstFiveShowsOfArray
|
|
|
|
thumb_func_start FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
FindEmptyTVSlotBeyondFirstFiveShowsOfArray: @ 0x080F05F8
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
movs r1, #5
|
|
_080F05FE:
|
|
lsls r0, r1, #0x18
|
|
asrs r1, r0, #0x18
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r2
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080F0614
|
|
adds r0, r1, #0
|
|
b _080F0624
|
|
_080F0614:
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0x17
|
|
ble _080F05FE
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
_080F0624:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
|
|
thumb_func_start TV_BernoulliTrial
|
|
TV_BernoulliTrial: @ 0x080F0628
|
|
push {r4, lr}
|
|
adds r4, r0, #0
|
|
lsls r4, r4, #0x10
|
|
lsrs r4, r4, #0x10
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
cmp r0, r4
|
|
bls _080F0640
|
|
movs r0, #1
|
|
b _080F0642
|
|
_080F0640:
|
|
movs r0, #0
|
|
_080F0642:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end TV_BernoulliTrial
|
|
|
|
thumb_func_start TV_FanClubLetter_RandomWordToStringVar3
|
|
TV_FanClubLetter_RandomWordToStringVar3: @ 0x080F0648
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #6
|
|
bl __umodsi3
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
adds r5, r4, #4
|
|
ldr r6, _080F0664
|
|
b _080F066E
|
|
.align 2, 0
|
|
_080F0664: .4byte 0x0000FFFF
|
|
_080F0668:
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
_080F066E:
|
|
cmp r2, #6
|
|
bne _080F0674
|
|
movs r2, #0
|
|
_080F0674:
|
|
lsls r1, r2, #1
|
|
adds r0, r5, r1
|
|
ldrh r0, [r0]
|
|
adds r3, r4, #4
|
|
cmp r0, r6
|
|
beq _080F0668
|
|
ldr r0, _080F0690
|
|
adds r1, r3, r1
|
|
ldrh r1, [r1]
|
|
bl CopyEasyChatWord
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0690: .4byte 0x02021C68
|
|
thumb_func_end TV_FanClubLetter_RandomWordToStringVar3
|
|
|
|
thumb_func_start TV_GetNicknameSumMod8
|
|
TV_GetNicknameSumMod8: @ 0x080F0694
|
|
push {lr}
|
|
adds r2, r0, #0
|
|
movs r3, #0
|
|
movs r1, #0
|
|
ldrb r0, [r2, #4]
|
|
cmp r0, #0xff
|
|
beq _080F06C0
|
|
adds r2, #4
|
|
_080F06A4:
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
adds r0, r3, r0
|
|
lsls r0, r0, #0x10
|
|
lsrs r3, r0, #0x10
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0xa
|
|
bhi _080F06C0
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, #0xff
|
|
bne _080F06A4
|
|
_080F06C0:
|
|
movs r0, #7
|
|
ands r3, r0
|
|
adds r0, r3, #0
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end TV_GetNicknameSumMod8
|
|
|
|
thumb_func_start TV_GetNicknameSubstring
|
|
TV_GetNicknameSubstring: @ 0x080F06CC
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
sub sp, #4
|
|
ldr r4, [sp, #0x1c]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
mov r8, r0
|
|
lsls r1, r1, #0x18
|
|
lsrs r5, r1, #0x18
|
|
lsls r2, r2, #0x18
|
|
lsrs r6, r2, #0x18
|
|
lsls r3, r3, #0x10
|
|
lsrs r3, r3, #0x10
|
|
lsls r4, r4, #0x10
|
|
lsrs r4, r4, #0x10
|
|
movs r2, #0
|
|
movs r7, #0xff
|
|
_080F06F0:
|
|
mov r1, sp
|
|
adds r0, r1, r2
|
|
ldrb r1, [r0]
|
|
orrs r1, r7
|
|
strb r1, [r0]
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #2
|
|
bls _080F06F0
|
|
cmp r3, #0
|
|
bne _080F0752
|
|
ldr r4, [sp, #0x20]
|
|
adds r4, #0xf
|
|
adds r0, r4, #0
|
|
bl StringLength
|
|
lsls r0, r0, #0x10
|
|
lsrs r2, r0, #0x10
|
|
cmp r6, #0
|
|
bne _080F0720
|
|
mov r0, sp
|
|
adds r1, r4, r5
|
|
b _080F07CC
|
|
_080F0720:
|
|
cmp r6, #1
|
|
bne _080F072C
|
|
mov r0, sp
|
|
subs r1, r2, r5
|
|
adds r1, r4, r1
|
|
b _080F07CC
|
|
_080F072C:
|
|
cmp r6, #2
|
|
bne _080F073E
|
|
mov r1, sp
|
|
adds r0, r4, r5
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r0, r5, #1
|
|
adds r0, r4, r0
|
|
b _080F07FC
|
|
_080F073E:
|
|
mov r1, sp
|
|
subs r0, r2, #2
|
|
subs r0, r0, r5
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
subs r0, r2, #1
|
|
subs r0, r0, r5
|
|
adds r0, r4, r0
|
|
b _080F07FC
|
|
_080F0752:
|
|
cmp r3, #1
|
|
bne _080F07A0
|
|
ldr r4, [sp, #0x20]
|
|
adds r4, #4
|
|
adds r0, r4, #0
|
|
bl StringLength
|
|
lsls r0, r0, #0x10
|
|
lsrs r2, r0, #0x10
|
|
cmp r6, #0
|
|
bne _080F076E
|
|
mov r0, sp
|
|
adds r1, r4, r5
|
|
b _080F07CC
|
|
_080F076E:
|
|
cmp r6, #1
|
|
bne _080F077A
|
|
mov r0, sp
|
|
subs r1, r2, r5
|
|
adds r1, r4, r1
|
|
b _080F07CC
|
|
_080F077A:
|
|
cmp r6, #2
|
|
bne _080F078C
|
|
mov r1, sp
|
|
adds r0, r4, r5
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r0, r5, #1
|
|
adds r0, r4, r0
|
|
b _080F07FC
|
|
_080F078C:
|
|
mov r1, sp
|
|
subs r0, r2, #2
|
|
subs r0, r0, r5
|
|
adds r0, r4, r0
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
subs r0, r2, #1
|
|
subs r0, r0, r5
|
|
adds r0, r4, r0
|
|
b _080F07FC
|
|
_080F07A0:
|
|
lsls r0, r4, #1
|
|
adds r0, r0, r4
|
|
lsls r4, r0, #1
|
|
ldr r7, _080F07BC
|
|
adds r0, r4, r7
|
|
bl StringLength
|
|
lsls r0, r0, #0x10
|
|
lsrs r2, r0, #0x10
|
|
cmp r6, #0
|
|
bne _080F07C0
|
|
mov r0, sp
|
|
adds r1, r5, r4
|
|
b _080F07CA
|
|
.align 2, 0
|
|
_080F07BC: .4byte 0x082EA31C
|
|
_080F07C0:
|
|
cmp r6, #1
|
|
bne _080F07D2
|
|
mov r0, sp
|
|
subs r1, r2, r5
|
|
adds r1, r1, r4
|
|
_080F07CA:
|
|
adds r1, r1, r7
|
|
_080F07CC:
|
|
ldrb r1, [r1]
|
|
strb r1, [r0]
|
|
b _080F0800
|
|
_080F07D2:
|
|
cmp r6, #2
|
|
bne _080F07E6
|
|
mov r1, sp
|
|
adds r0, r5, r4
|
|
adds r0, r0, r7
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
adds r0, r4, #1
|
|
adds r0, r5, r0
|
|
b _080F07FA
|
|
_080F07E6:
|
|
mov r1, sp
|
|
subs r0, r2, #2
|
|
subs r0, r0, r5
|
|
adds r0, r0, r4
|
|
adds r0, r0, r7
|
|
ldrb r0, [r0]
|
|
strb r0, [r1]
|
|
subs r0, r2, #1
|
|
subs r0, r0, r5
|
|
adds r0, r0, r4
|
|
_080F07FA:
|
|
adds r0, r0, r7
|
|
_080F07FC:
|
|
ldrb r0, [r0]
|
|
strb r0, [r1, #1]
|
|
_080F0800:
|
|
ldr r0, _080F081C
|
|
mov r2, r8
|
|
lsls r1, r2, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
mov r1, sp
|
|
bl StringCopy
|
|
add sp, #4
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F081C: .4byte 0x08568BF0
|
|
thumb_func_end TV_GetNicknameSubstring
|
|
|
|
thumb_func_start TV_IsScriptShowKindAlreadyInQueue
|
|
TV_IsScriptShowKindAlreadyInQueue: @ 0x080F0820
|
|
push {r4, lr}
|
|
movs r1, #0
|
|
ldr r0, _080F0844
|
|
ldr r3, [r0]
|
|
ldr r0, _080F0848
|
|
ldrh r2, [r0]
|
|
ldr r4, _080F084C
|
|
_080F082E:
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r3, r0
|
|
adds r0, r0, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, r2
|
|
bne _080F0850
|
|
movs r0, #1
|
|
b _080F085C
|
|
.align 2, 0
|
|
_080F0844: .4byte 0x03005AEC
|
|
_080F0848: .4byte 0x02037280
|
|
_080F084C: .4byte 0x000027CC
|
|
_080F0850:
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #4
|
|
bls _080F082E
|
|
movs r0, #0
|
|
_080F085C:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end TV_IsScriptShowKindAlreadyInQueue
|
|
|
|
thumb_func_start TV_PutNameRaterShowOnTheAirIfNicknameChanged
|
|
TV_PutNameRaterShowOnTheAirIfNicknameChanged: @ 0x080F0864
|
|
push {r4, lr}
|
|
ldr r0, _080F0890
|
|
ldrh r1, [r0]
|
|
movs r0, #0x64
|
|
muls r0, r1, r0
|
|
ldr r1, _080F0894
|
|
adds r0, r0, r1
|
|
ldr r4, _080F0898
|
|
movs r1, #2
|
|
adds r2, r4, #0
|
|
bl GetMonData
|
|
ldr r0, _080F089C
|
|
adds r1, r4, #0
|
|
bl StringCompare
|
|
cmp r0, #0
|
|
beq _080F08A0
|
|
bl PutNameRaterShowOnTheAir
|
|
movs r0, #1
|
|
b _080F08A2
|
|
.align 2, 0
|
|
_080F0890: .4byte 0x02037280
|
|
_080F0894: .4byte 0x02024190
|
|
_080F0898: .4byte 0x02021C40
|
|
_080F089C: .4byte 0x02021C68
|
|
_080F08A0:
|
|
movs r0, #0
|
|
_080F08A2:
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end TV_PutNameRaterShowOnTheAirIfNicknameChanged
|
|
|
|
thumb_func_start ChangePokemonNickname
|
|
ChangePokemonNickname: @ 0x080F08A8
|
|
push {r4, r5, r6, lr}
|
|
mov r6, sl
|
|
mov r5, sb
|
|
mov r4, r8
|
|
push {r4, r5, r6}
|
|
sub sp, #8
|
|
ldr r0, _080F0950
|
|
mov sb, r0
|
|
ldrh r0, [r0]
|
|
movs r1, #0x64
|
|
mov r8, r1
|
|
mov r1, r8
|
|
muls r1, r0, r1
|
|
adds r0, r1, #0
|
|
ldr r6, _080F0954
|
|
adds r0, r0, r6
|
|
ldr r2, _080F0958
|
|
movs r1, #2
|
|
bl GetMonData
|
|
mov r1, sb
|
|
ldrh r0, [r1]
|
|
mov r1, r8
|
|
muls r1, r0, r1
|
|
adds r0, r1, #0
|
|
adds r0, r0, r6
|
|
ldr r1, _080F095C
|
|
mov sl, r1
|
|
movs r1, #2
|
|
mov r2, sl
|
|
bl GetMonData
|
|
mov r1, sb
|
|
ldrh r0, [r1]
|
|
mov r1, r8
|
|
muls r1, r0, r1
|
|
adds r0, r1, #0
|
|
adds r0, r0, r6
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetMonData
|
|
adds r5, r0, #0
|
|
lsls r5, r5, #0x10
|
|
lsrs r5, r5, #0x10
|
|
mov r1, sb
|
|
ldrh r0, [r1]
|
|
mov r1, r8
|
|
muls r1, r0, r1
|
|
adds r0, r1, #0
|
|
adds r0, r0, r6
|
|
bl GetMonGender
|
|
adds r4, r0, #0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
mov r1, sb
|
|
ldrh r0, [r1]
|
|
mov r1, r8
|
|
muls r1, r0, r1
|
|
adds r0, r1, #0
|
|
adds r0, r0, r6
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl GetMonData
|
|
str r0, [sp]
|
|
ldr r0, _080F0960
|
|
str r0, [sp, #4]
|
|
movs r0, #3
|
|
mov r1, sl
|
|
adds r2, r5, #0
|
|
adds r3, r4, #0
|
|
bl DoNamingScreen
|
|
add sp, #8
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0950: .4byte 0x02037280
|
|
_080F0954: .4byte 0x02024190
|
|
_080F0958: .4byte 0x02021C68
|
|
_080F095C: .4byte 0x02021C54
|
|
_080F0960: .4byte 0x080F0965
|
|
thumb_func_end ChangePokemonNickname
|
|
|
|
thumb_func_start ChangePokemonNickname_CB
|
|
ChangePokemonNickname_CB: @ 0x080F0964
|
|
push {lr}
|
|
ldr r0, _080F0984
|
|
ldrh r1, [r0]
|
|
movs r0, #0x64
|
|
muls r0, r1, r0
|
|
ldr r1, _080F0988
|
|
adds r0, r0, r1
|
|
ldr r2, _080F098C
|
|
movs r1, #2
|
|
bl SetMonData
|
|
bl CB2_ReturnToFieldContinueScriptPlayMapMusic
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0984: .4byte 0x02037280
|
|
_080F0988: .4byte 0x02024190
|
|
_080F098C: .4byte 0x02021C54
|
|
thumb_func_end ChangePokemonNickname_CB
|
|
|
|
thumb_func_start ChangeBoxPokemonNickname
|
|
ChangeBoxPokemonNickname: @ 0x080F0990
|
|
push {r4, r5, r6, lr}
|
|
mov r6, r8
|
|
push {r6}
|
|
sub sp, #8
|
|
ldr r0, _080F0A00
|
|
ldrb r0, [r0]
|
|
ldr r1, _080F0A04
|
|
ldrb r1, [r1]
|
|
bl GetBoxedMonPtr
|
|
adds r6, r0, #0
|
|
ldr r2, _080F0A08
|
|
movs r1, #2
|
|
bl GetBoxMonData
|
|
ldr r0, _080F0A0C
|
|
mov r8, r0
|
|
adds r0, r6, #0
|
|
movs r1, #2
|
|
mov r2, r8
|
|
bl GetBoxMonData
|
|
adds r0, r6, #0
|
|
movs r1, #0xb
|
|
movs r2, #0
|
|
bl GetBoxMonData
|
|
adds r5, r0, #0
|
|
lsls r5, r5, #0x10
|
|
lsrs r5, r5, #0x10
|
|
adds r0, r6, #0
|
|
bl GetBoxMonGender
|
|
adds r4, r0, #0
|
|
lsls r4, r4, #0x18
|
|
lsrs r4, r4, #0x18
|
|
adds r0, r6, #0
|
|
movs r1, #0
|
|
movs r2, #0
|
|
bl GetBoxMonData
|
|
str r0, [sp]
|
|
ldr r0, _080F0A10
|
|
str r0, [sp, #4]
|
|
movs r0, #3
|
|
mov r1, r8
|
|
adds r2, r5, #0
|
|
adds r3, r4, #0
|
|
bl DoNamingScreen
|
|
add sp, #8
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0A00: .4byte 0x02037296
|
|
_080F0A04: .4byte 0x02037298
|
|
_080F0A08: .4byte 0x02021C68
|
|
_080F0A0C: .4byte 0x02021C54
|
|
_080F0A10: .4byte 0x080F0A15
|
|
thumb_func_end ChangeBoxPokemonNickname
|
|
|
|
thumb_func_start ChangeBoxPokemonNickname_CB
|
|
ChangeBoxPokemonNickname_CB: @ 0x080F0A14
|
|
push {lr}
|
|
ldr r0, _080F0A2C
|
|
ldrb r0, [r0]
|
|
ldr r1, _080F0A30
|
|
ldrb r1, [r1]
|
|
ldr r2, _080F0A34
|
|
bl SetBoxMonNickAt
|
|
bl CB2_ReturnToFieldContinueScriptPlayMapMusic
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0A2C: .4byte 0x02037296
|
|
_080F0A30: .4byte 0x02037298
|
|
_080F0A34: .4byte 0x02021C54
|
|
thumb_func_end ChangeBoxPokemonNickname_CB
|
|
|
|
thumb_func_start TV_CopyNicknameToStringVar1AndEnsureTerminated
|
|
TV_CopyNicknameToStringVar1AndEnsureTerminated: @ 0x080F0A38
|
|
push {r4, lr}
|
|
ldr r0, _080F0A5C
|
|
ldrh r1, [r0]
|
|
movs r0, #0x64
|
|
muls r0, r1, r0
|
|
ldr r1, _080F0A60
|
|
adds r0, r0, r1
|
|
ldr r4, _080F0A64
|
|
movs r1, #2
|
|
adds r2, r4, #0
|
|
bl GetMonData
|
|
adds r0, r4, #0
|
|
bl StringGetEnd10
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0A5C: .4byte 0x02037280
|
|
_080F0A60: .4byte 0x02024190
|
|
_080F0A64: .4byte 0x02021C40
|
|
thumb_func_end TV_CopyNicknameToStringVar1AndEnsureTerminated
|
|
|
|
thumb_func_start TV_CheckMonOTIDEqualsPlayerID
|
|
TV_CheckMonOTIDEqualsPlayerID: @ 0x080F0A68
|
|
push {r4, lr}
|
|
bl GetPlayerIDAsU32
|
|
adds r4, r0, #0
|
|
ldr r0, _080F0A90
|
|
ldrh r1, [r0]
|
|
movs r0, #0x64
|
|
muls r0, r1, r0
|
|
ldr r1, _080F0A94
|
|
adds r0, r0, r1
|
|
movs r1, #1
|
|
movs r2, #0
|
|
bl GetMonData
|
|
cmp r4, r0
|
|
bne _080F0A9C
|
|
ldr r1, _080F0A98
|
|
movs r0, #0
|
|
b _080F0AA0
|
|
.align 2, 0
|
|
_080F0A90: .4byte 0x02037280
|
|
_080F0A94: .4byte 0x02024190
|
|
_080F0A98: .4byte 0x02037290
|
|
_080F0A9C:
|
|
ldr r1, _080F0AA8
|
|
movs r0, #1
|
|
_080F0AA0:
|
|
strh r0, [r1]
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0AA8: .4byte 0x02037290
|
|
thumb_func_end TV_CheckMonOTIDEqualsPlayerID
|
|
|
|
thumb_func_start GetTVChannelByShowType
|
|
GetTVChannelByShowType: @ 0x080F0AAC
|
|
push {lr}
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
adds r2, r1, #0
|
|
cmp r1, #0
|
|
beq _080F0AE2
|
|
subs r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0x13
|
|
bhi _080F0AC6
|
|
movs r0, #2
|
|
b _080F0AE8
|
|
_080F0AC6:
|
|
adds r0, r1, #0
|
|
subs r0, #0x15
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0x13
|
|
bhi _080F0AD6
|
|
movs r0, #3
|
|
b _080F0AE8
|
|
_080F0AD6:
|
|
adds r0, r2, #0
|
|
subs r0, #0x29
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0x13
|
|
bls _080F0AE6
|
|
_080F0AE2:
|
|
movs r0, #0
|
|
b _080F0AE8
|
|
_080F0AE6:
|
|
movs r0, #4
|
|
_080F0AE8:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end GetTVChannelByShowType
|
|
|
|
thumb_func_start GetPlayerIDAsU32
|
|
GetPlayerIDAsU32: @ 0x080F0AEC
|
|
ldr r0, _080F0B08
|
|
ldr r2, [r0]
|
|
ldrb r0, [r2, #0xd]
|
|
lsls r0, r0, #0x18
|
|
ldrb r1, [r2, #0xc]
|
|
lsls r1, r1, #0x10
|
|
orrs r0, r1
|
|
ldrb r1, [r2, #0xb]
|
|
lsls r1, r1, #8
|
|
orrs r0, r1
|
|
ldrb r1, [r2, #0xa]
|
|
orrs r0, r1
|
|
bx lr
|
|
.align 2, 0
|
|
_080F0B08: .4byte 0x03005AF0
|
|
thumb_func_end GetPlayerIDAsU32
|
|
|
|
thumb_func_start CheckForBigMovieOrEmergencyNewsOnTV
|
|
CheckForBigMovieOrEmergencyNewsOnTV: @ 0x080F0B0C
|
|
push {lr}
|
|
ldr r0, _080F0B30
|
|
ldr r1, [r0]
|
|
movs r0, #4
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #1
|
|
bne _080F0B2C
|
|
ldr r0, _080F0B34
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, #8]
|
|
cmp r0, #0
|
|
bne _080F0B38
|
|
movs r0, #5
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
beq _080F0B40
|
|
_080F0B2C:
|
|
movs r0, #0
|
|
b _080F0B6A
|
|
.align 2, 0
|
|
_080F0B30: .4byte 0x03005AEC
|
|
_080F0B34: .4byte 0x03005AF0
|
|
_080F0B38:
|
|
movs r0, #5
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #2
|
|
bne _080F0B2C
|
|
_080F0B40:
|
|
ldr r0, _080F0B64
|
|
bl FlagGet
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080F0B5E
|
|
movs r0, #0x89
|
|
lsls r0, r0, #4
|
|
bl FlagGet
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080F0B68
|
|
_080F0B5E:
|
|
movs r0, #1
|
|
b _080F0B6A
|
|
.align 2, 0
|
|
_080F0B64: .4byte 0x000008BD
|
|
_080F0B68:
|
|
movs r0, #2
|
|
_080F0B6A:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end CheckForBigMovieOrEmergencyNewsOnTV
|
|
|
|
thumb_func_start GetMomOrDadStringForTVMessage
|
|
GetMomOrDadStringForTVMessage: @ 0x080F0B70
|
|
push {r4, lr}
|
|
ldr r0, _080F0BA4
|
|
ldr r1, [r0]
|
|
movs r0, #4
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #1
|
|
bne _080F0BD0
|
|
ldr r0, _080F0BA8
|
|
ldr r0, [r0]
|
|
ldrb r0, [r0, #8]
|
|
cmp r0, #0
|
|
bne _080F0BB8
|
|
movs r0, #5
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #0
|
|
bne _080F0BD0
|
|
ldr r0, _080F0BAC
|
|
ldr r1, _080F0BB0
|
|
bl StringCopy
|
|
ldr r0, _080F0BB4
|
|
movs r1, #1
|
|
bl VarSet
|
|
b _080F0BD0
|
|
.align 2, 0
|
|
_080F0BA4: .4byte 0x03005AEC
|
|
_080F0BA8: .4byte 0x03005AF0
|
|
_080F0BAC: .4byte 0x02021C40
|
|
_080F0BB0: .4byte 0x085CA9E1
|
|
_080F0BB4: .4byte 0x00004003
|
|
_080F0BB8:
|
|
movs r0, #5
|
|
ldrsb r0, [r1, r0]
|
|
cmp r0, #2
|
|
bne _080F0BD0
|
|
ldr r0, _080F0C18
|
|
ldr r1, _080F0C1C
|
|
bl StringCopy
|
|
ldr r0, _080F0C20
|
|
movs r1, #1
|
|
bl VarSet
|
|
_080F0BD0:
|
|
ldr r4, _080F0C20
|
|
adds r0, r4, #0
|
|
bl VarGet
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
cmp r0, #1
|
|
beq _080F0C0E
|
|
adds r0, r4, #0
|
|
bl VarGet
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
cmp r0, #2
|
|
beq _080F0C24
|
|
adds r0, r4, #0
|
|
bl VarGet
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
cmp r0, #2
|
|
bls _080F0C38
|
|
adds r0, r4, #0
|
|
bl VarGet
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080F0C24
|
|
_080F0C0E:
|
|
ldr r0, _080F0C18
|
|
ldr r1, _080F0C1C
|
|
bl StringCopy
|
|
b _080F0C74
|
|
.align 2, 0
|
|
_080F0C18: .4byte 0x02021C40
|
|
_080F0C1C: .4byte 0x085CA9E1
|
|
_080F0C20: .4byte 0x00004003
|
|
_080F0C24:
|
|
ldr r0, _080F0C30
|
|
ldr r1, _080F0C34
|
|
bl StringCopy
|
|
b _080F0C74
|
|
.align 2, 0
|
|
_080F0C30: .4byte 0x02021C40
|
|
_080F0C34: .4byte 0x085CA9DE
|
|
_080F0C38:
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080F0C64
|
|
ldr r0, _080F0C5C
|
|
ldr r1, _080F0C60
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
movs r1, #1
|
|
bl VarSet
|
|
b _080F0C74
|
|
.align 2, 0
|
|
_080F0C5C: .4byte 0x02021C40
|
|
_080F0C60: .4byte 0x085CA9E1
|
|
_080F0C64:
|
|
ldr r0, _080F0C7C
|
|
ldr r1, _080F0C80
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
movs r1, #2
|
|
bl VarSet
|
|
_080F0C74:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0C7C: .4byte 0x02021C40
|
|
_080F0C80: .4byte 0x085CA9DE
|
|
thumb_func_end GetMomOrDadStringForTVMessage
|
|
|
|
thumb_func_start sub_080F0C84
|
|
sub_080F0C84: @ 0x080F0C84
|
|
push {lr}
|
|
ldr r0, _080F0CA8
|
|
movs r1, #0
|
|
bl VarSet
|
|
ldr r0, _080F0CAC
|
|
ldr r0, [r0]
|
|
ldrb r1, [r0, #5]
|
|
ldrb r2, [r0, #4]
|
|
movs r0, #5
|
|
bl RemoveEventObjectByLocalIdAndMap
|
|
ldr r0, _080F0CB0
|
|
bl FlagSet
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0CA8: .4byte 0x000040BC
|
|
_080F0CAC: .4byte 0x03005AEC
|
|
_080F0CB0: .4byte 0x00000396
|
|
thumb_func_end sub_080F0C84
|
|
|
|
thumb_func_start ReceiveTvShowsData
|
|
ReceiveTvShowsData: @ 0x080F0CB4
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
adds r7, r0, #0
|
|
adds r6, r1, #0
|
|
lsls r2, r2, #0x18
|
|
lsrs r2, r2, #0x18
|
|
mov r8, r2
|
|
movs r0, #0xe1
|
|
lsls r0, r0, #4
|
|
bl Alloc
|
|
mov sb, r0
|
|
cmp r0, #0
|
|
bne _080F0CD8
|
|
b _080F0E1C
|
|
_080F0CD8:
|
|
movs r4, #0
|
|
_080F0CDA:
|
|
lsls r0, r4, #3
|
|
subs r0, r0, r4
|
|
lsls r0, r0, #5
|
|
adds r0, r0, r4
|
|
lsls r0, r0, #2
|
|
add r0, sb
|
|
adds r1, r4, #0
|
|
muls r1, r6, r1
|
|
adds r1, r7, r1
|
|
movs r2, #0xe1
|
|
lsls r2, r2, #2
|
|
bl memcpy
|
|
adds r0, r4, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
cmp r4, #3
|
|
bls _080F0CDA
|
|
mov r5, sb
|
|
movs r4, #0
|
|
ldr r0, _080F0D08
|
|
mov sl, r0
|
|
b _080F0D48
|
|
.align 2, 0
|
|
_080F0D08: .4byte 0x020226A0
|
|
_080F0D0C:
|
|
lsls r0, r4, #3
|
|
subs r0, r0, r4
|
|
lsls r0, r0, #2
|
|
mov r2, sl
|
|
adds r1, r0, r2
|
|
ldrb r0, [r1]
|
|
subs r0, #1
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
cmp r0, #1
|
|
bhi _080F0D42
|
|
ldrh r0, [r1, #0x1a]
|
|
cmp r0, #1
|
|
bne _080F0D36
|
|
adds r0, r4, #0
|
|
muls r0, r6, r0
|
|
adds r0, r7, r0
|
|
movs r1, #2
|
|
bl sub_080F1A40
|
|
b _080F0D42
|
|
_080F0D36:
|
|
adds r0, r4, #0
|
|
muls r0, r6, r0
|
|
adds r0, r7, r0
|
|
ldrh r1, [r1, #0x1a]
|
|
bl sub_080F1A40
|
|
_080F0D42:
|
|
adds r0, r4, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
_080F0D48:
|
|
bl GetLinkPlayerCount
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r4, r0
|
|
blo _080F0D0C
|
|
mov r3, r8
|
|
cmp r3, #1
|
|
beq _080F0D9C
|
|
cmp r3, #1
|
|
bgt _080F0D64
|
|
cmp r3, #0
|
|
beq _080F0D70
|
|
b _080F0DF6
|
|
_080F0D64:
|
|
mov r4, r8
|
|
cmp r4, #2
|
|
beq _080F0DB4
|
|
cmp r4, #3
|
|
beq _080F0DDC
|
|
b _080F0DF6
|
|
_080F0D70:
|
|
ldr r0, _080F0D90
|
|
ldr r0, [r0]
|
|
ldr r1, _080F0D94
|
|
adds r0, r0, r1
|
|
movs r2, #0xe1
|
|
lsls r2, r2, #2
|
|
adds r1, r5, r2
|
|
movs r3, #0xe1
|
|
lsls r3, r3, #3
|
|
adds r2, r5, r3
|
|
ldr r4, _080F0D98
|
|
adds r3, r5, r4
|
|
bl sub_080F0E34
|
|
b _080F0DF6
|
|
.align 2, 0
|
|
_080F0D90: .4byte 0x03005AEC
|
|
_080F0D94: .4byte 0x000027CC
|
|
_080F0D98: .4byte 0x00000A8C
|
|
_080F0D9C:
|
|
ldr r0, _080F0DAC
|
|
ldr r1, [r0]
|
|
ldr r0, _080F0DB0
|
|
adds r1, r1, r0
|
|
movs r3, #0xe1
|
|
lsls r3, r3, #3
|
|
adds r2, r5, r3
|
|
b _080F0DC2
|
|
.align 2, 0
|
|
_080F0DAC: .4byte 0x03005AEC
|
|
_080F0DB0: .4byte 0x000027CC
|
|
_080F0DB4:
|
|
movs r0, #0xe1
|
|
lsls r0, r0, #2
|
|
adds r1, r5, r0
|
|
ldr r0, _080F0DD0
|
|
ldr r2, [r0]
|
|
ldr r3, _080F0DD4
|
|
adds r2, r2, r3
|
|
_080F0DC2:
|
|
ldr r4, _080F0DD8
|
|
adds r3, r5, r4
|
|
adds r0, r5, #0
|
|
bl sub_080F0E34
|
|
b _080F0DF6
|
|
.align 2, 0
|
|
_080F0DD0: .4byte 0x03005AEC
|
|
_080F0DD4: .4byte 0x000027CC
|
|
_080F0DD8: .4byte 0x00000A8C
|
|
_080F0DDC:
|
|
movs r0, #0xe1
|
|
lsls r0, r0, #2
|
|
adds r1, r5, r0
|
|
movs r3, #0xe1
|
|
lsls r3, r3, #3
|
|
adds r2, r5, r3
|
|
ldr r0, _080F0E2C
|
|
ldr r3, [r0]
|
|
ldr r4, _080F0E30
|
|
adds r3, r3, r4
|
|
adds r0, r5, #0
|
|
bl sub_080F0E34
|
|
_080F0DF6:
|
|
ldr r5, _080F0E2C
|
|
ldr r0, [r5]
|
|
ldr r4, _080F0E30
|
|
adds r0, r0, r4
|
|
bl sub_080F0428
|
|
bl sub_080F16E0
|
|
ldr r0, [r5]
|
|
adds r0, r0, r4
|
|
bl sub_080F0428
|
|
bl sub_080F11E4
|
|
bl sub_080F1640
|
|
mov r0, sb
|
|
bl Free
|
|
_080F0E1C:
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F0E2C: .4byte 0x03005AEC
|
|
_080F0E30: .4byte 0x000027CC
|
|
thumb_func_end ReceiveTvShowsData
|
|
|
|
thumb_func_start sub_080F0E34
|
|
sub_080F0E34: @ 0x080F0E34
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
sub sp, #0x20
|
|
str r0, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
str r2, [sp, #0x18]
|
|
str r3, [sp, #0x1c]
|
|
add r0, sp, #0x10
|
|
str r0, [sp]
|
|
add r0, sp, #0x14
|
|
str r0, [sp, #4]
|
|
add r0, sp, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0x1c
|
|
str r0, [sp, #0xc]
|
|
bl GetLinkPlayerCount
|
|
ldr r1, _080F0EB0
|
|
strb r0, [r1]
|
|
_080F0E60:
|
|
movs r6, #0
|
|
ldr r0, _080F0EB0
|
|
ldrb r1, [r0]
|
|
cmp r6, r1
|
|
bhs _080F0E60
|
|
mov sl, r0
|
|
_080F0E6C:
|
|
cmp r6, #0
|
|
bne _080F0E74
|
|
ldr r2, _080F0EB4
|
|
strb r6, [r2]
|
|
_080F0E74:
|
|
lsls r4, r6, #2
|
|
mov r3, sp
|
|
adds r0, r3, r4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl sub_080F11AC
|
|
ldr r1, _080F0EB8
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
adds r7, r4, #0
|
|
cmp r0, r1
|
|
bne _080F0EBC
|
|
ldr r1, _080F0EB4
|
|
ldrb r0, [r1]
|
|
adds r0, #1
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
mov r2, sl
|
|
ldrb r2, [r2]
|
|
cmp r0, r2
|
|
beq _080F0F68
|
|
adds r6, #1
|
|
mov sb, r6
|
|
b _080F0F4C
|
|
.align 2, 0
|
|
_080F0EB0: .4byte 0x03001174
|
|
_080F0EB4: .4byte 0x02039CF8
|
|
_080F0EB8: .4byte 0x03001176
|
|
_080F0EBC:
|
|
movs r5, #0
|
|
mov r3, sl
|
|
ldrb r0, [r3]
|
|
subs r0, #1
|
|
adds r2, r6, #1
|
|
mov sb, r2
|
|
cmp r5, r0
|
|
bge _080F0F32
|
|
ldr r3, _080F0F5C
|
|
mov r8, r3
|
|
_080F0ED0:
|
|
adds r0, r6, r5
|
|
adds r4, r0, #1
|
|
mov r0, r8
|
|
ldrb r1, [r0]
|
|
adds r0, r4, #0
|
|
bl __modsi3
|
|
lsls r0, r0, #2
|
|
add r0, sp
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl FindEmptyTVSlotBeyondFirstFiveShowsOfArray
|
|
ldr r1, _080F0F60
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080F0F22
|
|
mov r2, r8
|
|
ldrb r1, [r2]
|
|
adds r0, r4, #0
|
|
bl __modsi3
|
|
adds r2, r0, #0
|
|
lsls r0, r2, #2
|
|
add r0, sp
|
|
ldr r0, [r0]
|
|
mov r3, sp
|
|
adds r1, r3, r7
|
|
ldr r1, [r1]
|
|
lsls r2, r2, #0x18
|
|
lsrs r2, r2, #0x18
|
|
bl sub_080F0F78
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080F0F32
|
|
_080F0F22:
|
|
adds r0, r5, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
mov r1, r8
|
|
ldrb r0, [r1]
|
|
subs r0, #1
|
|
cmp r5, r0
|
|
blt _080F0ED0
|
|
_080F0F32:
|
|
mov r2, sl
|
|
ldrb r0, [r2]
|
|
subs r0, #1
|
|
cmp r5, r0
|
|
bne _080F0F4C
|
|
mov r3, sp
|
|
adds r0, r3, r7
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
ldr r1, _080F0F64
|
|
ldrb r1, [r1]
|
|
bl DeleteTVShowInArrayByIdx
|
|
_080F0F4C:
|
|
mov r1, sb
|
|
lsls r0, r1, #0x18
|
|
lsrs r6, r0, #0x18
|
|
mov r2, sl
|
|
ldrb r2, [r2]
|
|
cmp r6, r2
|
|
blo _080F0E6C
|
|
b _080F0E60
|
|
.align 2, 0
|
|
_080F0F5C: .4byte 0x03001174
|
|
_080F0F60: .4byte 0x03005E20
|
|
_080F0F64: .4byte 0x03001176
|
|
_080F0F68:
|
|
add sp, #0x20
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_080F0E34
|
|
|
|
thumb_func_start sub_080F0F78
|
|
sub_080F0F78: @ 0x080F0F78
|
|
push {r4, r5, r6, r7, lr}
|
|
sub sp, #4
|
|
lsls r2, r2, #0x18
|
|
lsrs r7, r2, #0x18
|
|
ldr r4, [r0]
|
|
ldr r6, [r1]
|
|
movs r5, #0
|
|
ldr r2, _080F0FB4
|
|
movs r1, #0
|
|
ldrsb r1, [r2, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r6
|
|
ldrb r0, [r0]
|
|
str r2, [sp]
|
|
bl GetTVChannelByShowType
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
adds r1, r0, #0
|
|
ldr r2, [sp]
|
|
cmp r0, #3
|
|
beq _080F0FE8
|
|
cmp r0, #3
|
|
bgt _080F0FB8
|
|
cmp r0, #2
|
|
beq _080F0FBE
|
|
b _080F1036
|
|
.align 2, 0
|
|
_080F0FB4: .4byte 0x03001176
|
|
_080F0FB8:
|
|
cmp r1, #4
|
|
beq _080F1010
|
|
b _080F1036
|
|
_080F0FBE:
|
|
ldr r0, _080F0FE4
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r4, r0
|
|
ldrb r2, [r2]
|
|
lsls r2, r2, #0x18
|
|
asrs r2, r2, #0x18
|
|
lsls r1, r2, #3
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r6, r1
|
|
adds r2, r7, #0
|
|
bl sub_080F105C
|
|
b _080F1032
|
|
.align 2, 0
|
|
_080F0FE4: .4byte 0x03005E20
|
|
_080F0FE8:
|
|
ldr r0, _080F100C
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r4, r0
|
|
ldrb r2, [r2]
|
|
lsls r2, r2, #0x18
|
|
asrs r2, r2, #0x18
|
|
lsls r1, r2, #3
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r6, r1
|
|
adds r2, r7, #0
|
|
bl sub_080F10C4
|
|
b _080F1032
|
|
.align 2, 0
|
|
_080F100C: .4byte 0x03005E20
|
|
_080F1010:
|
|
ldr r0, _080F1040
|
|
movs r1, #0
|
|
ldrsb r1, [r0, r1]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r4, r0
|
|
ldrb r2, [r2]
|
|
lsls r2, r2, #0x18
|
|
asrs r2, r2, #0x18
|
|
lsls r1, r2, #3
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r6, r1
|
|
adds r2, r7, #0
|
|
bl sub_080F1144
|
|
_080F1032:
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
_080F1036:
|
|
cmp r5, #1
|
|
beq _080F1044
|
|
movs r0, #0
|
|
b _080F1050
|
|
.align 2, 0
|
|
_080F1040: .4byte 0x03005E20
|
|
_080F1044:
|
|
ldr r0, _080F1058
|
|
ldrb r1, [r0]
|
|
adds r0, r6, #0
|
|
bl DeleteTVShowInArrayByIdx
|
|
movs r0, #1
|
|
_080F1050:
|
|
add sp, #4
|
|
pop {r4, r5, r6, r7}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
_080F1058: .4byte 0x03001176
|
|
thumb_func_end sub_080F0F78
|
|
|
|
thumb_func_start sub_080F105C
|
|
sub_080F105C: @ 0x080F105C
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
adds r4, r1, #0
|
|
lsls r0, r2, #0x18
|
|
lsrs r0, r0, #0x18
|
|
bl GetLinkPlayerTrainerId
|
|
adds r5, r0, #0
|
|
movs r2, #0xff
|
|
ands r0, r2
|
|
adds r1, r4, #0
|
|
adds r1, #0x22
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _080F108C
|
|
lsrs r0, r5, #8
|
|
ands r0, r2
|
|
adds r1, r4, #0
|
|
adds r1, #0x23
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _080F108C
|
|
movs r0, #0
|
|
b _080F10BC
|
|
_080F108C:
|
|
adds r1, r4, #0
|
|
adds r1, #0x20
|
|
ldrb r0, [r1]
|
|
adds r2, r4, #0
|
|
adds r2, #0x22
|
|
strb r0, [r2]
|
|
adds r3, r4, #0
|
|
adds r3, #0x21
|
|
ldrb r0, [r3]
|
|
adds r2, #1
|
|
strb r0, [r2]
|
|
strb r5, [r1]
|
|
lsrs r0, r5, #8
|
|
strb r0, [r3]
|
|
adds r1, r6, #0
|
|
adds r0, r4, #0
|
|
ldm r0!, {r2, r3, r4}
|
|
stm r1!, {r2, r3, r4}
|
|
ldm r0!, {r2, r3, r4}
|
|
stm r1!, {r2, r3, r4}
|
|
ldm r0!, {r2, r3, r4}
|
|
stm r1!, {r2, r3, r4}
|
|
movs r0, #1
|
|
strb r0, [r6, #1]
|
|
_080F10BC:
|
|
pop {r4, r5, r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end sub_080F105C
|
|
|
|
thumb_func_start sub_080F10C4
|
|
sub_080F10C4: @ 0x080F10C4
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
adds r4, r1, #0
|
|
lsls r0, r2, #0x18
|
|
lsrs r0, r0, #0x18
|
|
bl GetLinkPlayerTrainerId
|
|
adds r2, r0, #0
|
|
movs r3, #0xff
|
|
ands r0, r3
|
|
adds r1, r4, #0
|
|
adds r1, #0x20
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _080F10F0
|
|
lsrs r0, r2, #8
|
|
ands r0, r3
|
|
adds r1, r4, #0
|
|
adds r1, #0x21
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
beq _080F1110
|
|
_080F10F0:
|
|
movs r3, #0xff
|
|
adds r0, r2, #0
|
|
ands r0, r3
|
|
adds r1, r4, #0
|
|
adds r1, #0x22
|
|
lsrs r5, r2, #8
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _080F1114
|
|
adds r0, r5, #0
|
|
ands r0, r3
|
|
adds r1, r4, #0
|
|
adds r1, #0x23
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _080F1114
|
|
_080F1110:
|
|
movs r0, #0
|
|
b _080F113C
|
|
_080F1114:
|
|
ldrb r1, [r4, #0x1e]
|
|
adds r0, r4, #0
|
|
adds r0, #0x20
|
|
strb r1, [r0]
|
|
ldrb r0, [r4, #0x1f]
|
|
adds r1, r4, #0
|
|
adds r1, #0x21
|
|
strb r0, [r1]
|
|
strb r2, [r4, #0x1e]
|
|
strb r5, [r4, #0x1f]
|
|
adds r1, r6, #0
|
|
adds r0, r4, #0
|
|
ldm r0!, {r2, r3, r4}
|
|
stm r1!, {r2, r3, r4}
|
|
ldm r0!, {r2, r3, r4}
|
|
stm r1!, {r2, r3, r4}
|
|
ldm r0!, {r2, r3, r4}
|
|
stm r1!, {r2, r3, r4}
|
|
movs r0, #1
|
|
strb r0, [r6, #1]
|
|
_080F113C:
|
|
pop {r4, r5, r6}
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end sub_080F10C4
|
|
|
|
thumb_func_start sub_080F1144
|
|
sub_080F1144: @ 0x080F1144
|
|
push {r4, r5, r6, lr}
|
|
adds r6, r0, #0
|
|
adds r4, r1, #0
|
|
lsls r0, r2, #0x18
|
|
lsrs r0, r0, #0x18
|
|
bl GetLinkPlayerTrainerId
|
|
adds r5, r0, #0
|
|
movs r2, #0xff
|
|
ands r0, r2
|
|
adds r1, r4, #0
|
|
adds r1, #0x22
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _080F1174
|
|
lsrs r0, r5, #8
|
|
ands r0, r2
|
|
adds r1, r4, #0
|
|
adds r1, #0x23
|
|
ldrb r1, [r1]
|
|
cmp r0, r1
|
|
bne _080F1174
|
|
movs r0, #0
|
|
b _080F11A6
|
|
_080F1174:
|
|
adds r1, r4, #0
|
|
adds r1, #0x20
|
|
ldrb r0, [r1]
|
|
adds r2, r4, #0
|
|
adds r2, #0x22
|
|
strb r0, [r2]
|
|
adds r3, r4, #0
|
|
adds r3, #0x21
|
|
ldrb r0, [r3]
|
|
adds r2, #1
|
|
strb r0, [r2]
|
|
strb r5, [r1]
|
|
lsrs r0, r5, #8
|
|
strb r0, [r3]
|
|
adds r1, r6, #0
|
|
adds r0, r4, #0
|
|
ldm r0!, {r2, r3, r4}
|
|
stm r1!, {r2, r3, r4}
|
|
ldm r0!, {r2, r3, r4}
|
|
stm r1!, {r2, r3, r4}
|
|
ldm r0!, {r2, r3, r4}
|
|
stm r1!, {r2, r3, r4}
|
|
movs r0, #1
|
|
strb r0, [r6, #1]
|
|
strh r0, [r6, #0x16]
|
|
_080F11A6:
|
|
pop {r4, r5, r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_080F1144
|
|
|
|
thumb_func_start sub_080F11AC
|
|
sub_080F11AC: @ 0x080F11AC
|
|
push {lr}
|
|
adds r3, r0, #0
|
|
movs r2, #0
|
|
_080F11B2:
|
|
lsls r0, r2, #3
|
|
adds r0, r0, r2
|
|
lsls r0, r0, #2
|
|
adds r1, r0, r3
|
|
ldrb r0, [r1, #1]
|
|
cmp r0, #0
|
|
bne _080F11D2
|
|
ldrb r0, [r1]
|
|
subs r0, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #0x3b
|
|
bhi _080F11D2
|
|
lsls r0, r2, #0x18
|
|
asrs r0, r0, #0x18
|
|
b _080F11E0
|
|
_080F11D2:
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #0x17
|
|
bls _080F11B2
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
_080F11E0:
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_080F11AC
|
|
|
|
thumb_func_start sub_080F11E4
|
|
sub_080F11E4: @ 0x080F11E4
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
sub sp, #8
|
|
movs r0, #0
|
|
mov sb, r0
|
|
_080F11F2:
|
|
ldr r3, _080F1218
|
|
ldr r1, [r3]
|
|
mov r4, sb
|
|
lsls r2, r4, #3
|
|
adds r0, r2, r4
|
|
lsls r0, r0, #2
|
|
adds r1, r1, r0
|
|
ldr r0, _080F121C
|
|
adds r1, r1, r0
|
|
ldrb r0, [r1]
|
|
adds r7, r2, #0
|
|
cmp r0, #0x29
|
|
bls _080F120E
|
|
b _080F15B4
|
|
_080F120E:
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F1220
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F1218: .4byte 0x03005AEC
|
|
_080F121C: .4byte 0x000027CC
|
|
_080F1220: .4byte 0x080F1224
|
|
_080F1224: @ jump table
|
|
.4byte _080F15BE @ case 0
|
|
.4byte _080F1324 @ case 1
|
|
.4byte _080F15BE @ case 2
|
|
.4byte _080F133C @ case 3
|
|
.4byte _080F1354 @ case 4
|
|
.4byte _080F136C @ case 5
|
|
.4byte _080F1398 @ case 6
|
|
.4byte _080F13B0 @ case 7
|
|
.4byte _080F12CC @ case 8
|
|
.4byte _080F15BE @ case 9
|
|
.4byte _080F12F8 @ case 10
|
|
.4byte _080F15BE @ case 11
|
|
.4byte _080F15BE @ case 12
|
|
.4byte _080F15B4 @ case 13
|
|
.4byte _080F15B4 @ case 14
|
|
.4byte _080F15B4 @ case 15
|
|
.4byte _080F15B4 @ case 16
|
|
.4byte _080F15B4 @ case 17
|
|
.4byte _080F15B4 @ case 18
|
|
.4byte _080F15B4 @ case 19
|
|
.4byte _080F15B4 @ case 20
|
|
.4byte _080F13DC @ case 21
|
|
.4byte _080F15BE @ case 22
|
|
.4byte _080F13F4 @ case 23
|
|
.4byte _080F1420 @ case 24
|
|
.4byte _080F1438 @ case 25
|
|
.4byte _080F15BE @ case 26
|
|
.4byte _080F15BE @ case 27
|
|
.4byte _080F15BE @ case 28
|
|
.4byte _080F15BE @ case 29
|
|
.4byte _080F1450 @ case 30
|
|
.4byte _080F147C @ case 31
|
|
.4byte _080F15BE @ case 32
|
|
.4byte _080F149C @ case 33
|
|
.4byte _080F15BE @ case 34
|
|
.4byte _080F15BE @ case 35
|
|
.4byte _080F14D0 @ case 36
|
|
.4byte _080F15BE @ case 37
|
|
.4byte _080F15BE @ case 38
|
|
.4byte _080F15BE @ case 39
|
|
.4byte _080F15B4 @ case 40
|
|
.4byte _080F15BE @ case 41
|
|
_080F12CC:
|
|
ldr r0, [r3]
|
|
mov r1, sb
|
|
adds r4, r7, r1
|
|
lsls r4, r4, #2
|
|
adds r0, r4, r0
|
|
ldr r6, _080F12F4
|
|
adds r0, r0, r6
|
|
ldrh r0, [r0, #0x12]
|
|
lsls r5, r1, #0x18
|
|
lsrs r5, r5, #0x18
|
|
adds r1, r5, #0
|
|
str r3, [sp, #4]
|
|
bl sub_080F1600
|
|
ldr r3, [sp, #4]
|
|
ldr r0, [r3]
|
|
adds r4, r4, r0
|
|
adds r4, r4, r6
|
|
ldrh r0, [r4, #2]
|
|
b _080F14C2
|
|
.align 2, 0
|
|
_080F12F4: .4byte 0x000027CC
|
|
_080F12F8:
|
|
ldr r0, [r3]
|
|
mov r2, sb
|
|
adds r4, r7, r2
|
|
lsls r4, r4, #2
|
|
adds r0, r4, r0
|
|
ldr r6, _080F1320
|
|
adds r0, r0, r6
|
|
ldrh r0, [r0, #0x16]
|
|
lsls r5, r2, #0x18
|
|
lsrs r5, r5, #0x18
|
|
adds r1, r5, #0
|
|
str r3, [sp, #4]
|
|
bl sub_080F1600
|
|
ldr r3, [sp, #4]
|
|
ldr r0, [r3]
|
|
adds r4, r4, r0
|
|
adds r4, r4, r6
|
|
ldrh r0, [r4, #2]
|
|
b _080F14C2
|
|
.align 2, 0
|
|
_080F1320: .4byte 0x000027CC
|
|
_080F1324:
|
|
ldr r0, [r3]
|
|
mov r4, sb
|
|
adds r1, r7, r4
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r0, _080F1338
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1, #2]
|
|
b _080F148C
|
|
.align 2, 0
|
|
_080F1338: .4byte 0x000027CC
|
|
_080F133C:
|
|
ldr r0, [r3]
|
|
mov r2, sb
|
|
adds r1, r7, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r4, _080F1350
|
|
adds r1, r1, r4
|
|
ldrh r0, [r1, #2]
|
|
lsls r1, r2, #0x18
|
|
b _080F148E
|
|
.align 2, 0
|
|
_080F1350: .4byte 0x000027CC
|
|
_080F1354:
|
|
ldr r0, [r3]
|
|
mov r2, sb
|
|
adds r1, r7, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r4, _080F1368
|
|
adds r1, r1, r4
|
|
ldrh r0, [r1, #6]
|
|
lsls r1, r2, #0x18
|
|
b _080F148E
|
|
.align 2, 0
|
|
_080F1368: .4byte 0x000027CC
|
|
_080F136C:
|
|
ldr r0, [r3]
|
|
mov r1, sb
|
|
adds r4, r7, r1
|
|
lsls r4, r4, #2
|
|
adds r0, r4, r0
|
|
ldr r6, _080F1394
|
|
adds r0, r0, r6
|
|
ldrh r0, [r0, #2]
|
|
lsls r5, r1, #0x18
|
|
lsrs r5, r5, #0x18
|
|
adds r1, r5, #0
|
|
str r3, [sp, #4]
|
|
bl sub_080F1600
|
|
ldr r3, [sp, #4]
|
|
ldr r0, [r3]
|
|
adds r4, r4, r0
|
|
adds r4, r4, r6
|
|
ldrh r0, [r4, #0x1c]
|
|
b _080F14C2
|
|
.align 2, 0
|
|
_080F1394: .4byte 0x000027CC
|
|
_080F1398:
|
|
ldr r0, [r3]
|
|
mov r2, sb
|
|
adds r1, r7, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r4, _080F13AC
|
|
adds r1, r1, r4
|
|
ldrh r0, [r1, #2]
|
|
lsls r1, r2, #0x18
|
|
b _080F148E
|
|
.align 2, 0
|
|
_080F13AC: .4byte 0x000027CC
|
|
_080F13B0:
|
|
ldr r0, [r3]
|
|
mov r1, sb
|
|
adds r4, r7, r1
|
|
lsls r4, r4, #2
|
|
adds r0, r4, r0
|
|
ldr r6, _080F13D8
|
|
adds r0, r0, r6
|
|
ldrh r0, [r0, #0xa]
|
|
lsls r5, r1, #0x18
|
|
lsrs r5, r5, #0x18
|
|
adds r1, r5, #0
|
|
str r3, [sp, #4]
|
|
bl sub_080F1600
|
|
ldr r3, [sp, #4]
|
|
ldr r0, [r3]
|
|
adds r4, r4, r0
|
|
adds r4, r4, r6
|
|
ldrh r0, [r4, #0x14]
|
|
b _080F14C2
|
|
.align 2, 0
|
|
_080F13D8: .4byte 0x000027CC
|
|
_080F13DC:
|
|
ldr r0, [r3]
|
|
mov r2, sb
|
|
adds r1, r7, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r4, _080F13F0
|
|
adds r1, r1, r4
|
|
ldrh r0, [r1, #0x10]
|
|
lsls r1, r2, #0x18
|
|
b _080F148E
|
|
.align 2, 0
|
|
_080F13F0: .4byte 0x000027CC
|
|
_080F13F4:
|
|
ldr r0, [r3]
|
|
mov r1, sb
|
|
adds r4, r7, r1
|
|
lsls r4, r4, #2
|
|
adds r0, r4, r0
|
|
ldr r6, _080F141C
|
|
adds r0, r0, r6
|
|
ldrh r0, [r0, #0xc]
|
|
lsls r5, r1, #0x18
|
|
lsrs r5, r5, #0x18
|
|
adds r1, r5, #0
|
|
str r3, [sp, #4]
|
|
bl sub_080F1600
|
|
ldr r3, [sp, #4]
|
|
ldr r0, [r3]
|
|
adds r4, r4, r0
|
|
adds r4, r4, r6
|
|
ldrh r0, [r4, #0xe]
|
|
b _080F14C2
|
|
.align 2, 0
|
|
_080F141C: .4byte 0x000027CC
|
|
_080F1420:
|
|
ldr r0, [r3]
|
|
mov r2, sb
|
|
adds r1, r7, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r4, _080F1434
|
|
adds r1, r1, r4
|
|
ldrh r0, [r1, #4]
|
|
lsls r1, r2, #0x18
|
|
b _080F148E
|
|
.align 2, 0
|
|
_080F1434: .4byte 0x000027CC
|
|
_080F1438:
|
|
ldr r0, [r3]
|
|
mov r1, sb
|
|
adds r4, r7, r1
|
|
lsls r4, r4, #2
|
|
adds r0, r4, r0
|
|
ldr r6, _080F144C
|
|
adds r0, r0, r6
|
|
ldrh r0, [r0, #8]
|
|
b _080F14AC
|
|
.align 2, 0
|
|
_080F144C: .4byte 0x000027CC
|
|
_080F1450:
|
|
ldr r0, [r3]
|
|
mov r2, sb
|
|
adds r4, r7, r2
|
|
lsls r4, r4, #2
|
|
adds r0, r4, r0
|
|
ldr r6, _080F1478
|
|
adds r0, r0, r6
|
|
ldrh r0, [r0, #2]
|
|
lsls r5, r2, #0x18
|
|
lsrs r5, r5, #0x18
|
|
adds r1, r5, #0
|
|
str r3, [sp, #4]
|
|
bl sub_080F1600
|
|
ldr r3, [sp, #4]
|
|
ldr r0, [r3]
|
|
adds r4, r4, r0
|
|
adds r4, r4, r6
|
|
ldrh r0, [r4, #0xa]
|
|
b _080F14C2
|
|
.align 2, 0
|
|
_080F1478: .4byte 0x000027CC
|
|
_080F147C:
|
|
ldr r0, [r3]
|
|
mov r4, sb
|
|
adds r1, r7, r4
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r0
|
|
ldr r0, _080F1498
|
|
adds r1, r1, r0
|
|
ldrh r0, [r1, #8]
|
|
_080F148C:
|
|
lsls r1, r4, #0x18
|
|
_080F148E:
|
|
lsrs r1, r1, #0x18
|
|
bl sub_080F1600
|
|
b _080F15BE
|
|
.align 2, 0
|
|
_080F1498: .4byte 0x000027CC
|
|
_080F149C:
|
|
ldr r0, [r3]
|
|
mov r1, sb
|
|
adds r4, r7, r1
|
|
lsls r4, r4, #2
|
|
adds r0, r4, r0
|
|
ldr r6, _080F14CC
|
|
adds r0, r0, r6
|
|
ldrh r0, [r0, #6]
|
|
_080F14AC:
|
|
lsls r5, r1, #0x18
|
|
lsrs r5, r5, #0x18
|
|
adds r1, r5, #0
|
|
str r3, [sp, #4]
|
|
bl sub_080F1600
|
|
ldr r3, [sp, #4]
|
|
ldr r0, [r3]
|
|
adds r4, r4, r0
|
|
adds r4, r4, r6
|
|
ldrh r0, [r4, #4]
|
|
_080F14C2:
|
|
adds r1, r5, #0
|
|
bl sub_080F1600
|
|
b _080F15BE
|
|
.align 2, 0
|
|
_080F14CC: .4byte 0x000027CC
|
|
_080F14D0:
|
|
ldr r0, [r3]
|
|
mov r2, sb
|
|
adds r4, r7, r2
|
|
lsls r4, r4, #2
|
|
adds r0, r4, r0
|
|
ldr r5, _080F151C
|
|
adds r0, r0, r5
|
|
ldrh r0, [r0, #4]
|
|
lsls r2, r2, #0x18
|
|
mov r8, r2
|
|
lsrs r6, r2, #0x18
|
|
adds r1, r6, #0
|
|
str r3, [sp, #4]
|
|
bl sub_080F1600
|
|
ldr r3, [sp, #4]
|
|
ldr r0, [r3]
|
|
adds r0, r4, r0
|
|
adds r0, r0, r5
|
|
ldrh r0, [r0, #6]
|
|
adds r1, r6, #0
|
|
bl sub_080F1600
|
|
ldr r3, [sp, #4]
|
|
ldr r0, [r3]
|
|
adds r4, r4, r0
|
|
adds r4, r4, r5
|
|
ldrb r0, [r4, #0xd]
|
|
subs r0, #1
|
|
mov r6, r8
|
|
cmp r0, #0xc
|
|
bhi _080F15BE
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F1520
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F151C: .4byte 0x000027CC
|
|
_080F1520: .4byte 0x080F1524
|
|
_080F1524: @ jump table
|
|
.4byte _080F1558 @ case 0
|
|
.4byte _080F157C @ case 1
|
|
.4byte _080F15BE @ case 2
|
|
.4byte _080F15BE @ case 3
|
|
.4byte _080F1558 @ case 4
|
|
.4byte _080F1558 @ case 5
|
|
.4byte _080F1558 @ case 6
|
|
.4byte _080F1558 @ case 7
|
|
.4byte _080F1558 @ case 8
|
|
.4byte _080F1558 @ case 9
|
|
.4byte _080F1558 @ case 10
|
|
.4byte _080F1558 @ case 11
|
|
.4byte _080F1558 @ case 12
|
|
_080F1558:
|
|
ldr r0, _080F1574
|
|
ldr r1, [r0]
|
|
mov r4, sb
|
|
adds r0, r7, r4
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r1, _080F1578
|
|
adds r0, r0, r1
|
|
ldrh r0, [r0, #8]
|
|
lsrs r1, r6, #0x18
|
|
bl sub_080F1600
|
|
b _080F15BE
|
|
.align 2, 0
|
|
_080F1574: .4byte 0x03005AEC
|
|
_080F1578: .4byte 0x000027CC
|
|
_080F157C:
|
|
ldr r2, _080F15AC
|
|
ldr r0, [r2]
|
|
mov r1, sb
|
|
adds r4, r7, r1
|
|
lsls r4, r4, #2
|
|
adds r0, r4, r0
|
|
ldr r5, _080F15B0
|
|
adds r0, r0, r5
|
|
ldrh r0, [r0, #8]
|
|
lsrs r6, r6, #0x18
|
|
adds r1, r6, #0
|
|
str r2, [sp]
|
|
bl sub_080F1600
|
|
ldr r2, [sp]
|
|
ldr r0, [r2]
|
|
adds r4, r4, r0
|
|
adds r4, r4, r5
|
|
ldrh r0, [r4, #0xa]
|
|
adds r1, r6, #0
|
|
bl sub_080F1600
|
|
b _080F15BE
|
|
.align 2, 0
|
|
_080F15AC: .4byte 0x03005AEC
|
|
_080F15B0: .4byte 0x000027CC
|
|
_080F15B4:
|
|
mov r2, sb
|
|
lsls r0, r2, #0x18
|
|
lsrs r0, r0, #0x18
|
|
bl SetTvShowInactive
|
|
_080F15BE:
|
|
mov r0, sb
|
|
adds r0, #1
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
mov sb, r0
|
|
cmp r0, #0x17
|
|
bhi _080F15CE
|
|
b _080F11F2
|
|
_080F15CE:
|
|
add sp, #8
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_080F11E4
|
|
|
|
thumb_func_start SetTvShowInactive
|
|
SetTvShowInactive: @ 0x080F15DC
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
ldr r1, _080F15F8
|
|
ldr r2, [r1]
|
|
lsls r1, r0, #3
|
|
adds r1, r1, r0
|
|
lsls r1, r1, #2
|
|
adds r2, r2, r1
|
|
ldr r0, _080F15FC
|
|
adds r2, r2, r0
|
|
movs r0, #0
|
|
strb r0, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F15F8: .4byte 0x03005AEC
|
|
_080F15FC: .4byte 0x000027CD
|
|
thumb_func_end SetTvShowInactive
|
|
|
|
thumb_func_start sub_080F1600
|
|
sub_080F1600: @ 0x080F1600
|
|
push {r4, lr}
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
lsls r1, r1, #0x18
|
|
lsrs r4, r1, #0x18
|
|
bl HoennToNationalOrder
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #0
|
|
bl GetSetPokedexFlag
|
|
lsls r0, r0, #0x18
|
|
asrs r2, r0, #0x18
|
|
cmp r2, #0
|
|
bne _080F1632
|
|
ldr r0, _080F1638
|
|
ldr r1, [r0]
|
|
lsls r0, r4, #3
|
|
adds r0, r0, r4
|
|
lsls r0, r0, #2
|
|
adds r1, r1, r0
|
|
ldr r0, _080F163C
|
|
adds r1, r1, r0
|
|
strb r2, [r1]
|
|
_080F1632:
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1638: .4byte 0x03005AEC
|
|
_080F163C: .4byte 0x000027CD
|
|
thumb_func_end sub_080F1600
|
|
|
|
thumb_func_start sub_080F1640
|
|
sub_080F1640: @ 0x080F1640
|
|
push {r4, r5, r6, lr}
|
|
ldr r0, _080F1684
|
|
bl FlagGet
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080F167E
|
|
movs r2, #0
|
|
ldr r4, _080F1688
|
|
movs r3, #0
|
|
ldr r5, _080F168C
|
|
_080F1658:
|
|
ldr r0, [r5]
|
|
lsls r1, r2, #3
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r0, r1
|
|
ldr r6, _080F1690
|
|
adds r0, r1, r6
|
|
ldrb r0, [r0]
|
|
cmp r0, #7
|
|
beq _080F1670
|
|
cmp r0, #0x29
|
|
bne _080F1674
|
|
_080F1670:
|
|
adds r0, r1, r4
|
|
strb r3, [r0]
|
|
_080F1674:
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x10
|
|
lsrs r2, r0, #0x10
|
|
cmp r2, #0x17
|
|
bls _080F1658
|
|
_080F167E:
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1684: .4byte 0x00000864
|
|
_080F1688: .4byte 0x000027CD
|
|
_080F168C: .4byte 0x03005AEC
|
|
_080F1690: .4byte 0x000027CC
|
|
thumb_func_end sub_080F1640
|
|
|
|
thumb_func_start sub_080F1694
|
|
sub_080F1694: @ 0x080F1694
|
|
push {r4, r5, r6, lr}
|
|
movs r5, #0
|
|
ldr r6, _080F16D4
|
|
_080F169A:
|
|
ldr r1, [r6]
|
|
lsls r0, r5, #3
|
|
adds r0, r0, r5
|
|
lsls r4, r0, #2
|
|
adds r1, r1, r4
|
|
ldr r0, _080F16D8
|
|
adds r1, r1, r0
|
|
ldrb r0, [r1]
|
|
bl GetTVChannelByShowType
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #2
|
|
bne _080F16C2
|
|
ldr r0, [r6]
|
|
adds r0, r0, r4
|
|
ldr r1, _080F16DC
|
|
adds r0, r0, r1
|
|
movs r1, #0
|
|
strb r1, [r0]
|
|
_080F16C2:
|
|
adds r0, r5, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
cmp r5, #4
|
|
bls _080F169A
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F16D4: .4byte 0x03005AEC
|
|
_080F16D8: .4byte 0x000027CC
|
|
_080F16DC: .4byte 0x000027CD
|
|
thumb_func_end sub_080F1694
|
|
|
|
thumb_func_start sub_080F16E0
|
|
sub_080F16E0: @ 0x080F16E0
|
|
push {r4, r5, lr}
|
|
movs r3, #0
|
|
movs r2, #5
|
|
ldr r0, _080F1750
|
|
ldr r4, [r0]
|
|
ldr r5, _080F1754
|
|
_080F16EC:
|
|
lsls r0, r2, #0x18
|
|
asrs r1, r0, #0x18
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r0, r4, r0
|
|
adds r0, r0, r5
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080F170A
|
|
lsls r0, r3, #0x18
|
|
movs r2, #0x80
|
|
lsls r2, r2, #0x11
|
|
adds r0, r0, r2
|
|
lsrs r3, r0, #0x18
|
|
_080F170A:
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
cmp r0, #0x17
|
|
ble _080F16EC
|
|
movs r2, #0
|
|
lsls r0, r3, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #5
|
|
subs r0, r1, r0
|
|
cmp r2, r0
|
|
bge _080F174A
|
|
adds r5, r0, #0
|
|
_080F1726:
|
|
ldr r0, _080F1750
|
|
ldr r0, [r0]
|
|
ldr r1, _080F1754
|
|
adds r0, r0, r1
|
|
lsls r1, r2, #0x18
|
|
asrs r4, r1, #0x18
|
|
movs r2, #0xa0
|
|
lsls r2, r2, #0x13
|
|
adds r1, r1, r2
|
|
lsrs r1, r1, #0x18
|
|
bl DeleteTVShowInArrayByIdx
|
|
adds r4, #1
|
|
lsls r4, r4, #0x18
|
|
lsrs r2, r4, #0x18
|
|
asrs r4, r4, #0x18
|
|
cmp r4, r5
|
|
blt _080F1726
|
|
_080F174A:
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1750: .4byte 0x03005AEC
|
|
_080F1754: .4byte 0x000027CC
|
|
thumb_func_end sub_080F16E0
|
|
|
|
thumb_func_start ReceivePokeNewsData
|
|
ReceivePokeNewsData: @ 0x080F1758
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, r8
|
|
push {r7}
|
|
mov r8, r0
|
|
adds r7, r1, #0
|
|
lsls r2, r2, #0x18
|
|
lsrs r6, r2, #0x18
|
|
movs r0, #0x80
|
|
lsls r0, r0, #1
|
|
bl Alloc
|
|
adds r5, r0, #0
|
|
cmp r5, #0
|
|
beq _080F1828
|
|
movs r4, #0
|
|
_080F1776:
|
|
lsls r0, r4, #6
|
|
adds r0, r0, r5
|
|
adds r1, r4, #0
|
|
muls r1, r7, r1
|
|
add r1, r8
|
|
movs r2, #0x40
|
|
bl memcpy
|
|
adds r0, r4, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
cmp r4, #3
|
|
bls _080F1776
|
|
cmp r6, #1
|
|
beq _080F17CC
|
|
cmp r6, #1
|
|
bgt _080F179E
|
|
cmp r6, #0
|
|
beq _080F17A8
|
|
b _080F181A
|
|
_080F179E:
|
|
cmp r6, #2
|
|
beq _080F17E4
|
|
cmp r6, #3
|
|
beq _080F1804
|
|
b _080F181A
|
|
_080F17A8:
|
|
ldr r0, _080F17C4
|
|
ldr r0, [r0]
|
|
ldr r1, _080F17C8
|
|
adds r0, r0, r1
|
|
adds r1, r5, #0
|
|
adds r1, #0x40
|
|
adds r2, r5, #0
|
|
adds r2, #0x80
|
|
adds r3, r5, #0
|
|
adds r3, #0xc0
|
|
bl sub_080F183C
|
|
b _080F181A
|
|
.align 2, 0
|
|
_080F17C4: .4byte 0x03005AEC
|
|
_080F17C8: .4byte 0x00002B50
|
|
_080F17CC:
|
|
ldr r0, _080F17DC
|
|
ldr r1, [r0]
|
|
ldr r0, _080F17E0
|
|
adds r1, r1, r0
|
|
adds r2, r5, #0
|
|
adds r2, #0x80
|
|
b _080F17F0
|
|
.align 2, 0
|
|
_080F17DC: .4byte 0x03005AEC
|
|
_080F17E0: .4byte 0x00002B50
|
|
_080F17E4:
|
|
adds r1, r5, #0
|
|
adds r1, #0x40
|
|
ldr r0, _080F17FC
|
|
ldr r2, [r0]
|
|
ldr r0, _080F1800
|
|
adds r2, r2, r0
|
|
_080F17F0:
|
|
adds r3, r5, #0
|
|
adds r3, #0xc0
|
|
adds r0, r5, #0
|
|
bl sub_080F183C
|
|
b _080F181A
|
|
.align 2, 0
|
|
_080F17FC: .4byte 0x03005AEC
|
|
_080F1800: .4byte 0x00002B50
|
|
_080F1804:
|
|
adds r1, r5, #0
|
|
adds r1, #0x40
|
|
adds r2, r5, #0
|
|
adds r2, #0x80
|
|
ldr r0, _080F1834
|
|
ldr r3, [r0]
|
|
ldr r0, _080F1838
|
|
adds r3, r3, r0
|
|
adds r0, r5, #0
|
|
bl sub_080F183C
|
|
_080F181A:
|
|
bl sub_080F19C8
|
|
bl TVShowGetFlagCount
|
|
adds r0, r5, #0
|
|
bl Free
|
|
_080F1828:
|
|
pop {r3}
|
|
mov r8, r3
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1834: .4byte 0x03005AEC
|
|
_080F1838: .4byte 0x00002B50
|
|
thumb_func_end ReceivePokeNewsData
|
|
|
|
thumb_func_start sub_080F183C
|
|
sub_080F183C: @ 0x080F183C
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sl
|
|
mov r6, sb
|
|
mov r5, r8
|
|
push {r5, r6, r7}
|
|
sub sp, #0x24
|
|
str r0, [sp, #0x10]
|
|
str r1, [sp, #0x14]
|
|
str r2, [sp, #0x18]
|
|
str r3, [sp, #0x1c]
|
|
add r0, sp, #0x10
|
|
str r0, [sp]
|
|
add r0, sp, #0x14
|
|
str r0, [sp, #4]
|
|
add r0, sp, #0x18
|
|
str r0, [sp, #8]
|
|
add r0, sp, #0x1c
|
|
str r0, [sp, #0xc]
|
|
bl GetLinkPlayerCount
|
|
ldr r1, _080F1878
|
|
strb r0, [r1]
|
|
movs r0, #0
|
|
mov sl, r0
|
|
_080F186C:
|
|
movs r7, #0
|
|
mov r1, sl
|
|
adds r1, #1
|
|
str r1, [sp, #0x20]
|
|
b _080F1904
|
|
.align 2, 0
|
|
_080F1878: .4byte 0x03001175
|
|
_080F187C:
|
|
lsls r4, r7, #2
|
|
mov r1, sp
|
|
adds r0, r1, r4
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
mov r1, sl
|
|
bl sub_080F19A8
|
|
ldr r1, _080F1928
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
mov r8, r4
|
|
adds r1, r7, #1
|
|
mov sb, r1
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080F18FE
|
|
movs r5, #0
|
|
ldr r1, _080F192C
|
|
ldrb r0, [r1]
|
|
subs r0, #1
|
|
cmp r5, r0
|
|
bge _080F18FE
|
|
adds r6, r1, #0
|
|
_080F18B0:
|
|
adds r0, r7, r5
|
|
adds r4, r0, #1
|
|
ldrb r1, [r6]
|
|
adds r0, r4, #0
|
|
bl __modsi3
|
|
lsls r0, r0, #2
|
|
add r0, sp
|
|
ldr r0, [r0]
|
|
ldr r0, [r0]
|
|
bl sub_080EF934
|
|
ldr r1, _080F1930
|
|
strb r0, [r1]
|
|
lsls r0, r0, #0x18
|
|
asrs r0, r0, #0x18
|
|
movs r1, #1
|
|
rsbs r1, r1, #0
|
|
cmp r0, r1
|
|
beq _080F18F0
|
|
ldrb r1, [r6]
|
|
adds r0, r4, #0
|
|
bl __modsi3
|
|
lsls r0, r0, #2
|
|
add r0, sp
|
|
ldr r0, [r0]
|
|
mov r1, sp
|
|
add r1, r8
|
|
ldr r1, [r1]
|
|
bl sub_080F1934
|
|
_080F18F0:
|
|
adds r0, r5, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r5, r0, #0x18
|
|
ldrb r0, [r6]
|
|
subs r0, #1
|
|
cmp r5, r0
|
|
blt _080F18B0
|
|
_080F18FE:
|
|
mov r1, sb
|
|
lsls r0, r1, #0x18
|
|
lsrs r7, r0, #0x18
|
|
_080F1904:
|
|
ldr r0, _080F192C
|
|
ldrb r0, [r0]
|
|
cmp r7, r0
|
|
blo _080F187C
|
|
ldr r1, [sp, #0x20]
|
|
lsls r0, r1, #0x18
|
|
lsrs r0, r0, #0x18
|
|
mov sl, r0
|
|
cmp r0, #0xf
|
|
bls _080F186C
|
|
add sp, #0x24
|
|
pop {r3, r4, r5}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
mov sl, r5
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1928: .4byte 0x03001176
|
|
_080F192C: .4byte 0x03001175
|
|
_080F1930: .4byte 0x03005E20
|
|
thumb_func_end sub_080F183C
|
|
|
|
thumb_func_start sub_080F1934
|
|
sub_080F1934: @ 0x080F1934
|
|
push {lr}
|
|
ldr r0, [r0]
|
|
ldr r1, [r1]
|
|
ldr r2, _080F1958
|
|
ldrb r2, [r2]
|
|
lsls r2, r2, #0x18
|
|
asrs r2, r2, #0x18
|
|
lsls r2, r2, #2
|
|
adds r1, r1, r2
|
|
ldr r2, _080F195C
|
|
ldrb r2, [r2]
|
|
lsls r2, r2, #0x18
|
|
asrs r2, r2, #0x18
|
|
bl sub_080F1960
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1958: .4byte 0x03001176
|
|
_080F195C: .4byte 0x03005E20
|
|
thumb_func_end sub_080F1934
|
|
|
|
thumb_func_start sub_080F1960
|
|
sub_080F1960: @ 0x080F1960
|
|
push {r4, r5, r6, lr}
|
|
adds r4, r0, #0
|
|
adds r5, r1, #0
|
|
lsls r2, r2, #0x18
|
|
lsrs r6, r2, #0x18
|
|
ldrb r3, [r5]
|
|
adds r0, r3, #0
|
|
cmp r0, #0
|
|
bne _080F1976
|
|
_080F1972:
|
|
movs r0, #0
|
|
b _080F19A2
|
|
_080F1976:
|
|
movs r1, #0
|
|
adds r2, r3, #0
|
|
adds r3, r0, #0
|
|
_080F197C:
|
|
lsls r0, r1, #2
|
|
adds r0, r0, r4
|
|
ldrb r0, [r0]
|
|
cmp r0, r3
|
|
beq _080F1972
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0xf
|
|
bls _080F197C
|
|
lsls r0, r6, #0x18
|
|
asrs r0, r0, #0x16
|
|
adds r0, r0, r4
|
|
strb r2, [r0]
|
|
movs r1, #1
|
|
strb r1, [r0, #1]
|
|
ldrh r1, [r5, #2]
|
|
strh r1, [r0, #2]
|
|
movs r0, #1
|
|
_080F19A2:
|
|
pop {r4, r5, r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_080F1960
|
|
|
|
thumb_func_start sub_080F19A8
|
|
sub_080F19A8: @ 0x080F19A8
|
|
push {lr}
|
|
lsls r1, r1, #0x18
|
|
lsrs r2, r1, #0x18
|
|
lsls r1, r2, #2
|
|
adds r1, r1, r0
|
|
ldrb r0, [r1]
|
|
cmp r0, #0
|
|
beq _080F19BE
|
|
lsls r0, r2, #0x18
|
|
asrs r0, r0, #0x18
|
|
b _080F19C2
|
|
_080F19BE:
|
|
movs r0, #1
|
|
rsbs r0, r0, #0
|
|
_080F19C2:
|
|
pop {r1}
|
|
bx r1
|
|
.align 2, 0
|
|
thumb_func_end sub_080F19A8
|
|
|
|
thumb_func_start sub_080F19C8
|
|
sub_080F19C8: @ 0x080F19C8
|
|
push {r4, lr}
|
|
movs r4, #0
|
|
_080F19CC:
|
|
ldr r0, _080F19F8
|
|
ldr r0, [r0]
|
|
lsls r1, r4, #2
|
|
adds r0, r0, r1
|
|
ldr r1, _080F19FC
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, #4
|
|
bls _080F19E4
|
|
adds r0, r4, #0
|
|
bl ClearPokemonNewsI
|
|
_080F19E4:
|
|
adds r0, r4, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r4, r0, #0x18
|
|
cmp r4, #0xf
|
|
bls _080F19CC
|
|
bl sub_080EF9BC
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F19F8: .4byte 0x03005AEC
|
|
_080F19FC: .4byte 0x00002B50
|
|
thumb_func_end sub_080F19C8
|
|
|
|
thumb_func_start TVShowGetFlagCount
|
|
TVShowGetFlagCount: @ 0x080F1A00
|
|
push {r4, r5, lr}
|
|
ldr r0, _080F1A34
|
|
bl FlagGet
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
cmp r0, #1
|
|
beq _080F1A2C
|
|
movs r2, #0
|
|
ldr r5, _080F1A38
|
|
ldr r4, _080F1A3C
|
|
movs r3, #0
|
|
_080F1A18:
|
|
ldr r0, [r5]
|
|
lsls r1, r2, #2
|
|
adds r0, r0, r1
|
|
adds r0, r0, r4
|
|
strb r3, [r0]
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #0xf
|
|
bls _080F1A18
|
|
_080F1A2C:
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F1A34: .4byte 0x00000864
|
|
_080F1A38: .4byte 0x03005AEC
|
|
_080F1A3C: .4byte 0x00002B51
|
|
thumb_func_end TVShowGetFlagCount
|
|
|
|
thumb_func_start sub_080F1A40
|
|
sub_080F1A40: @ 0x080F1A40
|
|
push {r4, r5, r6, r7, lr}
|
|
adds r6, r0, #0
|
|
adds r5, r1, #0
|
|
movs r0, #0x2c
|
|
bl AllocZeroed
|
|
adds r4, r0, #0
|
|
movs r7, #0
|
|
_080F1A50:
|
|
lsls r0, r7, #3
|
|
adds r1, r0, r7
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r6
|
|
ldrb r1, [r1]
|
|
subs r1, #1
|
|
adds r2, r0, #0
|
|
cmp r1, #0x28
|
|
bls _080F1A64
|
|
b _080F1CD0
|
|
_080F1A64:
|
|
lsls r0, r1, #2
|
|
ldr r1, _080F1A70
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F1A70: .4byte 0x080F1A74
|
|
_080F1A74: @ jump table
|
|
.4byte _080F1B18 @ case 0
|
|
.4byte _080F1B18 @ case 1
|
|
.4byte _080F1B36 @ case 2
|
|
.4byte _080F1CD0 @ case 3
|
|
.4byte _080F1C2E @ case 4
|
|
.4byte _080F1BFA @ case 5
|
|
.4byte _080F1BC2 @ case 6
|
|
.4byte _080F1CD0 @ case 7
|
|
.4byte _080F1CD0 @ case 8
|
|
.4byte _080F1CD0 @ case 9
|
|
.4byte _080F1CD0 @ case 10
|
|
.4byte _080F1CD0 @ case 11
|
|
.4byte _080F1CD0 @ case 12
|
|
.4byte _080F1CD0 @ case 13
|
|
.4byte _080F1CD0 @ case 14
|
|
.4byte _080F1CD0 @ case 15
|
|
.4byte _080F1CD0 @ case 16
|
|
.4byte _080F1CD0 @ case 17
|
|
.4byte _080F1CD0 @ case 18
|
|
.4byte _080F1CD0 @ case 19
|
|
.4byte _080F1B6E @ case 20
|
|
.4byte _080F1BA2 @ case 21
|
|
.4byte _080F1C66 @ case 22
|
|
.4byte _080F1C86 @ case 23
|
|
.4byte _080F1CA6 @ case 24
|
|
.4byte _080F1CD0 @ case 25
|
|
.4byte _080F1CD0 @ case 26
|
|
.4byte _080F1CD0 @ case 27
|
|
.4byte _080F1CD0 @ case 28
|
|
.4byte _080F1CD0 @ case 29
|
|
.4byte _080F1CD0 @ case 30
|
|
.4byte _080F1CD0 @ case 31
|
|
.4byte _080F1CD0 @ case 32
|
|
.4byte _080F1CD0 @ case 33
|
|
.4byte _080F1CD0 @ case 34
|
|
.4byte _080F1CD0 @ case 35
|
|
.4byte _080F1CD0 @ case 36
|
|
.4byte _080F1CD0 @ case 37
|
|
.4byte _080F1CD0 @ case 38
|
|
.4byte _080F1CD0 @ case 39
|
|
.4byte _080F1CC6 @ case 40
|
|
_080F1B18:
|
|
adds r0, r2, r7
|
|
lsls r0, r0, #2
|
|
adds r0, r6, r0
|
|
str r0, [r4]
|
|
adds r0, #0x10
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1B32
|
|
ldr r1, [r4]
|
|
movs r0, #1
|
|
strb r0, [r1, #0x18]
|
|
b _080F1CD0
|
|
_080F1B32:
|
|
ldr r0, [r4]
|
|
b _080F1CCE
|
|
_080F1B36:
|
|
adds r0, r2, r7
|
|
lsls r0, r0, #2
|
|
adds r0, r6, r0
|
|
str r0, [r4, #4]
|
|
adds r0, #5
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1B50
|
|
ldr r1, [r4, #4]
|
|
movs r0, #1
|
|
strb r0, [r1, #0xd]
|
|
b _080F1B54
|
|
_080F1B50:
|
|
ldr r0, [r4, #4]
|
|
strb r5, [r0, #0xd]
|
|
_080F1B54:
|
|
ldr r0, [r4, #4]
|
|
adds r0, #0x10
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1B68
|
|
ldr r1, [r4, #4]
|
|
movs r0, #1
|
|
strb r0, [r1, #0xe]
|
|
b _080F1CD0
|
|
_080F1B68:
|
|
ldr r0, [r4, #4]
|
|
strb r5, [r0, #0xe]
|
|
b _080F1CD0
|
|
_080F1B6E:
|
|
adds r0, r2, r7
|
|
lsls r0, r0, #2
|
|
adds r0, r6, r0
|
|
str r0, [r4, #0x18]
|
|
adds r0, #0x13
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1B88
|
|
ldr r1, [r4, #0x18]
|
|
movs r0, #1
|
|
strb r0, [r1, #2]
|
|
b _080F1B8C
|
|
_080F1B88:
|
|
ldr r0, [r4, #0x18]
|
|
strb r5, [r0, #2]
|
|
_080F1B8C:
|
|
ldr r0, [r4, #0x18]
|
|
adds r0, #4
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1B9C
|
|
ldr r1, [r4, #0x18]
|
|
b _080F1BB6
|
|
_080F1B9C:
|
|
ldr r0, [r4, #0x18]
|
|
strb r5, [r0, #3]
|
|
b _080F1CD0
|
|
_080F1BA2:
|
|
adds r0, r2, r7
|
|
lsls r0, r0, #2
|
|
adds r0, r6, r0
|
|
str r0, [r4, #0x1c]
|
|
adds r0, #0x13
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1BBC
|
|
ldr r1, [r4, #0x1c]
|
|
_080F1BB6:
|
|
movs r0, #1
|
|
strb r0, [r1, #3]
|
|
b _080F1CD0
|
|
_080F1BBC:
|
|
ldr r0, [r4, #0x1c]
|
|
strb r5, [r0, #3]
|
|
b _080F1CD0
|
|
_080F1BC2:
|
|
adds r0, r2, r7
|
|
lsls r0, r0, #2
|
|
adds r0, r6, r0
|
|
str r0, [r4, #0x14]
|
|
adds r0, #2
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1BDC
|
|
ldr r1, [r4, #0x14]
|
|
movs r0, #1
|
|
strb r0, [r1, #0x1d]
|
|
b _080F1BE0
|
|
_080F1BDC:
|
|
ldr r0, [r4, #0x14]
|
|
strb r5, [r0, #0x1d]
|
|
_080F1BE0:
|
|
ldr r0, [r4, #0x14]
|
|
adds r0, #0xc
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1BF4
|
|
ldr r1, [r4, #0x14]
|
|
movs r0, #1
|
|
strb r0, [r1, #0x1e]
|
|
b _080F1CD0
|
|
_080F1BF4:
|
|
ldr r0, [r4, #0x14]
|
|
strb r5, [r0, #0x1e]
|
|
b _080F1CD0
|
|
_080F1BFA:
|
|
adds r0, r2, r7
|
|
lsls r0, r0, #2
|
|
adds r0, r6, r0
|
|
str r0, [r4, #0x10]
|
|
adds r0, #0x16
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1C14
|
|
ldr r1, [r4, #0x10]
|
|
movs r0, #1
|
|
strb r0, [r1, #0x1e]
|
|
b _080F1C18
|
|
_080F1C14:
|
|
ldr r0, [r4, #0x10]
|
|
strb r5, [r0, #0x1e]
|
|
_080F1C18:
|
|
ldr r0, [r4, #0x10]
|
|
adds r0, #8
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1C28
|
|
ldr r1, [r4, #0x10]
|
|
b _080F1C5A
|
|
_080F1C28:
|
|
ldr r0, [r4, #0x10]
|
|
strb r5, [r0, #0x1f]
|
|
b _080F1CD0
|
|
_080F1C2E:
|
|
adds r0, r2, r7
|
|
lsls r0, r0, #2
|
|
adds r0, r6, r0
|
|
str r0, [r4, #0xc]
|
|
adds r0, #0xf
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1C48
|
|
ldr r1, [r4, #0xc]
|
|
movs r0, #1
|
|
strb r0, [r1, #0x1e]
|
|
b _080F1C4C
|
|
_080F1C48:
|
|
ldr r0, [r4, #0xc]
|
|
strb r5, [r0, #0x1e]
|
|
_080F1C4C:
|
|
ldr r0, [r4, #0xc]
|
|
adds r0, #4
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1C60
|
|
ldr r1, [r4, #0xc]
|
|
_080F1C5A:
|
|
movs r0, #1
|
|
strb r0, [r1, #0x1f]
|
|
b _080F1CD0
|
|
_080F1C60:
|
|
ldr r0, [r4, #0xc]
|
|
strb r5, [r0, #0x1f]
|
|
b _080F1CD0
|
|
_080F1C66:
|
|
adds r0, r2, r7
|
|
lsls r0, r0, #2
|
|
adds r0, r6, r0
|
|
str r0, [r4, #8]
|
|
adds r0, #0x13
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1C80
|
|
ldr r1, [r4, #8]
|
|
movs r0, #1
|
|
strb r0, [r1, #2]
|
|
b _080F1CD0
|
|
_080F1C80:
|
|
ldr r0, [r4, #8]
|
|
strb r5, [r0, #2]
|
|
b _080F1CD0
|
|
_080F1C86:
|
|
adds r0, r2, r7
|
|
lsls r0, r0, #2
|
|
adds r0, r6, r0
|
|
str r0, [r4, #0x20]
|
|
adds r0, #0x13
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1CA0
|
|
ldr r1, [r4, #0x20]
|
|
movs r0, #1
|
|
strb r0, [r1, #6]
|
|
b _080F1CD0
|
|
_080F1CA0:
|
|
ldr r0, [r4, #0x20]
|
|
strb r5, [r0, #6]
|
|
b _080F1CD0
|
|
_080F1CA6:
|
|
adds r0, r2, r7
|
|
lsls r0, r0, #2
|
|
adds r0, r6, r0
|
|
str r0, [r4, #0x24]
|
|
adds r0, #0x13
|
|
bl IsStringJapanese
|
|
cmp r0, #0
|
|
beq _080F1CC0
|
|
ldr r1, [r4, #0x24]
|
|
movs r0, #1
|
|
strb r0, [r1, #0xb]
|
|
b _080F1CD0
|
|
_080F1CC0:
|
|
ldr r0, [r4, #0x24]
|
|
strb r5, [r0, #0xb]
|
|
b _080F1CD0
|
|
_080F1CC6:
|
|
adds r0, r2, r7
|
|
lsls r0, r0, #2
|
|
adds r0, r6, r0
|
|
str r0, [r4, #0x28]
|
|
_080F1CCE:
|
|
strb r5, [r0, #0x18]
|
|
_080F1CD0:
|
|
adds r7, #1
|
|
cmp r7, #0x17
|
|
bgt _080F1CD8
|
|
b _080F1A50
|
|
_080F1CD8:
|
|
adds r0, r4, #0
|
|
bl Free
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_080F1A40
|
|
|
|
thumb_func_start sub_080F1CE4
|
|
sub_080F1CE4: @ 0x080F1CE4
|
|
push {r4, r5, r6, lr}
|
|
adds r5, r0, #0
|
|
adds r4, r5, #0
|
|
movs r6, #0x17
|
|
_080F1CEC:
|
|
ldrb r0, [r4]
|
|
cmp r0, #0x17
|
|
beq _080F1D08
|
|
cmp r0, #0x19
|
|
bne _080F1D18
|
|
ldrb r0, [r4, #0xa]
|
|
cmp r0, #0x58
|
|
bls _080F1D18
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
movs r2, #0x24
|
|
bl memset
|
|
b _080F1D18
|
|
_080F1D08:
|
|
ldrb r0, [r4, #0x12]
|
|
cmp r0, #0x58
|
|
bls _080F1D18
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
movs r2, #0x24
|
|
bl memset
|
|
_080F1D18:
|
|
adds r4, #0x24
|
|
adds r5, #0x24
|
|
subs r6, #1
|
|
cmp r6, #0
|
|
bge _080F1CEC
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
thumb_func_end sub_080F1CE4
|
|
|
|
thumb_func_start DoTVShow
|
|
DoTVShow: @ 0x080F1D28
|
|
push {lr}
|
|
ldr r0, _080F1D60
|
|
ldr r2, [r0]
|
|
ldr r0, _080F1D64
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r2, r2, r0
|
|
ldr r1, _080F1D68
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080F1D46
|
|
b _080F1ED2
|
|
_080F1D46:
|
|
subs r1, #1
|
|
adds r0, r2, r1
|
|
ldrb r0, [r0]
|
|
subs r0, #1
|
|
cmp r0, #0x28
|
|
bls _080F1D54
|
|
b _080F1ED2
|
|
_080F1D54:
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F1D6C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F1D60: .4byte 0x03005AEC
|
|
_080F1D64: .4byte 0x02037280
|
|
_080F1D68: .4byte 0x000027CD
|
|
_080F1D6C: .4byte 0x080F1D70
|
|
_080F1D70: @ jump table
|
|
.4byte _080F1E14 @ case 0
|
|
.4byte _080F1E1A @ case 1
|
|
.4byte _080F1E20 @ case 2
|
|
.4byte _080F1E26 @ case 3
|
|
.4byte _080F1E4A @ case 4
|
|
.4byte _080F1E32 @ case 5
|
|
.4byte _080F1E38 @ case 6
|
|
.4byte _080F1E50 @ case 7
|
|
.4byte _080F1E5C @ case 8
|
|
.4byte _080F1E56 @ case 9
|
|
.4byte _080F1EA4 @ case 10
|
|
.4byte _080F1ECE @ case 11
|
|
.4byte _080F1ED2 @ case 12
|
|
.4byte _080F1ED2 @ case 13
|
|
.4byte _080F1ED2 @ case 14
|
|
.4byte _080F1ED2 @ case 15
|
|
.4byte _080F1ED2 @ case 16
|
|
.4byte _080F1ED2 @ case 17
|
|
.4byte _080F1ED2 @ case 18
|
|
.4byte _080F1ED2 @ case 19
|
|
.4byte _080F1E3E @ case 20
|
|
.4byte _080F1E44 @ case 21
|
|
.4byte _080F1E62 @ case 22
|
|
.4byte _080F1E68 @ case 23
|
|
.4byte _080F1E6E @ case 24
|
|
.4byte _080F1E74 @ case 25
|
|
.4byte _080F1E7A @ case 26
|
|
.4byte _080F1E80 @ case 27
|
|
.4byte _080F1E86 @ case 28
|
|
.4byte _080F1E8C @ case 29
|
|
.4byte _080F1E92 @ case 30
|
|
.4byte _080F1E98 @ case 31
|
|
.4byte _080F1E9E @ case 32
|
|
.4byte _080F1EAA @ case 33
|
|
.4byte _080F1EB0 @ case 34
|
|
.4byte _080F1EB6 @ case 35
|
|
.4byte _080F1EBC @ case 36
|
|
.4byte _080F1EC2 @ case 37
|
|
.4byte _080F1EC8 @ case 38
|
|
.4byte _080F1ED2 @ case 39
|
|
.4byte _080F1E2C @ case 40
|
|
_080F1E14:
|
|
bl DoTVShowPokemonFanClubLetter
|
|
b _080F1ED2
|
|
_080F1E1A:
|
|
bl DoTVShowRecentHappenings
|
|
b _080F1ED2
|
|
_080F1E20:
|
|
bl DoTVShowPokemonFanClubOpinions
|
|
b _080F1ED2
|
|
_080F1E26:
|
|
bl DoTVShowDummiedOut
|
|
b _080F1ED2
|
|
_080F1E2C:
|
|
bl DoTVShowPokemonNewsMassOutbreak
|
|
b _080F1ED2
|
|
_080F1E32:
|
|
bl DoTVShowBravoTrainerPokemonProfile
|
|
b _080F1ED2
|
|
_080F1E38:
|
|
bl DoTVShowBravoTrainerBattleTower
|
|
b _080F1ED2
|
|
_080F1E3E:
|
|
bl DoTVShowPokemonTodaySuccessfulCapture
|
|
b _080F1ED2
|
|
_080F1E44:
|
|
bl DoTVShowTodaysSmartShopper
|
|
b _080F1ED2
|
|
_080F1E4A:
|
|
bl DoTVShowTheNameRaterShow
|
|
b _080F1ED2
|
|
_080F1E50:
|
|
bl DoTVShowPokemonContestLiveUpdates
|
|
b _080F1ED2
|
|
_080F1E56:
|
|
bl DoTVShowPokemonBattleUpdate
|
|
b _080F1ED2
|
|
_080F1E5C:
|
|
bl DoTVShow3CheersForPokeblocks
|
|
b _080F1ED2
|
|
_080F1E62:
|
|
bl DoTVShowPokemonTodayFailedCapture
|
|
b _080F1ED2
|
|
_080F1E68:
|
|
bl DoTVShowPokemonAngler
|
|
b _080F1ED2
|
|
_080F1E6E:
|
|
bl DoTVShowTheWorldOfMasters
|
|
b _080F1ED2
|
|
_080F1E74:
|
|
bl DoTVShowTodaysRivalTrainer
|
|
b _080F1ED2
|
|
_080F1E7A:
|
|
bl DoTVShowDewfordTrendWatcherNetwork
|
|
b _080F1ED2
|
|
_080F1E80:
|
|
bl DoTVShowHoennTreasureInvestigators
|
|
b _080F1ED2
|
|
_080F1E86:
|
|
bl DoTVShowFindThatGamer
|
|
b _080F1ED2
|
|
_080F1E8C:
|
|
bl DoTVShowBreakingNewsTV
|
|
b _080F1ED2
|
|
_080F1E92:
|
|
bl DoTVShowSecretBaseVisit
|
|
b _080F1ED2
|
|
_080F1E98:
|
|
bl DoTVShowPokemonLotteryWinnerFlashReport
|
|
b _080F1ED2
|
|
_080F1E9E:
|
|
bl DoTVShowThePokemonBattleSeminar
|
|
b _080F1ED2
|
|
_080F1EA4:
|
|
bl DoTVShowTrainerFanClubSpecial
|
|
b _080F1ED2
|
|
_080F1EAA:
|
|
bl DoTVShowTrainerFanClub
|
|
b _080F1ED2
|
|
_080F1EB0:
|
|
bl DoTVShowSpotTheCuties
|
|
b _080F1ED2
|
|
_080F1EB6:
|
|
bl DoTVShowPokemonNewsBattleFrontier
|
|
b _080F1ED2
|
|
_080F1EBC:
|
|
bl DoTVShowWhatsNo1InHoennToday
|
|
b _080F1ED2
|
|
_080F1EC2:
|
|
bl DoTVShowSecretBaseSecrets
|
|
b _080F1ED2
|
|
_080F1EC8:
|
|
bl DoTVShowSafariFanClub
|
|
b _080F1ED2
|
|
_080F1ECE:
|
|
bl DoTVShowPokemonContestLiveUpdates2
|
|
_080F1ED2:
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
thumb_func_end DoTVShow
|
|
|
|
thumb_func_start DoTVShowBravoTrainerPokemonProfile
|
|
DoTVShowBravoTrainerPokemonProfile: @ 0x080F1ED8
|
|
push {r4, r5, lr}
|
|
ldr r2, _080F1F08
|
|
ldr r0, _080F1F0C
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F1F10
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F1F14
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F1F18
|
|
ldrb r5, [r0]
|
|
cmp r5, #8
|
|
bls _080F1EFE
|
|
b _080F2140
|
|
_080F1EFE:
|
|
lsls r0, r5, #2
|
|
ldr r1, _080F1F1C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F1F08: .4byte 0x03005AEC
|
|
_080F1F0C: .4byte 0x02037280
|
|
_080F1F10: .4byte 0x000027CC
|
|
_080F1F14: .4byte 0x02037290
|
|
_080F1F18: .4byte 0x02039CFC
|
|
_080F1F1C: .4byte 0x080F1F20
|
|
_080F1F20: @ jump table
|
|
.4byte _080F1F44 @ case 0
|
|
.4byte _080F1F9C @ case 1
|
|
.4byte _080F1FD4 @ case 2
|
|
.4byte _080F2004 @ case 3
|
|
.4byte _080F2038 @ case 4
|
|
.4byte _080F206C @ case 5
|
|
.4byte _080F20B0 @ case 6
|
|
.4byte _080F20F8 @ case 7
|
|
.4byte _080F2128 @ case 8
|
|
_080F1F44:
|
|
ldr r0, _080F1F84
|
|
adds r1, r4, #0
|
|
adds r1, #0x16
|
|
bl StringCopy
|
|
ldrb r1, [r4, #0x13]
|
|
lsls r1, r1, #0x1d
|
|
lsrs r1, r1, #0x1d
|
|
movs r0, #1
|
|
bl CopyContestCategoryToStringVar
|
|
ldrb r1, [r4, #0x13]
|
|
lsls r1, r1, #0x1b
|
|
lsrs r1, r1, #0x1e
|
|
movs r0, #2
|
|
bl CopyContestRankToStringVar
|
|
ldrh r1, [r4, #2]
|
|
lsls r0, r1, #1
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #1
|
|
ldr r1, _080F1F88
|
|
adds r0, r0, r1
|
|
adds r1, r4, #0
|
|
adds r1, #8
|
|
bl StringCompare
|
|
cmp r0, #0
|
|
bne _080F1F90
|
|
ldr r1, _080F1F8C
|
|
movs r0, #8
|
|
b _080F213E
|
|
.align 2, 0
|
|
_080F1F84: .4byte 0x02021C40
|
|
_080F1F88: .4byte 0x082EA31C
|
|
_080F1F8C: .4byte 0x02039CFC
|
|
_080F1F90:
|
|
ldr r1, _080F1F98
|
|
movs r0, #1
|
|
b _080F213E
|
|
.align 2, 0
|
|
_080F1F98: .4byte 0x02039CFC
|
|
_080F1F9C:
|
|
ldr r0, _080F1FC8
|
|
ldrh r2, [r4, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F1FCC
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F1FD0
|
|
adds r1, r4, #0
|
|
adds r1, #8
|
|
bl StringCopy10
|
|
ldrb r1, [r4, #0x13]
|
|
lsls r1, r1, #0x1d
|
|
lsrs r1, r1, #0x1d
|
|
movs r0, #2
|
|
bl CopyContestCategoryToStringVar
|
|
b _080F213A
|
|
.align 2, 0
|
|
_080F1FC8: .4byte 0x02021C40
|
|
_080F1FCC: .4byte 0x082EA31C
|
|
_080F1FD0: .4byte 0x02021C54
|
|
_080F1FD4:
|
|
ldr r0, _080F1FF0
|
|
adds r1, r4, #0
|
|
adds r1, #0x16
|
|
bl StringCopy
|
|
ldrb r1, [r4, #0x13]
|
|
movs r0, #0x60
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080F1FF8
|
|
ldr r1, _080F1FF4
|
|
movs r0, #3
|
|
b _080F213E
|
|
.align 2, 0
|
|
_080F1FF0: .4byte 0x02021C40
|
|
_080F1FF4: .4byte 0x02039CFC
|
|
_080F1FF8:
|
|
ldr r1, _080F2000
|
|
movs r0, #4
|
|
b _080F213E
|
|
.align 2, 0
|
|
_080F2000: .4byte 0x02039CFC
|
|
_080F2004:
|
|
ldr r0, _080F202C
|
|
adds r1, r4, #0
|
|
adds r1, #0x16
|
|
bl StringCopy
|
|
ldr r0, _080F2030
|
|
ldrh r1, [r4, #4]
|
|
bl CopyEasyChatWord
|
|
ldrb r1, [r4, #0x13]
|
|
lsls r1, r1, #0x19
|
|
lsrs r1, r1, #0x1e
|
|
adds r1, #1
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
ldr r1, _080F2034
|
|
movs r0, #5
|
|
b _080F213E
|
|
.align 2, 0
|
|
_080F202C: .4byte 0x02021C40
|
|
_080F2030: .4byte 0x02021C54
|
|
_080F2034: .4byte 0x02039CFC
|
|
_080F2038:
|
|
ldr r0, _080F2060
|
|
adds r1, r4, #0
|
|
adds r1, #0x16
|
|
bl StringCopy
|
|
ldr r0, _080F2064
|
|
ldrh r1, [r4, #4]
|
|
bl CopyEasyChatWord
|
|
ldrb r1, [r4, #0x13]
|
|
lsls r1, r1, #0x19
|
|
lsrs r1, r1, #0x1e
|
|
adds r1, #1
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
ldr r1, _080F2068
|
|
movs r0, #5
|
|
b _080F213E
|
|
.align 2, 0
|
|
_080F2060: .4byte 0x02021C40
|
|
_080F2064: .4byte 0x02021C54
|
|
_080F2068: .4byte 0x02039CFC
|
|
_080F206C:
|
|
ldr r0, _080F2098
|
|
adds r1, r4, #0
|
|
adds r1, #0x16
|
|
bl StringCopy
|
|
ldrb r1, [r4, #0x13]
|
|
lsls r1, r1, #0x1d
|
|
lsrs r1, r1, #0x1d
|
|
movs r0, #1
|
|
bl CopyContestCategoryToStringVar
|
|
ldr r0, _080F209C
|
|
ldrh r1, [r4, #6]
|
|
bl CopyEasyChatWord
|
|
ldrh r0, [r4, #0x14]
|
|
cmp r0, #0
|
|
beq _080F20A4
|
|
ldr r1, _080F20A0
|
|
movs r0, #6
|
|
b _080F213E
|
|
.align 2, 0
|
|
_080F2098: .4byte 0x02021C40
|
|
_080F209C: .4byte 0x02021C68
|
|
_080F20A0: .4byte 0x02039CFC
|
|
_080F20A4:
|
|
ldr r1, _080F20AC
|
|
movs r0, #7
|
|
b _080F213E
|
|
.align 2, 0
|
|
_080F20AC: .4byte 0x02039CFC
|
|
_080F20B0:
|
|
ldr r0, _080F20E0
|
|
ldrh r2, [r4, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F20E4
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F20E8
|
|
ldrh r1, [r4, #0x14]
|
|
lsls r1, r1, #3
|
|
ldr r2, _080F20EC
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F20F0
|
|
ldrh r1, [r4, #6]
|
|
bl CopyEasyChatWord
|
|
ldr r1, _080F20F4
|
|
movs r0, #7
|
|
b _080F213E
|
|
.align 2, 0
|
|
_080F20E0: .4byte 0x02021C40
|
|
_080F20E4: .4byte 0x082EA31C
|
|
_080F20E8: .4byte 0x02021C54
|
|
_080F20EC: .4byte 0x082EACC4
|
|
_080F20F0: .4byte 0x02021C68
|
|
_080F20F4: .4byte 0x02039CFC
|
|
_080F20F8:
|
|
ldr r0, _080F211C
|
|
adds r1, r4, #0
|
|
adds r1, #0x16
|
|
bl StringCopy
|
|
ldr r0, _080F2120
|
|
ldrh r2, [r4, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F2124
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
b _080F2140
|
|
.align 2, 0
|
|
_080F211C: .4byte 0x02021C40
|
|
_080F2120: .4byte 0x02021C54
|
|
_080F2124: .4byte 0x082EA31C
|
|
_080F2128:
|
|
ldr r0, _080F2154
|
|
ldrh r2, [r4, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F2158
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
_080F213A:
|
|
ldr r1, _080F215C
|
|
movs r0, #2
|
|
_080F213E:
|
|
strb r0, [r1]
|
|
_080F2140:
|
|
ldr r0, _080F2160
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2154: .4byte 0x02021C40
|
|
_080F2158: .4byte 0x082EA31C
|
|
_080F215C: .4byte 0x02039CFC
|
|
_080F2160: .4byte 0x08568CB0
|
|
thumb_func_end DoTVShowBravoTrainerPokemonProfile
|
|
|
|
thumb_func_start DoTVShowBravoTrainerBattleTower
|
|
DoTVShowBravoTrainerBattleTower: @ 0x080F2164
|
|
push {r4, r5, lr}
|
|
ldr r2, _080F2198
|
|
ldr r0, _080F219C
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F21A0
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F21A4
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F21A8
|
|
ldrb r5, [r0]
|
|
adds r2, r0, #0
|
|
cmp r5, #0xe
|
|
bls _080F218C
|
|
b _080F23CA
|
|
_080F218C:
|
|
lsls r0, r5, #2
|
|
ldr r1, _080F21AC
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F2198: .4byte 0x03005AEC
|
|
_080F219C: .4byte 0x02037280
|
|
_080F21A0: .4byte 0x000027CC
|
|
_080F21A4: .4byte 0x02037290
|
|
_080F21A8: .4byte 0x02039CFC
|
|
_080F21AC: .4byte 0x080F21B0
|
|
_080F21B0: @ jump table
|
|
.4byte _080F21EC @ case 0
|
|
.4byte _080F2230 @ case 1
|
|
.4byte _080F2280 @ case 2
|
|
.4byte _080F22A0 @ case 3
|
|
.4byte _080F22CC @ case 4
|
|
.4byte _080F2314 @ case 5
|
|
.4byte _080F2320 @ case 6
|
|
.4byte _080F232C @ case 7
|
|
.4byte _080F2332 @ case 8
|
|
.4byte _080F2332 @ case 9
|
|
.4byte _080F2332 @ case 10
|
|
.4byte _080F234C @ case 11
|
|
.4byte _080F2378 @ case 12
|
|
.4byte _080F2378 @ case 13
|
|
.4byte _080F23AC @ case 14
|
|
_080F21EC:
|
|
ldr r0, _080F2214
|
|
adds r1, r4, #2
|
|
bl StringCopy
|
|
ldr r0, _080F2218
|
|
ldrh r2, [r4, #0xa]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F221C
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldrh r0, [r4, #0x16]
|
|
cmp r0, #6
|
|
bls _080F2224
|
|
ldr r1, _080F2220
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F23CA
|
|
.align 2, 0
|
|
_080F2214: .4byte 0x02021C40
|
|
_080F2218: .4byte 0x02021C54
|
|
_080F221C: .4byte 0x082EA31C
|
|
_080F2220: .4byte 0x02039CFC
|
|
_080F2224:
|
|
ldr r1, _080F222C
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F23CA
|
|
.align 2, 0
|
|
_080F222C: .4byte 0x02039CFC
|
|
_080F2230:
|
|
ldrb r0, [r4, #0x1a]
|
|
cmp r0, #0x32
|
|
bne _080F2248
|
|
ldr r0, _080F2240
|
|
ldr r1, _080F2244
|
|
bl StringCopy
|
|
b _080F2250
|
|
.align 2, 0
|
|
_080F2240: .4byte 0x02021C40
|
|
_080F2244: .4byte 0x085CAB0D
|
|
_080F2248:
|
|
ldr r0, _080F2268
|
|
ldr r1, _080F226C
|
|
bl StringCopy
|
|
_080F2250:
|
|
ldrh r1, [r4, #0x16]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
ldrb r0, [r4, #0x1c]
|
|
cmp r0, #1
|
|
bne _080F2274
|
|
ldr r1, _080F2270
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F23CA
|
|
.align 2, 0
|
|
_080F2268: .4byte 0x02021C40
|
|
_080F226C: .4byte 0x085CAB13
|
|
_080F2270: .4byte 0x02039CFC
|
|
_080F2274:
|
|
ldr r1, _080F227C
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F23CA
|
|
.align 2, 0
|
|
_080F227C: .4byte 0x02039CFC
|
|
_080F2280:
|
|
ldr r0, _080F229C
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
ldrh r1, [r4, #0x16]
|
|
adds r1, #1
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
_080F2294:
|
|
ldrb r0, [r4, #0x1b]
|
|
cmp r0, #0
|
|
beq _080F22EE
|
|
b _080F2308
|
|
.align 2, 0
|
|
_080F229C: .4byte 0x02021C40
|
|
_080F22A0:
|
|
ldr r0, _080F22C0
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
ldr r0, _080F22C4
|
|
ldrh r2, [r4, #0x14]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F22C8
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
b _080F2294
|
|
.align 2, 0
|
|
_080F22C0: .4byte 0x02021C40
|
|
_080F22C4: .4byte 0x02021C54
|
|
_080F22C8: .4byte 0x082EA31C
|
|
_080F22CC:
|
|
ldr r0, _080F22F8
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
ldr r0, _080F22FC
|
|
ldrh r2, [r4, #0x14]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F2300
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldrb r0, [r4, #0x1b]
|
|
cmp r0, #0
|
|
bne _080F2308
|
|
_080F22EE:
|
|
ldr r1, _080F2304
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
b _080F23CA
|
|
.align 2, 0
|
|
_080F22F8: .4byte 0x02021C40
|
|
_080F22FC: .4byte 0x02021C54
|
|
_080F2300: .4byte 0x082EA31C
|
|
_080F2304: .4byte 0x02039CFC
|
|
_080F2308:
|
|
ldr r1, _080F2310
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F23CA
|
|
.align 2, 0
|
|
_080F2310: .4byte 0x02039CFC
|
|
_080F2314:
|
|
ldr r0, _080F231C
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
b _080F2336
|
|
.align 2, 0
|
|
_080F231C: .4byte 0x02021C40
|
|
_080F2320:
|
|
ldr r0, _080F2328
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
b _080F2336
|
|
.align 2, 0
|
|
_080F2328: .4byte 0x02021C40
|
|
_080F232C:
|
|
movs r0, #0xb
|
|
strb r0, [r2]
|
|
b _080F23CA
|
|
_080F2332:
|
|
ldr r0, _080F2344
|
|
adds r1, r4, #2
|
|
_080F2336:
|
|
bl StringCopy
|
|
ldr r1, _080F2348
|
|
movs r0, #0xb
|
|
strb r0, [r1]
|
|
b _080F23CA
|
|
.align 2, 0
|
|
_080F2344: .4byte 0x02021C40
|
|
_080F2348: .4byte 0x02039CFC
|
|
_080F234C:
|
|
ldr r0, _080F2364
|
|
ldrh r1, [r4, #0x18]
|
|
bl CopyEasyChatWord
|
|
ldrb r0, [r4, #0x1b]
|
|
cmp r0, #0
|
|
bne _080F236C
|
|
ldr r1, _080F2368
|
|
movs r0, #0xc
|
|
strb r0, [r1]
|
|
b _080F23CA
|
|
.align 2, 0
|
|
_080F2364: .4byte 0x02021C40
|
|
_080F2368: .4byte 0x02039CFC
|
|
_080F236C:
|
|
ldr r1, _080F2374
|
|
movs r0, #0xd
|
|
strb r0, [r1]
|
|
b _080F23CA
|
|
.align 2, 0
|
|
_080F2374: .4byte 0x02039CFC
|
|
_080F2378:
|
|
ldr r0, _080F239C
|
|
ldrh r1, [r4, #0x18]
|
|
bl CopyEasyChatWord
|
|
ldr r0, _080F23A0
|
|
adds r1, r4, #2
|
|
bl StringCopy
|
|
ldr r0, _080F23A4
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
ldr r1, _080F23A8
|
|
movs r0, #0xe
|
|
strb r0, [r1]
|
|
b _080F23CA
|
|
.align 2, 0
|
|
_080F239C: .4byte 0x02021C40
|
|
_080F23A0: .4byte 0x02021C54
|
|
_080F23A4: .4byte 0x02021C68
|
|
_080F23A8: .4byte 0x02039CFC
|
|
_080F23AC:
|
|
ldr r0, _080F23DC
|
|
adds r1, r4, #2
|
|
bl StringCopy
|
|
ldr r0, _080F23E0
|
|
ldrh r2, [r4, #0xa]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F23E4
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
_080F23CA:
|
|
ldr r0, _080F23E8
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F23DC: .4byte 0x02021C40
|
|
_080F23E0: .4byte 0x02021C54
|
|
_080F23E4: .4byte 0x082EA31C
|
|
_080F23E8: .4byte 0x08568CEC
|
|
thumb_func_end DoTVShowBravoTrainerBattleTower
|
|
|
|
thumb_func_start DoTVShowTodaysSmartShopper
|
|
DoTVShowTodaysSmartShopper: @ 0x080F23EC
|
|
push {r4, r5, r6, lr}
|
|
ldr r2, _080F2420
|
|
ldr r0, _080F2424
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F2428
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r5, r1, r0
|
|
ldr r1, _080F242C
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F2430
|
|
ldrb r6, [r0]
|
|
adds r2, r0, #0
|
|
cmp r6, #0xc
|
|
bls _080F2414
|
|
b _080F2606
|
|
_080F2414:
|
|
lsls r0, r6, #2
|
|
ldr r1, _080F2434
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F2420: .4byte 0x03005AEC
|
|
_080F2424: .4byte 0x02037280
|
|
_080F2428: .4byte 0x000027CC
|
|
_080F242C: .4byte 0x02037290
|
|
_080F2430: .4byte 0x02039CFC
|
|
_080F2434: .4byte 0x080F2438
|
|
_080F2438: @ jump table
|
|
.4byte _080F246C @ case 0
|
|
.4byte _080F24A8 @ case 1
|
|
.4byte _080F24F0 @ case 2
|
|
.4byte _080F2502 @ case 3
|
|
.4byte _080F24F0 @ case 4
|
|
.4byte _080F24F0 @ case 5
|
|
.4byte _080F252C @ case 6
|
|
.4byte _080F255C @ case 7
|
|
.4byte _080F258C @ case 8
|
|
.4byte _080F2598 @ case 9
|
|
.4byte _080F25A6 @ case 10
|
|
.4byte _080F25B8 @ case 11
|
|
.4byte _080F25F8 @ case 12
|
|
_080F246C:
|
|
ldr r0, _080F2490
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F2494
|
|
ldrb r1, [r5, #0x12]
|
|
movs r2, #0
|
|
bl GetMapName
|
|
ldrh r0, [r5, #0xc]
|
|
cmp r0, #0xfe
|
|
bls _080F249C
|
|
ldr r1, _080F2498
|
|
movs r0, #0xb
|
|
strb r0, [r1]
|
|
b _080F2606
|
|
.align 2, 0
|
|
_080F2490: .4byte 0x02021C40
|
|
_080F2494: .4byte 0x02021C54
|
|
_080F2498: .4byte 0x02039CFC
|
|
_080F249C:
|
|
ldr r1, _080F24A4
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F2606
|
|
.align 2, 0
|
|
_080F24A4: .4byte 0x02039CFC
|
|
_080F24A8:
|
|
ldr r0, _080F24E4
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r4, _080F24E8
|
|
ldrh r0, [r5, #6]
|
|
bl ItemId_GetName
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl StringCopy
|
|
ldrh r1, [r5, #0xc]
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
ldr r4, _080F24EC
|
|
bl Random
|
|
ldrb r2, [r4]
|
|
adds r2, #1
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #3
|
|
ands r0, r1
|
|
adds r0, r0, r2
|
|
strb r0, [r4]
|
|
b _080F2606
|
|
.align 2, 0
|
|
_080F24E4: .4byte 0x02021C40
|
|
_080F24E8: .4byte 0x02021C54
|
|
_080F24EC: .4byte 0x02039CFC
|
|
_080F24F0:
|
|
ldrh r0, [r5, #8]
|
|
cmp r0, #0
|
|
beq _080F24FC
|
|
movs r0, #6
|
|
strb r0, [r2]
|
|
b _080F2606
|
|
_080F24FC:
|
|
movs r0, #0xa
|
|
strb r0, [r2]
|
|
b _080F2606
|
|
_080F2502:
|
|
ldrh r1, [r5, #0xc]
|
|
adds r1, #1
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
ldrh r0, [r5, #8]
|
|
cmp r0, #0
|
|
beq _080F2520
|
|
ldr r1, _080F251C
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F2606
|
|
.align 2, 0
|
|
_080F251C: .4byte 0x02039CFC
|
|
_080F2520:
|
|
ldr r1, _080F2528
|
|
movs r0, #0xa
|
|
strb r0, [r1]
|
|
b _080F2606
|
|
.align 2, 0
|
|
_080F2528: .4byte 0x02039CFC
|
|
_080F252C:
|
|
ldr r4, _080F2554
|
|
ldrh r0, [r5, #8]
|
|
bl ItemId_GetName
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl StringCopy
|
|
ldrh r1, [r5, #0xe]
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
ldrh r0, [r5, #0xa]
|
|
cmp r0, #0
|
|
beq _080F2574
|
|
ldr r1, _080F2558
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
b _080F2606
|
|
.align 2, 0
|
|
_080F2554: .4byte 0x02021C54
|
|
_080F2558: .4byte 0x02039CFC
|
|
_080F255C:
|
|
ldr r4, _080F2584
|
|
ldrh r0, [r5, #0xa]
|
|
bl ItemId_GetName
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl StringCopy
|
|
ldrh r1, [r5, #0x10]
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
_080F2574:
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #1
|
|
beq _080F25D8
|
|
ldr r1, _080F2588
|
|
movs r0, #9
|
|
strb r0, [r1]
|
|
b _080F2606
|
|
.align 2, 0
|
|
_080F2584: .4byte 0x02021C54
|
|
_080F2588: .4byte 0x02039CFC
|
|
_080F258C:
|
|
ldrh r0, [r5, #0xc]
|
|
cmp r0, #0xfe
|
|
bls _080F25B2
|
|
movs r0, #0xc
|
|
strb r0, [r2]
|
|
b _080F2606
|
|
_080F2598:
|
|
movs r0, #1
|
|
adds r1, r5, #0
|
|
bl sub_080EFF10
|
|
bl TVShowDone
|
|
b _080F2606
|
|
_080F25A6:
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #1
|
|
bne _080F25B2
|
|
movs r0, #8
|
|
strb r0, [r2]
|
|
b _080F2606
|
|
_080F25B2:
|
|
movs r0, #9
|
|
strb r0, [r2]
|
|
b _080F2606
|
|
_080F25B8:
|
|
ldr r0, _080F25E0
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r4, _080F25E4
|
|
ldrh r0, [r5, #6]
|
|
bl ItemId_GetName
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl StringCopy
|
|
ldrb r0, [r5, #2]
|
|
cmp r0, #1
|
|
bne _080F25EC
|
|
_080F25D8:
|
|
ldr r1, _080F25E8
|
|
movs r0, #8
|
|
strb r0, [r1]
|
|
b _080F2606
|
|
.align 2, 0
|
|
_080F25E0: .4byte 0x02021C40
|
|
_080F25E4: .4byte 0x02021C54
|
|
_080F25E8: .4byte 0x02039CFC
|
|
_080F25EC:
|
|
ldr r1, _080F25F4
|
|
movs r0, #0xc
|
|
strb r0, [r1]
|
|
b _080F2606
|
|
.align 2, 0
|
|
_080F25F4: .4byte 0x02039CFC
|
|
_080F25F8:
|
|
ldr r0, _080F2618
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
_080F2606:
|
|
ldr r0, _080F261C
|
|
lsls r1, r6, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2618: .4byte 0x02021C40
|
|
_080F261C: .4byte 0x08568C7C
|
|
thumb_func_end DoTVShowTodaysSmartShopper
|
|
|
|
thumb_func_start DoTVShowTheNameRaterShow
|
|
DoTVShowTheNameRaterShow: @ 0x080F2620
|
|
push {r4, r5, r6, lr}
|
|
sub sp, #8
|
|
ldr r2, _080F2654
|
|
ldr r0, _080F2658
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F265C
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r5, r1, r0
|
|
ldr r1, _080F2660
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F2664
|
|
ldrb r6, [r0]
|
|
adds r2, r0, #0
|
|
cmp r6, #0x12
|
|
bls _080F264A
|
|
b _080F28E0
|
|
_080F264A:
|
|
lsls r0, r6, #2
|
|
ldr r1, _080F2668
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F2654: .4byte 0x03005AEC
|
|
_080F2658: .4byte 0x02037280
|
|
_080F265C: .4byte 0x000027CC
|
|
_080F2660: .4byte 0x02037290
|
|
_080F2664: .4byte 0x02039CFC
|
|
_080F2668: .4byte 0x080F266C
|
|
_080F266C: @ jump table
|
|
.4byte _080F26B8 @ case 0
|
|
.4byte _080F2700 @ case 1
|
|
.4byte _080F2722 @ case 2
|
|
.4byte _080F2700 @ case 3
|
|
.4byte _080F2700 @ case 4
|
|
.4byte _080F2700 @ case 5
|
|
.4byte _080F2700 @ case 6
|
|
.4byte _080F2700 @ case 7
|
|
.4byte _080F2700 @ case 8
|
|
.4byte _080F2768 @ case 9
|
|
.4byte _080F2768 @ case 10
|
|
.4byte _080F2768 @ case 11
|
|
.4byte _080F27A4 @ case 12
|
|
.4byte _080F27B6 @ case 13
|
|
.4byte _080F27F4 @ case 14
|
|
.4byte _080F2814 @ case 15
|
|
.4byte _080F285C @ case 16
|
|
.4byte _080F288C @ case 17
|
|
.4byte _080F28D4 @ case 18
|
|
_080F26B8:
|
|
ldr r0, _080F26EC
|
|
adds r1, r5, #0
|
|
adds r1, #0xf
|
|
bl StringCopy
|
|
ldr r0, _080F26F0
|
|
ldrh r2, [r5, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F26F4
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F26F8
|
|
adds r1, r5, #4
|
|
bl StringCopy10
|
|
ldr r4, _080F26FC
|
|
adds r0, r5, #0
|
|
bl TV_GetNicknameSumMod8
|
|
adds r0, #1
|
|
strb r0, [r4]
|
|
b _080F28E0
|
|
.align 2, 0
|
|
_080F26EC: .4byte 0x02021C40
|
|
_080F26F0: .4byte 0x02021C54
|
|
_080F26F4: .4byte 0x082EA31C
|
|
_080F26F8: .4byte 0x02021C68
|
|
_080F26FC: .4byte 0x02039CFC
|
|
_080F2700:
|
|
ldrb r0, [r5, #0x1a]
|
|
cmp r0, #0
|
|
bne _080F270C
|
|
movs r0, #9
|
|
strb r0, [r2]
|
|
b _080F28E0
|
|
_080F270C:
|
|
cmp r0, #1
|
|
bne _080F2716
|
|
movs r0, #0xa
|
|
strb r0, [r2]
|
|
b _080F28E0
|
|
_080F2716:
|
|
cmp r0, #2
|
|
beq _080F271C
|
|
b _080F28E0
|
|
_080F271C:
|
|
movs r0, #0xb
|
|
strb r0, [r2]
|
|
b _080F28E0
|
|
_080F2722:
|
|
ldr r0, _080F273C
|
|
adds r1, r5, #0
|
|
adds r1, #0xf
|
|
bl StringCopy
|
|
ldrb r0, [r5, #0x1a]
|
|
cmp r0, #0
|
|
bne _080F2744
|
|
ldr r1, _080F2740
|
|
movs r0, #9
|
|
strb r0, [r1]
|
|
b _080F28E0
|
|
.align 2, 0
|
|
_080F273C: .4byte 0x02021C40
|
|
_080F2740: .4byte 0x02039CFC
|
|
_080F2744:
|
|
cmp r0, #1
|
|
bne _080F2754
|
|
ldr r1, _080F2750
|
|
movs r0, #0xa
|
|
strb r0, [r1]
|
|
b _080F28E0
|
|
.align 2, 0
|
|
_080F2750: .4byte 0x02039CFC
|
|
_080F2754:
|
|
cmp r0, #2
|
|
beq _080F275A
|
|
b _080F28E0
|
|
_080F275A:
|
|
ldr r1, _080F2764
|
|
movs r0, #0xb
|
|
strb r0, [r1]
|
|
b _080F28E0
|
|
.align 2, 0
|
|
_080F2764: .4byte 0x02039CFC
|
|
_080F2768:
|
|
ldr r0, _080F279C
|
|
adds r1, r5, #4
|
|
bl StringCopy10
|
|
movs r4, #0
|
|
str r4, [sp]
|
|
str r5, [sp, #4]
|
|
movs r0, #1
|
|
movs r1, #0
|
|
movs r2, #0
|
|
movs r3, #1
|
|
bl TV_GetNicknameSubstring
|
|
str r4, [sp]
|
|
str r5, [sp, #4]
|
|
movs r0, #2
|
|
movs r1, #1
|
|
movs r2, #0
|
|
movs r3, #1
|
|
bl TV_GetNicknameSubstring
|
|
ldr r1, _080F27A0
|
|
movs r0, #0xc
|
|
strb r0, [r1]
|
|
b _080F28E0
|
|
.align 2, 0
|
|
_080F279C: .4byte 0x02021C40
|
|
_080F27A0: .4byte 0x02039CFC
|
|
_080F27A4:
|
|
ldrb r0, [r5, #0x1b]
|
|
cmp r0, #0
|
|
bne _080F27B0
|
|
movs r0, #0xd
|
|
strb r0, [r2]
|
|
b _080F28E0
|
|
_080F27B0:
|
|
movs r0, #0xf
|
|
strb r0, [r2]
|
|
b _080F28E0
|
|
_080F27B6:
|
|
ldr r0, _080F27EC
|
|
adds r1, r5, #0
|
|
adds r1, #0xf
|
|
bl StringCopy
|
|
movs r4, #0
|
|
str r4, [sp]
|
|
str r5, [sp, #4]
|
|
movs r0, #1
|
|
movs r1, #0
|
|
movs r2, #2
|
|
movs r3, #0
|
|
bl TV_GetNicknameSubstring
|
|
str r4, [sp]
|
|
str r5, [sp, #4]
|
|
movs r0, #2
|
|
movs r1, #0
|
|
movs r2, #3
|
|
movs r3, #1
|
|
bl TV_GetNicknameSubstring
|
|
ldr r1, _080F27F0
|
|
movs r0, #0xe
|
|
strb r0, [r1]
|
|
b _080F28E0
|
|
.align 2, 0
|
|
_080F27EC: .4byte 0x02021C40
|
|
_080F27F0: .4byte 0x02039CFC
|
|
_080F27F4:
|
|
movs r4, #0
|
|
str r4, [sp]
|
|
str r5, [sp, #4]
|
|
movs r0, #1
|
|
movs r1, #0
|
|
movs r2, #2
|
|
movs r3, #1
|
|
bl TV_GetNicknameSubstring
|
|
str r4, [sp]
|
|
str r5, [sp, #4]
|
|
movs r0, #2
|
|
movs r1, #0
|
|
movs r2, #3
|
|
movs r3, #0
|
|
b _080F28BC
|
|
_080F2814:
|
|
movs r0, #0
|
|
str r0, [sp]
|
|
str r5, [sp, #4]
|
|
movs r1, #0
|
|
movs r2, #2
|
|
movs r3, #1
|
|
bl TV_GetNicknameSubstring
|
|
ldr r0, _080F2850
|
|
ldrh r2, [r5, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F2854
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldrh r0, [r5, #2]
|
|
str r0, [sp]
|
|
str r5, [sp, #4]
|
|
movs r0, #2
|
|
movs r1, #0
|
|
movs r2, #3
|
|
movs r3, #2
|
|
bl TV_GetNicknameSubstring
|
|
ldr r1, _080F2858
|
|
movs r0, #0x10
|
|
strb r0, [r1]
|
|
b _080F28E0
|
|
.align 2, 0
|
|
_080F2850: .4byte 0x02021C54
|
|
_080F2854: .4byte 0x082EA31C
|
|
_080F2858: .4byte 0x02039CFC
|
|
_080F285C:
|
|
ldrh r0, [r5, #2]
|
|
str r0, [sp]
|
|
str r5, [sp, #4]
|
|
movs r0, #0
|
|
movs r1, #0
|
|
movs r2, #2
|
|
movs r3, #2
|
|
bl TV_GetNicknameSubstring
|
|
movs r0, #0
|
|
str r0, [sp]
|
|
str r5, [sp, #4]
|
|
movs r0, #2
|
|
movs r1, #0
|
|
movs r2, #3
|
|
movs r3, #1
|
|
bl TV_GetNicknameSubstring
|
|
ldr r1, _080F2888
|
|
movs r0, #0x11
|
|
strb r0, [r1]
|
|
b _080F28E0
|
|
.align 2, 0
|
|
_080F2888: .4byte 0x02039CFC
|
|
_080F288C:
|
|
movs r0, #0
|
|
str r0, [sp]
|
|
str r5, [sp, #4]
|
|
movs r1, #0
|
|
movs r2, #2
|
|
movs r3, #1
|
|
bl TV_GetNicknameSubstring
|
|
ldr r0, _080F28C8
|
|
ldrh r2, [r5, #0x1c]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F28CC
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldrh r0, [r5, #0x1c]
|
|
str r0, [sp]
|
|
str r5, [sp, #4]
|
|
movs r0, #2
|
|
movs r1, #0
|
|
movs r2, #3
|
|
movs r3, #2
|
|
_080F28BC:
|
|
bl TV_GetNicknameSubstring
|
|
ldr r1, _080F28D0
|
|
movs r0, #0x12
|
|
strb r0, [r1]
|
|
b _080F28E0
|
|
.align 2, 0
|
|
_080F28C8: .4byte 0x02021C54
|
|
_080F28CC: .4byte 0x082EA31C
|
|
_080F28D0: .4byte 0x02039CFC
|
|
_080F28D4:
|
|
ldr r0, _080F28F4
|
|
adds r1, r5, #4
|
|
bl StringCopy10
|
|
bl TVShowDone
|
|
_080F28E0:
|
|
ldr r0, _080F28F8
|
|
lsls r1, r6, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
add sp, #8
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F28F4: .4byte 0x02021C40
|
|
_080F28F8: .4byte 0x08568DE4
|
|
thumb_func_end DoTVShowTheNameRaterShow
|
|
|
|
thumb_func_start DoTVShowPokemonTodaySuccessfulCapture
|
|
DoTVShowPokemonTodaySuccessfulCapture: @ 0x080F28FC
|
|
push {r4, r5, r6, lr}
|
|
ldr r2, _080F2930
|
|
ldr r0, _080F2934
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F2938
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r5, r1, r0
|
|
ldr r1, _080F293C
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F2940
|
|
ldrb r6, [r0]
|
|
adds r2, r0, #0
|
|
cmp r6, #0xb
|
|
bls _080F2924
|
|
b _080F2B38
|
|
_080F2924:
|
|
lsls r0, r6, #2
|
|
ldr r1, _080F2944
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F2930: .4byte 0x03005AEC
|
|
_080F2934: .4byte 0x02037280
|
|
_080F2938: .4byte 0x000027CC
|
|
_080F293C: .4byte 0x02037290
|
|
_080F2940: .4byte 0x02039CFC
|
|
_080F2944: .4byte 0x080F2948
|
|
_080F2948: @ jump table
|
|
.4byte _080F2978 @ case 0
|
|
.4byte _080F29CC @ case 1
|
|
.4byte _080F29D2 @ case 2
|
|
.4byte _080F2A0C @ case 3
|
|
.4byte _080F2A44 @ case 4
|
|
.4byte _080F2A4A @ case 5
|
|
.4byte _080F2A80 @ case 6
|
|
.4byte _080F2AD0 @ case 7
|
|
.4byte _080F2AD0 @ case 8
|
|
.4byte _080F2B00 @ case 9
|
|
.4byte _080F2B00 @ case 10
|
|
.4byte _080F2B34 @ case 11
|
|
_080F2978:
|
|
ldr r0, _080F29AC
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F29B0
|
|
ldrh r2, [r5, #0x10]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F29B4
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F29B8
|
|
adds r1, r5, #4
|
|
bl StringCopy10
|
|
ldrb r0, [r5, #0xf]
|
|
cmp r0, #1
|
|
bne _080F29C0
|
|
ldr r1, _080F29BC
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
b _080F2B38
|
|
.align 2, 0
|
|
_080F29AC: .4byte 0x02021C40
|
|
_080F29B0: .4byte 0x02021C54
|
|
_080F29B4: .4byte 0x082EA31C
|
|
_080F29B8: .4byte 0x02021C68
|
|
_080F29BC: .4byte 0x02039CFC
|
|
_080F29C0:
|
|
ldr r1, _080F29C8
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F2B38
|
|
.align 2, 0
|
|
_080F29C8: .4byte 0x02039CFC
|
|
_080F29CC:
|
|
movs r0, #2
|
|
strb r0, [r2]
|
|
b _080F2B38
|
|
_080F29D2:
|
|
ldr r4, _080F29F8
|
|
ldrb r0, [r5, #0xf]
|
|
bl ItemId_GetName
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl StringCopy
|
|
ldrb r1, [r5, #0x12]
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
ldrb r0, [r5, #0x12]
|
|
cmp r0, #3
|
|
bhi _080F2A00
|
|
ldr r1, _080F29FC
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F2B38
|
|
.align 2, 0
|
|
_080F29F8: .4byte 0x02021C54
|
|
_080F29FC: .4byte 0x02039CFC
|
|
_080F2A00:
|
|
ldr r1, _080F2A08
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F2B38
|
|
.align 2, 0
|
|
_080F2A08: .4byte 0x02039CFC
|
|
_080F2A0C:
|
|
ldr r0, _080F2A34
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F2A38
|
|
ldrh r2, [r5, #0x10]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F2A3C
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F2A40
|
|
adds r1, r5, #4
|
|
bl StringCopy10
|
|
b _080F2A66
|
|
.align 2, 0
|
|
_080F2A34: .4byte 0x02021C40
|
|
_080F2A38: .4byte 0x02021C54
|
|
_080F2A3C: .4byte 0x082EA31C
|
|
_080F2A40: .4byte 0x02021C68
|
|
_080F2A44:
|
|
movs r0, #6
|
|
strb r0, [r2]
|
|
b _080F2B38
|
|
_080F2A4A:
|
|
ldr r0, _080F2A70
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F2A74
|
|
ldrh r2, [r5, #0x10]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F2A78
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
_080F2A66:
|
|
ldr r1, _080F2A7C
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F2B38
|
|
.align 2, 0
|
|
_080F2A70: .4byte 0x02021C40
|
|
_080F2A74: .4byte 0x02021C54
|
|
_080F2A78: .4byte 0x082EA31C
|
|
_080F2A7C: .4byte 0x02039CFC
|
|
_080F2A80:
|
|
ldr r0, _080F2ABC
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F2AC0
|
|
ldrh r2, [r5, #0x10]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F2AC4
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F2AC8
|
|
adds r1, r5, #4
|
|
bl StringCopy10
|
|
ldr r4, _080F2ACC
|
|
bl Random
|
|
ldrb r2, [r4]
|
|
adds r2, #1
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #3
|
|
ands r0, r1
|
|
adds r0, r0, r2
|
|
strb r0, [r4]
|
|
b _080F2B38
|
|
.align 2, 0
|
|
_080F2ABC: .4byte 0x02021C40
|
|
_080F2AC0: .4byte 0x02021C54
|
|
_080F2AC4: .4byte 0x082EA31C
|
|
_080F2AC8: .4byte 0x02021C68
|
|
_080F2ACC: .4byte 0x02039CFC
|
|
_080F2AD0:
|
|
ldr r0, _080F2AF4
|
|
ldrh r2, [r5, #0x10]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F2AF8
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F2AFC
|
|
adds r1, r5, #4
|
|
bl StringCopy10
|
|
ldrh r1, [r5, #0x10]
|
|
movs r0, #2
|
|
bl TV_GetSomeOtherSpeciesAlreadySeenByPlayer_AndPrintName
|
|
b _080F2B1A
|
|
.align 2, 0
|
|
_080F2AF4: .4byte 0x02021C40
|
|
_080F2AF8: .4byte 0x082EA31C
|
|
_080F2AFC: .4byte 0x02021C54
|
|
_080F2B00:
|
|
ldr r0, _080F2B24
|
|
ldrh r2, [r5, #0x10]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F2B28
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F2B2C
|
|
adds r1, r5, #4
|
|
bl StringCopy10
|
|
_080F2B1A:
|
|
ldr r1, _080F2B30
|
|
movs r0, #0xb
|
|
strb r0, [r1]
|
|
b _080F2B38
|
|
.align 2, 0
|
|
_080F2B24: .4byte 0x02021C40
|
|
_080F2B28: .4byte 0x082EA31C
|
|
_080F2B2C: .4byte 0x02021C54
|
|
_080F2B30: .4byte 0x02039CFC
|
|
_080F2B34:
|
|
bl TVShowDone
|
|
_080F2B38:
|
|
ldr r0, _080F2B4C
|
|
lsls r1, r6, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2B4C: .4byte 0x08568C4C
|
|
thumb_func_end DoTVShowPokemonTodaySuccessfulCapture
|
|
|
|
thumb_func_start DoTVShowPokemonTodayFailedCapture
|
|
DoTVShowPokemonTodayFailedCapture: @ 0x080F2B50
|
|
push {r4, r5, lr}
|
|
ldr r2, _080F2B80
|
|
ldr r0, _080F2B84
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F2B88
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F2B8C
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F2B90
|
|
ldrb r5, [r0]
|
|
cmp r5, #6
|
|
bls _080F2B76
|
|
b _080F2CA0
|
|
_080F2B76:
|
|
lsls r0, r5, #2
|
|
ldr r1, _080F2B94
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F2B80: .4byte 0x03005AEC
|
|
_080F2B84: .4byte 0x02037280
|
|
_080F2B88: .4byte 0x000027CC
|
|
_080F2B8C: .4byte 0x02037290
|
|
_080F2B90: .4byte 0x02039CFC
|
|
_080F2B94: .4byte 0x080F2B98
|
|
_080F2B98: @ jump table
|
|
.4byte _080F2BB4 @ case 0
|
|
.4byte _080F2BE8 @ case 1
|
|
.4byte _080F2C3C @ case 2
|
|
.4byte _080F2C3C @ case 3
|
|
.4byte _080F2C80 @ case 4
|
|
.4byte _080F2C80 @ case 5
|
|
.4byte _080F2C9C @ case 6
|
|
_080F2BB4:
|
|
ldr r0, _080F2BD8
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F2BDC
|
|
ldrh r2, [r4, #0xc]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F2BE0
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r1, _080F2BE4
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F2CA0
|
|
.align 2, 0
|
|
_080F2BD8: .4byte 0x02021C40
|
|
_080F2BDC: .4byte 0x02021C54
|
|
_080F2BE0: .4byte 0x082EA31C
|
|
_080F2BE4: .4byte 0x02039CFC
|
|
_080F2BE8:
|
|
ldr r0, _080F2C1C
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F2C20
|
|
ldrb r1, [r4, #0x12]
|
|
movs r2, #0
|
|
bl GetMapName
|
|
ldr r0, _080F2C24
|
|
ldrh r2, [r4, #0xe]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F2C28
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldrb r0, [r4, #0x11]
|
|
cmp r0, #1
|
|
bne _080F2C30
|
|
ldr r1, _080F2C2C
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F2CA0
|
|
.align 2, 0
|
|
_080F2C1C: .4byte 0x02021C40
|
|
_080F2C20: .4byte 0x02021C54
|
|
_080F2C24: .4byte 0x02021C68
|
|
_080F2C28: .4byte 0x082EA31C
|
|
_080F2C2C: .4byte 0x02039CFC
|
|
_080F2C30:
|
|
ldr r1, _080F2C38
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F2CA0
|
|
.align 2, 0
|
|
_080F2C38: .4byte 0x02039CFC
|
|
_080F2C3C:
|
|
ldr r0, _080F2C6C
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrb r1, [r4, #0x10]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #3
|
|
bl __umodsi3
|
|
lsls r0, r0, #0x10
|
|
cmp r0, #0
|
|
bne _080F2C74
|
|
ldr r1, _080F2C70
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
b _080F2CA0
|
|
.align 2, 0
|
|
_080F2C6C: .4byte 0x02021C40
|
|
_080F2C70: .4byte 0x02039CFC
|
|
_080F2C74:
|
|
ldr r1, _080F2C7C
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F2CA0
|
|
.align 2, 0
|
|
_080F2C7C: .4byte 0x02039CFC
|
|
_080F2C80:
|
|
ldr r0, _080F2C94
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r1, _080F2C98
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F2CA0
|
|
.align 2, 0
|
|
_080F2C94: .4byte 0x02021C40
|
|
_080F2C98: .4byte 0x02039CFC
|
|
_080F2C9C:
|
|
bl TVShowDone
|
|
_080F2CA0:
|
|
ldr r0, _080F2CB4
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2CB4: .4byte 0x08568E40
|
|
thumb_func_end DoTVShowPokemonTodayFailedCapture
|
|
|
|
thumb_func_start DoTVShowPokemonFanClubLetter
|
|
DoTVShowPokemonFanClubLetter: @ 0x080F2CB8
|
|
push {r4, r5, r6, r7, lr}
|
|
ldr r2, _080F2CEC
|
|
ldr r0, _080F2CF0
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F2CF4
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r5, r1, r0
|
|
ldr r1, _080F2CF8
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F2CFC
|
|
ldrb r7, [r0]
|
|
adds r6, r0, #0
|
|
cmp r7, #0x33
|
|
bls _080F2CE0
|
|
b _080F2ED0
|
|
_080F2CE0:
|
|
lsls r0, r7, #2
|
|
ldr r1, _080F2D00
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F2CEC: .4byte 0x03005AEC
|
|
_080F2CF0: .4byte 0x02037280
|
|
_080F2CF4: .4byte 0x000027CC
|
|
_080F2CF8: .4byte 0x02037290
|
|
_080F2CFC: .4byte 0x02039CFC
|
|
_080F2D00: .4byte 0x080F2D04
|
|
_080F2D04: @ jump table
|
|
.4byte _080F2DD4 @ case 0
|
|
.4byte _080F2E08 @ case 1
|
|
.4byte _080F2E34 @ case 2
|
|
.4byte _080F2E3A @ case 3
|
|
.4byte _080F2E52 @ case 4
|
|
.4byte _080F2E52 @ case 5
|
|
.4byte _080F2E52 @ case 6
|
|
.4byte _080F2E64 @ case 7
|
|
.4byte _080F2ED0 @ case 8
|
|
.4byte _080F2ED0 @ case 9
|
|
.4byte _080F2ED0 @ case 10
|
|
.4byte _080F2ED0 @ case 11
|
|
.4byte _080F2ED0 @ case 12
|
|
.4byte _080F2ED0 @ case 13
|
|
.4byte _080F2ED0 @ case 14
|
|
.4byte _080F2ED0 @ case 15
|
|
.4byte _080F2ED0 @ case 16
|
|
.4byte _080F2ED0 @ case 17
|
|
.4byte _080F2ED0 @ case 18
|
|
.4byte _080F2ED0 @ case 19
|
|
.4byte _080F2ED0 @ case 20
|
|
.4byte _080F2ED0 @ case 21
|
|
.4byte _080F2ED0 @ case 22
|
|
.4byte _080F2ED0 @ case 23
|
|
.4byte _080F2ED0 @ case 24
|
|
.4byte _080F2ED0 @ case 25
|
|
.4byte _080F2ED0 @ case 26
|
|
.4byte _080F2ED0 @ case 27
|
|
.4byte _080F2ED0 @ case 28
|
|
.4byte _080F2ED0 @ case 29
|
|
.4byte _080F2ED0 @ case 30
|
|
.4byte _080F2ED0 @ case 31
|
|
.4byte _080F2ED0 @ case 32
|
|
.4byte _080F2ED0 @ case 33
|
|
.4byte _080F2ED0 @ case 34
|
|
.4byte _080F2ED0 @ case 35
|
|
.4byte _080F2ED0 @ case 36
|
|
.4byte _080F2ED0 @ case 37
|
|
.4byte _080F2ED0 @ case 38
|
|
.4byte _080F2ED0 @ case 39
|
|
.4byte _080F2ED0 @ case 40
|
|
.4byte _080F2ED0 @ case 41
|
|
.4byte _080F2ED0 @ case 42
|
|
.4byte _080F2ED0 @ case 43
|
|
.4byte _080F2ED0 @ case 44
|
|
.4byte _080F2ED0 @ case 45
|
|
.4byte _080F2ED0 @ case 46
|
|
.4byte _080F2ED0 @ case 47
|
|
.4byte _080F2ED0 @ case 48
|
|
.4byte _080F2ED0 @ case 49
|
|
.4byte _080F2E86 @ case 50
|
|
.4byte _080F2EAC @ case 51
|
|
_080F2DD4:
|
|
ldr r0, _080F2DF8
|
|
adds r1, r5, #0
|
|
adds r1, #0x10
|
|
bl StringCopy
|
|
ldr r0, _080F2DFC
|
|
ldrh r2, [r5, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F2E00
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r1, _080F2E04
|
|
movs r0, #0x32
|
|
strb r0, [r1]
|
|
b _080F2ED0
|
|
.align 2, 0
|
|
_080F2DF8: .4byte 0x02021C40
|
|
_080F2DFC: .4byte 0x02021C54
|
|
_080F2E00: .4byte 0x082EA31C
|
|
_080F2E04: .4byte 0x02039CFC
|
|
_080F2E08:
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #3
|
|
ands r0, r1
|
|
adds r2, r0, #1
|
|
cmp r2, #1
|
|
bne _080F2E28
|
|
ldr r1, _080F2E24
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F2ED0
|
|
.align 2, 0
|
|
_080F2E24: .4byte 0x02039CFC
|
|
_080F2E28:
|
|
ldr r1, _080F2E30
|
|
adds r0, r2, #2
|
|
strb r0, [r1]
|
|
b _080F2ED0
|
|
.align 2, 0
|
|
_080F2E30: .4byte 0x02039CFC
|
|
_080F2E34:
|
|
movs r0, #0x33
|
|
strb r0, [r6]
|
|
b _080F2ED0
|
|
_080F2E3A:
|
|
bl Random
|
|
ldrb r4, [r6]
|
|
adds r4, #1
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #3
|
|
bl __umodsi3
|
|
adds r0, r0, r4
|
|
strb r0, [r6]
|
|
b _080F2ED0
|
|
_080F2E52:
|
|
adds r0, r5, #0
|
|
bl TV_FanClubLetter_RandomWordToStringVar3
|
|
ldr r1, _080F2E60
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
b _080F2ED0
|
|
.align 2, 0
|
|
_080F2E60: .4byte 0x02039CFC
|
|
_080F2E64:
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #0x1f
|
|
bl __umodsi3
|
|
adds r0, #0x46
|
|
lsls r0, r0, #0x10
|
|
lsrs r2, r0, #0x10
|
|
movs r0, #2
|
|
adds r1, r2, #0
|
|
bl TV_PrintIntToStringVar
|
|
bl TVShowDone
|
|
b _080F2ED0
|
|
_080F2E86:
|
|
ldr r4, _080F2EA4
|
|
adds r1, r5, #4
|
|
adds r0, r4, #0
|
|
movs r2, #2
|
|
movs r3, #2
|
|
bl ConvertEasyChatWordsToString
|
|
adds r0, r4, #0
|
|
bl ShowFieldMessage
|
|
ldr r1, _080F2EA8
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F2EDC
|
|
.align 2, 0
|
|
_080F2EA4: .4byte 0x02021C7C
|
|
_080F2EA8: .4byte 0x02039CFC
|
|
_080F2EAC:
|
|
ldr r4, _080F2EC8
|
|
adds r1, r5, #4
|
|
adds r0, r4, #0
|
|
movs r2, #2
|
|
movs r3, #2
|
|
bl ConvertEasyChatWordsToString
|
|
adds r0, r4, #0
|
|
bl ShowFieldMessage
|
|
ldr r1, _080F2ECC
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F2EDC
|
|
.align 2, 0
|
|
_080F2EC8: .4byte 0x02021C7C
|
|
_080F2ECC: .4byte 0x02039CFC
|
|
_080F2ED0:
|
|
ldr r0, _080F2EE4
|
|
lsls r1, r7, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
_080F2EDC:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F2EE4: .4byte 0x08568BFC
|
|
thumb_func_end DoTVShowPokemonFanClubLetter
|
|
|
|
thumb_func_start DoTVShowRecentHappenings
|
|
DoTVShowRecentHappenings: @ 0x080F2EE8
|
|
push {r4, r5, r6, r7, lr}
|
|
ldr r2, _080F2F1C
|
|
ldr r0, _080F2F20
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F2F24
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r5, r1, r0
|
|
ldr r1, _080F2F28
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F2F2C
|
|
ldrb r6, [r0]
|
|
adds r7, r0, #0
|
|
cmp r6, #0x32
|
|
bls _080F2F10
|
|
b _080F3068
|
|
_080F2F10:
|
|
lsls r0, r6, #2
|
|
ldr r1, _080F2F30
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F2F1C: .4byte 0x03005AEC
|
|
_080F2F20: .4byte 0x02037280
|
|
_080F2F24: .4byte 0x000027CC
|
|
_080F2F28: .4byte 0x02037290
|
|
_080F2F2C: .4byte 0x02039CFC
|
|
_080F2F30: .4byte 0x080F2F34
|
|
_080F2F34: @ jump table
|
|
.4byte _080F3000 @ case 0
|
|
.4byte _080F3020 @ case 1
|
|
.4byte _080F3038 @ case 2
|
|
.4byte _080F3038 @ case 3
|
|
.4byte _080F3038 @ case 4
|
|
.4byte _080F303E @ case 5
|
|
.4byte _080F3068 @ case 6
|
|
.4byte _080F3068 @ case 7
|
|
.4byte _080F3068 @ case 8
|
|
.4byte _080F3068 @ case 9
|
|
.4byte _080F3068 @ case 10
|
|
.4byte _080F3068 @ case 11
|
|
.4byte _080F3068 @ case 12
|
|
.4byte _080F3068 @ case 13
|
|
.4byte _080F3068 @ case 14
|
|
.4byte _080F3068 @ case 15
|
|
.4byte _080F3068 @ case 16
|
|
.4byte _080F3068 @ case 17
|
|
.4byte _080F3068 @ case 18
|
|
.4byte _080F3068 @ case 19
|
|
.4byte _080F3068 @ case 20
|
|
.4byte _080F3068 @ case 21
|
|
.4byte _080F3068 @ case 22
|
|
.4byte _080F3068 @ case 23
|
|
.4byte _080F3068 @ case 24
|
|
.4byte _080F3068 @ case 25
|
|
.4byte _080F3068 @ case 26
|
|
.4byte _080F3068 @ case 27
|
|
.4byte _080F3068 @ case 28
|
|
.4byte _080F3068 @ case 29
|
|
.4byte _080F3068 @ case 30
|
|
.4byte _080F3068 @ case 31
|
|
.4byte _080F3068 @ case 32
|
|
.4byte _080F3068 @ case 33
|
|
.4byte _080F3068 @ case 34
|
|
.4byte _080F3068 @ case 35
|
|
.4byte _080F3068 @ case 36
|
|
.4byte _080F3068 @ case 37
|
|
.4byte _080F3068 @ case 38
|
|
.4byte _080F3068 @ case 39
|
|
.4byte _080F3068 @ case 40
|
|
.4byte _080F3068 @ case 41
|
|
.4byte _080F3068 @ case 42
|
|
.4byte _080F3068 @ case 43
|
|
.4byte _080F3068 @ case 44
|
|
.4byte _080F3068 @ case 45
|
|
.4byte _080F3068 @ case 46
|
|
.4byte _080F3068 @ case 47
|
|
.4byte _080F3068 @ case 48
|
|
.4byte _080F3068 @ case 49
|
|
.4byte _080F3044 @ case 50
|
|
_080F3000:
|
|
ldr r0, _080F3018
|
|
adds r1, r5, #0
|
|
adds r1, #0x10
|
|
bl StringCopy
|
|
adds r0, r5, #0
|
|
bl TV_FanClubLetter_RandomWordToStringVar3
|
|
ldr r1, _080F301C
|
|
movs r0, #0x32
|
|
strb r0, [r1]
|
|
b _080F3068
|
|
.align 2, 0
|
|
_080F3018: .4byte 0x02021C40
|
|
_080F301C: .4byte 0x02039CFC
|
|
_080F3020:
|
|
bl Random
|
|
ldrb r4, [r7]
|
|
adds r4, #1
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
movs r1, #3
|
|
bl __umodsi3
|
|
adds r0, r0, r4
|
|
strb r0, [r7]
|
|
b _080F3068
|
|
_080F3038:
|
|
movs r0, #5
|
|
strb r0, [r7]
|
|
b _080F3068
|
|
_080F303E:
|
|
bl TVShowDone
|
|
b _080F3068
|
|
_080F3044:
|
|
ldr r4, _080F3060
|
|
adds r1, r5, #4
|
|
adds r0, r4, #0
|
|
movs r2, #2
|
|
movs r3, #2
|
|
bl ConvertEasyChatWordsToString
|
|
adds r0, r4, #0
|
|
bl ShowFieldMessage
|
|
ldr r1, _080F3064
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F3074
|
|
.align 2, 0
|
|
_080F3060: .4byte 0x02021C7C
|
|
_080F3064: .4byte 0x02039CFC
|
|
_080F3068:
|
|
ldr r0, _080F307C
|
|
lsls r1, r6, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
_080F3074:
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F307C: .4byte 0x08568C1C
|
|
thumb_func_end DoTVShowRecentHappenings
|
|
|
|
thumb_func_start DoTVShowPokemonFanClubOpinions
|
|
DoTVShowPokemonFanClubOpinions: @ 0x080F3080
|
|
push {r4, r5, r6, lr}
|
|
ldr r2, _080F30B0
|
|
ldr r0, _080F30B4
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F30B8
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F30BC
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r6, _080F30C0
|
|
ldrb r5, [r6]
|
|
cmp r5, #3
|
|
bgt _080F30C4
|
|
cmp r5, #1
|
|
bge _080F3108
|
|
cmp r5, #0
|
|
beq _080F30CA
|
|
b _080F3154
|
|
.align 2, 0
|
|
_080F30B0: .4byte 0x03005AEC
|
|
_080F30B4: .4byte 0x02037280
|
|
_080F30B8: .4byte 0x000027CC
|
|
_080F30BC: .4byte 0x02037290
|
|
_080F30C0: .4byte 0x02039CFC
|
|
_080F30C4:
|
|
cmp r5, #4
|
|
beq _080F3140
|
|
b _080F3154
|
|
_080F30CA:
|
|
ldr r0, _080F30F8
|
|
adds r1, r4, #5
|
|
bl StringCopy
|
|
ldr r0, _080F30FC
|
|
ldrh r2, [r4, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3100
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F3104
|
|
adds r1, r4, #0
|
|
adds r1, #0x10
|
|
bl StringCopy10
|
|
ldrb r0, [r4, #4]
|
|
lsrs r0, r0, #4
|
|
adds r0, #1
|
|
strb r0, [r6]
|
|
b _080F3154
|
|
.align 2, 0
|
|
_080F30F8: .4byte 0x02021C40
|
|
_080F30FC: .4byte 0x02021C54
|
|
_080F3100: .4byte 0x082EA31C
|
|
_080F3104: .4byte 0x02021C68
|
|
_080F3108:
|
|
ldr r0, _080F3130
|
|
adds r1, r4, #5
|
|
bl StringCopy
|
|
ldr r0, _080F3134
|
|
ldrh r2, [r4, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3138
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F313C
|
|
ldrh r1, [r4, #0x1c]
|
|
bl CopyEasyChatWord
|
|
movs r0, #4
|
|
strb r0, [r6]
|
|
b _080F3154
|
|
.align 2, 0
|
|
_080F3130: .4byte 0x02021C40
|
|
_080F3134: .4byte 0x02021C54
|
|
_080F3138: .4byte 0x082EA31C
|
|
_080F313C: .4byte 0x02021C68
|
|
_080F3140:
|
|
ldr r0, _080F3168
|
|
adds r1, r4, #5
|
|
bl StringCopy
|
|
ldr r0, _080F316C
|
|
ldrh r1, [r4, #0x1e]
|
|
bl CopyEasyChatWord
|
|
bl TVShowDone
|
|
_080F3154:
|
|
ldr r0, _080F3170
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3168: .4byte 0x02021C40
|
|
_080F316C: .4byte 0x02021C68
|
|
_080F3170: .4byte 0x08568C34
|
|
thumb_func_end DoTVShowPokemonFanClubOpinions
|
|
|
|
thumb_func_start DoTVShowDummiedOut
|
|
DoTVShowDummiedOut: @ 0x080F3174
|
|
bx lr
|
|
.align 2, 0
|
|
thumb_func_end DoTVShowDummiedOut
|
|
|
|
thumb_func_start DoTVShowPokemonNewsMassOutbreak
|
|
DoTVShowPokemonNewsMassOutbreak: @ 0x080F3178
|
|
push {r4, lr}
|
|
ldr r2, _080F31C8
|
|
ldr r0, _080F31CC
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F31D0
|
|
adds r0, r0, r1
|
|
ldr r4, [r2]
|
|
adds r4, r4, r0
|
|
ldr r0, _080F31D4
|
|
ldrb r1, [r4, #0x10]
|
|
movs r2, #0
|
|
bl GetMapName
|
|
ldr r0, _080F31D8
|
|
ldrh r2, [r4, #0xc]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F31DC
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
bl StartMassOutbreak
|
|
ldr r1, _080F31E0
|
|
ldr r0, _080F31E4
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl ShowFieldMessage
|
|
pop {r4}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F31C8: .4byte 0x03005AEC
|
|
_080F31CC: .4byte 0x02037280
|
|
_080F31D0: .4byte 0x000027CC
|
|
_080F31D4: .4byte 0x02021C40
|
|
_080F31D8: .4byte 0x02021C54
|
|
_080F31DC: .4byte 0x082EA31C
|
|
_080F31E0: .4byte 0x08568C48
|
|
_080F31E4: .4byte 0x02039CFC
|
|
thumb_func_end DoTVShowPokemonNewsMassOutbreak
|
|
|
|
thumb_func_start DoTVShowPokemonContestLiveUpdates
|
|
DoTVShowPokemonContestLiveUpdates: @ 0x080F31E8
|
|
push {r4, r5, r6, lr}
|
|
ldr r2, _080F321C
|
|
ldr r0, _080F3220
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F3224
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r5, r1, r0
|
|
ldr r1, _080F3228
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F322C
|
|
ldrb r6, [r0]
|
|
adds r2, r0, #0
|
|
cmp r6, #0x20
|
|
bls _080F3212
|
|
bl _080F39A8
|
|
_080F3212:
|
|
lsls r0, r6, #2
|
|
ldr r1, _080F3230
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F321C: .4byte 0x03005AEC
|
|
_080F3220: .4byte 0x02037280
|
|
_080F3224: .4byte 0x000027CC
|
|
_080F3228: .4byte 0x02037290
|
|
_080F322C: .4byte 0x02039CFC
|
|
_080F3230: .4byte 0x080F3234
|
|
_080F3234: @ jump table
|
|
.4byte _080F32B8 @ case 0
|
|
.4byte _080F33A8 @ case 1
|
|
.4byte _080F33F6 @ case 2
|
|
.4byte _080F3420 @ case 3
|
|
.4byte _080F3448 @ case 4
|
|
.4byte _080F3584 @ case 5
|
|
.4byte _080F359C @ case 6
|
|
.4byte _080F35B4 @ case 7
|
|
.4byte _080F35CC @ case 8
|
|
.4byte _080F364C @ case 9
|
|
.4byte _080F3664 @ case 10
|
|
.4byte _080F367C @ case 11
|
|
.4byte _080F3694 @ case 12
|
|
.4byte _080F36AC @ case 13
|
|
.4byte _080F36C4 @ case 14
|
|
.4byte _080F3744 @ case 15
|
|
.4byte _080F375C @ case 16
|
|
.4byte _080F3774 @ case 17
|
|
.4byte _080F378C @ case 18
|
|
.4byte _080F37A4 @ case 19
|
|
.4byte _080F37BC @ case 20
|
|
.4byte _080F37D4 @ case 21
|
|
.4byte _080F37EC @ case 22
|
|
.4byte _080F3828 @ case 23
|
|
.4byte _080F38FC @ case 24
|
|
.4byte _080F3914 @ case 25
|
|
.4byte _080F3970 @ case 26
|
|
.4byte _080F3970 @ case 27
|
|
.4byte _080F3938 @ case 28
|
|
.4byte _080F393E @ case 29
|
|
.4byte _080F3970 @ case 30
|
|
.4byte _080F3970 @ case 31
|
|
.4byte _080F3988 @ case 32
|
|
_080F32B8:
|
|
ldrb r0, [r5, #0x1c]
|
|
cmp r0, #4
|
|
bhi _080F3338
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F32C8
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F32C8: .4byte 0x080F32CC
|
|
_080F32CC: @ jump table
|
|
.4byte _080F32E0 @ case 0
|
|
.4byte _080F32F4 @ case 1
|
|
.4byte _080F3308 @ case 2
|
|
.4byte _080F331C @ case 3
|
|
.4byte _080F3330 @ case 4
|
|
_080F32E0:
|
|
ldr r0, _080F32EC
|
|
ldr r1, _080F32F0
|
|
bl StringCopy
|
|
b _080F3338
|
|
.align 2, 0
|
|
_080F32EC: .4byte 0x02021C40
|
|
_080F32F0: .4byte 0x085CAC84
|
|
_080F32F4:
|
|
ldr r0, _080F3300
|
|
ldr r1, _080F3304
|
|
bl StringCopy
|
|
b _080F3338
|
|
.align 2, 0
|
|
_080F3300: .4byte 0x02021C40
|
|
_080F3304: .4byte 0x085CAC8A
|
|
_080F3308:
|
|
ldr r0, _080F3314
|
|
ldr r1, _080F3318
|
|
bl StringCopy
|
|
b _080F3338
|
|
.align 2, 0
|
|
_080F3314: .4byte 0x02021C40
|
|
_080F3318: .4byte 0x085CAC90
|
|
_080F331C:
|
|
ldr r0, _080F3328
|
|
ldr r1, _080F332C
|
|
bl StringCopy
|
|
b _080F3338
|
|
.align 2, 0
|
|
_080F3328: .4byte 0x02021C40
|
|
_080F332C: .4byte 0x085CAC95
|
|
_080F3330:
|
|
ldr r0, _080F3368
|
|
ldr r1, _080F336C
|
|
bl StringCopy
|
|
_080F3338:
|
|
ldr r0, _080F3370
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3374
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F3378
|
|
adds r1, r5, #0
|
|
adds r1, #0x14
|
|
bl StringCopy
|
|
ldrb r0, [r5, #0xd]
|
|
ldrb r1, [r5, #0xe]
|
|
cmp r0, r1
|
|
bne _080F338C
|
|
cmp r0, #0
|
|
bne _080F3380
|
|
ldr r1, _080F337C
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3368: .4byte 0x02021C40
|
|
_080F336C: .4byte 0x085CAC9A
|
|
_080F3370: .4byte 0x02021C54
|
|
_080F3374: .4byte 0x082EA31C
|
|
_080F3378: .4byte 0x02021C68
|
|
_080F337C: .4byte 0x02039CFC
|
|
_080F3380:
|
|
ldr r1, _080F3388
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3388: .4byte 0x02039CFC
|
|
_080F338C:
|
|
cmp r0, r1
|
|
bls _080F339C
|
|
ldr r1, _080F3398
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3398: .4byte 0x02039CFC
|
|
_080F339C:
|
|
ldr r1, _080F33A4
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F33A4: .4byte 0x02039CFC
|
|
_080F33A8:
|
|
ldr r0, _080F33D4
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F33D8
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldrb r1, [r5, #0xf]
|
|
cmp r1, #8
|
|
bne _080F33C2
|
|
b _080F3548
|
|
_080F33C2:
|
|
cmp r1, #8
|
|
bgt _080F33DC
|
|
_080F33C6:
|
|
cmp r1, #2
|
|
bne _080F33CC
|
|
b _080F3530
|
|
_080F33CC:
|
|
cmp r1, #2
|
|
bgt _080F33D2
|
|
b _080F34EC
|
|
_080F33D2:
|
|
b _080F3504
|
|
.align 2, 0
|
|
_080F33D4: .4byte 0x02021C54
|
|
_080F33D8: .4byte 0x082EA31C
|
|
_080F33DC:
|
|
cmp r1, #0x20
|
|
bne _080F33E2
|
|
b _080F3560
|
|
_080F33E2:
|
|
cmp r1, #0x20
|
|
bgt _080F33E8
|
|
b _080F3512
|
|
_080F33E8:
|
|
cmp r1, #0x40
|
|
bne _080F33EE
|
|
b _080F356C
|
|
_080F33EE:
|
|
cmp r1, #0x80
|
|
beq _080F33F4
|
|
b _080F39A8
|
|
_080F33F4:
|
|
b _080F3578
|
|
_080F33F6:
|
|
ldr r0, _080F3418
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F341C
|
|
adds r1, r1, r2
|
|
_080F3404:
|
|
bl StringCopy
|
|
ldrb r1, [r5, #0xf]
|
|
cmp r1, #8
|
|
bne _080F3410
|
|
b _080F3548
|
|
_080F3410:
|
|
cmp r1, #8
|
|
ble _080F33C6
|
|
b _080F33DC
|
|
.align 2, 0
|
|
_080F3418: .4byte 0x02021C54
|
|
_080F341C: .4byte 0x082EA31C
|
|
_080F3420:
|
|
ldr r0, _080F343C
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3440
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F3444
|
|
adds r1, r5, #0
|
|
adds r1, #0x14
|
|
b _080F3404
|
|
.align 2, 0
|
|
_080F343C: .4byte 0x02021C54
|
|
_080F3440: .4byte 0x082EA31C
|
|
_080F3444: .4byte 0x02021C68
|
|
_080F3448:
|
|
ldrb r0, [r5, #0x1c]
|
|
cmp r0, #4
|
|
bhi _080F34C8
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F3458
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F3458: .4byte 0x080F345C
|
|
_080F345C: @ jump table
|
|
.4byte _080F3470 @ case 0
|
|
.4byte _080F3484 @ case 1
|
|
.4byte _080F3498 @ case 2
|
|
.4byte _080F34AC @ case 3
|
|
.4byte _080F34C0 @ case 4
|
|
_080F3470:
|
|
ldr r0, _080F347C
|
|
ldr r1, _080F3480
|
|
bl StringCopy
|
|
b _080F34C8
|
|
.align 2, 0
|
|
_080F347C: .4byte 0x02021C40
|
|
_080F3480: .4byte 0x085CAC84
|
|
_080F3484:
|
|
ldr r0, _080F3490
|
|
ldr r1, _080F3494
|
|
bl StringCopy
|
|
b _080F34C8
|
|
.align 2, 0
|
|
_080F3490: .4byte 0x02021C40
|
|
_080F3494: .4byte 0x085CAC8A
|
|
_080F3498:
|
|
ldr r0, _080F34A4
|
|
ldr r1, _080F34A8
|
|
bl StringCopy
|
|
b _080F34C8
|
|
.align 2, 0
|
|
_080F34A4: .4byte 0x02021C40
|
|
_080F34A8: .4byte 0x085CAC90
|
|
_080F34AC:
|
|
ldr r0, _080F34B8
|
|
ldr r1, _080F34BC
|
|
bl StringCopy
|
|
b _080F34C8
|
|
.align 2, 0
|
|
_080F34B8: .4byte 0x02021C40
|
|
_080F34BC: .4byte 0x085CAC95
|
|
_080F34C0:
|
|
ldr r0, _080F34F4
|
|
ldr r1, _080F34F8
|
|
bl StringCopy
|
|
_080F34C8:
|
|
ldr r0, _080F34FC
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3500
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldrb r1, [r5, #0xf]
|
|
cmp r1, #8
|
|
beq _080F3548
|
|
cmp r1, #8
|
|
bgt _080F350A
|
|
cmp r1, #2
|
|
beq _080F3530
|
|
cmp r1, #2
|
|
bgt _080F3504
|
|
_080F34EC:
|
|
cmp r1, #1
|
|
beq _080F3522
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F34F4: .4byte 0x02021C40
|
|
_080F34F8: .4byte 0x085CAC9A
|
|
_080F34FC: .4byte 0x02021C54
|
|
_080F3500: .4byte 0x082EA31C
|
|
_080F3504:
|
|
cmp r1, #4
|
|
beq _080F353C
|
|
b _080F39A8
|
|
_080F350A:
|
|
cmp r1, #0x20
|
|
beq _080F3560
|
|
cmp r1, #0x20
|
|
bgt _080F3518
|
|
_080F3512:
|
|
cmp r1, #0x10
|
|
beq _080F3554
|
|
b _080F39A8
|
|
_080F3518:
|
|
cmp r1, #0x40
|
|
beq _080F356C
|
|
cmp r1, #0x80
|
|
beq _080F3578
|
|
b _080F39A8
|
|
_080F3522:
|
|
ldr r1, _080F352C
|
|
movs r0, #8
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F352C: .4byte 0x02039CFC
|
|
_080F3530:
|
|
ldr r1, _080F3538
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3538: .4byte 0x02039CFC
|
|
_080F353C:
|
|
ldr r1, _080F3544
|
|
movs r0, #0xe
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3544: .4byte 0x02039CFC
|
|
_080F3548:
|
|
ldr r1, _080F3550
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3550: .4byte 0x02039CFC
|
|
_080F3554:
|
|
ldr r1, _080F355C
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F355C: .4byte 0x02039CFC
|
|
_080F3560:
|
|
ldr r1, _080F3568
|
|
movs r0, #0x14
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3568: .4byte 0x02039CFC
|
|
_080F356C:
|
|
ldr r1, _080F3574
|
|
movs r0, #0x15
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3574: .4byte 0x02039CFC
|
|
_080F3578:
|
|
ldr r1, _080F3580
|
|
movs r0, #0x16
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3580: .4byte 0x02039CFC
|
|
_080F3584:
|
|
ldr r0, _080F3594
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3598
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F3594: .4byte 0x02021C54
|
|
_080F3598: .4byte 0x082EA31C
|
|
_080F359C:
|
|
ldr r0, _080F35AC
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F35B0
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F35AC: .4byte 0x02021C54
|
|
_080F35B0: .4byte 0x082EA31C
|
|
_080F35B4:
|
|
ldr r0, _080F35C4
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F35C8
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F35C4: .4byte 0x02021C54
|
|
_080F35C8: .4byte 0x082EA31C
|
|
_080F35CC:
|
|
ldr r0, _080F35F0
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F35F4
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldrb r0, [r5, #0x1c]
|
|
cmp r0, #4
|
|
bls _080F35E6
|
|
b _080F39A8
|
|
_080F35E6:
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F35F8
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F35F0: .4byte 0x02021C54
|
|
_080F35F4: .4byte 0x082EA31C
|
|
_080F35F8: .4byte 0x080F35FC
|
|
_080F35FC: @ jump table
|
|
.4byte _080F3610 @ case 0
|
|
.4byte _080F361C @ case 1
|
|
.4byte _080F3628 @ case 2
|
|
.4byte _080F3634 @ case 3
|
|
.4byte _080F3640 @ case 4
|
|
_080F3610:
|
|
ldr r1, _080F3618
|
|
movs r0, #9
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3618: .4byte 0x02039CFC
|
|
_080F361C:
|
|
ldr r1, _080F3624
|
|
movs r0, #0xa
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3624: .4byte 0x02039CFC
|
|
_080F3628:
|
|
ldr r1, _080F3630
|
|
movs r0, #0xb
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3630: .4byte 0x02039CFC
|
|
_080F3634:
|
|
ldr r1, _080F363C
|
|
movs r0, #0xc
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F363C: .4byte 0x02039CFC
|
|
_080F3640:
|
|
ldr r1, _080F3648
|
|
movs r0, #0xd
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3648: .4byte 0x02039CFC
|
|
_080F364C:
|
|
ldr r0, _080F365C
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3660
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F365C: .4byte 0x02021C54
|
|
_080F3660: .4byte 0x082EA31C
|
|
_080F3664:
|
|
ldr r0, _080F3674
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3678
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F3674: .4byte 0x02021C54
|
|
_080F3678: .4byte 0x082EA31C
|
|
_080F367C:
|
|
ldr r0, _080F368C
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3690
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F368C: .4byte 0x02021C54
|
|
_080F3690: .4byte 0x082EA31C
|
|
_080F3694:
|
|
ldr r0, _080F36A4
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F36A8
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F36A4: .4byte 0x02021C54
|
|
_080F36A8: .4byte 0x082EA31C
|
|
_080F36AC:
|
|
ldr r0, _080F36BC
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F36C0
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F36BC: .4byte 0x02021C54
|
|
_080F36C0: .4byte 0x082EA31C
|
|
_080F36C4:
|
|
ldr r0, _080F36E8
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F36EC
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldrb r0, [r5, #0x1c]
|
|
cmp r0, #4
|
|
bls _080F36DE
|
|
b _080F39A8
|
|
_080F36DE:
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F36F0
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F36E8: .4byte 0x02021C54
|
|
_080F36EC: .4byte 0x082EA31C
|
|
_080F36F0: .4byte 0x080F36F4
|
|
_080F36F4: @ jump table
|
|
.4byte _080F3708 @ case 0
|
|
.4byte _080F3714 @ case 1
|
|
.4byte _080F3720 @ case 2
|
|
.4byte _080F372C @ case 3
|
|
.4byte _080F3738 @ case 4
|
|
_080F3708:
|
|
ldr r1, _080F3710
|
|
movs r0, #0xf
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3710: .4byte 0x02039CFC
|
|
_080F3714:
|
|
ldr r1, _080F371C
|
|
movs r0, #0x10
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F371C: .4byte 0x02039CFC
|
|
_080F3720:
|
|
ldr r1, _080F3728
|
|
movs r0, #0x11
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3728: .4byte 0x02039CFC
|
|
_080F372C:
|
|
ldr r1, _080F3734
|
|
movs r0, #0x12
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3734: .4byte 0x02039CFC
|
|
_080F3738:
|
|
ldr r1, _080F3740
|
|
movs r0, #0x13
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3740: .4byte 0x02039CFC
|
|
_080F3744:
|
|
ldr r0, _080F3754
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3758
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F3754: .4byte 0x02021C54
|
|
_080F3758: .4byte 0x082EA31C
|
|
_080F375C:
|
|
ldr r0, _080F376C
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3770
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F376C: .4byte 0x02021C54
|
|
_080F3770: .4byte 0x082EA31C
|
|
_080F3774:
|
|
ldr r0, _080F3784
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3788
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F3784: .4byte 0x02021C54
|
|
_080F3788: .4byte 0x082EA31C
|
|
_080F378C:
|
|
ldr r0, _080F379C
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F37A0
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F379C: .4byte 0x02021C54
|
|
_080F37A0: .4byte 0x082EA31C
|
|
_080F37A4:
|
|
ldr r0, _080F37B4
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F37B8
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F37B4: .4byte 0x02021C54
|
|
_080F37B8: .4byte 0x082EA31C
|
|
_080F37BC:
|
|
ldr r0, _080F37CC
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F37D0
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F37CC: .4byte 0x02021C54
|
|
_080F37D0: .4byte 0x082EA31C
|
|
_080F37D4:
|
|
ldr r0, _080F37E4
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F37E8
|
|
b _080F3806
|
|
.align 2, 0
|
|
_080F37E4: .4byte 0x02021C54
|
|
_080F37E8: .4byte 0x082EA31C
|
|
_080F37EC:
|
|
ldr r0, _080F3814
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3818
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F381C
|
|
ldrh r1, [r5, #0x10]
|
|
lsls r1, r1, #3
|
|
ldr r2, _080F3820
|
|
_080F3806:
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r1, _080F3824
|
|
movs r0, #0x17
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3814: .4byte 0x02021C54
|
|
_080F3818: .4byte 0x082EA31C
|
|
_080F381C: .4byte 0x02021C68
|
|
_080F3820: .4byte 0x082EACC4
|
|
_080F3824: .4byte 0x02039CFC
|
|
_080F3828:
|
|
ldr r0, _080F386C
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r4, _080F3870
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F3874
|
|
adds r1, r5, #4
|
|
bl StringCopy
|
|
ldr r0, _080F3878
|
|
ldrh r2, [r5, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldrb r0, [r5, #0xc]
|
|
cmp r0, #8
|
|
beq _080F38C0
|
|
cmp r0, #8
|
|
bgt _080F3882
|
|
cmp r0, #2
|
|
beq _080F38A8
|
|
cmp r0, #2
|
|
bgt _080F387C
|
|
cmp r0, #1
|
|
beq _080F389A
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F386C: .4byte 0x02021C40
|
|
_080F3870: .4byte 0x082EA31C
|
|
_080F3874: .4byte 0x02021C54
|
|
_080F3878: .4byte 0x02021C68
|
|
_080F387C:
|
|
cmp r0, #4
|
|
beq _080F38B4
|
|
b _080F39A8
|
|
_080F3882:
|
|
cmp r0, #0x20
|
|
beq _080F38D8
|
|
cmp r0, #0x20
|
|
bgt _080F3890
|
|
cmp r0, #0x10
|
|
beq _080F38CC
|
|
b _080F39A8
|
|
_080F3890:
|
|
cmp r0, #0x40
|
|
beq _080F38E4
|
|
cmp r0, #0x80
|
|
beq _080F38F0
|
|
b _080F39A8
|
|
_080F389A:
|
|
ldr r1, _080F38A4
|
|
movs r0, #0x1f
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F38A4: .4byte 0x02039CFC
|
|
_080F38A8:
|
|
ldr r1, _080F38B0
|
|
movs r0, #0x1e
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F38B0: .4byte 0x02039CFC
|
|
_080F38B4:
|
|
ldr r1, _080F38BC
|
|
movs r0, #0x1d
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F38BC: .4byte 0x02039CFC
|
|
_080F38C0:
|
|
ldr r1, _080F38C8
|
|
movs r0, #0x1c
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F38C8: .4byte 0x02039CFC
|
|
_080F38CC:
|
|
ldr r1, _080F38D4
|
|
movs r0, #0x1b
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F38D4: .4byte 0x02039CFC
|
|
_080F38D8:
|
|
ldr r1, _080F38E0
|
|
movs r0, #0x1a
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F38E0: .4byte 0x02039CFC
|
|
_080F38E4:
|
|
ldr r1, _080F38EC
|
|
movs r0, #0x19
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F38EC: .4byte 0x02039CFC
|
|
_080F38F0:
|
|
ldr r1, _080F38F8
|
|
movs r0, #0x18
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F38F8: .4byte 0x02039CFC
|
|
_080F38FC:
|
|
ldr r0, _080F390C
|
|
ldrh r2, [r5, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3910
|
|
adds r1, r1, r2
|
|
b _080F3974
|
|
.align 2, 0
|
|
_080F390C: .4byte 0x02021C40
|
|
_080F3910: .4byte 0x082EA31C
|
|
_080F3914:
|
|
ldr r0, _080F392C
|
|
adds r1, r5, #4
|
|
bl StringCopy
|
|
ldr r0, _080F3930
|
|
ldrh r2, [r5, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3934
|
|
adds r1, r1, r2
|
|
b _080F3974
|
|
.align 2, 0
|
|
_080F392C: .4byte 0x02021C40
|
|
_080F3930: .4byte 0x02021C54
|
|
_080F3934: .4byte 0x082EA31C
|
|
_080F3938:
|
|
movs r0, #0x20
|
|
strb r0, [r2]
|
|
b _080F39A8
|
|
_080F393E:
|
|
ldr r0, _080F3960
|
|
adds r1, r5, #0
|
|
adds r1, #0x14
|
|
bl StringCopy
|
|
ldr r0, _080F3964
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3968
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F396C
|
|
b _080F3972
|
|
.align 2, 0
|
|
_080F3960: .4byte 0x02021C40
|
|
_080F3964: .4byte 0x02021C54
|
|
_080F3968: .4byte 0x082EA31C
|
|
_080F396C: .4byte 0x02021C68
|
|
_080F3970:
|
|
ldr r0, _080F3980
|
|
_080F3972:
|
|
adds r1, r5, #4
|
|
_080F3974:
|
|
bl StringCopy
|
|
ldr r1, _080F3984
|
|
movs r0, #0x20
|
|
strb r0, [r1]
|
|
b _080F39A8
|
|
.align 2, 0
|
|
_080F3980: .4byte 0x02021C40
|
|
_080F3984: .4byte 0x02039CFC
|
|
_080F3988:
|
|
ldr r0, _080F39BC
|
|
adds r1, r5, #0
|
|
adds r1, #0x14
|
|
bl StringCopy
|
|
ldr r0, _080F39C0
|
|
ldrh r2, [r5, #0x12]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F39C4
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
_080F39A8:
|
|
ldr r0, _080F39C8
|
|
lsls r1, r6, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F39BC: .4byte 0x02021C40
|
|
_080F39C0: .4byte 0x02021C54
|
|
_080F39C4: .4byte 0x082EA31C
|
|
_080F39C8: .4byte 0x08568D28
|
|
thumb_func_end DoTVShowPokemonContestLiveUpdates
|
|
|
|
thumb_func_start DoTVShowPokemonBattleUpdate
|
|
DoTVShowPokemonBattleUpdate: @ 0x080F39CC
|
|
push {r4, r5, lr}
|
|
ldr r2, _080F3A00
|
|
ldr r0, _080F3A04
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F3A08
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F3A0C
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F3A10
|
|
ldrb r5, [r0]
|
|
adds r2, r0, #0
|
|
cmp r5, #7
|
|
bls _080F39F4
|
|
b _080F3BD8
|
|
_080F39F4:
|
|
lsls r0, r5, #2
|
|
ldr r1, _080F3A14
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F3A00: .4byte 0x03005AEC
|
|
_080F3A04: .4byte 0x02037280
|
|
_080F3A08: .4byte 0x000027CC
|
|
_080F3A0C: .4byte 0x02037290
|
|
_080F3A10: .4byte 0x02039CFC
|
|
_080F3A14: .4byte 0x080F3A18
|
|
_080F3A18: @ jump table
|
|
.4byte _080F3A38 @ case 0
|
|
.4byte _080F3A56 @ case 1
|
|
.4byte _080F3AA4 @ case 2
|
|
.4byte _080F3AEC @ case 3
|
|
.4byte _080F3B20 @ case 4
|
|
.4byte _080F3B40 @ case 5
|
|
.4byte _080F3B68 @ case 6
|
|
.4byte _080F3BB0 @ case 7
|
|
_080F3A38:
|
|
ldrb r1, [r4, #0x18]
|
|
cmp r1, #0
|
|
bge _080F3A40
|
|
b _080F3BD8
|
|
_080F3A40:
|
|
cmp r1, #1
|
|
ble _080F3A4A
|
|
cmp r1, #2
|
|
beq _080F3A50
|
|
b _080F3BD8
|
|
_080F3A4A:
|
|
movs r0, #1
|
|
strb r0, [r2]
|
|
b _080F3BD8
|
|
_080F3A50:
|
|
movs r0, #5
|
|
strb r0, [r2]
|
|
b _080F3BD8
|
|
_080F3A56:
|
|
ldr r0, _080F3A78
|
|
adds r1, r4, #4
|
|
bl StringCopy
|
|
ldr r0, _080F3A7C
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
ldrb r0, [r4, #0x18]
|
|
cmp r0, #0
|
|
bne _080F3A88
|
|
ldr r0, _080F3A80
|
|
ldr r1, _080F3A84
|
|
bl StringCopy
|
|
b _080F3A90
|
|
.align 2, 0
|
|
_080F3A78: .4byte 0x02021C40
|
|
_080F3A7C: .4byte 0x02021C54
|
|
_080F3A80: .4byte 0x02021C68
|
|
_080F3A84: .4byte 0x085CBFE3
|
|
_080F3A88:
|
|
ldr r0, _080F3A98
|
|
ldr r1, _080F3A9C
|
|
bl StringCopy
|
|
_080F3A90:
|
|
ldr r1, _080F3AA0
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F3BD8
|
|
.align 2, 0
|
|
_080F3A98: .4byte 0x02021C68
|
|
_080F3A9C: .4byte 0x085CBFE8
|
|
_080F3AA0: .4byte 0x02039CFC
|
|
_080F3AA4:
|
|
ldr r0, _080F3AD4
|
|
adds r1, r4, #4
|
|
bl StringCopy
|
|
ldr r0, _080F3AD8
|
|
ldrh r2, [r4, #0x16]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3ADC
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F3AE0
|
|
ldrh r1, [r4, #0x14]
|
|
lsls r1, r1, #3
|
|
ldr r2, _080F3AE4
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r1, _080F3AE8
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F3BD8
|
|
.align 2, 0
|
|
_080F3AD4: .4byte 0x02021C40
|
|
_080F3AD8: .4byte 0x02021C54
|
|
_080F3ADC: .4byte 0x082EA31C
|
|
_080F3AE0: .4byte 0x02021C68
|
|
_080F3AE4: .4byte 0x082EACC4
|
|
_080F3AE8: .4byte 0x02039CFC
|
|
_080F3AEC:
|
|
ldr r0, _080F3B10
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
ldr r0, _080F3B14
|
|
ldrh r2, [r4, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3B18
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r1, _080F3B1C
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F3BD8
|
|
.align 2, 0
|
|
_080F3B10: .4byte 0x02021C40
|
|
_080F3B14: .4byte 0x02021C54
|
|
_080F3B18: .4byte 0x082EA31C
|
|
_080F3B1C: .4byte 0x02039CFC
|
|
_080F3B20:
|
|
ldr r0, _080F3B38
|
|
adds r1, r4, #4
|
|
bl StringCopy
|
|
ldr r0, _080F3B3C
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
b _080F3BD8
|
|
.align 2, 0
|
|
_080F3B38: .4byte 0x02021C40
|
|
_080F3B3C: .4byte 0x02021C54
|
|
_080F3B40:
|
|
ldr r0, _080F3B5C
|
|
adds r1, r4, #4
|
|
bl StringCopy
|
|
ldr r0, _080F3B60
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
ldr r1, _080F3B64
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F3BD8
|
|
.align 2, 0
|
|
_080F3B5C: .4byte 0x02021C40
|
|
_080F3B60: .4byte 0x02021C54
|
|
_080F3B64: .4byte 0x02039CFC
|
|
_080F3B68:
|
|
ldr r0, _080F3B98
|
|
adds r1, r4, #4
|
|
bl StringCopy
|
|
ldr r0, _080F3B9C
|
|
ldrh r2, [r4, #0x16]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3BA0
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F3BA4
|
|
ldrh r1, [r4, #0x14]
|
|
lsls r1, r1, #3
|
|
ldr r2, _080F3BA8
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r1, _080F3BAC
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
b _080F3BD8
|
|
.align 2, 0
|
|
_080F3B98: .4byte 0x02021C40
|
|
_080F3B9C: .4byte 0x02021C54
|
|
_080F3BA0: .4byte 0x082EA31C
|
|
_080F3BA4: .4byte 0x02021C68
|
|
_080F3BA8: .4byte 0x082EACC4
|
|
_080F3BAC: .4byte 0x02039CFC
|
|
_080F3BB0:
|
|
ldr r0, _080F3BEC
|
|
adds r1, r4, #4
|
|
bl StringCopy
|
|
ldr r0, _080F3BF0
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
ldr r0, _080F3BF4
|
|
ldrh r2, [r4, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F3BF8
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
_080F3BD8:
|
|
ldr r0, _080F3BFC
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3BEC: .4byte 0x02021C40
|
|
_080F3BF0: .4byte 0x02021C54
|
|
_080F3BF4: .4byte 0x02021C68
|
|
_080F3BF8: .4byte 0x082EA31C
|
|
_080F3BFC: .4byte 0x08568DAC
|
|
thumb_func_end DoTVShowPokemonBattleUpdate
|
|
|
|
thumb_func_start DoTVShow3CheersForPokeblocks
|
|
DoTVShow3CheersForPokeblocks: @ 0x080F3C00
|
|
push {r4, r5, lr}
|
|
ldr r2, _080F3C30
|
|
ldr r0, _080F3C34
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F3C38
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F3C3C
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F3C40
|
|
ldrb r5, [r0]
|
|
cmp r5, #5
|
|
bls _080F3C26
|
|
b _080F3E94
|
|
_080F3C26:
|
|
lsls r0, r5, #2
|
|
ldr r1, _080F3C44
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F3C30: .4byte 0x03005AEC
|
|
_080F3C34: .4byte 0x02037280
|
|
_080F3C38: .4byte 0x000027CC
|
|
_080F3C3C: .4byte 0x02037290
|
|
_080F3C40: .4byte 0x02039CFC
|
|
_080F3C44: .4byte 0x080F3C48
|
|
_080F3C48: @ jump table
|
|
.4byte _080F3C60 @ case 0
|
|
.4byte _080F3C8C @ case 1
|
|
.4byte _080F3D74 @ case 2
|
|
.4byte _080F3D80 @ case 3
|
|
.4byte _080F3E68 @ case 4
|
|
.4byte _080F3E90 @ case 5
|
|
_080F3C60:
|
|
ldr r0, _080F3C78
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
ldrb r0, [r4, #2]
|
|
cmp r0, #0x14
|
|
bls _080F3C80
|
|
ldr r1, _080F3C7C
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F3E94
|
|
.align 2, 0
|
|
_080F3C78: .4byte 0x02021C40
|
|
_080F3C7C: .4byte 0x02039CFC
|
|
_080F3C80:
|
|
ldr r1, _080F3C88
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F3E94
|
|
.align 2, 0
|
|
_080F3C88: .4byte 0x02039CFC
|
|
_080F3C8C:
|
|
ldrb r0, [r4, #3]
|
|
lsls r0, r0, #0x1d
|
|
lsrs r0, r0, #0x1d
|
|
cmp r0, #4
|
|
bhi _080F3D10
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F3CA0
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F3CA0: .4byte 0x080F3CA4
|
|
_080F3CA4: @ jump table
|
|
.4byte _080F3CB8 @ case 0
|
|
.4byte _080F3CCC @ case 1
|
|
.4byte _080F3CE0 @ case 2
|
|
.4byte _080F3CF4 @ case 3
|
|
.4byte _080F3D08 @ case 4
|
|
_080F3CB8:
|
|
ldr r0, _080F3CC4
|
|
ldr r1, _080F3CC8
|
|
bl StringCopy
|
|
b _080F3D10
|
|
.align 2, 0
|
|
_080F3CC4: .4byte 0x02021C40
|
|
_080F3CC8: .4byte 0x085CBFD3
|
|
_080F3CCC:
|
|
ldr r0, _080F3CD8
|
|
ldr r1, _080F3CDC
|
|
bl StringCopy
|
|
b _080F3D10
|
|
.align 2, 0
|
|
_080F3CD8: .4byte 0x02021C40
|
|
_080F3CDC: .4byte 0x085CBFD6
|
|
_080F3CE0:
|
|
ldr r0, _080F3CEC
|
|
ldr r1, _080F3CF0
|
|
bl StringCopy
|
|
b _080F3D10
|
|
.align 2, 0
|
|
_080F3CEC: .4byte 0x02021C40
|
|
_080F3CF0: .4byte 0x085CBFD9
|
|
_080F3CF4:
|
|
ldr r0, _080F3D00
|
|
ldr r1, _080F3D04
|
|
bl StringCopy
|
|
b _080F3D10
|
|
.align 2, 0
|
|
_080F3D00: .4byte 0x02021C40
|
|
_080F3D04: .4byte 0x085CBFDC
|
|
_080F3D08:
|
|
ldr r0, _080F3D20
|
|
ldr r1, _080F3D24
|
|
bl StringCopy
|
|
_080F3D10:
|
|
ldrb r0, [r4, #2]
|
|
cmp r0, #0x18
|
|
bls _080F3D30
|
|
ldr r0, _080F3D28
|
|
ldr r1, _080F3D2C
|
|
bl StringCopy
|
|
b _080F3D50
|
|
.align 2, 0
|
|
_080F3D20: .4byte 0x02021C40
|
|
_080F3D24: .4byte 0x085CBFDF
|
|
_080F3D28: .4byte 0x02021C54
|
|
_080F3D2C: .4byte 0x085CBFC0
|
|
_080F3D30:
|
|
cmp r0, #0x16
|
|
bls _080F3D48
|
|
ldr r0, _080F3D40
|
|
ldr r1, _080F3D44
|
|
bl StringCopy
|
|
b _080F3D50
|
|
.align 2, 0
|
|
_080F3D40: .4byte 0x02021C54
|
|
_080F3D44: .4byte 0x085CBFBB
|
|
_080F3D48:
|
|
ldr r0, _080F3D64
|
|
ldr r1, _080F3D68
|
|
bl StringCopy
|
|
_080F3D50:
|
|
ldr r0, _080F3D6C
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
ldr r1, _080F3D70
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F3E94
|
|
.align 2, 0
|
|
_080F3D64: .4byte 0x02021C54
|
|
_080F3D68: .4byte 0x085CBFB8
|
|
_080F3D6C: .4byte 0x02021C68
|
|
_080F3D70: .4byte 0x02039CFC
|
|
_080F3D74:
|
|
ldr r0, _080F3D7C
|
|
adds r1, r4, #4
|
|
b _080F3E76
|
|
.align 2, 0
|
|
_080F3D7C: .4byte 0x02021C40
|
|
_080F3D80:
|
|
ldrb r0, [r4, #3]
|
|
lsls r0, r0, #0x1d
|
|
lsrs r0, r0, #0x1d
|
|
cmp r0, #4
|
|
bhi _080F3E04
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F3D94
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F3D94: .4byte 0x080F3D98
|
|
_080F3D98: @ jump table
|
|
.4byte _080F3DAC @ case 0
|
|
.4byte _080F3DC0 @ case 1
|
|
.4byte _080F3DD4 @ case 2
|
|
.4byte _080F3DE8 @ case 3
|
|
.4byte _080F3DFC @ case 4
|
|
_080F3DAC:
|
|
ldr r0, _080F3DB8
|
|
ldr r1, _080F3DBC
|
|
bl StringCopy
|
|
b _080F3E04
|
|
.align 2, 0
|
|
_080F3DB8: .4byte 0x02021C40
|
|
_080F3DBC: .4byte 0x085CBFD3
|
|
_080F3DC0:
|
|
ldr r0, _080F3DCC
|
|
ldr r1, _080F3DD0
|
|
bl StringCopy
|
|
b _080F3E04
|
|
.align 2, 0
|
|
_080F3DCC: .4byte 0x02021C40
|
|
_080F3DD0: .4byte 0x085CBFD6
|
|
_080F3DD4:
|
|
ldr r0, _080F3DE0
|
|
ldr r1, _080F3DE4
|
|
bl StringCopy
|
|
b _080F3E04
|
|
.align 2, 0
|
|
_080F3DE0: .4byte 0x02021C40
|
|
_080F3DE4: .4byte 0x085CBFD9
|
|
_080F3DE8:
|
|
ldr r0, _080F3DF4
|
|
ldr r1, _080F3DF8
|
|
bl StringCopy
|
|
b _080F3E04
|
|
.align 2, 0
|
|
_080F3DF4: .4byte 0x02021C40
|
|
_080F3DF8: .4byte 0x085CBFDC
|
|
_080F3DFC:
|
|
ldr r0, _080F3E14
|
|
ldr r1, _080F3E18
|
|
bl StringCopy
|
|
_080F3E04:
|
|
ldrb r0, [r4, #2]
|
|
cmp r0, #0x10
|
|
bls _080F3E24
|
|
ldr r0, _080F3E1C
|
|
ldr r1, _080F3E20
|
|
bl StringCopy
|
|
b _080F3E44
|
|
.align 2, 0
|
|
_080F3E14: .4byte 0x02021C40
|
|
_080F3E18: .4byte 0x085CBFDF
|
|
_080F3E1C: .4byte 0x02021C54
|
|
_080F3E20: .4byte 0x085CBFC5
|
|
_080F3E24:
|
|
cmp r0, #0xd
|
|
bls _080F3E3C
|
|
ldr r0, _080F3E34
|
|
ldr r1, _080F3E38
|
|
bl StringCopy
|
|
b _080F3E44
|
|
.align 2, 0
|
|
_080F3E34: .4byte 0x02021C54
|
|
_080F3E38: .4byte 0x085CBFCA
|
|
_080F3E3C:
|
|
ldr r0, _080F3E58
|
|
ldr r1, _080F3E5C
|
|
bl StringCopy
|
|
_080F3E44:
|
|
ldr r0, _080F3E60
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
ldr r1, _080F3E64
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F3E94
|
|
.align 2, 0
|
|
_080F3E58: .4byte 0x02021C54
|
|
_080F3E5C: .4byte 0x085CBFCE
|
|
_080F3E60: .4byte 0x02021C68
|
|
_080F3E64: .4byte 0x02039CFC
|
|
_080F3E68:
|
|
ldr r0, _080F3E84
|
|
adds r1, r4, #4
|
|
bl StringCopy
|
|
ldr r0, _080F3E88
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
_080F3E76:
|
|
bl StringCopy
|
|
ldr r1, _080F3E8C
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
b _080F3E94
|
|
.align 2, 0
|
|
_080F3E84: .4byte 0x02021C40
|
|
_080F3E88: .4byte 0x02021C54
|
|
_080F3E8C: .4byte 0x02039CFC
|
|
_080F3E90:
|
|
bl TVShowDone
|
|
_080F3E94:
|
|
ldr r0, _080F3EA8
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F3EA8: .4byte 0x08568CD4
|
|
thumb_func_end DoTVShow3CheersForPokeblocks
|
|
|
|
thumb_func_start DoTVShowInSearchOfTrainers
|
|
DoTVShowInSearchOfTrainers: @ 0x080F3EAC
|
|
push {r4, r5, r6, lr}
|
|
ldr r0, _080F3ECC
|
|
movs r1, #0
|
|
strh r1, [r0]
|
|
ldr r0, _080F3ED0
|
|
ldrb r6, [r0]
|
|
adds r2, r0, #0
|
|
cmp r6, #8
|
|
bls _080F3EC0
|
|
b _080F4064
|
|
_080F3EC0:
|
|
lsls r0, r6, #2
|
|
ldr r1, _080F3ED4
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F3ECC: .4byte 0x02037290
|
|
_080F3ED0: .4byte 0x02039CFC
|
|
_080F3ED4: .4byte 0x080F3ED8
|
|
_080F3ED8: @ jump table
|
|
.4byte _080F3EFC @ case 0
|
|
.4byte _080F3F44 @ case 1
|
|
.4byte _080F3F4A @ case 2
|
|
.4byte _080F3F9C @ case 3
|
|
.4byte _080F4010 @ case 4
|
|
.4byte _080F4010 @ case 5
|
|
.4byte _080F4010 @ case 6
|
|
.4byte _080F4010 @ case 7
|
|
.4byte _080F4016 @ case 8
|
|
_080F3EFC:
|
|
ldr r0, _080F3F24
|
|
ldr r4, _080F3F28
|
|
ldr r1, [r4]
|
|
ldr r2, _080F3F2C
|
|
adds r1, r1, r2
|
|
ldrb r1, [r1]
|
|
movs r2, #0
|
|
bl GetMapName
|
|
ldr r0, [r4]
|
|
ldr r1, _080F3F30
|
|
adds r0, r0, r1
|
|
ldrb r0, [r0]
|
|
cmp r0, #1
|
|
bls _080F3F38
|
|
ldr r1, _080F3F34
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F4064
|
|
.align 2, 0
|
|
_080F3F24: .4byte 0x02021C40
|
|
_080F3F28: .4byte 0x03005AEC
|
|
_080F3F2C: .4byte 0x00002BAC
|
|
_080F3F30: .4byte 0x00002BAD
|
|
_080F3F34: .4byte 0x02039CFC
|
|
_080F3F38:
|
|
ldr r1, _080F3F40
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F4064
|
|
.align 2, 0
|
|
_080F3F40: .4byte 0x02039CFC
|
|
_080F3F44:
|
|
movs r0, #2
|
|
strb r0, [r2]
|
|
b _080F4064
|
|
_080F3F4A:
|
|
ldr r0, _080F3F64
|
|
ldr r0, [r0]
|
|
ldr r1, _080F3F68
|
|
adds r0, r0, r1
|
|
ldrb r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080F3F6C
|
|
movs r0, #4
|
|
strb r0, [r2]
|
|
b _080F4064
|
|
.align 2, 0
|
|
_080F3F64: .4byte 0x03005AEC
|
|
_080F3F68: .4byte 0x00002BAE
|
|
_080F3F6C:
|
|
movs r0, #8
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080F3F7A
|
|
movs r0, #5
|
|
strb r0, [r2]
|
|
b _080F4064
|
|
_080F3F7A:
|
|
movs r0, #4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080F3F88
|
|
movs r0, #6
|
|
strb r0, [r2]
|
|
b _080F4064
|
|
_080F3F88:
|
|
movs r0, #2
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080F3F96
|
|
movs r0, #7
|
|
strb r0, [r2]
|
|
b _080F4064
|
|
_080F3F96:
|
|
movs r0, #3
|
|
strb r0, [r2]
|
|
b _080F4064
|
|
_080F3F9C:
|
|
ldr r0, _080F3FE8
|
|
ldr r4, _080F3FEC
|
|
ldr r1, [r4]
|
|
ldr r2, _080F3FF0
|
|
adds r1, r1, r2
|
|
ldrh r2, [r1]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r5, _080F3FF4
|
|
adds r1, r1, r5
|
|
bl StringCopy
|
|
ldr r0, _080F3FF8
|
|
ldr r1, [r4]
|
|
ldr r2, _080F3FFC
|
|
adds r1, r1, r2
|
|
ldrh r1, [r1]
|
|
lsls r1, r1, #3
|
|
ldr r2, _080F4000
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F4004
|
|
ldr r1, [r4]
|
|
ldr r2, _080F4008
|
|
adds r1, r1, r2
|
|
ldrh r2, [r1]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r5
|
|
bl StringCopy
|
|
ldr r1, _080F400C
|
|
movs r0, #8
|
|
strb r0, [r1]
|
|
b _080F4064
|
|
.align 2, 0
|
|
_080F3FE8: .4byte 0x02021C40
|
|
_080F3FEC: .4byte 0x03005AEC
|
|
_080F3FF0: .4byte 0x00002BA4
|
|
_080F3FF4: .4byte 0x082EA31C
|
|
_080F3FF8: .4byte 0x02021C54
|
|
_080F3FFC: .4byte 0x00002BA8
|
|
_080F4000: .4byte 0x082EACC4
|
|
_080F4004: .4byte 0x02021C68
|
|
_080F4008: .4byte 0x00002BA6
|
|
_080F400C: .4byte 0x02039CFC
|
|
_080F4010:
|
|
movs r0, #8
|
|
strb r0, [r2]
|
|
b _080F4064
|
|
_080F4016:
|
|
ldr r0, _080F4078
|
|
ldr r4, _080F407C
|
|
ldr r1, [r4]
|
|
ldr r2, _080F4080
|
|
adds r1, r1, r2
|
|
ldrh r1, [r1]
|
|
bl CopyEasyChatWord
|
|
ldr r0, _080F4084
|
|
ldr r1, [r4]
|
|
ldr r2, _080F4088
|
|
adds r1, r1, r2
|
|
ldrh r2, [r1]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r5, _080F408C
|
|
adds r1, r1, r5
|
|
bl StringCopy
|
|
ldr r0, _080F4090
|
|
ldr r1, [r4]
|
|
ldr r2, _080F4094
|
|
adds r1, r1, r2
|
|
ldrh r2, [r1]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r5
|
|
bl StringCopy
|
|
ldr r1, _080F4098
|
|
movs r0, #1
|
|
strh r0, [r1]
|
|
ldr r1, _080F409C
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
bl TakeTVShowInSearchOfTrainersOffTheAir
|
|
_080F4064:
|
|
ldr r0, _080F40A0
|
|
lsls r1, r6, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4078: .4byte 0x02021C40
|
|
_080F407C: .4byte 0x03005AEC
|
|
_080F4080: .4byte 0x00002BAA
|
|
_080F4084: .4byte 0x02021C54
|
|
_080F4088: .4byte 0x00002BA4
|
|
_080F408C: .4byte 0x082EA31C
|
|
_080F4090: .4byte 0x02021C68
|
|
_080F4094: .4byte 0x00002BA6
|
|
_080F4098: .4byte 0x02037290
|
|
_080F409C: .4byte 0x02039CFC
|
|
_080F40A0: .4byte 0x08569118
|
|
thumb_func_end DoTVShowInSearchOfTrainers
|
|
|
|
thumb_func_start DoTVShowPokemonAngler
|
|
DoTVShowPokemonAngler: @ 0x080F40A4
|
|
push {r4, r5, lr}
|
|
ldr r2, _080F40D0
|
|
ldr r0, _080F40D4
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F40D8
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r0, _080F40DC
|
|
movs r1, #0
|
|
strh r1, [r0]
|
|
ldrb r0, [r4, #2]
|
|
ldrb r2, [r4, #3]
|
|
cmp r0, r2
|
|
bhs _080F40E4
|
|
ldr r0, _080F40E0
|
|
strb r1, [r0]
|
|
b _080F40EC
|
|
.align 2, 0
|
|
_080F40D0: .4byte 0x03005AEC
|
|
_080F40D4: .4byte 0x02037280
|
|
_080F40D8: .4byte 0x000027CC
|
|
_080F40DC: .4byte 0x02037290
|
|
_080F40E0: .4byte 0x02039CFC
|
|
_080F40E4:
|
|
ldr r1, _080F40F8
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
adds r0, r1, #0
|
|
_080F40EC:
|
|
ldrb r5, [r0]
|
|
cmp r5, #0
|
|
beq _080F40FC
|
|
cmp r5, #1
|
|
beq _080F4134
|
|
b _080F415C
|
|
.align 2, 0
|
|
_080F40F8: .4byte 0x02039CFC
|
|
_080F40FC:
|
|
ldr r0, _080F4128
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F412C
|
|
ldrh r2, [r4, #4]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F4130
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldrb r1, [r4, #3]
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
bl TVShowDone
|
|
b _080F415C
|
|
.align 2, 0
|
|
_080F4128: .4byte 0x02021C40
|
|
_080F412C: .4byte 0x02021C54
|
|
_080F4130: .4byte 0x082EA31C
|
|
_080F4134:
|
|
ldr r0, _080F4170
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F4174
|
|
ldrh r2, [r4, #4]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F4178
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldrb r1, [r4, #2]
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
bl TVShowDone
|
|
_080F415C:
|
|
ldr r0, _080F417C
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4170: .4byte 0x02021C40
|
|
_080F4174: .4byte 0x02021C54
|
|
_080F4178: .4byte 0x082EA31C
|
|
_080F417C: .4byte 0x08568E5C
|
|
thumb_func_end DoTVShowPokemonAngler
|
|
|
|
thumb_func_start DoTVShowTheWorldOfMasters
|
|
DoTVShowTheWorldOfMasters: @ 0x080F4180
|
|
push {r4, r5, r6, lr}
|
|
ldr r2, _080F41B0
|
|
ldr r0, _080F41B4
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F41B8
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F41BC
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r6, _080F41C0
|
|
ldrb r5, [r6]
|
|
cmp r5, #1
|
|
beq _080F41F0
|
|
cmp r5, #1
|
|
bgt _080F41C4
|
|
cmp r5, #0
|
|
beq _080F41CA
|
|
b _080F423A
|
|
.align 2, 0
|
|
_080F41B0: .4byte 0x03005AEC
|
|
_080F41B4: .4byte 0x02037280
|
|
_080F41B8: .4byte 0x000027CC
|
|
_080F41BC: .4byte 0x02037290
|
|
_080F41C0: .4byte 0x02039CFC
|
|
_080F41C4:
|
|
cmp r5, #2
|
|
beq _080F4210
|
|
b _080F423A
|
|
_080F41CA:
|
|
ldr r0, _080F41EC
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrh r1, [r4, #6]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
ldrh r1, [r4, #2]
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
movs r0, #1
|
|
strb r0, [r6]
|
|
b _080F423A
|
|
.align 2, 0
|
|
_080F41EC: .4byte 0x02021C40
|
|
_080F41F0:
|
|
ldr r0, _080F4208
|
|
ldrh r2, [r4, #8]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F420C
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
movs r0, #2
|
|
strb r0, [r6]
|
|
b _080F423A
|
|
.align 2, 0
|
|
_080F4208: .4byte 0x02021C40
|
|
_080F420C: .4byte 0x082EA31C
|
|
_080F4210:
|
|
ldr r0, _080F424C
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F4250
|
|
ldrb r1, [r4, #0xa]
|
|
movs r2, #0
|
|
bl GetMapName
|
|
ldr r0, _080F4254
|
|
ldrh r2, [r4, #4]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F4258
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
_080F423A:
|
|
ldr r0, _080F425C
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F424C: .4byte 0x02021C40
|
|
_080F4250: .4byte 0x02021C54
|
|
_080F4254: .4byte 0x02021C68
|
|
_080F4258: .4byte 0x082EA31C
|
|
_080F425C: .4byte 0x08568E64
|
|
thumb_func_end DoTVShowTheWorldOfMasters
|
|
|
|
thumb_func_start DoTVShowTodaysRivalTrainer
|
|
DoTVShowTodaysRivalTrainer: @ 0x080F4260
|
|
push {r4, r5, lr}
|
|
ldr r2, _080F4294
|
|
ldr r0, _080F4298
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F429C
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F42A0
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F42A4
|
|
ldrb r5, [r0]
|
|
adds r2, r0, #0
|
|
cmp r5, #0xa
|
|
bls _080F4288
|
|
b _080F4456
|
|
_080F4288:
|
|
lsls r0, r5, #2
|
|
ldr r1, _080F42A8
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F4294: .4byte 0x03005AEC
|
|
_080F4298: .4byte 0x02037280
|
|
_080F429C: .4byte 0x000027CC
|
|
_080F42A0: .4byte 0x02037290
|
|
_080F42A4: .4byte 0x02039CFC
|
|
_080F42A8: .4byte 0x080F42AC
|
|
_080F42AC: @ jump table
|
|
.4byte _080F42D8 @ case 0
|
|
.4byte _080F43A0 @ case 1
|
|
.4byte _080F43C8 @ case 2
|
|
.4byte _080F4400 @ case 3
|
|
.4byte _080F4412 @ case 4
|
|
.4byte _080F4434 @ case 5
|
|
.4byte _080F4448 @ case 6
|
|
.4byte _080F430E @ case 7
|
|
.4byte _080F433C @ case 8
|
|
.4byte _080F4354 @ case 9
|
|
.4byte _080F436C @ case 10
|
|
_080F42D8:
|
|
ldrb r0, [r4, #7]
|
|
cmp r0, #0x56
|
|
beq _080F42E8
|
|
cmp r0, #0x57
|
|
beq _080F42EE
|
|
movs r0, #7
|
|
strb r0, [r2]
|
|
b _080F4456
|
|
_080F42E8:
|
|
movs r0, #8
|
|
strb r0, [r2]
|
|
b _080F4456
|
|
_080F42EE:
|
|
ldrh r1, [r4, #0xa]
|
|
ldr r0, _080F4304
|
|
cmp r1, r0
|
|
bgt _080F4308
|
|
subs r0, #2
|
|
cmp r1, r0
|
|
blt _080F4308
|
|
movs r0, #0xa
|
|
strb r0, [r2]
|
|
b _080F4456
|
|
.align 2, 0
|
|
_080F4304: .4byte 0x00000117
|
|
_080F4308:
|
|
movs r0, #9
|
|
strb r0, [r2]
|
|
b _080F4456
|
|
_080F430E:
|
|
ldr r0, _080F4334
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrh r1, [r4, #2]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
ldr r0, _080F4338
|
|
ldrb r1, [r4, #7]
|
|
movs r2, #0
|
|
bl GetMapName
|
|
_080F432A:
|
|
ldrb r0, [r4, #4]
|
|
cmp r0, #0
|
|
bne _080F4384
|
|
b _080F4394
|
|
.align 2, 0
|
|
_080F4334: .4byte 0x02021C40
|
|
_080F4338: .4byte 0x02021C68
|
|
_080F433C:
|
|
ldr r0, _080F4350
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrh r1, [r4, #2]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
b _080F432A
|
|
.align 2, 0
|
|
_080F4350: .4byte 0x02021C40
|
|
_080F4354:
|
|
ldr r0, _080F4368
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrh r1, [r4, #2]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
b _080F432A
|
|
.align 2, 0
|
|
_080F4368: .4byte 0x02021C40
|
|
_080F436C:
|
|
ldr r0, _080F438C
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrh r1, [r4, #2]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
ldrb r0, [r4, #4]
|
|
cmp r0, #0
|
|
beq _080F4394
|
|
_080F4384:
|
|
ldr r1, _080F4390
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F4456
|
|
.align 2, 0
|
|
_080F438C: .4byte 0x02021C40
|
|
_080F4390: .4byte 0x02039CFC
|
|
_080F4394:
|
|
ldr r1, _080F439C
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F4456
|
|
.align 2, 0
|
|
_080F439C: .4byte 0x02039CFC
|
|
_080F43A0:
|
|
ldrb r1, [r4, #4]
|
|
movs r0, #0
|
|
bl TV_PrintIntToStringVar
|
|
ldr r0, _080F43C0
|
|
bl FlagGet
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _080F443C
|
|
ldr r0, [r4, #4]
|
|
ldr r1, _080F43C4
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
bne _080F43DE
|
|
b _080F43F4
|
|
.align 2, 0
|
|
_080F43C0: .4byte 0x000008A8
|
|
_080F43C4: .4byte 0x00FFFF00
|
|
_080F43C8:
|
|
ldr r0, _080F43E8
|
|
bl FlagGet
|
|
lsls r0, r0, #0x18
|
|
cmp r0, #0
|
|
beq _080F443C
|
|
ldr r0, [r4, #4]
|
|
ldr r1, _080F43EC
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080F43F4
|
|
_080F43DE:
|
|
ldr r1, _080F43F0
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F4456
|
|
.align 2, 0
|
|
_080F43E8: .4byte 0x000008A8
|
|
_080F43EC: .4byte 0x00FFFF00
|
|
_080F43F0: .4byte 0x02039CFC
|
|
_080F43F4:
|
|
ldr r1, _080F43FC
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F4456
|
|
.align 2, 0
|
|
_080F43FC: .4byte 0x02039CFC
|
|
_080F4400:
|
|
ldrh r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _080F440C
|
|
movs r0, #6
|
|
strb r0, [r2]
|
|
b _080F4456
|
|
_080F440C:
|
|
movs r0, #5
|
|
strb r0, [r2]
|
|
b _080F4456
|
|
_080F4412:
|
|
ldrb r1, [r4, #6]
|
|
movs r0, #0
|
|
bl TV_PrintIntToStringVar
|
|
ldrb r1, [r4, #5]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
ldrh r0, [r4, #8]
|
|
cmp r0, #0
|
|
beq _080F443C
|
|
ldr r1, _080F4430
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
b _080F4456
|
|
.align 2, 0
|
|
_080F4430: .4byte 0x02039CFC
|
|
_080F4434:
|
|
ldrh r1, [r4, #8]
|
|
movs r0, #0
|
|
bl TV_PrintIntToStringVar
|
|
_080F443C:
|
|
ldr r1, _080F4444
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F4456
|
|
.align 2, 0
|
|
_080F4444: .4byte 0x02039CFC
|
|
_080F4448:
|
|
ldr r0, _080F4468
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
_080F4456:
|
|
ldr r0, _080F446C
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4468: .4byte 0x02021C40
|
|
_080F446C: .4byte 0x08568E70
|
|
thumb_func_end DoTVShowTodaysRivalTrainer
|
|
|
|
thumb_func_start DoTVShowDewfordTrendWatcherNetwork
|
|
DoTVShowDewfordTrendWatcherNetwork: @ 0x080F4470
|
|
push {r4, r5, lr}
|
|
ldr r2, _080F44A0
|
|
ldr r0, _080F44A4
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F44A8
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F44AC
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F44B0
|
|
ldrb r5, [r0]
|
|
cmp r5, #6
|
|
bls _080F4496
|
|
b _080F45C0
|
|
_080F4496:
|
|
lsls r0, r5, #2
|
|
ldr r1, _080F44B4
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F44A0: .4byte 0x03005AEC
|
|
_080F44A4: .4byte 0x02037280
|
|
_080F44A8: .4byte 0x000027CC
|
|
_080F44AC: .4byte 0x02037290
|
|
_080F44B0: .4byte 0x02039CFC
|
|
_080F44B4: .4byte 0x080F44B8
|
|
_080F44B8: @ jump table
|
|
.4byte _080F44D4 @ case 0
|
|
.4byte _080F450C @ case 1
|
|
.4byte _080F450C @ case 2
|
|
.4byte _080F4540 @ case 3
|
|
.4byte _080F4578 @ case 4
|
|
.4byte _080F4578 @ case 5
|
|
.4byte _080F45AC @ case 6
|
|
_080F44D4:
|
|
ldr r0, _080F44F4
|
|
ldrh r1, [r4, #4]
|
|
bl CopyEasyChatWord
|
|
ldr r0, _080F44F8
|
|
ldrh r1, [r4, #6]
|
|
bl CopyEasyChatWord
|
|
ldrb r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _080F4500
|
|
ldr r1, _080F44FC
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F45C0
|
|
.align 2, 0
|
|
_080F44F4: .4byte 0x02021C40
|
|
_080F44F8: .4byte 0x02021C54
|
|
_080F44FC: .4byte 0x02039CFC
|
|
_080F4500:
|
|
ldr r1, _080F4508
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F45C0
|
|
.align 2, 0
|
|
_080F4508: .4byte 0x02039CFC
|
|
_080F450C:
|
|
ldr r0, _080F4530
|
|
ldrh r1, [r4, #4]
|
|
bl CopyEasyChatWord
|
|
ldr r0, _080F4534
|
|
ldrh r1, [r4, #6]
|
|
bl CopyEasyChatWord
|
|
ldr r0, _080F4538
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r1, _080F453C
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F45C0
|
|
.align 2, 0
|
|
_080F4530: .4byte 0x02021C40
|
|
_080F4534: .4byte 0x02021C54
|
|
_080F4538: .4byte 0x02021C68
|
|
_080F453C: .4byte 0x02039CFC
|
|
_080F4540:
|
|
ldr r0, _080F4560
|
|
ldrh r1, [r4, #4]
|
|
bl CopyEasyChatWord
|
|
ldr r0, _080F4564
|
|
ldrh r1, [r4, #6]
|
|
bl CopyEasyChatWord
|
|
ldrb r0, [r4, #8]
|
|
cmp r0, #0
|
|
bne _080F456C
|
|
ldr r1, _080F4568
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F45C0
|
|
.align 2, 0
|
|
_080F4560: .4byte 0x02021C40
|
|
_080F4564: .4byte 0x02021C54
|
|
_080F4568: .4byte 0x02039CFC
|
|
_080F456C:
|
|
ldr r1, _080F4574
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
b _080F45C0
|
|
.align 2, 0
|
|
_080F4574: .4byte 0x02039CFC
|
|
_080F4578:
|
|
ldr r0, _080F459C
|
|
ldrh r1, [r4, #4]
|
|
bl CopyEasyChatWord
|
|
ldr r0, _080F45A0
|
|
ldrh r1, [r4, #6]
|
|
bl CopyEasyChatWord
|
|
ldr r0, _080F45A4
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r1, _080F45A8
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F45C0
|
|
.align 2, 0
|
|
_080F459C: .4byte 0x02021C40
|
|
_080F45A0: .4byte 0x02021C54
|
|
_080F45A4: .4byte 0x02021C68
|
|
_080F45A8: .4byte 0x02039CFC
|
|
_080F45AC:
|
|
ldr r0, _080F45D4
|
|
ldrh r1, [r4, #4]
|
|
bl CopyEasyChatWord
|
|
ldr r0, _080F45D8
|
|
ldrh r1, [r4, #6]
|
|
bl CopyEasyChatWord
|
|
bl TVShowDone
|
|
_080F45C0:
|
|
ldr r0, _080F45DC
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F45D4: .4byte 0x02021C40
|
|
_080F45D8: .4byte 0x02021C54
|
|
_080F45DC: .4byte 0x08568E9C
|
|
thumb_func_end DoTVShowDewfordTrendWatcherNetwork
|
|
|
|
thumb_func_start DoTVShowHoennTreasureInvestigators
|
|
DoTVShowHoennTreasureInvestigators: @ 0x080F45E0
|
|
push {r4, r5, r6, r7, lr}
|
|
ldr r2, _080F4610
|
|
ldr r0, _080F4614
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F4618
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r5, r1, r0
|
|
ldr r1, _080F461C
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r7, _080F4620
|
|
ldrb r6, [r7]
|
|
cmp r6, #1
|
|
beq _080F466E
|
|
cmp r6, #1
|
|
bgt _080F4624
|
|
cmp r6, #0
|
|
beq _080F462A
|
|
b _080F46C2
|
|
.align 2, 0
|
|
_080F4610: .4byte 0x03005AEC
|
|
_080F4614: .4byte 0x02037280
|
|
_080F4618: .4byte 0x000027CC
|
|
_080F461C: .4byte 0x02037290
|
|
_080F4620: .4byte 0x02039CFC
|
|
_080F4624:
|
|
cmp r6, #2
|
|
beq _080F46A4
|
|
b _080F46C2
|
|
_080F462A:
|
|
ldr r4, _080F4654
|
|
ldrh r0, [r5, #2]
|
|
bl ItemId_GetName
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl StringCopy
|
|
ldrb r0, [r5, #4]
|
|
cmp r0, #0x57
|
|
bne _080F4668
|
|
ldrh r1, [r5, #6]
|
|
ldr r0, _080F4658
|
|
cmp r1, r0
|
|
bgt _080F465C
|
|
subs r0, #2
|
|
cmp r1, r0
|
|
blt _080F465C
|
|
movs r0, #2
|
|
strb r0, [r7]
|
|
b _080F46C2
|
|
.align 2, 0
|
|
_080F4654: .4byte 0x02021C40
|
|
_080F4658: .4byte 0x00000117
|
|
_080F465C:
|
|
ldr r1, _080F4664
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F46C2
|
|
.align 2, 0
|
|
_080F4664: .4byte 0x02039CFC
|
|
_080F4668:
|
|
movs r0, #1
|
|
strb r0, [r7]
|
|
b _080F46C2
|
|
_080F466E:
|
|
ldr r4, _080F4698
|
|
ldrh r0, [r5, #2]
|
|
bl ItemId_GetName
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl StringCopy
|
|
ldr r0, _080F469C
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F46A0
|
|
ldrb r1, [r5, #4]
|
|
movs r2, #0
|
|
bl GetMapName
|
|
bl TVShowDone
|
|
b _080F46C2
|
|
.align 2, 0
|
|
_080F4698: .4byte 0x02021C40
|
|
_080F469C: .4byte 0x02021C54
|
|
_080F46A0: .4byte 0x02021C68
|
|
_080F46A4:
|
|
ldr r4, _080F46D4
|
|
ldrh r0, [r5, #2]
|
|
bl ItemId_GetName
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl StringCopy
|
|
ldr r0, _080F46D8
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
_080F46C2:
|
|
ldr r0, _080F46DC
|
|
lsls r1, r6, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F46D4: .4byte 0x02021C40
|
|
_080F46D8: .4byte 0x02021C54
|
|
_080F46DC: .4byte 0x08568EB8
|
|
thumb_func_end DoTVShowHoennTreasureInvestigators
|
|
|
|
thumb_func_start DoTVShowFindThatGamer
|
|
DoTVShowFindThatGamer: @ 0x080F46E0
|
|
push {r4, r5, lr}
|
|
ldr r2, _080F4710
|
|
ldr r0, _080F4714
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F4718
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F471C
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F4720
|
|
ldrb r5, [r0]
|
|
cmp r5, #1
|
|
beq _080F478C
|
|
cmp r5, #1
|
|
bgt _080F4724
|
|
cmp r5, #0
|
|
beq _080F4730
|
|
b _080F486C
|
|
.align 2, 0
|
|
_080F4710: .4byte 0x03005AEC
|
|
_080F4714: .4byte 0x02037280
|
|
_080F4718: .4byte 0x000027CC
|
|
_080F471C: .4byte 0x02037290
|
|
_080F4720: .4byte 0x02039CFC
|
|
_080F4724:
|
|
cmp r5, #2
|
|
beq _080F47DC
|
|
cmp r5, #3
|
|
bne _080F472E
|
|
b _080F4830
|
|
_080F472E:
|
|
b _080F486C
|
|
_080F4730:
|
|
ldr r0, _080F4748
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0
|
|
beq _080F474C
|
|
cmp r0, #1
|
|
beq _080F4760
|
|
b _080F4768
|
|
.align 2, 0
|
|
_080F4748: .4byte 0x02021C40
|
|
_080F474C:
|
|
ldr r0, _080F4758
|
|
ldr r1, _080F475C
|
|
bl StringCopy
|
|
b _080F4768
|
|
.align 2, 0
|
|
_080F4758: .4byte 0x02021C54
|
|
_080F475C: .4byte 0x085CBFAD
|
|
_080F4760:
|
|
ldr r0, _080F4774
|
|
ldr r1, _080F4778
|
|
bl StringCopy
|
|
_080F4768:
|
|
ldrb r1, [r4, #2]
|
|
cmp r1, #1
|
|
bne _080F4780
|
|
ldr r0, _080F477C
|
|
strb r1, [r0]
|
|
b _080F486C
|
|
.align 2, 0
|
|
_080F4774: .4byte 0x02021C54
|
|
_080F4778: .4byte 0x085CBFB2
|
|
_080F477C: .4byte 0x02039CFC
|
|
_080F4780:
|
|
ldr r1, _080F4788
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F486C
|
|
.align 2, 0
|
|
_080F4788: .4byte 0x02039CFC
|
|
_080F478C:
|
|
ldr r0, _080F47A4
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0
|
|
beq _080F47A8
|
|
cmp r0, #1
|
|
beq _080F47BC
|
|
b _080F47C4
|
|
.align 2, 0
|
|
_080F47A4: .4byte 0x02021C40
|
|
_080F47A8:
|
|
ldr r0, _080F47B4
|
|
ldr r1, _080F47B8
|
|
bl StringCopy
|
|
b _080F47C4
|
|
.align 2, 0
|
|
_080F47B4: .4byte 0x02021C54
|
|
_080F47B8: .4byte 0x085CBFAD
|
|
_080F47BC:
|
|
ldr r0, _080F47D4
|
|
ldr r1, _080F47D8
|
|
bl StringCopy
|
|
_080F47C4:
|
|
ldrh r1, [r4, #4]
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
bl TVShowDone
|
|
b _080F486C
|
|
.align 2, 0
|
|
_080F47D4: .4byte 0x02021C54
|
|
_080F47D8: .4byte 0x085CBFB2
|
|
_080F47DC:
|
|
ldr r0, _080F47F4
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0
|
|
beq _080F47F8
|
|
cmp r0, #1
|
|
beq _080F480C
|
|
b _080F4814
|
|
.align 2, 0
|
|
_080F47F4: .4byte 0x02021C40
|
|
_080F47F8:
|
|
ldr r0, _080F4804
|
|
ldr r1, _080F4808
|
|
bl StringCopy
|
|
b _080F4814
|
|
.align 2, 0
|
|
_080F4804: .4byte 0x02021C54
|
|
_080F4808: .4byte 0x085CBFAD
|
|
_080F480C:
|
|
ldr r0, _080F4824
|
|
ldr r1, _080F4828
|
|
bl StringCopy
|
|
_080F4814:
|
|
ldrh r1, [r4, #4]
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
ldr r1, _080F482C
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F486C
|
|
.align 2, 0
|
|
_080F4824: .4byte 0x02021C54
|
|
_080F4828: .4byte 0x085CBFB2
|
|
_080F482C: .4byte 0x02039CFC
|
|
_080F4830:
|
|
ldr r0, _080F4848
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrb r1, [r4, #3]
|
|
cmp r1, #0
|
|
beq _080F484C
|
|
cmp r1, #1
|
|
beq _080F4860
|
|
b _080F4868
|
|
.align 2, 0
|
|
_080F4848: .4byte 0x02021C40
|
|
_080F484C:
|
|
ldr r0, _080F4858
|
|
ldr r1, _080F485C
|
|
bl StringCopy
|
|
b _080F4868
|
|
.align 2, 0
|
|
_080F4858: .4byte 0x02021C54
|
|
_080F485C: .4byte 0x085CBFB2
|
|
_080F4860:
|
|
ldr r0, _080F4880
|
|
ldr r1, _080F4884
|
|
bl StringCopy
|
|
_080F4868:
|
|
bl TVShowDone
|
|
_080F486C:
|
|
ldr r0, _080F4888
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4880: .4byte 0x02021C54
|
|
_080F4884: .4byte 0x085CBFAD
|
|
_080F4888: .4byte 0x08568EC4
|
|
thumb_func_end DoTVShowFindThatGamer
|
|
|
|
thumb_func_start DoTVShowBreakingNewsTV
|
|
DoTVShowBreakingNewsTV: @ 0x080F488C
|
|
push {r4, r5, r6, lr}
|
|
ldr r2, _080F48C0
|
|
ldr r0, _080F48C4
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F48C8
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r5, r1, r0
|
|
ldr r1, _080F48CC
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F48D0
|
|
ldrb r6, [r0]
|
|
adds r2, r0, #0
|
|
cmp r6, #0xc
|
|
bls _080F48B4
|
|
b _080F4BA2
|
|
_080F48B4:
|
|
lsls r0, r6, #2
|
|
ldr r1, _080F48D4
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F48C0: .4byte 0x03005AEC
|
|
_080F48C4: .4byte 0x02037280
|
|
_080F48C8: .4byte 0x000027CC
|
|
_080F48CC: .4byte 0x02037290
|
|
_080F48D0: .4byte 0x02039CFC
|
|
_080F48D4: .4byte 0x080F48D8
|
|
_080F48D8: @ jump table
|
|
.4byte _080F490C @ case 0
|
|
.4byte _080F491E @ case 1
|
|
.4byte _080F4960 @ case 2
|
|
.4byte _080F49A8 @ case 3
|
|
.4byte _080F49D0 @ case 4
|
|
.4byte _080F49F4 @ case 5
|
|
.4byte _080F4A38 @ case 6
|
|
.4byte _080F4AC0 @ case 7
|
|
.4byte _080F4B38 @ case 8
|
|
.4byte _080F4B50 @ case 9
|
|
.4byte _080F4B50 @ case 10
|
|
.4byte _080F4B94 @ case 11
|
|
.4byte _080F4AF0 @ case 12
|
|
_080F490C:
|
|
ldrb r0, [r5, #5]
|
|
cmp r0, #0
|
|
bne _080F4918
|
|
movs r0, #1
|
|
strb r0, [r2]
|
|
b _080F4BA2
|
|
_080F4918:
|
|
movs r0, #5
|
|
strb r0, [r2]
|
|
b _080F4BA2
|
|
_080F491E:
|
|
ldr r0, _080F494C
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F4950
|
|
ldrh r2, [r5, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F4954
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F4958
|
|
ldrb r1, [r5, #4]
|
|
movs r2, #0
|
|
bl GetMapName
|
|
ldr r1, _080F495C
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F4BA2
|
|
.align 2, 0
|
|
_080F494C: .4byte 0x02021C40
|
|
_080F4950: .4byte 0x02021C54
|
|
_080F4954: .4byte 0x082EA31C
|
|
_080F4958: .4byte 0x02021C68
|
|
_080F495C: .4byte 0x02039CFC
|
|
_080F4960:
|
|
ldr r0, _080F4994
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F4998
|
|
ldrh r2, [r5, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r4, _080F499C
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F49A0
|
|
ldrh r2, [r5, #0xa]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r1, _080F49A4
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F4BA2
|
|
.align 2, 0
|
|
_080F4994: .4byte 0x02021C40
|
|
_080F4998: .4byte 0x02021C54
|
|
_080F499C: .4byte 0x082EA31C
|
|
_080F49A0: .4byte 0x02021C68
|
|
_080F49A4: .4byte 0x02039CFC
|
|
_080F49A8:
|
|
ldrh r1, [r5, #8]
|
|
movs r0, #0
|
|
bl TV_PrintIntToStringVar
|
|
ldr r4, _080F49C8
|
|
ldrh r0, [r5, #6]
|
|
bl ItemId_GetName
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl StringCopy
|
|
ldr r1, _080F49CC
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F4BA2
|
|
.align 2, 0
|
|
_080F49C8: .4byte 0x02021C54
|
|
_080F49CC: .4byte 0x02039CFC
|
|
_080F49D0:
|
|
ldr r0, _080F49EC
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F49F0
|
|
ldrb r1, [r5, #4]
|
|
movs r2, #0
|
|
bl GetMapName
|
|
bl TVShowDone
|
|
b _080F4BA2
|
|
.align 2, 0
|
|
_080F49EC: .4byte 0x02021C40
|
|
_080F49F0: .4byte 0x02021C54
|
|
_080F49F4:
|
|
ldr r0, _080F4A24
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F4A28
|
|
ldrh r2, [r5, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F4A2C
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F4A30
|
|
ldrb r1, [r5, #4]
|
|
movs r2, #0
|
|
bl GetMapName
|
|
ldr r1, _080F4A34
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F4BA2
|
|
.align 2, 0
|
|
_080F4A24: .4byte 0x02021C40
|
|
_080F4A28: .4byte 0x02021C54
|
|
_080F4A2C: .4byte 0x082EA31C
|
|
_080F4A30: .4byte 0x02021C68
|
|
_080F4A34: .4byte 0x02039CFC
|
|
_080F4A38:
|
|
ldr r0, _080F4A74
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F4A78
|
|
ldrh r2, [r5, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r4, _080F4A7C
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F4A80
|
|
ldrh r2, [r5, #0xa]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldrb r0, [r5, #5]
|
|
cmp r0, #2
|
|
beq _080F4AA8
|
|
cmp r0, #2
|
|
bgt _080F4A84
|
|
cmp r0, #1
|
|
beq _080F4A8A
|
|
b _080F4BA2
|
|
.align 2, 0
|
|
_080F4A74: .4byte 0x02021C40
|
|
_080F4A78: .4byte 0x02021C54
|
|
_080F4A7C: .4byte 0x082EA31C
|
|
_080F4A80: .4byte 0x02021C68
|
|
_080F4A84:
|
|
cmp r0, #3
|
|
beq _080F4AB4
|
|
b _080F4BA2
|
|
_080F4A8A:
|
|
ldrh r0, [r5, #0xc]
|
|
cmp r0, #0
|
|
bne _080F4A9C
|
|
ldr r1, _080F4A98
|
|
movs r0, #0xc
|
|
strb r0, [r1]
|
|
b _080F4BA2
|
|
.align 2, 0
|
|
_080F4A98: .4byte 0x02039CFC
|
|
_080F4A9C:
|
|
ldr r1, _080F4AA4
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
b _080F4BA2
|
|
.align 2, 0
|
|
_080F4AA4: .4byte 0x02039CFC
|
|
_080F4AA8:
|
|
ldr r1, _080F4AB0
|
|
movs r0, #9
|
|
strb r0, [r1]
|
|
b _080F4BA2
|
|
.align 2, 0
|
|
_080F4AB0: .4byte 0x02039CFC
|
|
_080F4AB4:
|
|
ldr r1, _080F4ABC
|
|
movs r0, #0xa
|
|
strb r0, [r1]
|
|
b _080F4BA2
|
|
.align 2, 0
|
|
_080F4ABC: .4byte 0x02039CFC
|
|
_080F4AC0:
|
|
ldr r0, _080F4AE0
|
|
ldrh r1, [r5, #0xc]
|
|
lsls r1, r1, #3
|
|
ldr r2, _080F4AE4
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F4AE8
|
|
ldrh r2, [r5, #0xa]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F4AEC
|
|
adds r1, r1, r2
|
|
b _080F4B18
|
|
.align 2, 0
|
|
_080F4AE0: .4byte 0x02021C40
|
|
_080F4AE4: .4byte 0x082EACC4
|
|
_080F4AE8: .4byte 0x02021C54
|
|
_080F4AEC: .4byte 0x082EA31C
|
|
_080F4AF0:
|
|
ldr r0, _080F4B24
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F4B28
|
|
ldrh r2, [r5, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r4, _080F4B2C
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F4B30
|
|
ldrh r2, [r5, #0xa]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r4
|
|
_080F4B18:
|
|
bl StringCopy
|
|
ldr r1, _080F4B34
|
|
movs r0, #8
|
|
strb r0, [r1]
|
|
b _080F4BA2
|
|
.align 2, 0
|
|
_080F4B24: .4byte 0x02021C40
|
|
_080F4B28: .4byte 0x02021C54
|
|
_080F4B2C: .4byte 0x082EA31C
|
|
_080F4B30: .4byte 0x02021C68
|
|
_080F4B34: .4byte 0x02039CFC
|
|
_080F4B38:
|
|
ldr r0, _080F4B48
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F4B4C
|
|
b _080F4B6E
|
|
.align 2, 0
|
|
_080F4B48: .4byte 0x02021C40
|
|
_080F4B4C: .4byte 0x02021C54
|
|
_080F4B50:
|
|
ldr r0, _080F4B80
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F4B84
|
|
ldrh r2, [r5, #2]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F4B88
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F4B8C
|
|
_080F4B6E:
|
|
ldrb r1, [r5, #4]
|
|
movs r2, #0
|
|
bl GetMapName
|
|
ldr r1, _080F4B90
|
|
movs r0, #0xb
|
|
strb r0, [r1]
|
|
b _080F4BA2
|
|
.align 2, 0
|
|
_080F4B80: .4byte 0x02021C40
|
|
_080F4B84: .4byte 0x02021C54
|
|
_080F4B88: .4byte 0x082EA31C
|
|
_080F4B8C: .4byte 0x02021C68
|
|
_080F4B90: .4byte 0x02039CFC
|
|
_080F4B94:
|
|
ldr r0, _080F4BB4
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
_080F4BA2:
|
|
ldr r0, _080F4BB8
|
|
lsls r1, r6, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4BB4: .4byte 0x02021C40
|
|
_080F4BB8: .4byte 0x08568ED4
|
|
thumb_func_end DoTVShowBreakingNewsTV
|
|
|
|
thumb_func_start DoTVShowSecretBaseVisit
|
|
DoTVShowSecretBaseVisit: @ 0x080F4BBC
|
|
push {r4, r5, r6, lr}
|
|
ldr r2, _080F4BF0
|
|
ldr r0, _080F4BF4
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F4BF8
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r5, r1, r0
|
|
ldr r1, _080F4BFC
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F4C00
|
|
ldrb r6, [r0]
|
|
adds r2, r0, #0
|
|
cmp r6, #0xd
|
|
bls _080F4BE4
|
|
b _080F4DF4
|
|
_080F4BE4:
|
|
lsls r0, r6, #2
|
|
ldr r1, _080F4C04
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F4BF0: .4byte 0x03005AEC
|
|
_080F4BF4: .4byte 0x02037280
|
|
_080F4BF8: .4byte 0x000027CC
|
|
_080F4BFC: .4byte 0x02037290
|
|
_080F4C00: .4byte 0x02039CFC
|
|
_080F4C04: .4byte 0x080F4C08
|
|
_080F4C08: @ jump table
|
|
.4byte _080F4C40 @ case 0
|
|
.4byte _080F4C6C @ case 1
|
|
.4byte _080F4D50 @ case 2
|
|
.4byte _080F4CA4 @ case 3
|
|
.4byte _080F4D50 @ case 4
|
|
.4byte _080F4CFC @ case 5
|
|
.4byte _080F4D28 @ case 6
|
|
.4byte _080F4D50 @ case 7
|
|
.4byte _080F4D56 @ case 8
|
|
.4byte _080F4DA4 @ case 9
|
|
.4byte _080F4DA4 @ case 10
|
|
.4byte _080F4DA4 @ case 11
|
|
.4byte _080F4DA4 @ case 12
|
|
.4byte _080F4DF0 @ case 13
|
|
_080F4C40:
|
|
ldr r0, _080F4C58
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrb r0, [r5, #3]
|
|
cmp r0, #0
|
|
bne _080F4C60
|
|
ldr r1, _080F4C5C
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F4DF4
|
|
.align 2, 0
|
|
_080F4C58: .4byte 0x02021C40
|
|
_080F4C5C: .4byte 0x02039CFC
|
|
_080F4C60:
|
|
ldr r1, _080F4C68
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F4DF4
|
|
.align 2, 0
|
|
_080F4C68: .4byte 0x02039CFC
|
|
_080F4C6C:
|
|
ldr r0, _080F4C8C
|
|
ldrb r2, [r5, #4]
|
|
lsls r1, r2, #3
|
|
subs r1, r1, r2
|
|
lsls r1, r1, #2
|
|
ldr r2, _080F4C90
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldrb r0, [r5, #3]
|
|
cmp r0, #1
|
|
bne _080F4C98
|
|
ldr r1, _080F4C94
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F4DF4
|
|
.align 2, 0
|
|
_080F4C8C: .4byte 0x02021C54
|
|
_080F4C90: .4byte 0x08580CD1
|
|
_080F4C94: .4byte 0x02039CFC
|
|
_080F4C98:
|
|
ldr r1, _080F4CA0
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F4DF4
|
|
.align 2, 0
|
|
_080F4CA0: .4byte 0x02039CFC
|
|
_080F4CA4:
|
|
ldr r0, _080F4CC8
|
|
ldrb r2, [r5, #5]
|
|
lsls r1, r2, #3
|
|
subs r1, r1, r2
|
|
lsls r1, r1, #2
|
|
ldr r2, _080F4CCC
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldrb r1, [r5, #3]
|
|
cmp r1, #3
|
|
beq _080F4CE4
|
|
cmp r1, #3
|
|
bgt _080F4CD0
|
|
cmp r1, #2
|
|
beq _080F4CD6
|
|
b _080F4DF4
|
|
.align 2, 0
|
|
_080F4CC8: .4byte 0x02021C54
|
|
_080F4CCC: .4byte 0x08580CD1
|
|
_080F4CD0:
|
|
cmp r1, #4
|
|
beq _080F4CF0
|
|
b _080F4DF4
|
|
_080F4CD6:
|
|
ldr r1, _080F4CE0
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
b _080F4DF4
|
|
.align 2, 0
|
|
_080F4CE0: .4byte 0x02039CFC
|
|
_080F4CE4:
|
|
ldr r1, _080F4CEC
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F4DF4
|
|
.align 2, 0
|
|
_080F4CEC: .4byte 0x02039CFC
|
|
_080F4CF0:
|
|
ldr r1, _080F4CF8
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
b _080F4DF4
|
|
.align 2, 0
|
|
_080F4CF8: .4byte 0x02039CFC
|
|
_080F4CFC:
|
|
ldr r0, _080F4D1C
|
|
ldrb r2, [r5, #6]
|
|
lsls r1, r2, #3
|
|
subs r1, r1, r2
|
|
lsls r1, r1, #2
|
|
ldr r4, _080F4D20
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F4D24
|
|
ldrb r2, [r5, #7]
|
|
lsls r1, r2, #3
|
|
subs r1, r1, r2
|
|
lsls r1, r1, #2
|
|
adds r1, r1, r4
|
|
b _080F4D36
|
|
.align 2, 0
|
|
_080F4D1C: .4byte 0x02021C54
|
|
_080F4D20: .4byte 0x08580CD1
|
|
_080F4D24: .4byte 0x02021C68
|
|
_080F4D28:
|
|
ldr r0, _080F4D44
|
|
ldrb r2, [r5, #6]
|
|
lsls r1, r2, #3
|
|
subs r1, r1, r2
|
|
lsls r1, r1, #2
|
|
ldr r2, _080F4D48
|
|
adds r1, r1, r2
|
|
_080F4D36:
|
|
bl StringCopy
|
|
ldr r1, _080F4D4C
|
|
movs r0, #8
|
|
strb r0, [r1]
|
|
b _080F4DF4
|
|
.align 2, 0
|
|
_080F4D44: .4byte 0x02021C54
|
|
_080F4D48: .4byte 0x08580CD1
|
|
_080F4D4C: .4byte 0x02039CFC
|
|
_080F4D50:
|
|
movs r0, #8
|
|
strb r0, [r2]
|
|
b _080F4DF4
|
|
_080F4D56:
|
|
ldr r0, _080F4D70
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrb r1, [r5, #2]
|
|
cmp r1, #0x18
|
|
bhi _080F4D78
|
|
ldr r1, _080F4D74
|
|
movs r0, #0xc
|
|
strb r0, [r1]
|
|
b _080F4DF4
|
|
.align 2, 0
|
|
_080F4D70: .4byte 0x02021C40
|
|
_080F4D74: .4byte 0x02039CFC
|
|
_080F4D78:
|
|
cmp r1, #0x31
|
|
bhi _080F4D88
|
|
ldr r1, _080F4D84
|
|
movs r0, #0xb
|
|
strb r0, [r1]
|
|
b _080F4DF4
|
|
.align 2, 0
|
|
_080F4D84: .4byte 0x02039CFC
|
|
_080F4D88:
|
|
cmp r1, #0x45
|
|
bhi _080F4D98
|
|
ldr r1, _080F4D94
|
|
movs r0, #0xa
|
|
strb r0, [r1]
|
|
b _080F4DF4
|
|
.align 2, 0
|
|
_080F4D94: .4byte 0x02039CFC
|
|
_080F4D98:
|
|
ldr r1, _080F4DA0
|
|
movs r0, #9
|
|
strb r0, [r1]
|
|
b _080F4DF4
|
|
.align 2, 0
|
|
_080F4DA0: .4byte 0x02039CFC
|
|
_080F4DA4:
|
|
ldr r0, _080F4DD8
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F4DDC
|
|
ldrh r2, [r5, #8]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F4DE0
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F4DE4
|
|
ldrh r1, [r5, #0xa]
|
|
lsls r1, r1, #3
|
|
ldr r2, _080F4DE8
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r1, _080F4DEC
|
|
movs r0, #0xd
|
|
strb r0, [r1]
|
|
b _080F4DF4
|
|
.align 2, 0
|
|
_080F4DD8: .4byte 0x02021C40
|
|
_080F4DDC: .4byte 0x02021C54
|
|
_080F4DE0: .4byte 0x082EA31C
|
|
_080F4DE4: .4byte 0x02021C68
|
|
_080F4DE8: .4byte 0x082EACC4
|
|
_080F4DEC: .4byte 0x02039CFC
|
|
_080F4DF0:
|
|
bl TVShowDone
|
|
_080F4DF4:
|
|
ldr r0, _080F4E08
|
|
lsls r1, r6, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4E08: .4byte 0x08568F08
|
|
thumb_func_end DoTVShowSecretBaseVisit
|
|
|
|
thumb_func_start DoTVShowPokemonLotteryWinnerFlashReport
|
|
DoTVShowPokemonLotteryWinnerFlashReport: @ 0x080F4E0C
|
|
push {r4, r5, r6, lr}
|
|
ldr r2, _080F4E48
|
|
ldr r0, _080F4E4C
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F4E50
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r5, r1, r0
|
|
ldr r1, _080F4E54
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F4E58
|
|
ldrb r6, [r0]
|
|
ldr r0, _080F4E5C
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrb r0, [r5, #4]
|
|
cmp r0, #0
|
|
bne _080F4E68
|
|
ldr r0, _080F4E60
|
|
ldr r1, _080F4E64
|
|
bl StringCopy
|
|
b _080F4E70
|
|
.align 2, 0
|
|
_080F4E48: .4byte 0x03005AEC
|
|
_080F4E4C: .4byte 0x02037280
|
|
_080F4E50: .4byte 0x000027CC
|
|
_080F4E54: .4byte 0x02037290
|
|
_080F4E58: .4byte 0x02039CFC
|
|
_080F4E5C: .4byte 0x02021C40
|
|
_080F4E60: .4byte 0x02021C54
|
|
_080F4E64: .4byte 0x085CBFEC
|
|
_080F4E68:
|
|
ldrb r1, [r5, #4]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
_080F4E70:
|
|
ldr r4, _080F4E98
|
|
ldrh r0, [r5, #2]
|
|
bl ItemId_GetName
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
ldr r1, _080F4E9C
|
|
lsls r0, r6, #2
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F4E98: .4byte 0x02021C68
|
|
_080F4E9C: .4byte 0x08568F40
|
|
thumb_func_end DoTVShowPokemonLotteryWinnerFlashReport
|
|
|
|
thumb_func_start DoTVShowThePokemonBattleSeminar
|
|
DoTVShowThePokemonBattleSeminar: @ 0x080F4EA0
|
|
push {r4, r5, r6, lr}
|
|
ldr r2, _080F4ED0
|
|
ldr r0, _080F4ED4
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F4ED8
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r5, r1, r0
|
|
ldr r1, _080F4EDC
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F4EE0
|
|
ldrb r6, [r0]
|
|
cmp r6, #6
|
|
bls _080F4EC6
|
|
b _080F508A
|
|
_080F4EC6:
|
|
lsls r0, r6, #2
|
|
ldr r1, _080F4EE4
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F4ED0: .4byte 0x03005AEC
|
|
_080F4ED4: .4byte 0x02037280
|
|
_080F4ED8: .4byte 0x000027CC
|
|
_080F4EDC: .4byte 0x02037290
|
|
_080F4EE0: .4byte 0x02039CFC
|
|
_080F4EE4: .4byte 0x080F4EE8
|
|
_080F4EE8: @ jump table
|
|
.4byte _080F4F04 @ case 0
|
|
.4byte _080F4F4C @ case 1
|
|
.4byte _080F4F98 @ case 2
|
|
.4byte _080F4FF0 @ case 3
|
|
.4byte _080F5024 @ case 4
|
|
.4byte _080F5048 @ case 5
|
|
.4byte _080F506C @ case 6
|
|
_080F4F04:
|
|
ldr r0, _080F4F38
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F4F3C
|
|
ldrh r2, [r5, #6]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r4, _080F4F40
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F4F44
|
|
ldrh r2, [r5, #4]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r1, _080F4F48
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F508A
|
|
.align 2, 0
|
|
_080F4F38: .4byte 0x02021C40
|
|
_080F4F3C: .4byte 0x02021C54
|
|
_080F4F40: .4byte 0x082EA31C
|
|
_080F4F44: .4byte 0x02021C68
|
|
_080F4F48: .4byte 0x02039CFC
|
|
_080F4F4C:
|
|
ldr r0, _080F4F80
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F4F84
|
|
ldrh r2, [r5, #4]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F4F88
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r0, _080F4F8C
|
|
ldrh r1, [r5, #2]
|
|
lsls r1, r1, #3
|
|
ldr r2, _080F4F90
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldr r1, _080F4F94
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F508A
|
|
.align 2, 0
|
|
_080F4F80: .4byte 0x02021C40
|
|
_080F4F84: .4byte 0x02021C54
|
|
_080F4F88: .4byte 0x082EA31C
|
|
_080F4F8C: .4byte 0x02021C68
|
|
_080F4F90: .4byte 0x082EACC4
|
|
_080F4F94: .4byte 0x02039CFC
|
|
_080F4F98:
|
|
ldr r0, _080F4FBC
|
|
ldrh r2, [r5, #6]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F4FC0
|
|
adds r1, r1, r2
|
|
bl StringCopy
|
|
ldrb r1, [r5, #0x10]
|
|
cmp r1, #2
|
|
beq _080F4FD8
|
|
cmp r1, #2
|
|
bgt _080F4FC4
|
|
cmp r1, #1
|
|
beq _080F4FCA
|
|
b _080F5056
|
|
.align 2, 0
|
|
_080F4FBC: .4byte 0x02021C40
|
|
_080F4FC0: .4byte 0x082EA31C
|
|
_080F4FC4:
|
|
cmp r1, #3
|
|
beq _080F4FE4
|
|
b _080F5056
|
|
_080F4FCA:
|
|
ldr r1, _080F4FD4
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
b _080F508A
|
|
.align 2, 0
|
|
_080F4FD4: .4byte 0x02039CFC
|
|
_080F4FD8:
|
|
ldr r1, _080F4FE0
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F508A
|
|
.align 2, 0
|
|
_080F4FE0: .4byte 0x02039CFC
|
|
_080F4FE4:
|
|
ldr r0, _080F4FEC
|
|
strb r1, [r0]
|
|
b _080F508A
|
|
.align 2, 0
|
|
_080F4FEC: .4byte 0x02039CFC
|
|
_080F4FF0:
|
|
ldr r0, _080F5014
|
|
ldrh r1, [r5, #8]
|
|
lsls r1, r1, #3
|
|
ldr r4, _080F5018
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F501C
|
|
ldrh r1, [r5, #0xa]
|
|
lsls r1, r1, #3
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F5020
|
|
ldrh r1, [r5, #0xc]
|
|
lsls r1, r1, #3
|
|
adds r1, r1, r4
|
|
b _080F5052
|
|
.align 2, 0
|
|
_080F5014: .4byte 0x02021C40
|
|
_080F5018: .4byte 0x082EACC4
|
|
_080F501C: .4byte 0x02021C54
|
|
_080F5020: .4byte 0x02021C68
|
|
_080F5024:
|
|
ldr r0, _080F503C
|
|
ldrh r1, [r5, #8]
|
|
lsls r1, r1, #3
|
|
ldr r4, _080F5040
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F5044
|
|
ldrh r1, [r5, #0xa]
|
|
lsls r1, r1, #3
|
|
adds r1, r1, r4
|
|
b _080F5052
|
|
.align 2, 0
|
|
_080F503C: .4byte 0x02021C40
|
|
_080F5040: .4byte 0x082EACC4
|
|
_080F5044: .4byte 0x02021C54
|
|
_080F5048:
|
|
ldr r0, _080F5060
|
|
ldrh r1, [r5, #8]
|
|
lsls r1, r1, #3
|
|
ldr r2, _080F5064
|
|
adds r1, r1, r2
|
|
_080F5052:
|
|
bl StringCopy
|
|
_080F5056:
|
|
ldr r1, _080F5068
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F508A
|
|
.align 2, 0
|
|
_080F5060: .4byte 0x02021C54
|
|
_080F5064: .4byte 0x082EACC4
|
|
_080F5068: .4byte 0x02039CFC
|
|
_080F506C:
|
|
ldr r0, _080F509C
|
|
ldrh r1, [r5, #0xe]
|
|
lsls r1, r1, #3
|
|
ldr r4, _080F50A0
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F50A4
|
|
ldrh r1, [r5, #2]
|
|
lsls r1, r1, #3
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
_080F508A:
|
|
ldr r0, _080F50A8
|
|
lsls r1, r6, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F509C: .4byte 0x02021C40
|
|
_080F50A0: .4byte 0x082EACC4
|
|
_080F50A4: .4byte 0x02021C54
|
|
_080F50A8: .4byte 0x08568F44
|
|
thumb_func_end DoTVShowThePokemonBattleSeminar
|
|
|
|
thumb_func_start DoTVShowTrainerFanClubSpecial
|
|
DoTVShowTrainerFanClubSpecial: @ 0x080F50AC
|
|
push {r4, r5, lr}
|
|
ldr r2, _080F50DC
|
|
ldr r0, _080F50E0
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F50E4
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F50E8
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F50EC
|
|
ldrb r5, [r0]
|
|
cmp r5, #5
|
|
bls _080F50D2
|
|
b _080F51BE
|
|
_080F50D2:
|
|
lsls r0, r5, #2
|
|
ldr r1, _080F50F0
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F50DC: .4byte 0x03005AEC
|
|
_080F50E0: .4byte 0x02037280
|
|
_080F50E4: .4byte 0x000027CC
|
|
_080F50E8: .4byte 0x02037290
|
|
_080F50EC: .4byte 0x02039CFC
|
|
_080F50F0: .4byte 0x080F50F4
|
|
_080F50F4: @ jump table
|
|
.4byte _080F510C @ case 0
|
|
.4byte _080F5170 @ case 1
|
|
.4byte _080F5170 @ case 2
|
|
.4byte _080F5170 @ case 3
|
|
.4byte _080F5170 @ case 4
|
|
.4byte _080F51A0 @ case 5
|
|
_080F510C:
|
|
ldr r0, _080F5134
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
ldr r0, _080F5138
|
|
adds r1, r4, #2
|
|
bl StringCopy
|
|
ldr r0, _080F513C
|
|
ldrh r1, [r4, #0x14]
|
|
bl CopyEasyChatWord
|
|
ldrb r1, [r4, #0x16]
|
|
cmp r1, #0x59
|
|
bls _080F5144
|
|
ldr r1, _080F5140
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F51BE
|
|
.align 2, 0
|
|
_080F5134: .4byte 0x02021C40
|
|
_080F5138: .4byte 0x02021C54
|
|
_080F513C: .4byte 0x02021C68
|
|
_080F5140: .4byte 0x02039CFC
|
|
_080F5144:
|
|
cmp r1, #0x45
|
|
bls _080F5154
|
|
ldr r1, _080F5150
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F51BE
|
|
.align 2, 0
|
|
_080F5150: .4byte 0x02039CFC
|
|
_080F5154:
|
|
cmp r1, #0x1d
|
|
bls _080F5164
|
|
ldr r1, _080F5160
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F51BE
|
|
.align 2, 0
|
|
_080F5160: .4byte 0x02039CFC
|
|
_080F5164:
|
|
ldr r1, _080F516C
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F51BE
|
|
.align 2, 0
|
|
_080F516C: .4byte 0x02039CFC
|
|
_080F5170:
|
|
ldr r0, _080F5194
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
ldr r0, _080F5198
|
|
adds r1, r4, #2
|
|
bl StringCopy
|
|
ldrb r1, [r4, #0x16]
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
ldr r1, _080F519C
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
b _080F51BE
|
|
.align 2, 0
|
|
_080F5194: .4byte 0x02021C40
|
|
_080F5198: .4byte 0x02021C54
|
|
_080F519C: .4byte 0x02039CFC
|
|
_080F51A0:
|
|
ldr r0, _080F51D0
|
|
adds r1, r4, #0
|
|
adds r1, #0xc
|
|
bl StringCopy
|
|
ldr r0, _080F51D4
|
|
adds r1, r4, #2
|
|
bl StringCopy
|
|
ldr r0, _080F51D8
|
|
ldrh r1, [r4, #0x14]
|
|
bl CopyEasyChatWord
|
|
bl TVShowDone
|
|
_080F51BE:
|
|
ldr r0, _080F51DC
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F51D0: .4byte 0x02021C40
|
|
_080F51D4: .4byte 0x02021C54
|
|
_080F51D8: .4byte 0x02021C68
|
|
_080F51DC: .4byte 0x08568DCC
|
|
thumb_func_end DoTVShowTrainerFanClubSpecial
|
|
|
|
thumb_func_start DoTVShowTrainerFanClub
|
|
DoTVShowTrainerFanClub: @ 0x080F51E0
|
|
push {r4, r5, lr}
|
|
ldr r2, _080F5214
|
|
ldr r0, _080F5218
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F521C
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F5220
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F5224
|
|
ldrb r5, [r0]
|
|
adds r2, r0, #0
|
|
cmp r5, #0xb
|
|
bls _080F5208
|
|
b _080F5358
|
|
_080F5208:
|
|
lsls r0, r5, #2
|
|
ldr r1, _080F5228
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F5214: .4byte 0x03005AEC
|
|
_080F5218: .4byte 0x02037280
|
|
_080F521C: .4byte 0x000027CC
|
|
_080F5220: .4byte 0x02037290
|
|
_080F5224: .4byte 0x02039CFC
|
|
_080F5228: .4byte 0x080F522C
|
|
_080F522C: @ jump table
|
|
.4byte _080F525C @ case 0
|
|
.4byte _080F5334 @ case 1
|
|
.4byte _080F5334 @ case 2
|
|
.4byte _080F5334 @ case 3
|
|
.4byte _080F5334 @ case 4
|
|
.4byte _080F5334 @ case 5
|
|
.4byte _080F5334 @ case 6
|
|
.4byte _080F5334 @ case 7
|
|
.4byte _080F5334 @ case 8
|
|
.4byte _080F5334 @ case 9
|
|
.4byte _080F5334 @ case 10
|
|
.4byte _080F533A @ case 11
|
|
_080F525C:
|
|
ldr r0, _080F528C
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
adds r0, r4, #0
|
|
adds r0, #0x23
|
|
ldrb r0, [r0]
|
|
lsls r0, r0, #8
|
|
adds r1, r4, #0
|
|
adds r1, #0x22
|
|
ldrb r1, [r1]
|
|
adds r0, r0, r1
|
|
movs r1, #0xa
|
|
bl __umodsi3
|
|
cmp r0, #9
|
|
bls _080F5282
|
|
b _080F5358
|
|
_080F5282:
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F5290
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F528C: .4byte 0x02021C40
|
|
_080F5290: .4byte 0x080F5294
|
|
_080F5294: @ jump table
|
|
.4byte _080F52BC @ case 0
|
|
.4byte _080F52C8 @ case 1
|
|
.4byte _080F52D4 @ case 2
|
|
.4byte _080F52E0 @ case 3
|
|
.4byte _080F52EC @ case 4
|
|
.4byte _080F52F8 @ case 5
|
|
.4byte _080F5304 @ case 6
|
|
.4byte _080F5310 @ case 7
|
|
.4byte _080F531C @ case 8
|
|
.4byte _080F5328 @ case 9
|
|
_080F52BC:
|
|
ldr r1, _080F52C4
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F5358
|
|
.align 2, 0
|
|
_080F52C4: .4byte 0x02039CFC
|
|
_080F52C8:
|
|
ldr r1, _080F52D0
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F5358
|
|
.align 2, 0
|
|
_080F52D0: .4byte 0x02039CFC
|
|
_080F52D4:
|
|
ldr r1, _080F52DC
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F5358
|
|
.align 2, 0
|
|
_080F52DC: .4byte 0x02039CFC
|
|
_080F52E0:
|
|
ldr r1, _080F52E8
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F5358
|
|
.align 2, 0
|
|
_080F52E8: .4byte 0x02039CFC
|
|
_080F52EC:
|
|
ldr r1, _080F52F4
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
b _080F5358
|
|
.align 2, 0
|
|
_080F52F4: .4byte 0x02039CFC
|
|
_080F52F8:
|
|
ldr r1, _080F5300
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F5358
|
|
.align 2, 0
|
|
_080F5300: .4byte 0x02039CFC
|
|
_080F5304:
|
|
ldr r1, _080F530C
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
b _080F5358
|
|
.align 2, 0
|
|
_080F530C: .4byte 0x02039CFC
|
|
_080F5310:
|
|
ldr r1, _080F5318
|
|
movs r0, #8
|
|
strb r0, [r1]
|
|
b _080F5358
|
|
.align 2, 0
|
|
_080F5318: .4byte 0x02039CFC
|
|
_080F531C:
|
|
ldr r1, _080F5324
|
|
movs r0, #9
|
|
strb r0, [r1]
|
|
b _080F5358
|
|
.align 2, 0
|
|
_080F5324: .4byte 0x02039CFC
|
|
_080F5328:
|
|
ldr r1, _080F5330
|
|
movs r0, #0xa
|
|
strb r0, [r1]
|
|
b _080F5358
|
|
.align 2, 0
|
|
_080F5330: .4byte 0x02039CFC
|
|
_080F5334:
|
|
movs r0, #0xb
|
|
strb r0, [r2]
|
|
b _080F5358
|
|
_080F533A:
|
|
ldr r0, _080F536C
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F5370
|
|
ldrh r1, [r4, #4]
|
|
bl CopyEasyChatWord
|
|
ldr r0, _080F5374
|
|
ldrh r1, [r4, #6]
|
|
bl CopyEasyChatWord
|
|
bl TVShowDone
|
|
_080F5358:
|
|
ldr r0, _080F5378
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F536C: .4byte 0x02021C40
|
|
_080F5370: .4byte 0x02021C54
|
|
_080F5374: .4byte 0x02021C68
|
|
_080F5378: .4byte 0x08568F60
|
|
thumb_func_end DoTVShowTrainerFanClub
|
|
|
|
thumb_func_start DoTVShowSpotTheCuties
|
|
DoTVShowSpotTheCuties: @ 0x080F537C
|
|
push {r4, r5, lr}
|
|
ldr r2, _080F53AC
|
|
ldr r0, _080F53B0
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F53B4
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F53B8
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F53BC
|
|
ldrb r5, [r0]
|
|
cmp r5, #0xf
|
|
bls _080F53A2
|
|
b _080F5598
|
|
_080F53A2:
|
|
lsls r0, r5, #2
|
|
ldr r1, _080F53C0
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F53AC: .4byte 0x03005AEC
|
|
_080F53B0: .4byte 0x02037280
|
|
_080F53B4: .4byte 0x000027CC
|
|
_080F53B8: .4byte 0x02037290
|
|
_080F53BC: .4byte 0x02039CFC
|
|
_080F53C0: .4byte 0x080F53C4
|
|
_080F53C4: @ jump table
|
|
.4byte _080F5404 @ case 0
|
|
.4byte _080F544C @ case 1
|
|
.4byte _080F544C @ case 2
|
|
.4byte _080F544C @ case 3
|
|
.4byte _080F547C @ case 4
|
|
.4byte _080F557C @ case 5
|
|
.4byte _080F557C @ case 6
|
|
.4byte _080F557C @ case 7
|
|
.4byte _080F557C @ case 8
|
|
.4byte _080F557C @ case 9
|
|
.4byte _080F557C @ case 10
|
|
.4byte _080F557C @ case 11
|
|
.4byte _080F557C @ case 12
|
|
.4byte _080F557C @ case 13
|
|
.4byte _080F557C @ case 14
|
|
.4byte _080F5594 @ case 15
|
|
_080F5404:
|
|
ldr r0, _080F5424
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F5428
|
|
adds r1, r4, #4
|
|
bl StringCopy
|
|
ldrb r1, [r4, #2]
|
|
cmp r1, #9
|
|
bhi _080F5430
|
|
ldr r1, _080F542C
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F5424: .4byte 0x02021C40
|
|
_080F5428: .4byte 0x02021C54
|
|
_080F542C: .4byte 0x02039CFC
|
|
_080F5430:
|
|
cmp r1, #0x13
|
|
bhi _080F5440
|
|
ldr r1, _080F543C
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F543C: .4byte 0x02039CFC
|
|
_080F5440:
|
|
ldr r1, _080F5448
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F5448: .4byte 0x02039CFC
|
|
_080F544C:
|
|
ldr r0, _080F5470
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r0, _080F5474
|
|
adds r1, r4, #4
|
|
bl StringCopy
|
|
ldrb r1, [r4, #2]
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
ldr r1, _080F5478
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F5470: .4byte 0x02021C40
|
|
_080F5474: .4byte 0x02021C54
|
|
_080F5478: .4byte 0x02039CFC
|
|
_080F547C:
|
|
ldr r0, _080F5498
|
|
adds r1, r4, #4
|
|
bl StringCopy
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0x18
|
|
bls _080F548C
|
|
b _080F5598
|
|
_080F548C:
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F549C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F5498: .4byte 0x02021C54
|
|
_080F549C: .4byte 0x080F54A0
|
|
_080F54A0: @ jump table
|
|
.4byte _080F5504 @ case 0
|
|
.4byte _080F5510 @ case 1
|
|
.4byte _080F5510 @ case 2
|
|
.4byte _080F5510 @ case 3
|
|
.4byte _080F5510 @ case 4
|
|
.4byte _080F551C @ case 5
|
|
.4byte _080F551C @ case 6
|
|
.4byte _080F551C @ case 7
|
|
.4byte _080F551C @ case 8
|
|
.4byte _080F5528 @ case 9
|
|
.4byte _080F5528 @ case 10
|
|
.4byte _080F5528 @ case 11
|
|
.4byte _080F5528 @ case 12
|
|
.4byte _080F5534 @ case 13
|
|
.4byte _080F5534 @ case 14
|
|
.4byte _080F5534 @ case 15
|
|
.4byte _080F5534 @ case 16
|
|
.4byte _080F5540 @ case 17
|
|
.4byte _080F5540 @ case 18
|
|
.4byte _080F5540 @ case 19
|
|
.4byte _080F5540 @ case 20
|
|
.4byte _080F554C @ case 21
|
|
.4byte _080F5558 @ case 22
|
|
.4byte _080F5564 @ case 23
|
|
.4byte _080F5570 @ case 24
|
|
_080F5504:
|
|
ldr r1, _080F550C
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F550C: .4byte 0x02039CFC
|
|
_080F5510:
|
|
ldr r1, _080F5518
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F5518: .4byte 0x02039CFC
|
|
_080F551C:
|
|
ldr r1, _080F5524
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F5524: .4byte 0x02039CFC
|
|
_080F5528:
|
|
ldr r1, _080F5530
|
|
movs r0, #8
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F5530: .4byte 0x02039CFC
|
|
_080F5534:
|
|
ldr r1, _080F553C
|
|
movs r0, #9
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F553C: .4byte 0x02039CFC
|
|
_080F5540:
|
|
ldr r1, _080F5548
|
|
movs r0, #0xa
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F5548: .4byte 0x02039CFC
|
|
_080F554C:
|
|
ldr r1, _080F5554
|
|
movs r0, #0xb
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F5554: .4byte 0x02039CFC
|
|
_080F5558:
|
|
ldr r1, _080F5560
|
|
movs r0, #0xc
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F5560: .4byte 0x02039CFC
|
|
_080F5564:
|
|
ldr r1, _080F556C
|
|
movs r0, #0xd
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F556C: .4byte 0x02039CFC
|
|
_080F5570:
|
|
ldr r1, _080F5578
|
|
movs r0, #0xe
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F5578: .4byte 0x02039CFC
|
|
_080F557C:
|
|
ldr r0, _080F558C
|
|
adds r1, r4, #4
|
|
bl StringCopy
|
|
ldr r1, _080F5590
|
|
movs r0, #0xf
|
|
strb r0, [r1]
|
|
b _080F5598
|
|
.align 2, 0
|
|
_080F558C: .4byte 0x02021C54
|
|
_080F5590: .4byte 0x02039CFC
|
|
_080F5594:
|
|
bl TVShowDone
|
|
_080F5598:
|
|
ldr r0, _080F55AC
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F55AC: .4byte 0x08568F90
|
|
thumb_func_end DoTVShowSpotTheCuties
|
|
|
|
thumb_func_start DoTVShowPokemonNewsBattleFrontier
|
|
DoTVShowPokemonNewsBattleFrontier: @ 0x080F55B0
|
|
push {r4, r5, r6, lr}
|
|
ldr r2, _080F55E4
|
|
ldr r0, _080F55E8
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F55EC
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r5, r1, r0
|
|
ldr r1, _080F55F0
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F55F4
|
|
ldrb r6, [r0]
|
|
adds r2, r0, #0
|
|
cmp r6, #0x12
|
|
bls _080F55D8
|
|
b _080F583E
|
|
_080F55D8:
|
|
lsls r0, r6, #2
|
|
ldr r1, _080F55F8
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F55E4: .4byte 0x03005AEC
|
|
_080F55E8: .4byte 0x02037280
|
|
_080F55EC: .4byte 0x000027CC
|
|
_080F55F0: .4byte 0x02037290
|
|
_080F55F4: .4byte 0x02039CFC
|
|
_080F55F8: .4byte 0x080F55FC
|
|
_080F55FC: @ jump table
|
|
.4byte _080F5648 @ case 0
|
|
.4byte _080F5728 @ case 1
|
|
.4byte _080F56E2 @ case 2
|
|
.4byte _080F5704 @ case 3
|
|
.4byte _080F5704 @ case 4
|
|
.4byte _080F5728 @ case 5
|
|
.4byte _080F5728 @ case 6
|
|
.4byte _080F5728 @ case 7
|
|
.4byte _080F5728 @ case 8
|
|
.4byte _080F5728 @ case 9
|
|
.4byte _080F5728 @ case 10
|
|
.4byte _080F5728 @ case 11
|
|
.4byte _080F5728 @ case 12
|
|
.4byte _080F5728 @ case 13
|
|
.4byte _080F574C @ case 14
|
|
.4byte _080F578C @ case 15
|
|
.4byte _080F57B8 @ case 16
|
|
.4byte _080F5808 @ case 17
|
|
.4byte _080F5830 @ case 18
|
|
_080F5648:
|
|
ldrb r0, [r5, #0xd]
|
|
subs r0, #1
|
|
cmp r0, #0xc
|
|
bls _080F5652
|
|
b _080F583E
|
|
_080F5652:
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F565C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F565C: .4byte 0x080F5660
|
|
_080F5660: @ jump table
|
|
.4byte _080F5694 @ case 0
|
|
.4byte _080F569A @ case 1
|
|
.4byte _080F56A0 @ case 2
|
|
.4byte _080F56A6 @ case 3
|
|
.4byte _080F56AC @ case 4
|
|
.4byte _080F56B2 @ case 5
|
|
.4byte _080F56B8 @ case 6
|
|
.4byte _080F56BE @ case 7
|
|
.4byte _080F56C4 @ case 8
|
|
.4byte _080F56CA @ case 9
|
|
.4byte _080F56D0 @ case 10
|
|
.4byte _080F56D6 @ case 11
|
|
.4byte _080F56DC @ case 12
|
|
_080F5694:
|
|
movs r0, #1
|
|
strb r0, [r2]
|
|
b _080F583E
|
|
_080F569A:
|
|
movs r0, #2
|
|
strb r0, [r2]
|
|
b _080F583E
|
|
_080F56A0:
|
|
movs r0, #3
|
|
strb r0, [r2]
|
|
b _080F583E
|
|
_080F56A6:
|
|
movs r0, #4
|
|
strb r0, [r2]
|
|
b _080F583E
|
|
_080F56AC:
|
|
movs r0, #5
|
|
strb r0, [r2]
|
|
b _080F583E
|
|
_080F56B2:
|
|
movs r0, #6
|
|
strb r0, [r2]
|
|
b _080F583E
|
|
_080F56B8:
|
|
movs r0, #7
|
|
strb r0, [r2]
|
|
b _080F583E
|
|
_080F56BE:
|
|
movs r0, #8
|
|
strb r0, [r2]
|
|
b _080F583E
|
|
_080F56C4:
|
|
movs r0, #9
|
|
strb r0, [r2]
|
|
b _080F583E
|
|
_080F56CA:
|
|
movs r0, #0xa
|
|
strb r0, [r2]
|
|
b _080F583E
|
|
_080F56D0:
|
|
movs r0, #0xb
|
|
strb r0, [r2]
|
|
b _080F583E
|
|
_080F56D6:
|
|
movs r0, #0xc
|
|
strb r0, [r2]
|
|
b _080F583E
|
|
_080F56DC:
|
|
movs r0, #0xd
|
|
strb r0, [r2]
|
|
b _080F583E
|
|
_080F56E2:
|
|
ldr r0, _080F56FC
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrh r1, [r5, #2]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
ldr r1, _080F5700
|
|
movs r0, #0x10
|
|
strb r0, [r1]
|
|
b _080F583E
|
|
.align 2, 0
|
|
_080F56FC: .4byte 0x02021C40
|
|
_080F5700: .4byte 0x02039CFC
|
|
_080F5704:
|
|
ldr r0, _080F5720
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrh r1, [r5, #2]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
ldr r1, _080F5724
|
|
movs r0, #0xf
|
|
strb r0, [r1]
|
|
b _080F583E
|
|
.align 2, 0
|
|
_080F5720: .4byte 0x02021C40
|
|
_080F5724: .4byte 0x02039CFC
|
|
_080F5728:
|
|
ldr r0, _080F5744
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrh r1, [r5, #2]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
ldr r1, _080F5748
|
|
movs r0, #0xe
|
|
strb r0, [r1]
|
|
b _080F583E
|
|
.align 2, 0
|
|
_080F5744: .4byte 0x02021C40
|
|
_080F5748: .4byte 0x02039CFC
|
|
_080F574C:
|
|
ldr r0, _080F577C
|
|
ldrh r2, [r5, #4]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r4, _080F5780
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F5784
|
|
ldrh r2, [r5, #6]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F5788
|
|
ldrh r2, [r5, #8]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r4
|
|
b _080F5816
|
|
.align 2, 0
|
|
_080F577C: .4byte 0x02021C40
|
|
_080F5780: .4byte 0x082EA31C
|
|
_080F5784: .4byte 0x02021C54
|
|
_080F5788: .4byte 0x02021C68
|
|
_080F578C:
|
|
ldr r0, _080F57AC
|
|
ldrh r2, [r5, #4]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r4, _080F57B0
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F57B4
|
|
ldrh r2, [r5, #6]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r4
|
|
b _080F5816
|
|
.align 2, 0
|
|
_080F57AC: .4byte 0x02021C40
|
|
_080F57B0: .4byte 0x082EA31C
|
|
_080F57B4: .4byte 0x02021C54
|
|
_080F57B8:
|
|
ldr r0, _080F57F4
|
|
ldrh r2, [r5, #4]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r4, _080F57F8
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F57FC
|
|
ldrh r2, [r5, #6]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r0, _080F5800
|
|
ldrh r2, [r5, #8]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
adds r1, r1, r4
|
|
bl StringCopy
|
|
ldr r1, _080F5804
|
|
movs r0, #0x11
|
|
strb r0, [r1]
|
|
b _080F583E
|
|
.align 2, 0
|
|
_080F57F4: .4byte 0x02021C40
|
|
_080F57F8: .4byte 0x082EA31C
|
|
_080F57FC: .4byte 0x02021C54
|
|
_080F5800: .4byte 0x02021C68
|
|
_080F5804: .4byte 0x02039CFC
|
|
_080F5808:
|
|
ldr r0, _080F5824
|
|
ldrh r2, [r5, #0xa]
|
|
lsls r1, r2, #1
|
|
adds r1, r1, r2
|
|
lsls r1, r1, #1
|
|
ldr r2, _080F5828
|
|
adds r1, r1, r2
|
|
_080F5816:
|
|
bl StringCopy
|
|
ldr r1, _080F582C
|
|
movs r0, #0x12
|
|
strb r0, [r1]
|
|
b _080F583E
|
|
.align 2, 0
|
|
_080F5824: .4byte 0x02021C40
|
|
_080F5828: .4byte 0x082EA31C
|
|
_080F582C: .4byte 0x02039CFC
|
|
_080F5830:
|
|
ldr r0, _080F5850
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
_080F583E:
|
|
ldr r0, _080F5854
|
|
lsls r1, r6, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F5850: .4byte 0x02021C40
|
|
_080F5854: .4byte 0x08568FD0
|
|
thumb_func_end DoTVShowPokemonNewsBattleFrontier
|
|
|
|
thumb_func_start DoTVShowWhatsNo1InHoennToday
|
|
DoTVShowWhatsNo1InHoennToday: @ 0x080F5858
|
|
push {r4, r5, lr}
|
|
ldr r2, _080F5888
|
|
ldr r0, _080F588C
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F5890
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F5894
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F5898
|
|
ldrb r5, [r0]
|
|
cmp r5, #8
|
|
bls _080F587E
|
|
b _080F598A
|
|
_080F587E:
|
|
lsls r0, r5, #2
|
|
ldr r1, _080F589C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F5888: .4byte 0x03005AEC
|
|
_080F588C: .4byte 0x02037280
|
|
_080F5890: .4byte 0x000027CC
|
|
_080F5894: .4byte 0x02037290
|
|
_080F5898: .4byte 0x02039CFC
|
|
_080F589C: .4byte 0x080F58A0
|
|
_080F58A0: @ jump table
|
|
.4byte _080F58C4 @ case 0
|
|
.4byte _080F5958 @ case 1
|
|
.4byte _080F5958 @ case 2
|
|
.4byte _080F5958 @ case 3
|
|
.4byte _080F5958 @ case 4
|
|
.4byte _080F5958 @ case 5
|
|
.4byte _080F5958 @ case 6
|
|
.4byte _080F5958 @ case 7
|
|
.4byte _080F597C @ case 8
|
|
_080F58C4:
|
|
ldr r0, _080F58E0
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrb r0, [r4, #4]
|
|
cmp r0, #6
|
|
bhi _080F598A
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F58E4
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F58E0: .4byte 0x02021C40
|
|
_080F58E4: .4byte 0x080F58E8
|
|
_080F58E8: @ jump table
|
|
.4byte _080F5904 @ case 0
|
|
.4byte _080F5910 @ case 1
|
|
.4byte _080F591C @ case 2
|
|
.4byte _080F5928 @ case 3
|
|
.4byte _080F5934 @ case 4
|
|
.4byte _080F5940 @ case 5
|
|
.4byte _080F594C @ case 6
|
|
_080F5904:
|
|
ldr r1, _080F590C
|
|
movs r0, #1
|
|
strb r0, [r1]
|
|
b _080F598A
|
|
.align 2, 0
|
|
_080F590C: .4byte 0x02039CFC
|
|
_080F5910:
|
|
ldr r1, _080F5918
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F598A
|
|
.align 2, 0
|
|
_080F5918: .4byte 0x02039CFC
|
|
_080F591C:
|
|
ldr r1, _080F5924
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F598A
|
|
.align 2, 0
|
|
_080F5924: .4byte 0x02039CFC
|
|
_080F5928:
|
|
ldr r1, _080F5930
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F598A
|
|
.align 2, 0
|
|
_080F5930: .4byte 0x02039CFC
|
|
_080F5934:
|
|
ldr r1, _080F593C
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
b _080F598A
|
|
.align 2, 0
|
|
_080F593C: .4byte 0x02039CFC
|
|
_080F5940:
|
|
ldr r1, _080F5948
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F598A
|
|
.align 2, 0
|
|
_080F5948: .4byte 0x02039CFC
|
|
_080F594C:
|
|
ldr r1, _080F5954
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
b _080F598A
|
|
.align 2, 0
|
|
_080F5954: .4byte 0x02039CFC
|
|
_080F5958:
|
|
ldr r0, _080F5974
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrh r1, [r4, #2]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
ldr r1, _080F5978
|
|
movs r0, #8
|
|
strb r0, [r1]
|
|
b _080F598A
|
|
.align 2, 0
|
|
_080F5974: .4byte 0x02021C40
|
|
_080F5978: .4byte 0x02039CFC
|
|
_080F597C:
|
|
ldr r0, _080F599C
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
_080F598A:
|
|
ldr r0, _080F59A0
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F599C: .4byte 0x02021C40
|
|
_080F59A0: .4byte 0x0856901C
|
|
thumb_func_end DoTVShowWhatsNo1InHoennToday
|
|
|
|
thumb_func_start sub_080F59A4
|
|
sub_080F59A4: @ 0x080F59A4
|
|
push {r4, lr}
|
|
movs r1, #0
|
|
movs r2, #0
|
|
ldr r3, [r0, #0xc]
|
|
movs r4, #1
|
|
_080F59AE:
|
|
adds r0, r3, #0
|
|
lsrs r0, r1
|
|
ands r0, r4
|
|
cmp r0, #0
|
|
beq _080F59BE
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
_080F59BE:
|
|
adds r0, r1, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r1, r0, #0x18
|
|
cmp r1, #0x1f
|
|
bls _080F59AE
|
|
adds r0, r2, #0
|
|
pop {r4}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end sub_080F59A4
|
|
|
|
thumb_func_start SecretBaseSecrets_GetStateForFlagNumber
|
|
SecretBaseSecrets_GetStateForFlagNumber: @ 0x080F59D0
|
|
push {r4, r5, r6, lr}
|
|
lsls r1, r1, #0x18
|
|
lsrs r4, r1, #0x18
|
|
movs r2, #0
|
|
movs r3, #0
|
|
ldr r1, [r0, #0xc]
|
|
movs r5, #1
|
|
ldr r6, _080F59F4
|
|
_080F59E0:
|
|
adds r0, r1, #0
|
|
lsrs r0, r2
|
|
ands r0, r5
|
|
cmp r0, #0
|
|
beq _080F59FE
|
|
cmp r3, r4
|
|
bne _080F59F8
|
|
adds r0, r2, r6
|
|
ldrb r0, [r0]
|
|
b _080F5A0A
|
|
.align 2, 0
|
|
_080F59F4: .4byte 0x0856913C
|
|
_080F59F8:
|
|
adds r0, r3, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r3, r0, #0x18
|
|
_080F59FE:
|
|
adds r0, r2, #1
|
|
lsls r0, r0, #0x18
|
|
lsrs r2, r0, #0x18
|
|
cmp r2, #0x1f
|
|
bls _080F59E0
|
|
movs r0, #0
|
|
_080F5A0A:
|
|
pop {r4, r5, r6}
|
|
pop {r1}
|
|
bx r1
|
|
thumb_func_end SecretBaseSecrets_GetStateForFlagNumber
|
|
|
|
thumb_func_start DoTVShowSecretBaseSecrets
|
|
DoTVShowSecretBaseSecrets: @ 0x080F5A10
|
|
push {r4, r5, r6, r7, lr}
|
|
mov r7, sb
|
|
mov r6, r8
|
|
push {r6, r7}
|
|
ldr r2, _080F5A4C
|
|
ldr r0, _080F5A50
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F5A54
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r5, r1, r0
|
|
ldr r1, _080F5A58
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F5A5C
|
|
ldrb r2, [r0]
|
|
mov sb, r2
|
|
adds r2, r0, #0
|
|
mov r0, sb
|
|
cmp r0, #0x2b
|
|
bls _080F5A42
|
|
b _080F5D36
|
|
_080F5A42:
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F5A60
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F5A4C: .4byte 0x03005AEC
|
|
_080F5A50: .4byte 0x02037280
|
|
_080F5A54: .4byte 0x000027CC
|
|
_080F5A58: .4byte 0x02037290
|
|
_080F5A5C: .4byte 0x02039CFC
|
|
_080F5A60: .4byte 0x080F5A64
|
|
_080F5A64: @ jump table
|
|
.4byte _080F5B14 @ case 0
|
|
.4byte _080F5B68 @ case 1
|
|
.4byte _080F5BE0 @ case 2
|
|
.4byte _080F5C5C @ case 3
|
|
.4byte _080F5CAC @ case 4
|
|
.4byte _080F5CAC @ case 5
|
|
.4byte _080F5CAC @ case 6
|
|
.4byte _080F5CD4 @ case 7
|
|
.4byte _080F5CF4 @ case 8
|
|
.4byte _080F5CF8 @ case 9
|
|
.4byte _080F5D32 @ case 10
|
|
.4byte _080F5D32 @ case 11
|
|
.4byte _080F5D32 @ case 12
|
|
.4byte _080F5D32 @ case 13
|
|
.4byte _080F5D32 @ case 14
|
|
.4byte _080F5D32 @ case 15
|
|
.4byte _080F5D32 @ case 16
|
|
.4byte _080F5D32 @ case 17
|
|
.4byte _080F5D32 @ case 18
|
|
.4byte _080F5CFC @ case 19
|
|
.4byte _080F5D1C @ case 20
|
|
.4byte _080F5D32 @ case 21
|
|
.4byte _080F5D32 @ case 22
|
|
.4byte _080F5D32 @ case 23
|
|
.4byte _080F5D32 @ case 24
|
|
.4byte _080F5D32 @ case 25
|
|
.4byte _080F5D32 @ case 26
|
|
.4byte _080F5D32 @ case 27
|
|
.4byte _080F5D32 @ case 28
|
|
.4byte _080F5D32 @ case 29
|
|
.4byte _080F5D32 @ case 30
|
|
.4byte _080F5D32 @ case 31
|
|
.4byte _080F5D32 @ case 32
|
|
.4byte _080F5D32 @ case 33
|
|
.4byte _080F5D32 @ case 34
|
|
.4byte _080F5D32 @ case 35
|
|
.4byte _080F5D32 @ case 36
|
|
.4byte _080F5D32 @ case 37
|
|
.4byte _080F5D32 @ case 38
|
|
.4byte _080F5D32 @ case 39
|
|
.4byte _080F5D32 @ case 40
|
|
.4byte _080F5D32 @ case 41
|
|
.4byte _080F5D32 @ case 42
|
|
.4byte _080F5D32 @ case 43
|
|
_080F5B14:
|
|
ldr r0, _080F5B3C
|
|
adds r1, r5, #4
|
|
bl StringCopy
|
|
ldr r0, _080F5B40
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
adds r0, r5, #0
|
|
bl sub_080F59A4
|
|
lsls r0, r0, #0x18
|
|
lsrs r6, r0, #0x18
|
|
cmp r6, #0
|
|
bne _080F5B48
|
|
ldr r1, _080F5B44
|
|
movs r0, #8
|
|
strb r0, [r1]
|
|
b _080F5D36
|
|
.align 2, 0
|
|
_080F5B3C: .4byte 0x02021C40
|
|
_080F5B40: .4byte 0x02021C54
|
|
_080F5B44: .4byte 0x02039CFC
|
|
_080F5B48:
|
|
movs r0, #1
|
|
strb r0, [r5, #0x12]
|
|
bl Random
|
|
ldr r4, _080F5B64
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
adds r1, r6, #0
|
|
bl __modsi3
|
|
strb r0, [r4]
|
|
ldrb r1, [r4]
|
|
b _080F5C42
|
|
.align 2, 0
|
|
_080F5B64: .4byte 0x02039CFD
|
|
_080F5B68:
|
|
ldr r0, _080F5B88
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
adds r0, r5, #0
|
|
bl sub_080F59A4
|
|
lsls r0, r0, #0x18
|
|
lsrs r6, r0, #0x18
|
|
cmp r6, #1
|
|
beq _080F5BF8
|
|
cmp r6, #2
|
|
beq _080F5B8C
|
|
movs r4, #0
|
|
b _080F5BA6
|
|
.align 2, 0
|
|
_080F5B88: .4byte 0x02021C54
|
|
_080F5B8C:
|
|
strb r6, [r5, #0x12]
|
|
ldr r0, _080F5B9C
|
|
ldrb r0, [r0]
|
|
cmp r0, #0
|
|
bne _080F5BA0
|
|
adds r0, r5, #0
|
|
movs r1, #1
|
|
b _080F5C44
|
|
.align 2, 0
|
|
_080F5B9C: .4byte 0x02039CFD
|
|
_080F5BA0:
|
|
adds r0, r5, #0
|
|
movs r1, #0
|
|
b _080F5C44
|
|
_080F5BA6:
|
|
bl Random
|
|
ldr r7, _080F5BD8
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
adds r1, r6, #0
|
|
bl __modsi3
|
|
strb r0, [r7, #1]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
ldrb r1, [r7]
|
|
cmp r0, r1
|
|
bne _080F5BCE
|
|
adds r0, r4, #1
|
|
lsls r0, r0, #0x10
|
|
lsrs r4, r0, #0x10
|
|
ldr r0, _080F5BDC
|
|
cmp r4, r0
|
|
bls _080F5BA6
|
|
_080F5BCE:
|
|
movs r0, #2
|
|
strb r0, [r5, #0x12]
|
|
ldrb r1, [r7, #1]
|
|
b _080F5C42
|
|
.align 2, 0
|
|
_080F5BD8: .4byte 0x02039CFD
|
|
_080F5BDC: .4byte 0x0000FFFE
|
|
_080F5BE0:
|
|
ldr r0, _080F5C00
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
adds r0, r5, #0
|
|
bl sub_080F59A4
|
|
lsls r0, r0, #0x18
|
|
lsrs r6, r0, #0x18
|
|
cmp r6, #2
|
|
bne _080F5C08
|
|
_080F5BF8:
|
|
ldr r1, _080F5C04
|
|
movs r0, #9
|
|
strb r0, [r1]
|
|
b _080F5D36
|
|
.align 2, 0
|
|
_080F5C00: .4byte 0x02021C54
|
|
_080F5C04: .4byte 0x02039CFC
|
|
_080F5C08:
|
|
movs r4, #0
|
|
ldr r7, _080F5C50
|
|
ldr r2, _080F5C54
|
|
mov r8, r2
|
|
_080F5C10:
|
|
bl Random
|
|
lsls r0, r0, #0x10
|
|
lsrs r0, r0, #0x10
|
|
adds r1, r6, #0
|
|
bl __modsi3
|
|
strb r0, [r7, #2]
|
|
lsls r0, r0, #0x18
|
|
lsrs r0, r0, #0x18
|
|
ldrb r1, [r7]
|
|
cmp r0, r1
|
|
beq _080F5C30
|
|
ldrb r2, [r7, #1]
|
|
cmp r0, r2
|
|
bne _080F5C3A
|
|
_080F5C30:
|
|
adds r0, r4, #1
|
|
lsls r0, r0, #0x10
|
|
lsrs r4, r0, #0x10
|
|
cmp r4, r8
|
|
bls _080F5C10
|
|
_080F5C3A:
|
|
movs r0, #3
|
|
strb r0, [r5, #0x12]
|
|
ldr r0, _080F5C50
|
|
ldrb r1, [r0, #2]
|
|
_080F5C42:
|
|
adds r0, r5, #0
|
|
_080F5C44:
|
|
bl SecretBaseSecrets_GetStateForFlagNumber
|
|
ldr r1, _080F5C58
|
|
strb r0, [r1]
|
|
b _080F5D36
|
|
.align 2, 0
|
|
_080F5C50: .4byte 0x02039CFD
|
|
_080F5C54: .4byte 0x0000FFFE
|
|
_080F5C58: .4byte 0x02039CFC
|
|
_080F5C5C:
|
|
ldr r0, _080F5C84
|
|
adds r1, r5, #4
|
|
bl StringCopy
|
|
ldr r0, _080F5C88
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrh r1, [r5, #2]
|
|
movs r0, #2
|
|
bl TV_PrintIntToStringVar
|
|
ldrh r0, [r5, #2]
|
|
cmp r0, #0x1e
|
|
bhi _080F5C90
|
|
ldr r1, _080F5C8C
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F5D36
|
|
.align 2, 0
|
|
_080F5C84: .4byte 0x02021C40
|
|
_080F5C88: .4byte 0x02021C54
|
|
_080F5C8C: .4byte 0x02039CFC
|
|
_080F5C90:
|
|
cmp r0, #0x64
|
|
bhi _080F5CA0
|
|
ldr r1, _080F5C9C
|
|
movs r0, #5
|
|
strb r0, [r1]
|
|
b _080F5D36
|
|
.align 2, 0
|
|
_080F5C9C: .4byte 0x02039CFC
|
|
_080F5CA0:
|
|
ldr r1, _080F5CA8
|
|
movs r0, #6
|
|
strb r0, [r1]
|
|
b _080F5D36
|
|
.align 2, 0
|
|
_080F5CA8: .4byte 0x02039CFC
|
|
_080F5CAC:
|
|
ldr r0, _080F5CC8
|
|
adds r1, r5, #4
|
|
bl StringCopy
|
|
ldr r0, _080F5CCC
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r1, _080F5CD0
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
b _080F5D36
|
|
.align 2, 0
|
|
_080F5CC8: .4byte 0x02021C40
|
|
_080F5CCC: .4byte 0x02021C54
|
|
_080F5CD0: .4byte 0x02039CFC
|
|
_080F5CD4:
|
|
ldr r0, _080F5CEC
|
|
adds r1, r5, #4
|
|
bl StringCopy
|
|
ldr r0, _080F5CF0
|
|
adds r1, r5, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
bl TVShowDone
|
|
b _080F5D36
|
|
.align 2, 0
|
|
_080F5CEC: .4byte 0x02021C40
|
|
_080F5CF0: .4byte 0x02021C54
|
|
_080F5CF4:
|
|
movs r0, #3
|
|
b _080F5D34
|
|
_080F5CF8:
|
|
movs r0, #3
|
|
b _080F5D34
|
|
_080F5CFC:
|
|
ldr r4, _080F5D14
|
|
ldrh r0, [r5, #0x10]
|
|
bl ItemId_GetName
|
|
adds r1, r0, #0
|
|
adds r0, r4, #0
|
|
bl StringCopy
|
|
ldr r1, _080F5D18
|
|
ldrb r0, [r5, #0x12]
|
|
strb r0, [r1]
|
|
b _080F5D36
|
|
.align 2, 0
|
|
_080F5D14: .4byte 0x02021C54
|
|
_080F5D18: .4byte 0x02039CFC
|
|
_080F5D1C:
|
|
adds r0, r5, #0
|
|
adds r0, #0x22
|
|
ldrb r1, [r0]
|
|
movs r0, #1
|
|
ands r0, r1
|
|
cmp r0, #0
|
|
beq _080F5D2E
|
|
movs r0, #0x16
|
|
b _080F5D34
|
|
_080F5D2E:
|
|
movs r0, #0x15
|
|
b _080F5D34
|
|
_080F5D32:
|
|
ldrb r0, [r5, #0x12]
|
|
_080F5D34:
|
|
strb r0, [r2]
|
|
_080F5D36:
|
|
ldr r0, _080F5D50
|
|
mov r2, sb
|
|
lsls r1, r2, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r3, r4}
|
|
mov r8, r3
|
|
mov sb, r4
|
|
pop {r4, r5, r6, r7}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F5D50: .4byte 0x08569040
|
|
thumb_func_end DoTVShowSecretBaseSecrets
|
|
|
|
thumb_func_start DoTVShowSafariFanClub
|
|
DoTVShowSafariFanClub: @ 0x080F5D54
|
|
push {r4, r5, lr}
|
|
ldr r2, _080F5D88
|
|
ldr r0, _080F5D8C
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F5D90
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F5D94
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r0, _080F5D98
|
|
ldrb r5, [r0]
|
|
adds r2, r0, #0
|
|
cmp r5, #0xa
|
|
bls _080F5D7C
|
|
b _080F5EB8
|
|
_080F5D7C:
|
|
lsls r0, r5, #2
|
|
ldr r1, _080F5D9C
|
|
adds r0, r0, r1
|
|
ldr r0, [r0]
|
|
mov pc, r0
|
|
.align 2, 0
|
|
_080F5D88: .4byte 0x03005AEC
|
|
_080F5D8C: .4byte 0x02037280
|
|
_080F5D90: .4byte 0x000027CC
|
|
_080F5D94: .4byte 0x02037290
|
|
_080F5D98: .4byte 0x02039CFC
|
|
_080F5D9C: .4byte 0x080F5DA0
|
|
_080F5DA0: @ jump table
|
|
.4byte _080F5DCC @ case 0
|
|
.4byte _080F5DE8 @ case 1
|
|
.4byte _080F5E1C @ case 2
|
|
.4byte _080F5E30 @ case 3
|
|
.4byte _080F5E9A @ case 4
|
|
.4byte _080F5E36 @ case 5
|
|
.4byte _080F5E54 @ case 6
|
|
.4byte _080F5E80 @ case 7
|
|
.4byte _080F5E94 @ case 8
|
|
.4byte _080F5E9A @ case 9
|
|
.4byte _080F5EB4 @ case 10
|
|
_080F5DCC:
|
|
ldrb r1, [r4, #2]
|
|
cmp r1, #0
|
|
bne _080F5DD8
|
|
movs r0, #6
|
|
strb r0, [r2]
|
|
b _080F5EB8
|
|
_080F5DD8:
|
|
cmp r1, #3
|
|
bhi _080F5DE2
|
|
movs r0, #5
|
|
strb r0, [r2]
|
|
b _080F5EB8
|
|
_080F5DE2:
|
|
movs r0, #1
|
|
strb r0, [r2]
|
|
b _080F5EB8
|
|
_080F5DE8:
|
|
ldr r0, _080F5E08
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrb r1, [r4, #2]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0
|
|
bne _080F5E10
|
|
ldr r1, _080F5E0C
|
|
movs r0, #3
|
|
strb r0, [r1]
|
|
b _080F5EB8
|
|
.align 2, 0
|
|
_080F5E08: .4byte 0x02021C40
|
|
_080F5E0C: .4byte 0x02039CFC
|
|
_080F5E10:
|
|
ldr r1, _080F5E18
|
|
movs r0, #2
|
|
strb r0, [r1]
|
|
b _080F5EB8
|
|
.align 2, 0
|
|
_080F5E18: .4byte 0x02039CFC
|
|
_080F5E1C:
|
|
ldrb r1, [r4, #3]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
ldr r1, _080F5E2C
|
|
movs r0, #4
|
|
strb r0, [r1]
|
|
b _080F5EB8
|
|
.align 2, 0
|
|
_080F5E2C: .4byte 0x02039CFC
|
|
_080F5E30:
|
|
movs r0, #4
|
|
strb r0, [r2]
|
|
b _080F5EB8
|
|
_080F5E36:
|
|
ldr r0, _080F5E50
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrb r1, [r4, #2]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0
|
|
beq _080F5E64
|
|
b _080F5E74
|
|
.align 2, 0
|
|
_080F5E50: .4byte 0x02021C40
|
|
_080F5E54:
|
|
ldr r0, _080F5E6C
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldrb r0, [r4, #3]
|
|
cmp r0, #0
|
|
bne _080F5E74
|
|
_080F5E64:
|
|
ldr r1, _080F5E70
|
|
movs r0, #8
|
|
strb r0, [r1]
|
|
b _080F5EB8
|
|
.align 2, 0
|
|
_080F5E6C: .4byte 0x02021C40
|
|
_080F5E70: .4byte 0x02039CFC
|
|
_080F5E74:
|
|
ldr r1, _080F5E7C
|
|
movs r0, #7
|
|
strb r0, [r1]
|
|
b _080F5EB8
|
|
.align 2, 0
|
|
_080F5E7C: .4byte 0x02039CFC
|
|
_080F5E80:
|
|
ldrb r1, [r4, #3]
|
|
movs r0, #1
|
|
bl TV_PrintIntToStringVar
|
|
ldr r1, _080F5E90
|
|
movs r0, #9
|
|
strb r0, [r1]
|
|
b _080F5EB8
|
|
.align 2, 0
|
|
_080F5E90: .4byte 0x02039CFC
|
|
_080F5E94:
|
|
movs r0, #9
|
|
strb r0, [r2]
|
|
b _080F5EB8
|
|
_080F5E9A:
|
|
ldr r0, _080F5EAC
|
|
adds r1, r4, #0
|
|
adds r1, #0x13
|
|
bl StringCopy
|
|
ldr r1, _080F5EB0
|
|
movs r0, #0xa
|
|
strb r0, [r1]
|
|
b _080F5EB8
|
|
.align 2, 0
|
|
_080F5EAC: .4byte 0x02021C40
|
|
_080F5EB0: .4byte 0x02039CFC
|
|
_080F5EB4:
|
|
bl TVShowDone
|
|
_080F5EB8:
|
|
ldr r0, _080F5ECC
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F5ECC: .4byte 0x085690EC
|
|
thumb_func_end DoTVShowSafariFanClub
|
|
|
|
thumb_func_start DoTVShowPokemonContestLiveUpdates2
|
|
DoTVShowPokemonContestLiveUpdates2: @ 0x080F5ED0
|
|
push {r4, r5, r6, lr}
|
|
ldr r2, _080F5F00
|
|
ldr r0, _080F5F04
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
ldr r1, _080F5F08
|
|
adds r0, r0, r1
|
|
ldr r1, [r2]
|
|
adds r4, r1, r0
|
|
ldr r1, _080F5F0C
|
|
movs r0, #0
|
|
strh r0, [r1]
|
|
ldr r6, _080F5F10
|
|
ldrb r5, [r6]
|
|
cmp r5, #2
|
|
bgt _080F5F14
|
|
cmp r5, #1
|
|
bge _080F5F40
|
|
cmp r5, #0
|
|
beq _080F5F1A
|
|
b _080F5F56
|
|
.align 2, 0
|
|
_080F5F00: .4byte 0x03005AEC
|
|
_080F5F04: .4byte 0x02037280
|
|
_080F5F08: .4byte 0x000027CC
|
|
_080F5F0C: .4byte 0x02037290
|
|
_080F5F10: .4byte 0x02039CFC
|
|
_080F5F14:
|
|
cmp r5, #3
|
|
beq _080F5F48
|
|
b _080F5F56
|
|
_080F5F1A:
|
|
ldr r0, _080F5F2C
|
|
ldrb r1, [r4, #0xa]
|
|
bl sub_0818E4C4
|
|
ldrb r1, [r4, #0x16]
|
|
cmp r1, #1
|
|
bne _080F5F30
|
|
strb r1, [r6]
|
|
b _080F5F56
|
|
.align 2, 0
|
|
_080F5F2C: .4byte 0x02021C40
|
|
_080F5F30:
|
|
cmp r1, #0
|
|
bne _080F5F3A
|
|
movs r0, #2
|
|
strb r0, [r6]
|
|
b _080F5F56
|
|
_080F5F3A:
|
|
movs r0, #3
|
|
strb r0, [r6]
|
|
b _080F5F56
|
|
_080F5F40:
|
|
ldr r0, _080F5F68
|
|
adds r1, r4, #2
|
|
bl StringCopy7
|
|
_080F5F48:
|
|
ldr r0, _080F5F6C
|
|
adds r1, r4, #0
|
|
adds r1, #0xb
|
|
bl StringCopy10
|
|
bl TVShowDone
|
|
_080F5F56:
|
|
ldr r0, _080F5F70
|
|
lsls r1, r5, #2
|
|
adds r1, r1, r0
|
|
ldr r0, [r1]
|
|
bl ShowFieldMessage
|
|
pop {r4, r5, r6}
|
|
pop {r0}
|
|
bx r0
|
|
.align 2, 0
|
|
_080F5F68: .4byte 0x02021C68
|
|
_080F5F6C: .4byte 0x02021C54
|
|
_080F5F70: .4byte 0x08568E30
|
|
thumb_func_end DoTVShowPokemonContestLiveUpdates2
|
|
|
|
thumb_func_start TVShowDone
|
|
TVShowDone: @ 0x080F5F74
|
|
ldr r1, _080F5F9C
|
|
movs r0, #1
|
|
strh r0, [r1]
|
|
ldr r1, _080F5FA0
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
ldr r0, _080F5FA4
|
|
ldr r2, [r0]
|
|
ldr r0, _080F5FA8
|
|
ldrh r1, [r0]
|
|
lsls r0, r1, #3
|
|
adds r0, r0, r1
|
|
lsls r0, r0, #2
|
|
adds r2, r2, r0
|
|
ldr r0, _080F5FAC
|
|
adds r2, r2, r0
|
|
movs r0, #0
|
|
strb r0, [r2]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F5F9C: .4byte 0x02037290
|
|
_080F5FA0: .4byte 0x02039CFC
|
|
_080F5FA4: .4byte 0x03005AEC
|
|
_080F5FA8: .4byte 0x02037280
|
|
_080F5FAC: .4byte 0x000027CD
|
|
thumb_func_end TVShowDone
|
|
|
|
thumb_func_start ResetTVShowState
|
|
ResetTVShowState: @ 0x080F5FB0
|
|
ldr r1, _080F5FB8
|
|
movs r0, #0
|
|
strb r0, [r1]
|
|
bx lr
|
|
.align 2, 0
|
|
_080F5FB8: .4byte 0x02039CFC
|
|
thumb_func_end ResetTVShowState
|
|
|