mirror of https://github.com/pret/pokecrystal.git
8157 lines
118 KiB
NASM
8157 lines
118 KiB
NASM
Function100000: ; 100000
|
|
; d: 1 or 2
|
|
; e: bank
|
|
; bc: addr
|
|
ld a, [rSVBK]
|
|
push af
|
|
ld a, 1
|
|
ld [rSVBK], a
|
|
|
|
call Function100022
|
|
call Function1000ba
|
|
call Function100675
|
|
call Function100057
|
|
call Function10016f
|
|
call Function100276
|
|
|
|
push bc
|
|
call Function100301
|
|
pop bc
|
|
|
|
pop af
|
|
ld [rSVBK], a
|
|
ret
|
|
; 100022
|
|
|
|
Function100022: ; 100022
|
|
push de
|
|
push bc
|
|
call SetRAMStateForMobile
|
|
pop bc
|
|
pop de
|
|
ld a, d
|
|
ld [wcd21], a
|
|
ld a, e
|
|
ld [wcd22], a
|
|
ld a, c
|
|
ld [wcd23], a
|
|
ld a, b
|
|
ld [wcd24], a
|
|
callba Function10127e
|
|
callba MobileFunc_106462
|
|
callba Function106464 ; load broken gfx
|
|
callba Function11615a ; init RAM
|
|
ld hl, VramState
|
|
set 1, [hl]
|
|
ret
|
|
; 100057
|
|
|
|
Function100057: ; 100057
|
|
call DisableMobile
|
|
call ReturnToMapFromSubmenu
|
|
ld hl, VramState
|
|
res 1, [hl]
|
|
ret
|
|
; 100063
|
|
|
|
SetRAMStateForMobile: ; 100063
|
|
xor a
|
|
ld hl, BGMapBuffer
|
|
ld bc, $65
|
|
call ByteFill
|
|
xor a
|
|
ld hl, wc300
|
|
ld bc, $100
|
|
call ByteFill
|
|
ld a, [rIE]
|
|
ld [BGMapBuffer], a
|
|
xor a
|
|
ld [hMapAnims], a
|
|
ld [hFFC6], a
|
|
ret
|
|
; 100082
|
|
|
|
EnableMobile: ; 100082
|
|
xor a
|
|
ld hl, OverworldMap
|
|
ld bc, OverworldMapEnd - OverworldMap
|
|
call ByteFill
|
|
|
|
di
|
|
call DoubleSpeed
|
|
xor a
|
|
ld [rIF], a
|
|
ld a, 1 << VBLANK + 1 << LCD_STAT + 1 << TIMER + 1 << SERIAL
|
|
ld [rIE], a
|
|
xor a
|
|
ld [hMapAnims], a
|
|
ld [hFFC6], a
|
|
ld a, $01
|
|
ld [hMobileReceive], a
|
|
ld [hMobile], a
|
|
ei
|
|
|
|
ret
|
|
; 0x1000a4
|
|
|
|
DisableMobile: ; 1000a4
|
|
di
|
|
xor a
|
|
ld [hMobileReceive], a
|
|
ld [hMobile], a
|
|
xor a
|
|
ld [hVBlank], a
|
|
call NormalSpeed
|
|
xor a
|
|
ld [rIF], a
|
|
ld a, [BGMapBuffer]
|
|
ld [rIE], a
|
|
ei
|
|
ret
|
|
; 1000ba
|
|
|
|
Function1000ba: ; 1000ba
|
|
.loop
|
|
; call [wcd22]:([wcd23][wcd24] + [wMobileCommsJumptableIndex])
|
|
ld hl, wcd23
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
ld e, a
|
|
ld d, 0
|
|
add hl, de
|
|
add hl, de
|
|
ld a, [wcd22]
|
|
call GetFarHalfword
|
|
ld a, [wcd22]
|
|
rst FarCall
|
|
|
|
call Function1000e8
|
|
call Function1000fa
|
|
call Function100144
|
|
call Function100163
|
|
ld a, [wcd2b]
|
|
and a
|
|
jr z, .loop
|
|
call DelayFrame
|
|
ret
|
|
; 1000e8
|
|
|
|
Function1000e8: ; 1000e8
|
|
ld hl, wcd29
|
|
bit 7, [hl]
|
|
ret z
|
|
callba Function115dd3
|
|
ld hl, wcd29
|
|
set 6, [hl]
|
|
ret
|
|
; 1000fa
|
|
|
|
Function1000fa: ; 1000fa
|
|
ld a, [wc30d]
|
|
and a
|
|
ret z
|
|
ld hl, wcd29
|
|
bit 4, [hl]
|
|
ret z
|
|
ld a, [wcd2b]
|
|
and a
|
|
jr nz, .asm_100117
|
|
callba Function11619d
|
|
ld hl, wcd29
|
|
set 6, [hl]
|
|
ret
|
|
|
|
.asm_100117
|
|
di
|
|
xor a
|
|
ld [rIF], a
|
|
ld a, [rIE]
|
|
and $13
|
|
ld [rIE], a
|
|
xor a
|
|
ld [hMobileReceive], a
|
|
ld [hMobile], a
|
|
ei
|
|
|
|
ld a, [wLinkMode]
|
|
push af
|
|
xor a
|
|
ld [wLinkMode], a
|
|
ld a, $04
|
|
ld [wc314 + 5], a
|
|
callba Function11619d
|
|
ld hl, wcd29
|
|
set 6, [hl]
|
|
pop af
|
|
ld [wLinkMode], a
|
|
ret
|
|
; 100144
|
|
|
|
Function100144: ; 100144
|
|
ld hl, wcd29
|
|
bit 5, [hl]
|
|
jr z, .asm_100155
|
|
res 5, [hl]
|
|
res 2, [hl]
|
|
res 6, [hl]
|
|
call Function100320
|
|
ret
|
|
|
|
.asm_100155
|
|
bit 2, [hl]
|
|
ret z
|
|
res 2, [hl]
|
|
res 6, [hl]
|
|
callba HDMATransferTileMapToWRAMBank3
|
|
ret
|
|
; 100163
|
|
|
|
Function100163: ; 100163
|
|
ld hl, wcd29
|
|
bit 6, [hl]
|
|
ret z
|
|
res 6, [hl]
|
|
call DelayFrame
|
|
ret
|
|
; 10016f
|
|
|
|
Function10016f: ; 10016f
|
|
ld a, [wcd2b]
|
|
cp $01
|
|
ret z
|
|
cp $02
|
|
ret z
|
|
cp $ff
|
|
jp z, .asm_1001f5
|
|
cp $fe
|
|
jr z, .asm_1001c4
|
|
cp $f5
|
|
jr z, .asm_1001e7
|
|
cp $f6
|
|
jr z, .asm_1001b6
|
|
cp $fa
|
|
jp z, .asm_1001bd
|
|
cp $f7
|
|
jp z, .asm_1001ee
|
|
cp $f4
|
|
jr z, .asm_1001d2
|
|
cp $f3
|
|
jr z, .asm_1001cb
|
|
cp $f1
|
|
jr z, .asm_1001c4
|
|
cp $f2
|
|
jr z, .asm_1001c4
|
|
cp $fc
|
|
jr z, .asm_1001e6
|
|
cp $fb
|
|
jr z, .asm_1001af
|
|
cp $f8
|
|
ret z
|
|
ret ; ????????????????????????????
|
|
|
|
.asm_1001af
|
|
ld a, $d7
|
|
ld de, 0
|
|
jr .asm_1001d7
|
|
|
|
.asm_1001b6
|
|
ld a, $d5
|
|
ld de, 0
|
|
jr .asm_1001d7
|
|
|
|
.asm_1001bd
|
|
ld a, $d6
|
|
ld de, 0
|
|
jr .asm_1001d7
|
|
|
|
.asm_1001c4
|
|
ld a, $d2
|
|
ld de, 2
|
|
jr .asm_1001d7
|
|
|
|
.asm_1001cb
|
|
ld a, $d1
|
|
ld de, 1
|
|
jr .asm_1001d7
|
|
|
|
.asm_1001d2
|
|
ld a, $d0
|
|
ld de, 0
|
|
|
|
.asm_1001d7
|
|
ld [wc300], a
|
|
ld a, d
|
|
ld [wc302], a
|
|
ld a, e
|
|
ld [wc301], a
|
|
call Function10020b
|
|
ret
|
|
|
|
.asm_1001e6
|
|
ret
|
|
|
|
.asm_1001e7
|
|
ld de, String10025e
|
|
call Function100232
|
|
ret
|
|
|
|
.asm_1001ee
|
|
ld de, String10024d
|
|
call Function100232
|
|
ret
|
|
|
|
.asm_1001f5
|
|
ld a, [wcd2c]
|
|
ld [wc300], a
|
|
ld a, [wcd2d]
|
|
ld [wc302], a
|
|
ld a, [wcd2d]
|
|
ld [wc301], a
|
|
call Function10020b
|
|
ret
|
|
; 10020b
|
|
|
|
Function10020b: ; 10020b
|
|
xor a
|
|
ld [wc303], a
|
|
callba FadeOutPalettes
|
|
callba Function106464
|
|
call HideSprites
|
|
call DelayFrame
|
|
|
|
ld a, [rSVBK]
|
|
push af
|
|
ld a, $01
|
|
ld [rSVBK], a
|
|
|
|
callba Function17f555
|
|
|
|
pop af
|
|
ld [rSVBK], a
|
|
ret
|
|
; 100232
|
|
|
|
Function100232: ; 100232
|
|
push de
|
|
callba Function106464
|
|
call Function3f20
|
|
call UpdateSprites
|
|
hlcoord 1, 2
|
|
pop de
|
|
call PlaceString
|
|
call Function100320
|
|
call JoyWaitAorB
|
|
ret
|
|
; 10024d
|
|
|
|
String10024d: ; 10024d
|
|
db "つうしんを キャンセル しました@"
|
|
; 10025e
|
|
|
|
String10025e: ; 10025e
|
|
db "おともだちと えらんだ へやが"
|
|
next "ちがうようです@"
|
|
; 100276
|
|
|
|
Function100276: ; 100276
|
|
ld a, [wcd2b]
|
|
cp $01
|
|
jr z, .asm_10029f
|
|
cp $02
|
|
jr z, .asm_100296
|
|
cp $f5
|
|
jr z, .asm_1002a5
|
|
cp $f6
|
|
jr z, .asm_1002a5
|
|
cp $f7
|
|
jr z, .asm_100293
|
|
cp $f8
|
|
jr z, .asm_1002b1
|
|
jr .asm_1002c0
|
|
|
|
.asm_100293
|
|
ld c, $02
|
|
ret
|
|
|
|
.asm_100296
|
|
callba Script_reloadmappart
|
|
ld c, $04
|
|
ret
|
|
|
|
.asm_10029f
|
|
call Function1002dc
|
|
ld c, 0
|
|
ret
|
|
|
|
.asm_1002a5
|
|
callba Script_reloadmappart
|
|
call Function1002ed
|
|
ld c, $03
|
|
ret
|
|
|
|
.asm_1002b1
|
|
call Function1002c9
|
|
call Function1002dc
|
|
ld de, String10024d
|
|
call Function100232
|
|
ld c, $02
|
|
ret
|
|
|
|
.asm_1002c0
|
|
call Function1002c9
|
|
call Function1002dc
|
|
ld c, $01
|
|
ret
|
|
; 1002c9
|
|
|
|
Function1002c9: ; 1002c9
|
|
ld hl, wcd2a
|
|
bit 0, [hl]
|
|
ret z
|
|
callba CleanUpBattleRAM
|
|
callba LoadPokemonData
|
|
ret
|
|
; 1002dc
|
|
|
|
Function1002dc: ; 1002dc
|
|
ld a, MAPSETUP_LINKRETURN
|
|
ld [hMapEntryMethod], a
|
|
callba RunMapSetupScript
|
|
xor a
|
|
ld [hMapEntryMethod], a
|
|
call LoadStandardFont
|
|
ret
|
|
; 1002ed
|
|
|
|
Function1002ed: ; 1002ed
|
|
callba LoadOW_BGPal7
|
|
callba ApplyPals
|
|
ld a, $01
|
|
ld [hCGBPalUpdate], a
|
|
call DelayFrame
|
|
ret
|
|
; 100301
|
|
|
|
Function100301: ; 100301
|
|
ld hl, wcd2a
|
|
bit 1, [hl]
|
|
ret z
|
|
callba Function106464
|
|
callba Function10202c
|
|
callba Function115dd3
|
|
call Function100320
|
|
call JoyWaitAorB
|
|
ret
|
|
; 100320
|
|
|
|
Function100320: ; 100320
|
|
callba Mobile_ReloadMapPart
|
|
ret
|
|
; 100327
|
|
|
|
Function100327: ; 100327
|
|
callba HDMATransferTileMapToWRAMBank3
|
|
ret
|
|
; 100327
|
|
|
|
|
|
Function10032e: ; 10032e
|
|
call Function10034d
|
|
ld e, a
|
|
ret nc
|
|
ld [wcd2b], a
|
|
ret
|
|
; 100337
|
|
|
|
Function100337: ; 100337
|
|
call Function10032e
|
|
ret c
|
|
ld a, [wc821]
|
|
bit 4, a
|
|
jr z, .asm_100345
|
|
ld a, e
|
|
and a
|
|
ret
|
|
|
|
.asm_100345
|
|
ld a, $f9
|
|
ld e, a
|
|
ld [wcd2b], a
|
|
scf
|
|
ret
|
|
; 10034d
|
|
|
|
Function10034d: ; 10034d
|
|
ld a, [wc821]
|
|
bit 1, a
|
|
jr nz, .asm_10036a
|
|
bit 2, a
|
|
jr nz, .asm_10037e
|
|
bit 3, a
|
|
jr nz, .asm_100366
|
|
bit 0, a
|
|
jr nz, .asm_100364
|
|
ld a, $01
|
|
and a
|
|
ret
|
|
|
|
.asm_100364
|
|
xor a
|
|
ret
|
|
|
|
.asm_100366
|
|
ld a, $02
|
|
and a
|
|
ret
|
|
|
|
.asm_10036a
|
|
ld a, 0
|
|
call Function3e32
|
|
ld [wcd2c], a
|
|
ld a, h
|
|
ld [wcd2d], a
|
|
ld a, l
|
|
ld [wcd2e], a
|
|
ld a, $ff
|
|
scf
|
|
ret
|
|
|
|
.asm_10037e
|
|
ld a, $fe
|
|
scf
|
|
ret
|
|
; 100382
|
|
|
|
Function100382: ; 100382
|
|
ld a, [wcd27]
|
|
ld hl, Jumptable_10044e
|
|
rst JumpTable
|
|
ret
|
|
; 10038a
|
|
|
|
Function10038a: ; 10038a
|
|
ld hl, wccb4
|
|
ld a, $2e
|
|
call Function3e32
|
|
ret
|
|
; 100393
|
|
|
|
Function100393: ; 100393
|
|
ld hl, wcc60
|
|
ld a, $3a
|
|
call Function3e32
|
|
ret
|
|
; 10039c
|
|
|
|
Function10039c: ; 10039c
|
|
ld hl, wcc60
|
|
ld de, w3_d000
|
|
ld bc, $54
|
|
ld a, $03
|
|
call FarCopyWRAM
|
|
ret
|
|
; 1003ab
|
|
|
|
Function1003ab: ; 1003ab
|
|
ld hl, w3_d000
|
|
ld de, wcc60
|
|
ld bc, $54
|
|
ld a, $03
|
|
call FarCopyWRAM
|
|
ret
|
|
; 1003ba
|
|
|
|
Function1003ba: ; 1003ba
|
|
ld hl, wccb4
|
|
ld de, w3_d080
|
|
ld bc, $54
|
|
ld a, $03
|
|
call FarCopyWRAM
|
|
ret
|
|
; 1003c9
|
|
|
|
Function1003c9: ; 1003c9
|
|
ld hl, w3_d080
|
|
ld de, wccb4
|
|
ld bc, $54
|
|
ld a, $03
|
|
call FarCopyWRAM
|
|
ret
|
|
; 1003d8
|
|
|
|
Function1003d8: ; 1003d8
|
|
ld hl, wccb4
|
|
ld a, [hli]
|
|
ld c, a
|
|
ld b, 0
|
|
push hl
|
|
add hl, bc
|
|
ld a, [BGMapPalBuffer]
|
|
ld [hl], a
|
|
pop hl
|
|
inc bc
|
|
call Function10043a
|
|
add hl, bc
|
|
ld [hl], e
|
|
inc hl
|
|
ld [hl], d
|
|
ld a, c
|
|
add $02
|
|
ld [wccb4], a
|
|
ret
|
|
; 1003f5
|
|
|
|
Function1003f5: ; 1003f5
|
|
ld a, [wcc60]
|
|
sub $03
|
|
ld [wcc60], a
|
|
ld a, [wccb4]
|
|
sub $03
|
|
ld [wccb4], a
|
|
ret
|
|
; 100406
|
|
|
|
Function100406: ; 100406
|
|
ld a, [wcc60]
|
|
sub $02
|
|
ld c, a
|
|
ld b, 0
|
|
ld hl, wcc61
|
|
call Function10043a
|
|
add hl, bc
|
|
ld a, [hli]
|
|
cp e
|
|
jr nz, .asm_100426
|
|
ld a, [hld]
|
|
cp d
|
|
jr nz, .asm_100426
|
|
dec hl
|
|
ld a, [BGMapPalBuffer]
|
|
cp [hl]
|
|
jr nz, .asm_10042d
|
|
xor a
|
|
ret
|
|
|
|
.asm_100426
|
|
ld a, $f4
|
|
ld [wcd2b], a
|
|
jr .asm_100432
|
|
|
|
.asm_10042d
|
|
ld a, $f3
|
|
ld [wcd2b], a
|
|
|
|
.asm_100432
|
|
push hl
|
|
ld hl, wcd7c
|
|
inc [hl]
|
|
pop hl
|
|
scf
|
|
ret
|
|
; 10043a
|
|
|
|
Function10043a: ; 10043a
|
|
push hl
|
|
push bc
|
|
ld de, 0
|
|
.asm_10043f
|
|
ld a, [hli]
|
|
add e
|
|
ld e, a
|
|
ld a, d
|
|
adc 0
|
|
ld d, a
|
|
dec bc
|
|
ld a, b
|
|
or c
|
|
jr nz, .asm_10043f
|
|
pop bc
|
|
pop hl
|
|
ret
|
|
; 10044e
|
|
|
|
|
|
Jumptable_10044e: ; 10044e (40:444e)
|
|
dw Function10046a
|
|
dw Function10047c
|
|
dw Function100493
|
|
dw Function1004ba
|
|
dw Function1004f4
|
|
dw Function1004ce
|
|
dw Function1004de
|
|
dw Function1004a4
|
|
dw Function100495
|
|
dw Function1004ce
|
|
dw Function1004de
|
|
dw Function1004e9
|
|
dw Function1004f4
|
|
dw Function1004a4
|
|
|
|
Function10046a: ; 10046a
|
|
ld hl, BGMapPalBuffer
|
|
inc [hl]
|
|
call Function1003d8
|
|
call Function1003ba
|
|
ld a, [wcd27]
|
|
inc a
|
|
ld [wcd27], a
|
|
ret
|
|
; 10047c
|
|
|
|
Function10047c: ; 10047c
|
|
call Function100337
|
|
ret c
|
|
ret z
|
|
cp $02
|
|
jr z, .asm_100487
|
|
jr .asm_10048d
|
|
|
|
.asm_100487
|
|
ld a, $08
|
|
ld [wcd27], a
|
|
ret
|
|
|
|
.asm_10048d
|
|
ld a, $02
|
|
ld [wcd27], a
|
|
ret
|
|
; 100493
|
|
|
|
Function100493: ; 100493
|
|
jr asm_100497
|
|
|
|
Function100495: ; 100495
|
|
jr asm_100497
|
|
|
|
asm_100497
|
|
call Function100337
|
|
ret c
|
|
ret z
|
|
ld a, [wcd27]
|
|
inc a
|
|
ld [wcd27], a
|
|
ret
|
|
; 1004a4
|
|
|
|
Function1004a4: ; 1004a4
|
|
call Function100406
|
|
jr c, .asm_1004b8
|
|
call Function1003c9
|
|
call Function1003f5
|
|
ld a, [wcd27]
|
|
set 7, a
|
|
ld [wcd27], a
|
|
ret
|
|
|
|
.asm_1004b8
|
|
scf
|
|
ret
|
|
; 1004ba
|
|
|
|
Function1004ba: ; 1004ba
|
|
call Function10038a
|
|
and a
|
|
jr nz, .asm_1004c8
|
|
ld a, [wcd27]
|
|
inc a
|
|
ld [wcd27], a
|
|
ret
|
|
|
|
.asm_1004c8
|
|
ld a, $08
|
|
ld [wcd27], a
|
|
ret
|
|
; 1004ce
|
|
|
|
Function1004ce: ; 1004ce
|
|
call Function100337
|
|
ret c
|
|
ret z
|
|
cp $02
|
|
ret nz
|
|
ld a, [wcd27]
|
|
inc a
|
|
ld [wcd27], a
|
|
ret
|
|
; 1004de
|
|
|
|
Function1004de: ; 1004de
|
|
call Function100393
|
|
ld a, [wcd27]
|
|
inc a
|
|
ld [wcd27], a
|
|
ret
|
|
; 1004e9
|
|
|
|
Function1004e9: ; 1004e9
|
|
call Function10038a
|
|
ld a, [wcd27]
|
|
inc a
|
|
ld [wcd27], a
|
|
ret
|
|
; 1004f4
|
|
|
|
Function1004f4: ; 1004f4
|
|
call Function100337
|
|
ret c
|
|
ret z
|
|
ld a, [wcd27]
|
|
inc a
|
|
ld [wcd27], a
|
|
call Function10039c
|
|
ret
|
|
; 100504
|
|
|
|
Function100504: ; 100504
|
|
push de
|
|
call Function3f20
|
|
call UpdateSprites
|
|
pop de
|
|
hlcoord 4, 2
|
|
call PlaceString
|
|
ret
|
|
; 100513
|
|
|
|
Function100513: ; 100513
|
|
call Function3f7c
|
|
call PlaceVerticalMenuItems
|
|
call InitVerticalMenuCursor
|
|
ld hl, w2DMenuFlags1
|
|
set 7, [hl]
|
|
ret
|
|
; 100522
|
|
|
|
Function100522: ; 100522
|
|
ld a, [wcd28]
|
|
ld hl, Jumptable_10052a
|
|
rst JumpTable
|
|
ret
|
|
; 10052a
|
|
|
|
Jumptable_10052a: ; 10052a
|
|
dw Function100534
|
|
dw Function100545
|
|
dw Function100545
|
|
dw Function100545
|
|
dw Function10054d
|
|
; 100534
|
|
|
|
Function100534: ; 100534
|
|
call Function100513
|
|
call UpdateSprites
|
|
call ApplyTilemap
|
|
ld a, [wcd28]
|
|
inc a
|
|
ld [wcd28], a
|
|
ret
|
|
; 100545
|
|
|
|
Function100545: ; 100545
|
|
ld a, [wcd28]
|
|
inc a
|
|
ld [wcd28], a
|
|
ret
|
|
; 10054d
|
|
|
|
Function10054d: ; 10054d
|
|
callba MobileMenuJoypad
|
|
ld a, c
|
|
ld hl, wMenuJoypadFilter
|
|
and [hl]
|
|
ret z
|
|
call MenuClickSound
|
|
bit 0, a
|
|
jr nz, .asm_100565
|
|
bit 1, a
|
|
jr nz, .asm_10056f
|
|
ret
|
|
|
|
.asm_100565
|
|
ld a, [wcd28]
|
|
set 7, a
|
|
ld [wcd28], a
|
|
and a
|
|
ret
|
|
|
|
.asm_10056f
|
|
ld a, [wcd28]
|
|
set 7, a
|
|
ld [wcd28], a
|
|
scf
|
|
ret
|
|
; 100579
|
|
|
|
Function100579: ; 100579
|
|
ld a, [wcd26]
|
|
ld hl, Jumptable_100581
|
|
rst JumpTable
|
|
ret
|
|
; 100581
|
|
|
|
Jumptable_100581: ; 100581
|
|
dw Function100585
|
|
dw Function100597
|
|
; 100585
|
|
|
|
Function100585: ; 100585
|
|
ld hl, MenuDataHeader_1005b2
|
|
call LoadMenuDataHeader
|
|
ld a, 0
|
|
ld [wcd28], a
|
|
ld a, [wcd26]
|
|
inc a
|
|
ld [wcd26], a
|
|
|
|
Function100597: ; 100597
|
|
call Function100522
|
|
ld a, [wcd28]
|
|
bit 7, a
|
|
ret z
|
|
jr nc, .asm_1005a6
|
|
xor a
|
|
ld [wMenuCursorY], a
|
|
|
|
.asm_1005a6
|
|
call ExitMenu
|
|
ld a, [wcd26]
|
|
set 7, a
|
|
ld [wcd26], a
|
|
ret
|
|
; 1005b2
|
|
|
|
MenuDataHeader_1005b2: ; 1005b2
|
|
db $40 ; flags
|
|
db 6, 14
|
|
db 10, 19
|
|
dw MenuData2_1005ba
|
|
db 1 ; default option
|
|
|
|
MenuData2_1005ba:
|
|
db $c0 ; flags
|
|
db 2
|
|
db "はい@"
|
|
db "いいえ@"
|
|
; 1005c3
|
|
|
|
Function1005c3: ; 1005c3
|
|
ld a, [wcd26]
|
|
ld hl, Jumptable_1005cb
|
|
rst JumpTable
|
|
ret
|
|
; 1005cb
|
|
|
|
Jumptable_1005cb: ; 1005cb
|
|
dw Function1005cf
|
|
dw Function1005e1
|
|
; 1005cf
|
|
|
|
Function1005cf: ; 1005cf
|
|
ld hl, MenuDataHeader_1005fc
|
|
call LoadMenuDataHeader
|
|
ld a, 0
|
|
ld [wcd28], a
|
|
ld a, [wcd26]
|
|
inc a
|
|
ld [wcd26], a
|
|
|
|
Function1005e1: ; 1005e1
|
|
call Function100522
|
|
ld a, [wcd28]
|
|
bit 7, a
|
|
ret z
|
|
jr nc, .asm_1005f0
|
|
xor a
|
|
ld [wMenuCursorY], a
|
|
.asm_1005f0
|
|
call ExitMenu
|
|
ld a, [wcd26]
|
|
set 7, a
|
|
ld [wcd26], a
|
|
ret
|
|
; 1005fc
|
|
|
|
MenuDataHeader_1005fc: ; 1005fc
|
|
db $40 ; flags
|
|
db 6, 14
|
|
db 10, 19
|
|
dw MenuData2_100604
|
|
db 1 ; default option
|
|
|
|
MenuData2_100604: ; 100604
|
|
db $c0 ; flags
|
|
db 2
|
|
db "かける@"
|
|
db "まつ@"
|
|
; 10060d
|
|
|
|
Mobile_CommunicationStandby: ; 10060d
|
|
hlcoord 3, 10
|
|
ld b, 1
|
|
ld c, 11
|
|
call Function3eea
|
|
ld de, .String
|
|
hlcoord 4, 11
|
|
call PlaceString
|
|
ret
|
|
; 100621
|
|
|
|
.String: ; 100621
|
|
db "つうしんたいきちゅう!@"
|
|
; 10062d
|
|
|
|
AdvanceMobileInactivityTimerAndCheckExpired: ; 10062d
|
|
push bc
|
|
call IncrementMobileInactivityTimerByCFrames
|
|
pop bc
|
|
ld a, [wMobileInactivityTimerMinutes]
|
|
cp b
|
|
jr nc, .timed_out
|
|
and a
|
|
ret
|
|
|
|
.timed_out
|
|
ld a, $fa
|
|
ld [wcd2b], a
|
|
scf
|
|
ret
|
|
; 100641
|
|
|
|
StartMobileInactivityTimer: ; 100641
|
|
xor a
|
|
ld [wMobileInactivityTimerMinutes], a
|
|
ld [wMobileInactivityTimerSeconds], a
|
|
ld [wMobileInactivityTimerFrames], a
|
|
ret
|
|
; 10064c
|
|
|
|
IncrementMobileInactivityTimerBy1Frame: ; 10064c
|
|
ld c, 1
|
|
IncrementMobileInactivityTimerByCFrames: ; 10064e
|
|
ld hl, wMobileInactivityTimerFrames ; timer?
|
|
ld a, [hl]
|
|
add c
|
|
cp 60
|
|
jr c, .seconds
|
|
xor a
|
|
|
|
.seconds
|
|
ld [hld], a
|
|
ret c
|
|
ld a, [hl]
|
|
inc a
|
|
cp 60
|
|
jr c, .minutes
|
|
xor a
|
|
|
|
.minutes
|
|
ld [hld], a
|
|
ret c
|
|
inc [hl]
|
|
ret
|
|
; 100665
|
|
|
|
Function100665: ; 100665
|
|
call UpdateTime
|
|
ld hl, wcd36
|
|
ld a, [hHours]
|
|
ld [hli], a
|
|
ld a, [hMinutes]
|
|
ld [hli], a
|
|
ld a, [hSeconds]
|
|
ld [hl], a
|
|
ret
|
|
; 100675
|
|
|
|
Function100675: ; 100675
|
|
ld hl, wcd2a
|
|
bit 2, [hl]
|
|
set 2, [hl]
|
|
ret nz
|
|
call Function1006d3
|
|
ret
|
|
; 100681
|
|
|
|
Function100681: ; 100681
|
|
push hl
|
|
ld hl, wcd2a
|
|
bit 2, [hl]
|
|
ld hl, wcd2a
|
|
set 2, [hl]
|
|
pop hl
|
|
jr nz, .asm_100694
|
|
push hl
|
|
call Function1006d3
|
|
pop hl
|
|
.asm_100694
|
|
ld de, wcd32
|
|
|
|
Function100697: ; 100697
|
|
ld a, [de]
|
|
and a
|
|
jr nz, .asm_1006bb
|
|
inc de
|
|
push de
|
|
call .asm_1006b4
|
|
ld de, String1006c2
|
|
call PlaceString
|
|
ld h, b
|
|
ld l, c
|
|
pop de
|
|
inc de
|
|
call .asm_1006b4
|
|
ld de, String1006c6
|
|
call PlaceString
|
|
ret
|
|
|
|
.asm_1006b4
|
|
lb bc, PRINTNUM_LEADINGZEROS | 1, 2
|
|
call PrintNum
|
|
ret
|
|
|
|
.asm_1006bb
|
|
ld de, String1006ca
|
|
call PlaceString
|
|
ret
|
|
; 1006c2
|
|
|
|
String1006c2: ; 1006c2
|
|
db "ふん @"
|
|
String1006c6: ; 1006c6
|
|
db "びょう@"
|
|
String1006ca: ; 1006ca
|
|
db "1じかんいじょう@"
|
|
; 1006d3
|
|
|
|
Function1006d3: ; 1006d3
|
|
call UpdateTime
|
|
ld de, wcd34
|
|
ld hl, wcd38
|
|
|
|
Function1006dc: ; 1006dc
|
|
ld a, [hld]
|
|
ld c, a
|
|
ld a, [hSeconds]
|
|
sub c
|
|
jr nc, .asm_1006e5
|
|
add $3c
|
|
|
|
.asm_1006e5
|
|
ld [de], a
|
|
dec de
|
|
ld a, [hld]
|
|
ld c, a
|
|
ld a, [hMinutes]
|
|
sbc c
|
|
jr nc, .asm_1006f0
|
|
add $3c
|
|
|
|
.asm_1006f0
|
|
ld [de], a
|
|
dec de
|
|
ld a, [hl]
|
|
ld c, a
|
|
ld a, [hHours]
|
|
sbc c
|
|
jr nc, .asm_1006fb
|
|
add $18
|
|
|
|
.asm_1006fb
|
|
ld [de], a
|
|
ret
|
|
; 1006fd
|
|
|
|
Function1006fd: ; 1006fd
|
|
ld a, $04
|
|
ld hl, $a800
|
|
call GetSRAMBank
|
|
xor a
|
|
ld [hli], a
|
|
ld [hli], a
|
|
ld [hli], a
|
|
call CloseSRAM
|
|
ret
|
|
; 10070d
|
|
|
|
Function10070d: ; 10070d
|
|
ld a, $04
|
|
ld hl, $a800
|
|
call GetSRAMBank
|
|
xor a
|
|
ld [hli], a
|
|
ld a, $0a
|
|
ld [hli], a
|
|
xor a
|
|
ld [hli], a
|
|
call CloseSRAM
|
|
ret
|
|
; 100720
|
|
|
|
Function100720: ; 100720
|
|
xor a
|
|
ld [wcd6a], a
|
|
call UpdateTime
|
|
ld a, [hHours]
|
|
ld [wcd72], a
|
|
ld a, [hMinutes]
|
|
ld [wcd73], a
|
|
ld a, [hSeconds]
|
|
ld [wcd74], a
|
|
ld a, $04
|
|
ld hl, $a800
|
|
call GetSRAMBank
|
|
ld a, [hli]
|
|
ld [wcd6c], a
|
|
ld a, [hli]
|
|
ld [wcd6d], a
|
|
ld a, [hli]
|
|
ld [wcd6e], a
|
|
call CloseSRAM
|
|
ld a, [wcd6d]
|
|
ld [wcd6b], a
|
|
ret
|
|
; 100754
|
|
|
|
Function100754: ; 100754
|
|
call UpdateTime
|
|
ld a, [hHours]
|
|
ld [wcd72], a
|
|
ld a, [hMinutes]
|
|
ld [wcd73], a
|
|
ld a, [hSeconds]
|
|
ld [wcd74], a
|
|
ld a, [wcd6d]
|
|
ld [wcd6b], a
|
|
ld hl, wcd2a
|
|
res 6, [hl]
|
|
ret
|
|
; 100772
|
|
|
|
Function100772: ; 100772
|
|
push de
|
|
ld hl, wcd6c
|
|
ld a, [de]
|
|
cp [hl]
|
|
jr c, .asm_10079a
|
|
jr nz, .asm_10078c
|
|
inc hl
|
|
inc de
|
|
ld a, [de]
|
|
cp [hl]
|
|
jr c, .asm_10079a
|
|
jr nz, .asm_10078c
|
|
inc hl
|
|
inc de
|
|
ld a, [de]
|
|
cp [hl]
|
|
jr c, .asm_10079a
|
|
jr z, .asm_10079a
|
|
|
|
.asm_10078c
|
|
pop hl
|
|
ld a, [hli]
|
|
ld [wcd6c], a
|
|
ld a, [hli]
|
|
ld [wcd6d], a
|
|
ld a, [hli]
|
|
ld [wcd6e], a
|
|
ret
|
|
|
|
.asm_10079a
|
|
pop de
|
|
ret
|
|
; 10079c
|
|
|
|
|
|
Function10079c: ; 10079c
|
|
ld a, [wcd21]
|
|
cp $01
|
|
jr nz, .dont_quit
|
|
ld hl, wcd2a
|
|
bit 5, [hl]
|
|
jr nz, .dont_quit
|
|
ld hl, wcd2a
|
|
bit 6, [hl]
|
|
jr nz, .dont_quit
|
|
ld a, [wcd6a]
|
|
add c
|
|
cp 60
|
|
jr nc, .overflow
|
|
ld [wcd6a], a
|
|
and a
|
|
ret
|
|
|
|
.overflow
|
|
sub 60
|
|
ld [wcd6a], a
|
|
ld d, b
|
|
push de
|
|
call Function1007f6
|
|
pop de
|
|
jr c, .quit
|
|
ld a, c
|
|
and a
|
|
jr nz, .quit
|
|
ld a, b
|
|
cp 10
|
|
jr nc, .quit
|
|
ld a, d
|
|
and a
|
|
ret z
|
|
ld a, [wcd6b]
|
|
cp b
|
|
ret z
|
|
ld a, b
|
|
ld [wcd6b], a
|
|
call Function1008e0
|
|
and a
|
|
ret
|
|
|
|
.quit
|
|
call Function1008e0
|
|
ld hl, wcd2a
|
|
set 4, [hl]
|
|
ld a, $fc
|
|
ld [wcd2b], a
|
|
scf
|
|
ret
|
|
|
|
.dont_quit
|
|
and a
|
|
ret
|
|
; 1007f6
|
|
|
|
Function1007f6: ; 1007f6
|
|
call UpdateTime
|
|
ld hl, wcd74
|
|
ld de, wcd71
|
|
call Function1006dc
|
|
ld a, $04
|
|
call GetSRAMBank
|
|
ld hl, $a802
|
|
call Function100826
|
|
call CloseSRAM
|
|
ld hl, wcd6e
|
|
call Function100826
|
|
ld a, [hHours]
|
|
ld [wcd72], a
|
|
ld a, [hMinutes]
|
|
ld [wcd73], a
|
|
ld a, [hSeconds]
|
|
ld [wcd74], a
|
|
ret
|
|
; 100826
|
|
|
|
Function100826: ; 100826
|
|
ld a, [wcd71]
|
|
add [hl]
|
|
sub $3c
|
|
jr nc, .asm_100830
|
|
add $3c
|
|
|
|
.asm_100830
|
|
ld [hld], a
|
|
ccf
|
|
ld a, [BGMapBufferPtrs]
|
|
adc [hl]
|
|
sub $3c
|
|
jr nc, .asm_10083c
|
|
add $3c
|
|
|
|
.asm_10083c
|
|
ld [hld], a
|
|
ld b, a
|
|
ccf
|
|
ld a, [wcd6f]
|
|
adc [hl]
|
|
ld [hl], a
|
|
ld c, a
|
|
ret
|
|
; 100846
|
|
|
|
Function100846: ; 100846
|
|
ld hl, wcd2a
|
|
bit 5, [hl]
|
|
jr nz, .asm_10087c
|
|
ld a, [wcd6e]
|
|
ld c, a
|
|
ld a, 0
|
|
sub c
|
|
jr nc, .asm_100858
|
|
add $3c
|
|
|
|
.asm_100858
|
|
ld [StringBuffer2 + 2], a
|
|
ld a, [wcd6d]
|
|
ld c, a
|
|
ld a, $0a
|
|
sbc c
|
|
ld [StringBuffer2 + 1], a
|
|
xor a
|
|
ld [StringBuffer2], a
|
|
ld de, String_10088e
|
|
hlcoord 1, 14
|
|
call PlaceString
|
|
ld de, StringBuffer2
|
|
hlcoord 4, 16
|
|
call Function100697
|
|
ret
|
|
|
|
.asm_10087c
|
|
ld de, String_10088e
|
|
hlcoord 1, 14
|
|
call PlaceString
|
|
ld h, b
|
|
ld l, c
|
|
ld de, String_10089f
|
|
call PlaceString
|
|
ret
|
|
; 10088e
|
|
|
|
String_10088e: ; 10088e
|
|
db "モバイルたいせん できる"
|
|
next "じかん@"
|
|
; 10089f
|
|
|
|
String_10089f: ; 10089f
|
|
db " むせいげん@"
|
|
; 1008a6
|
|
|
|
Function1008a6: ; 1008a6
|
|
ld a, $04
|
|
ld hl, $a800
|
|
call GetSRAMBank
|
|
ld a, [hli]
|
|
ld [StringBuffer2], a
|
|
ld a, [hli]
|
|
ld [StringBuffer2 + 1], a
|
|
ld a, [hli]
|
|
ld [StringBuffer2 + 2], a
|
|
call CloseSRAM
|
|
ld a, [StringBuffer2 + 2]
|
|
ld b, a
|
|
ld a, 0
|
|
sub b
|
|
jr nc, .asm_1008c8
|
|
add $3c
|
|
|
|
.asm_1008c8
|
|
ld b, a
|
|
ld a, [StringBuffer2 + 1]
|
|
ld c, a
|
|
ld a, $0a
|
|
sbc c
|
|
ld c, a
|
|
jr c, .asm_1008da
|
|
ld a, [StringBuffer2]
|
|
and a
|
|
jr nz, .asm_1008da
|
|
ret
|
|
|
|
.asm_1008da
|
|
call Function10070d
|
|
ld c, 0
|
|
ret
|
|
; 1008e0
|
|
|
|
|
|
Function1008e0: ; 1008e0
|
|
ld a, [hBGMapMode]
|
|
ld b, a
|
|
ld a, [hVBlank]
|
|
ld c, a
|
|
push bc
|
|
xor a
|
|
ld [hBGMapMode], a
|
|
ld a, $03
|
|
ld [hVBlank], a
|
|
call Function100970
|
|
call Function100902
|
|
call Function100989
|
|
call DelayFrame
|
|
pop bc
|
|
ld a, c
|
|
ld [hVBlank], a
|
|
ld a, b
|
|
ld [hBGMapMode], a
|
|
ret
|
|
; 100902
|
|
|
|
Function100902: ; 100902
|
|
hlcoord 3, 10
|
|
ld b, $01
|
|
ld c, $0b
|
|
call TextBox
|
|
ld a, [wcd6d]
|
|
ld c, a
|
|
ld a, $0a
|
|
sub c
|
|
ld [StringBuffer2], a
|
|
jr z, .asm_10093f
|
|
ld de, .string_100966
|
|
hlcoord 4, 11
|
|
call PlaceString
|
|
hlcoord 8, 11
|
|
lb bc, 1, 2
|
|
ld de, StringBuffer2
|
|
call PrintNum
|
|
ld de, SFX_TWO_PC_BEEPS
|
|
call PlaySFX
|
|
callba ReloadMapPart
|
|
ld c, $3c
|
|
call DelayFrames
|
|
ret
|
|
|
|
.asm_10093f
|
|
ld de, .string_10095a
|
|
hlcoord 4, 11
|
|
call PlaceString
|
|
ld de, SFX_4_NOTE_DITTY
|
|
call PlaySFX
|
|
callba ReloadMapPart
|
|
ld c, 120
|
|
call DelayFrames
|
|
ret
|
|
; 10095a
|
|
|
|
.string_10095a ; 10095a
|
|
db "たいせん しゅうりょう@"
|
|
.string_100966 ; 100966
|
|
db "のこり ふん", $e7, "@"
|
|
; 100970
|
|
|
|
|
|
Function100970: ; 100970
|
|
hlcoord 0, 0
|
|
ld de, w3_dc00
|
|
call Function1009a5
|
|
hlcoord 0, 0, AttrMap
|
|
ld de, w3_dd68
|
|
call Function1009a5
|
|
call Function1009d2
|
|
call Function1009ae
|
|
ret
|
|
; 100989
|
|
|
|
Function100989: ; 100989
|
|
ld hl, w3_dc00
|
|
decoord 0, 0
|
|
call Function1009a5
|
|
call Function1009ae
|
|
callba ReloadMapPart
|
|
ld hl, w3_dd68
|
|
decoord 0, 0, AttrMap
|
|
call Function1009a5
|
|
ret
|
|
; 1009a5
|
|
|
|
Function1009a5: ; 1009a5
|
|
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
|
ld a, $03
|
|
call FarCopyWRAM
|
|
ret
|
|
; 1009ae
|
|
|
|
Function1009ae: ; 1009ae
|
|
ld a, [rSVBK]
|
|
push af
|
|
ld a, $03
|
|
ld [rSVBK], a
|
|
|
|
ld hl, w3_d800
|
|
decoord 0, 0, AttrMap
|
|
ld c, SCREEN_WIDTH
|
|
ld b, SCREEN_HEIGHT
|
|
.loop_row
|
|
push bc
|
|
.loop_col
|
|
ld a, [hli]
|
|
ld [de], a
|
|
inc de
|
|
dec c
|
|
jr nz, .loop_col
|
|
ld bc, BG_MAP_WIDTH - SCREEN_WIDTH
|
|
add hl, bc
|
|
pop bc
|
|
dec b
|
|
jr nz, .loop_row
|
|
|
|
pop af
|
|
ld [rSVBK], a
|
|
ret
|
|
; 1009d2
|
|
|
|
Function1009d2: ; 1009d2
|
|
ld a, [rSVBK]
|
|
push af
|
|
ld a, $03
|
|
ld [rSVBK], a
|
|
|
|
ld a, [rVBK]
|
|
push af
|
|
ld a, $01
|
|
ld [rVBK], a
|
|
|
|
ld hl, w3_d800
|
|
debgcoord 0, 0
|
|
lb bc, $03, $24
|
|
call Get2bpp
|
|
|
|
pop af
|
|
ld [rVBK], a
|
|
|
|
pop af
|
|
ld [rSVBK], a
|
|
ret
|
|
; 1009f3
|
|
|
|
Function1009f3: ; 1009f3
|
|
ld a, [hJoyDown]
|
|
and SELECT + A_BUTTON
|
|
cp SELECT + A_BUTTON
|
|
jr nz, .select_a
|
|
ld hl, wcd2a
|
|
set 4, [hl]
|
|
ld a, $f8
|
|
ld [wcd2b], a
|
|
scf
|
|
ret
|
|
|
|
.select_a
|
|
xor a
|
|
ret
|
|
; 100a09
|
|
|
|
_LinkBattleSendReceiveAction: ; 100a09
|
|
call .StageForSend
|
|
ld [wd431], a
|
|
callba PlaceWaitingText
|
|
ld a, [wLinkMode]
|
|
cp LINK_MOBILE
|
|
jr nz, .not_mobile
|
|
|
|
call .MobileBattle_SendReceiveAction
|
|
call Function100da5
|
|
callba FinishBattleAnim
|
|
jr .done
|
|
|
|
.not_mobile
|
|
call .LinkBattle_SendReceiveAction
|
|
|
|
.done
|
|
ret
|
|
; 100a2e
|
|
|
|
.StageForSend: ; 100a2e
|
|
ld a, [wPlayerAction]
|
|
and a
|
|
jr nz, .switch
|
|
ld a, [CurPlayerMove]
|
|
ld b, BATTLEACTION_E
|
|
cp STRUGGLE
|
|
jr z, .struggle
|
|
ld b, BATTLEACTION_D
|
|
cp $ff
|
|
jr z, .struggle
|
|
ld a, [CurMoveNum]
|
|
jr .use_move
|
|
|
|
.switch
|
|
ld a, [CurPartyMon]
|
|
add BATTLEACTION_SWITCH1
|
|
jr .use_move
|
|
|
|
.struggle
|
|
ld a, b
|
|
|
|
.use_move
|
|
and $0f
|
|
ret
|
|
; 100a53
|
|
|
|
.LinkBattle_SendReceiveAction: ; 100a53
|
|
ld a, [wd431]
|
|
ld [wPlayerLinkAction], a
|
|
ld a, $ff
|
|
ld [wOtherPlayerLinkAction], a
|
|
.waiting
|
|
call LinkTransfer
|
|
call DelayFrame
|
|
ld a, [wOtherPlayerLinkAction]
|
|
inc a
|
|
jr z, .waiting
|
|
|
|
ld b, 10
|
|
.receive
|
|
call DelayFrame
|
|
call LinkTransfer
|
|
dec b
|
|
jr nz, .receive
|
|
|
|
ld b, 10
|
|
.acknowledge
|
|
call DelayFrame
|
|
call LinkDataReceived
|
|
dec b
|
|
jr nz, .acknowledge
|
|
|
|
ld a, [wOtherPlayerLinkAction]
|
|
ld [wBattleAction], a
|
|
ret
|
|
; 100a87
|
|
|
|
.MobileBattle_SendReceiveAction: ; 100a87
|
|
call Function100acf
|
|
call StartMobileInactivityTimer
|
|
ld a, 0
|
|
ld [wcd27], a
|
|
.asm_100a92
|
|
call DelayFrame
|
|
call GetJoypad
|
|
callba Function100382
|
|
ld c, $01
|
|
ld b, $03
|
|
push bc
|
|
call AdvanceMobileInactivityTimerAndCheckExpired
|
|
pop bc
|
|
jr c, .asm_100ac7
|
|
ld b, $01
|
|
call Function10079c
|
|
jr c, .asm_100ac7
|
|
call Function1009f3
|
|
jr c, .asm_100ac7
|
|
ld a, [wcd2b]
|
|
and a
|
|
jr nz, .asm_100ac7
|
|
ld a, [wcd27]
|
|
bit 7, a
|
|
jr z, .asm_100a92
|
|
call Function100ae7
|
|
jr .asm_100ace
|
|
|
|
.asm_100ac7
|
|
ld a, $0f
|
|
ld [wd430], a
|
|
jr .asm_100ace
|
|
|
|
.asm_100ace
|
|
ret
|
|
; 100acf
|
|
|
|
Function100acf: ; 100acf
|
|
ld de, Unknown_100b0a
|
|
ld hl, wccb5
|
|
ld a, [wd431]
|
|
ld [hli], a
|
|
ld c, $01
|
|
.asm_100adb
|
|
ld a, [de]
|
|
inc de
|
|
ld [hli], a
|
|
inc c
|
|
and a
|
|
jr nz, .asm_100adb
|
|
ld a, c
|
|
ld [wccb4], a
|
|
ret
|
|
; 100ae7
|
|
|
|
Function100ae7: ; 100ae7
|
|
ld de, Unknown_100b0a
|
|
ld hl, wcc62
|
|
.asm_100aed
|
|
ld a, [de]
|
|
inc de
|
|
and a
|
|
jr z, .asm_100af8
|
|
cp [hl]
|
|
jr nz, .asm_100aff
|
|
inc hl
|
|
jr .asm_100aed
|
|
|
|
.asm_100af8
|
|
ld a, [wcc61]
|
|
ld [wd430], a
|
|
ret
|
|
|
|
.asm_100aff
|
|
ld a, $0f
|
|
ld [wd430], a
|
|
ld a, $f1
|
|
ld [wcd2b], a
|
|
ret
|
|
; 100b0a
|
|
|
|
|
|
SECTION "tetsuji", ROMX, BANK[$40]
|
|
|
|
charmap " ", $20 ; revert to ascii
|
|
|
|
Unknown_100b0a: ; 100b0a
|
|
db "tetsuji", 0
|
|
; 100b12
|
|
|
|
|
|
SECTION "bank40_2", ROMX, BANK[$40]
|
|
|
|
Function100b12: ; 100b12
|
|
call Function100dd8
|
|
ret c
|
|
ld hl, BattleMenuDataHeader
|
|
ld a, BANK(BattleMenuDataHeader)
|
|
ld de, LoadMenuDataHeader
|
|
call FarCall_de
|
|
ld a, BANK(BattleMenuDataHeader)
|
|
ld [wMenuData2_2DMenuItemStringsBank], a
|
|
ld a, [wd0d2]
|
|
ld [wMenuCursorBuffer], a
|
|
call Function100e72
|
|
call Function100b45
|
|
callba InitPartyMenuBGPal7
|
|
call Function100ed4
|
|
ld a, [wMenuCursorBuffer]
|
|
ld [wd0d2], a
|
|
call ExitMenu
|
|
ret
|
|
; 100b45
|
|
|
|
Function100b45: ; 100b45
|
|
call Function100b7a
|
|
.loop
|
|
call Mobile_SetOverworldDelay
|
|
callba MobileMenuJoypad
|
|
push bc
|
|
callba HDMATransferTileMapToWRAMBank3
|
|
call Function100e2d
|
|
pop bc
|
|
jr c, .asm_100b6b
|
|
ld a, [wMenuJoypadFilter]
|
|
and c
|
|
jr z, .loop
|
|
callba Mobile_GetMenuSelection
|
|
ret
|
|
|
|
.asm_100b6b
|
|
ld a, [w2DMenuNumCols]
|
|
ld c, a
|
|
ld a, [w2DMenuNumRows]
|
|
call SimpleMultiply
|
|
ld [wMenuCursorBuffer], a
|
|
and a
|
|
ret
|
|
; 100b7a
|
|
|
|
Function100b7a: ; 100b7a
|
|
ld hl, CopyMenuData2
|
|
ld a, [wMenuData2_2DMenuItemStringsBank]
|
|
rst FarCall
|
|
callba Draw2DMenu
|
|
callba MobileTextBorder
|
|
call UpdateSprites
|
|
call ApplyTilemap
|
|
callba Init2DMenuCursorPosition
|
|
ld hl, w2DMenuFlags1
|
|
set 7, [hl]
|
|
ret
|
|
; 100b9f
|
|
|
|
MobileMoveSelectionScreen: ; 100b9f
|
|
xor a
|
|
ld [wMoveSwapBuffer], a
|
|
callba CheckPlayerHasUsableMoves
|
|
ret z
|
|
call Function100dd8
|
|
jp c, xor_a_dec_a
|
|
call Function100e72
|
|
call .GetMoveSelection
|
|
push af
|
|
callba InitPartyMenuBGPal7
|
|
call Function100ed4
|
|
pop af
|
|
ret
|
|
; 100bc2
|
|
|
|
.GetMoveSelection: ; 100bc2
|
|
xor a
|
|
ld [hBGMapMode], a
|
|
call Function100c74
|
|
call Function100c98
|
|
.master_loop
|
|
callba MoveInfoBox
|
|
.loop
|
|
call Mobile_SetOverworldDelay
|
|
callba MobileMenuJoypad
|
|
push bc
|
|
callba HDMATransferTileMapToWRAMBank3
|
|
call Function100e2d
|
|
pop bc
|
|
jr c, .b_button
|
|
ld a, [wMenuJoypadFilter]
|
|
and c
|
|
bit D_UP_F, a
|
|
jp nz, .d_up
|
|
bit D_DOWN_F, a
|
|
jp nz, .d_down
|
|
bit A_BUTTON_F, a
|
|
jr nz, .a_button
|
|
bit B_BUTTON_F, a
|
|
jr nz, .b_button
|
|
jr .loop
|
|
|
|
.d_up
|
|
ld a, [wMenuCursorY]
|
|
and a
|
|
jp nz, .master_loop
|
|
ld a, [wNumMoves]
|
|
inc a
|
|
ld [wMenuCursorY], a
|
|
jp .master_loop
|
|
|
|
.d_down
|
|
ld a, [wMenuCursorY]
|
|
ld b, a
|
|
ld a, [wNumMoves]
|
|
inc a
|
|
inc a
|
|
cp b
|
|
jp nz, .master_loop
|
|
ld a, $01
|
|
ld [wMenuCursorY], a
|
|
jp .master_loop
|
|
|
|
.b_button
|
|
ld a, [wMenuCursorY]
|
|
dec a
|
|
ld [CurMoveNum], a
|
|
ld a, $01
|
|
and a
|
|
ret
|
|
|
|
.a_button
|
|
ld a, [wMenuCursorY]
|
|
dec a
|
|
ld [CurMoveNum], a
|
|
ld a, [wMenuCursorY]
|
|
dec a
|
|
ld c, a
|
|
ld b, 0
|
|
ld hl, BattleMonPP
|
|
add hl, bc
|
|
ld a, [hl]
|
|
and $3f
|
|
jr z, .no_pp_left
|
|
ld a, [PlayerDisableCount]
|
|
swap a
|
|
and $0f
|
|
dec a
|
|
cp c
|
|
jr z, .move_disabled
|
|
ld a, [wMenuCursorY]
|
|
dec a
|
|
ld c, a
|
|
ld b, 0
|
|
ld hl, BattleMonMoves
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld [CurPlayerMove], a
|
|
xor a
|
|
ret
|
|
|
|
.move_disabled
|
|
ld hl, BattleText_TheMoveIsDisabled
|
|
jr .print_text
|
|
|
|
.no_pp_left
|
|
ld hl, BattleText_TheresNoPPLeftForThisMove
|
|
|
|
.print_text
|
|
call StdBattleTextBox
|
|
call Call_LoadTempTileMapToTileMap
|
|
jp .GetMoveSelection
|
|
; 100c74
|
|
|
|
Function100c74: ; 100c74
|
|
hlcoord 0, 8
|
|
ld b, 8
|
|
ld c, 8
|
|
call TextBox
|
|
ld hl, BattleMonMoves
|
|
ld de, wListMoves_MoveIndicesBuffer
|
|
ld bc, NUM_MOVES
|
|
call CopyBytes
|
|
ld a, SCREEN_WIDTH * 2
|
|
ld [Buffer1], a
|
|
hlcoord 2, 10
|
|
predef ListMoves
|
|
ret
|
|
; 100c98
|
|
|
|
Function100c98: ; 100c98
|
|
ld de, .attrs
|
|
call SetMenuAttributes
|
|
ld a, [wNumMoves]
|
|
inc a
|
|
ld [w2DMenuNumRows], a
|
|
ld a, [CurMoveNum]
|
|
inc a
|
|
ld [wMenuCursorY], a
|
|
ret
|
|
; 100cad
|
|
|
|
.attrs ; 100cad
|
|
db 10, 1
|
|
db 255, 1
|
|
db $a0, $00
|
|
dn 2, 0
|
|
db D_UP | D_DOWN | A_BUTTON | B_BUTTON
|
|
|
|
Mobile_PartyMenuSelect: ; 100cb5
|
|
call Function100dd8
|
|
ret c
|
|
ld hl, w2DMenuFlags1
|
|
set 7, [hl]
|
|
res 6, [hl]
|
|
.loop
|
|
call Mobile_SetOverworldDelay
|
|
callba MobileMenuJoypad
|
|
push bc
|
|
callba PlaySpriteAnimations
|
|
callba HDMATransferTileMapToWRAMBank3
|
|
call MobileComms_CheckInactivityTimer
|
|
pop bc
|
|
jr c, .done
|
|
ld a, [wMenuJoypadFilter]
|
|
and c
|
|
jr z, .loop
|
|
call PlaceHollowCursor
|
|
ld a, [PartyCount]
|
|
inc a
|
|
ld b, a
|
|
ld a, [wMenuCursorY]
|
|
cp b
|
|
jr z, .done
|
|
ld [wPartyMenuCursor], a
|
|
ld a, [hJoyLast]
|
|
ld b, a
|
|
bit 1, b
|
|
jr nz, .done
|
|
ld a, [wMenuCursorY]
|
|
dec a
|
|
ld [CurPartyMon], a
|
|
ld c, a
|
|
ld b, 0
|
|
ld hl, PartySpecies
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld [CurPartySpecies], a
|
|
ld de, SFX_READ_TEXT_2
|
|
call PlaySFX
|
|
call WaitSFX
|
|
and a
|
|
ret
|
|
|
|
.done
|
|
ld de, SFX_READ_TEXT_2
|
|
call PlaySFX
|
|
call WaitSFX
|
|
scf
|
|
ret
|
|
; 100d22
|
|
|
|
MobileBattleMonMenu: ; 100d22
|
|
call Function100dd8
|
|
ret c
|
|
call Function100d67
|
|
ld hl, w2DMenuFlags1
|
|
set 7, [hl]
|
|
res 6, [hl]
|
|
.asm_100d30
|
|
call Mobile_SetOverworldDelay
|
|
callba MobileMenuJoypad
|
|
push bc
|
|
callba PlaySpriteAnimations
|
|
callba HDMATransferTileMapToWRAMBank3
|
|
call MobileComms_CheckInactivityTimer
|
|
pop bc
|
|
jr c, .asm_100d54
|
|
ld a, [wMenuJoypadFilter]
|
|
and c
|
|
jr nz, .asm_100d56
|
|
jr .asm_100d30
|
|
|
|
.asm_100d54
|
|
scf
|
|
ret
|
|
|
|
.asm_100d56
|
|
push af
|
|
ld de, SFX_READ_TEXT_2
|
|
call PlaySFX
|
|
pop af
|
|
bit 1, a
|
|
jr z, .asm_100d65
|
|
ret z
|
|
scf
|
|
ret
|
|
|
|
.asm_100d65
|
|
and a
|
|
ret
|
|
; 100d67
|
|
|
|
Function100d67: ; 100d67
|
|
ld hl, .MenuDataHeader
|
|
call CopyMenuDataHeader
|
|
xor a
|
|
ld [hBGMapMode], a
|
|
call MenuBox
|
|
call UpdateSprites
|
|
call PlaceVerticalMenuItems
|
|
call WaitBGMap
|
|
call CopyMenuData2
|
|
call InitVerticalMenuCursor
|
|
ld hl, w2DMenuFlags1
|
|
set 6, [hl]
|
|
ret
|
|
; 100d88
|
|
|
|
.MenuDataHeader: ; 100d88
|
|
db 0 ; flags
|
|
db 11, 11 ; start coords
|
|
db 17, 19 ; end coords
|
|
dw .MenuData2
|
|
db 1 ; default option
|
|
|
|
.MenuData2: ; 100d90
|
|
db $c0 ; flags
|
|
db 3
|
|
db "いれかえる@" ; TRADE
|
|
db "つよさをみる@" ; STATS
|
|
db "キャンセル@" ; CANCEL
|
|
; 100da5
|
|
|
|
Function100da5: ; 100da5
|
|
ld hl, wcd2a
|
|
res 3, [hl]
|
|
ld hl, wcd29
|
|
res 0, [hl]
|
|
ret
|
|
; 100db0
|
|
|
|
Function100db0: ; 100db0
|
|
ld hl, wcd2a
|
|
bit 3, [hl]
|
|
jr nz, .asm_100dbe
|
|
ld hl, wcd2a
|
|
set 3, [hl]
|
|
scf
|
|
ret
|
|
|
|
.asm_100dbe
|
|
xor a
|
|
ret
|
|
; 100dc0
|
|
|
|
|
|
|
|
Function100dc0: ; 100dc0
|
|
ld a, [wLinkMode]
|
|
cp LINK_MOBILE
|
|
jr nz, .mobile
|
|
ld hl, wcd2a
|
|
bit 3, [hl]
|
|
jr z, .mobile
|
|
scf
|
|
ret
|
|
|
|
.mobile
|
|
xor a
|
|
ret
|
|
; 100dd2
|
|
|
|
Mobile_SetOverworldDelay: ; 100dd2
|
|
ld a, 30
|
|
ld [OverworldDelay], a
|
|
ret
|
|
; 100dd8
|
|
|
|
Function100dd8: ; 100dd8
|
|
ld c, $01
|
|
ld b, $03
|
|
callba AdvanceMobileInactivityTimerAndCheckExpired
|
|
jr c, .asm_100dfb
|
|
ld c, $3c
|
|
ld b, $01
|
|
call Function10079c
|
|
jr c, .asm_100dfb
|
|
callba Function10032e
|
|
ld a, [wcd2b]
|
|
and a
|
|
jr nz, .asm_100dfb
|
|
xor a
|
|
ret
|
|
|
|
.asm_100dfb
|
|
scf
|
|
ret
|
|
; 100dfd
|
|
|
|
MobileComms_CheckInactivityTimer: ; 100dfd
|
|
ld a, [OverworldDelay]
|
|
ld c, a
|
|
ld a, 30
|
|
sub c
|
|
ld c, a
|
|
ld b, 3
|
|
push bc
|
|
callba AdvanceMobileInactivityTimerAndCheckExpired ; useless to farcall
|
|
pop bc
|
|
jr c, .quit
|
|
ld b, 1
|
|
call Function10079c
|
|
jr c, .quit
|
|
call Function1009f3
|
|
jr c, .quit
|
|
callba Function10032e ; useless to farcall
|
|
ld a, [wcd2b]
|
|
and a
|
|
jr nz, .quit
|
|
xor a
|
|
ret
|
|
|
|
.quit
|
|
scf
|
|
ret
|
|
; 100e2d
|
|
|
|
Function100e2d: ; 100e2d
|
|
ld a, [OverworldDelay]
|
|
ld c, a
|
|
ld a, 30
|
|
sub c
|
|
ld c, a
|
|
ld b, 3
|
|
push bc
|
|
callba AdvanceMobileInactivityTimerAndCheckExpired
|
|
pop bc
|
|
jr c, .asm_100e61
|
|
ld b, 1
|
|
call Function10079c
|
|
jr c, .asm_100e61
|
|
call Function1009f3
|
|
jr c, .asm_100e61
|
|
callba Function10032e
|
|
ld a, [wcd2b]
|
|
and a
|
|
jr nz, .asm_100e61
|
|
call Function100e63
|
|
call Function100e84
|
|
xor a
|
|
ret
|
|
|
|
.asm_100e61
|
|
scf
|
|
ret
|
|
; 100e63
|
|
|
|
Function100e63: ; 100e63
|
|
ld a, e
|
|
cp $02
|
|
ret nz
|
|
call Function100db0
|
|
ret nc
|
|
ld de, SFX_ELEVATOR_END
|
|
call PlaySFX
|
|
ret
|
|
; 100e72
|
|
|
|
Function100e72: ; 100e72
|
|
xor a
|
|
ld hl, wcd29
|
|
bit 0, [hl]
|
|
jr z, .asm_100e7c
|
|
ld a, $0a
|
|
|
|
.asm_100e7c
|
|
ld [wcd67], a
|
|
xor a
|
|
ld [wcd68], a
|
|
ret
|
|
; 100e84
|
|
|
|
Function100e84: ; 100e84
|
|
ld a, [wcd67]
|
|
ld hl, Jumptable_100e8c
|
|
rst JumpTable
|
|
ret
|
|
; 100e8c
|
|
|
|
|
|
Jumptable_100e8c: ; 100e8c (40:4e8c)
|
|
dw Function100ea2
|
|
dw Function100eae
|
|
dw Function100eb4
|
|
dw Function100eae
|
|
dw Function100eb4
|
|
dw Function100eae
|
|
dw Function100eb4
|
|
dw Function100eae
|
|
dw Function100eb4
|
|
dw Function100eae
|
|
dw Function100ec4
|
|
|
|
|
|
Function100ea2: ; 100ea2 (40:4ea2)
|
|
call Function100dc0
|
|
ret nc
|
|
ld hl, wcd29
|
|
set 0, [hl]
|
|
call Function100ec5
|
|
|
|
|
|
Function100eae: ; 100eae
|
|
scf
|
|
call Function100eca
|
|
jr asm_100eb8
|
|
|
|
Function100eb4: ; 100eb4
|
|
and a
|
|
call Function100eca
|
|
|
|
asm_100eb8
|
|
ld hl, wcd68
|
|
inc [hl]
|
|
ld a, [hl]
|
|
cp $02
|
|
ret c
|
|
ld [hl], 0
|
|
jr Function100ec5
|
|
|
|
Function100ec4: ; 100ec4
|
|
ret
|
|
|
|
Function100ec5
|
|
ld hl, wcd67
|
|
inc [hl]
|
|
ret
|
|
; 100eca
|
|
|
|
Function100eca: ; 100eca
|
|
callba Mobile_InitPartyMenuBGPal7
|
|
call Function100ed4
|
|
ret
|
|
; 100ed4
|
|
|
|
Function100ed4: ; 100ed4
|
|
callba ApplyPals
|
|
ld a, $01
|
|
ld [hCGBPalUpdate], a
|
|
ret
|
|
; 100edf
|
|
|
|
Function100edf: ; 100edf
|
|
ld hl, Unknown_100fc0
|
|
ld c, 1
|
|
jr asm_100f02
|
|
|
|
Function100ee6: ; 100ee6
|
|
ld hl, Unknown_100fc0
|
|
ld c, 2
|
|
jr asm_100f02
|
|
|
|
Function100eed: ; 100eed
|
|
ld hl, Unknown_100feb
|
|
ld c, 1
|
|
jr asm_100f02
|
|
|
|
Function100ef4: ; 100ef4
|
|
ld hl, Unknown_100ff3
|
|
ld c, 1
|
|
jr asm_100f02
|
|
|
|
Function100efb: ; 100efb
|
|
ld hl, Unknown_10102c
|
|
ld c, 1
|
|
jr asm_100f02
|
|
|
|
asm_100f02:
|
|
ld a, c
|
|
ld [StringBuffer2], a
|
|
; someting that was previously stored in de gets backed up to here
|
|
ld a, e
|
|
ld [StringBuffer2 + 1], a
|
|
ld a, d
|
|
ld [StringBuffer2 + 2], a
|
|
; empty this
|
|
xor a
|
|
ld [StringBuffer2 + 4], a
|
|
ld [StringBuffer2 + 5], a
|
|
.loop
|
|
ld a, [hl]
|
|
cp $ff
|
|
jr z, .done
|
|
ld [StringBuffer2 + 3], a ; bank
|
|
push hl
|
|
inc hl
|
|
; addr 1
|
|
ld a, [hli]
|
|
ld e, a
|
|
ld a, [hli]
|
|
ld d, a
|
|
; size
|
|
ld a, [hli]
|
|
ld c, a
|
|
ld a, [hli]
|
|
ld b, a
|
|
; addr 2
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
call Function100f3d
|
|
; next line
|
|
pop hl
|
|
ld de, 7
|
|
add hl, de
|
|
jr .loop
|
|
|
|
.done
|
|
; recover the values into bc
|
|
ld a, [StringBuffer2 + 4]
|
|
ld c, a
|
|
ld a, [StringBuffer2 + 5]
|
|
ld b, a
|
|
ret
|
|
; 100f3d
|
|
|
|
Function100f3d: ; 100f3d
|
|
; parameter
|
|
ld a, [StringBuffer2]
|
|
cp $02
|
|
jr z, .two
|
|
cp $01
|
|
jr z, .one
|
|
cp $03
|
|
jr z, .three
|
|
ret
|
|
|
|
.three
|
|
; what was once in de gets copied to hl,
|
|
; modified by Function100f8d, and put back
|
|
; into this backup
|
|
ld a, [StringBuffer2 + 1]
|
|
ld l, a
|
|
ld a, [StringBuffer2 + 2]
|
|
ld h, a
|
|
call Function100f8d
|
|
ld a, l
|
|
ld [StringBuffer2 + 1], a
|
|
ld a, h
|
|
ld [StringBuffer2 + 2], a
|
|
ret
|
|
|
|
.two
|
|
; hl gets backed up to de, then
|
|
; do the same as in .three
|
|
ld d, h
|
|
ld e, l
|
|
ld a, [StringBuffer2 + 1]
|
|
ld l, a
|
|
ld a, [StringBuffer2 + 2]
|
|
ld h, a
|
|
call Function100f8d
|
|
ld a, l
|
|
ld [StringBuffer2 + 1], a
|
|
ld a, h
|
|
ld [StringBuffer2 + 2], a
|
|
ret
|
|
|
|
.one
|
|
; de gets copied to hl, then
|
|
; load the backup into de,
|
|
; finally run Function100f8d
|
|
; and store the de result
|
|
ld h, d
|
|
ld l, e
|
|
ld a, [StringBuffer2 + 1]
|
|
ld e, a
|
|
ld a, [StringBuffer2 + 2]
|
|
ld d, a
|
|
call Function100f8d
|
|
ld a, e
|
|
ld [StringBuffer2 + 1], a
|
|
ld a, d
|
|
ld [StringBuffer2 + 2], a
|
|
ret
|
|
; 100f8d
|
|
|
|
Function100f8d: ; 100f8d
|
|
push hl
|
|
ld a, [StringBuffer2 + 4]
|
|
ld l, a
|
|
ld a, [StringBuffer2 + 5]
|
|
ld h, a
|
|
add hl, bc
|
|
ld a, l
|
|
ld [StringBuffer2 + 4], a
|
|
ld a, h
|
|
ld [StringBuffer2 + 5], a
|
|
pop hl
|
|
ld a, [StringBuffer2 + 3]
|
|
bit 7, a
|
|
res 7, a
|
|
jr z, .sram
|
|
and a
|
|
jr nz, .far_wram
|
|
call CopyBytes
|
|
ret
|
|
|
|
.far_wram
|
|
and $7f
|
|
call FarCopyWRAM
|
|
ret
|
|
|
|
.sram
|
|
call GetSRAMBank
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ret
|
|
; 100fc0
|
|
|
|
Unknown_100fc0: ; 100fc0
|
|
; first byte:
|
|
; Bit 7 set: Not SRAM
|
|
; Lower 7 bits: Bank
|
|
; Address, size (dw), address
|
|
dbwww $80, PlayerName, NAME_LENGTH, OTPlayerName
|
|
dbwww $80, PartyCount, 1 + PARTY_LENGTH + 1, OTPartyCount
|
|
dbwww $80, PlayerID, 2, OTPlayerID
|
|
dbwww $80, PartyMons, PARTYMON_STRUCT_LENGTH * PARTY_LENGTH, OTPartyMons
|
|
dbwww $80, PartyMonOT, NAME_LENGTH * PARTY_LENGTH, OTPartyMonOT
|
|
dbwww $80, PartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, OTPartyMonNicknames
|
|
db -1
|
|
|
|
Unknown_100feb: ; 100feb
|
|
dbwww $00, sPartyMail, MAIL_STRUCT_LENGTH * PARTY_LENGTH, NULL
|
|
db -1
|
|
|
|
Unknown_100ff3: ; 100ff3
|
|
dbwww $80, wdc41, 1, NULL
|
|
dbwww $80, PlayerName, NAME_LENGTH, NULL
|
|
dbwww $80, PlayerName, NAME_LENGTH, NULL
|
|
dbwww $80, PlayerID, 2, NULL
|
|
dbwww $80, wSecretID, 2, NULL
|
|
dbwww $80, PlayerGender, 1, NULL
|
|
dbwww $04, $a603, 8, NULL
|
|
dbwww $04, $a007, PARTYMON_STRUCT_LENGTH, NULL
|
|
db -1
|
|
|
|
Unknown_10102c: ; 10102c
|
|
dbwww $80, OTPlayerName, NAME_LENGTH, NULL
|
|
dbwww $80, OTPlayerID, 2, NULL
|
|
dbwww $80, OTPartyMonNicknames, PKMN_NAME_LENGTH * PARTY_LENGTH, NULL
|
|
dbwww $80, OTPartyMonOT, NAME_LENGTH * PARTY_LENGTH, NULL
|
|
dbwww $80, OTPartyMons, PARTYMON_STRUCT_LENGTH * PARTY_LENGTH, NULL
|
|
db -1
|
|
; 10104f
|
|
|
|
Function101050: ; 101050
|
|
call Function10107d
|
|
ld a, [OTPartyCount]
|
|
rept 2 ; ???
|
|
ld hl, wc608
|
|
endr
|
|
ld bc, wc7bb - wc608
|
|
call Function1010de
|
|
ld hl, wc7bb
|
|
ld [hl], e
|
|
inc hl
|
|
ld [hl], d
|
|
ld a, $07
|
|
call GetSRAMBank
|
|
ld hl, wc608
|
|
ld de, $a001
|
|
ld bc, wc7bd - wc608
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ret
|
|
; 10107d
|
|
|
|
Function10107d: ; 10107d
|
|
xor a
|
|
ld hl, wc608
|
|
ld bc, wc7bd - wc608
|
|
call ByteFill
|
|
ld hl, OTPlayerName
|
|
ld de, wc608
|
|
ld bc, NAME_LENGTH
|
|
call CopyBytes
|
|
ld hl, wd271
|
|
ld a, [hli]
|
|
ld [wc608 + 11], a
|
|
ld a, [hl]
|
|
ld [wc608 + 12], a
|
|
ld hl, OTPartyMonNicknames
|
|
ld de, wc608 + 13
|
|
ld bc, NAME_LENGTH
|
|
call .CopyAllFromOT
|
|
ld hl, OTPartyMonOT
|
|
ld de, OTClassName + 1
|
|
ld bc, NAME_LENGTH
|
|
call .CopyAllFromOT
|
|
ld hl, OTPartyMon1Species
|
|
ld de, $c699
|
|
ld bc, PARTYMON_STRUCT_LENGTH
|
|
call .CopyAllFromOT
|
|
ld a, $50
|
|
ld [wc7b9], a
|
|
ld a, $33
|
|
ld [wc7ba], a
|
|
ret
|
|
; 1010cd
|
|
|
|
.CopyAllFromOT: ; 1010cd
|
|
push hl
|
|
ld hl, 0
|
|
ld a, [OTPartyCount]
|
|
call AddNTimes
|
|
ld b, h
|
|
ld c, l
|
|
pop hl
|
|
call CopyBytes
|
|
ret
|
|
; 1010de
|
|
|
|
Function1010de: ; 1010de
|
|
push hl
|
|
push bc
|
|
ld de, 0
|
|
.loop
|
|
ld a, [hli]
|
|
add e
|
|
ld e, a
|
|
ld a, d
|
|
adc 0
|
|
ld d, a
|
|
dec bc
|
|
ld a, b
|
|
or c
|
|
jr nz, .loop
|
|
pop bc
|
|
pop hl
|
|
ret
|
|
; 1010f2
|
|
|
|
LoadSelectedPartiesForColosseum: ; 1010f2
|
|
xor a
|
|
ld hl, StringBuffer2
|
|
ld bc, 9
|
|
call ByteFill
|
|
ld hl, wPlayerMonSelection
|
|
ld de, PartyCount
|
|
call .CopyThreeSpecies
|
|
ld hl, wPlayerMonSelection
|
|
ld de, PartyMon1Species
|
|
call .CopyPartyStruct
|
|
ld hl, wPlayerMonSelection
|
|
ld de, PartyMonOT
|
|
call .CopyName
|
|
ld hl, wPlayerMonSelection
|
|
ld de, PartyMonNicknames
|
|
call .CopyName
|
|
ld hl, wOTMonSelection
|
|
ld de, OTPartyCount
|
|
call .CopyThreeSpecies
|
|
ld hl, wOTMonSelection
|
|
ld de, OTPartyMon1Species
|
|
call .CopyPartyStruct
|
|
ld hl, wOTMonSelection
|
|
ld de, OTPartyMonOT
|
|
call .CopyName
|
|
ld hl, wOTMonSelection
|
|
ld de, OTPartyMonNicknames
|
|
call .CopyName
|
|
ret
|
|
; 101145
|
|
|
|
.CopyThreeSpecies: ; 101145
|
|
; Load the 3 choices to the buffer
|
|
push de
|
|
ld bc, StringBuffer2 + 6
|
|
xor a
|
|
.party_loop
|
|
push af
|
|
call .GetNthSpecies
|
|
ld [bc], a
|
|
inc bc
|
|
pop af
|
|
inc a
|
|
cp 3
|
|
jr nz, .party_loop
|
|
pop de
|
|
; Copy the 3 choices to the party
|
|
ld a, 3
|
|
ld [de], a
|
|
inc de
|
|
ld hl, StringBuffer2 + 6
|
|
ld bc, 3
|
|
call CopyBytes
|
|
ld a, $ff
|
|
ld [de], a
|
|
ret
|
|
; 101168
|
|
|
|
.GetNthSpecies: ; 101168
|
|
; Preserves hl and de
|
|
; Get the index of the Nth selection
|
|
push hl
|
|
add l
|
|
ld l, a
|
|
ld a, h
|
|
adc 0
|
|
ld h, a
|
|
ld a, [hl]
|
|
pop hl
|
|
; Get the corresponding species
|
|
push de
|
|
inc de
|
|
add e
|
|
ld e, a
|
|
ld a, d
|
|
adc 0
|
|
ld d, a
|
|
ld a, [de]
|
|
pop de
|
|
ret
|
|
; 10117c
|
|
|
|
.CopyPartyStruct: ; 10117c
|
|
ld bc, PARTYMON_STRUCT_LENGTH
|
|
jr .ContinueCopy
|
|
|
|
.CopyName: ; 101181
|
|
ld bc, NAME_LENGTH
|
|
|
|
.ContinueCopy:
|
|
; Copy, via wc608...
|
|
ld a, wc608 % $100
|
|
ld [StringBuffer2], a
|
|
ld a, wc608 / $100
|
|
ld [StringBuffer2 + 1], a
|
|
; ... bc bytes...
|
|
ld a, c
|
|
ld [StringBuffer2 + 2], a
|
|
ld a, b
|
|
ld [StringBuffer2 + 3], a
|
|
; ... to de...
|
|
ld a, e
|
|
ld [StringBuffer2 + 4], a
|
|
ld a, d
|
|
ld [StringBuffer2 + 5], a
|
|
; ... 3 times.
|
|
ld a, 3
|
|
.big_copy_loop
|
|
push af
|
|
ld a, [hli]
|
|
push hl
|
|
push af
|
|
call .GetDestinationAddress
|
|
call .GetCopySize
|
|
pop af
|
|
call AddNTimes
|
|
ld a, [StringBuffer2]
|
|
ld e, a
|
|
ld a, [StringBuffer2 + 1]
|
|
ld d, a
|
|
call CopyBytes
|
|
ld a, e
|
|
ld [StringBuffer2], a
|
|
ld a, d
|
|
ld [StringBuffer2 + 1], a
|
|
pop hl
|
|
pop af
|
|
dec a
|
|
jr nz, .big_copy_loop
|
|
call .GetCopySize
|
|
ld a, 3
|
|
ld hl, 0
|
|
call AddNTimes
|
|
ld b, h
|
|
ld c, l
|
|
call .GetDestinationAddress
|
|
ld d, h
|
|
ld e, l
|
|
ld hl, wc608
|
|
call CopyBytes
|
|
ret
|
|
; 1011df
|
|
|
|
.GetDestinationAddress: ; 1011df
|
|
ld a, [StringBuffer2 + 4]
|
|
ld l, a
|
|
ld a, [StringBuffer2 + 5]
|
|
ld h, a
|
|
ret
|
|
; 1011e8
|
|
|
|
.GetCopySize: ; 1011e8
|
|
ld a, [StringBuffer2 + 2]
|
|
ld c, a
|
|
ld a, [StringBuffer2 + 3]
|
|
ld b, a
|
|
ret
|
|
; 1011f1
|
|
|
|
Function1011f1: ; 1011f1
|
|
ld a, $04
|
|
call GetSRAMBank
|
|
ld a, [$a60c]
|
|
ld [wdc41], a
|
|
call CloseSRAM
|
|
ld hl, wdc41
|
|
res 4, [hl]
|
|
ld hl, GameTimerPause
|
|
bit 7, [hl]
|
|
jr z, .skip
|
|
ld hl, wdc41
|
|
set 4, [hl]
|
|
|
|
.skip
|
|
call Function10209c
|
|
xor a
|
|
ld [wdc5f], a
|
|
ld [wdc60], a
|
|
ld a, LINK_MOBILE
|
|
ld [wLinkMode], a
|
|
ret
|
|
; 101220
|
|
|
|
Function101220: ; 101220
|
|
xor a
|
|
ld [wLinkMode], a
|
|
ret
|
|
; 101225
|
|
|
|
Function101225: ; 101225
|
|
ld d, 1
|
|
ld e, BANK(Jumptable_101297)
|
|
ld bc, Jumptable_101297
|
|
call Function100000
|
|
jr Function10123d
|
|
|
|
Function101231: ; 101231
|
|
ld d, 2
|
|
ld e, BANK(Jumptable_101297)
|
|
ld bc, Jumptable_101297
|
|
call Function100000
|
|
jr Function10123d
|
|
|
|
Function10123d: ; 10123d
|
|
xor a
|
|
ld [ScriptVar], a
|
|
ld a, c
|
|
ld hl, Jumptable_101247
|
|
rst JumpTable
|
|
ret
|
|
; 101247
|
|
|
|
Jumptable_101247: ; 101247
|
|
dw Function101251
|
|
dw Function10127d
|
|
dw Function10127c
|
|
dw Function10126c
|
|
dw Function101265
|
|
; 101251
|
|
|
|
Function101251: ; 101251
|
|
call UpdateSprites
|
|
call RefreshScreen
|
|
ld hl, UnknownText_0x1021f4
|
|
call Function1021e0
|
|
call Function1020ea
|
|
ret c
|
|
call Function102142
|
|
ret
|
|
; 101265
|
|
|
|
Function101265: ; 101265
|
|
ld hl, UnknownText_0x1021ef
|
|
call Function1021e0
|
|
ret
|
|
; 10126c
|
|
|
|
Function10126c: ; 10126c
|
|
call UpdateSprites
|
|
callba Script_reloadmappart
|
|
ld hl, UnknownText_0x1021f4
|
|
call Function1021e0
|
|
ret
|
|
; 10127c
|
|
|
|
Function10127c: ; 10127c
|
|
ret
|
|
; 10127d
|
|
|
|
Function10127d: ; 10127d
|
|
ret
|
|
; 10127e
|
|
|
|
Function10127e: ; 10127e
|
|
ld a, [wdc5f]
|
|
and a
|
|
jr z, .zero
|
|
cp 1
|
|
ld c, $27
|
|
jr z, .load
|
|
cp 2
|
|
ld c, $37
|
|
jr z, .load
|
|
.zero
|
|
ld c, 0
|
|
.load
|
|
ld a, c
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101297
|
|
|
|
Jumptable_101297: ; 101297
|
|
dw Function101a97 ; 00
|
|
dw Function101ab4 ; 01
|
|
dw Function101475 ; 02
|
|
dw Function101b0f ; 03
|
|
dw Function101438 ; 04
|
|
dw Function101b2b ; 05
|
|
dw Function101b59 ; 06
|
|
dw Function101475 ; 07
|
|
dw Function101b70 ; 08
|
|
dw Function101438 ; 09
|
|
dw Function101b8f ; 0a
|
|
dw Function101d7b ; 0b
|
|
dw Function101d95 ; 0c
|
|
dw Function101475 ; 0d
|
|
dw Function101db2 ; 0e
|
|
dw Function101e4f ; 0f
|
|
dw Function101475 ; 10
|
|
dw Function101e64 ; 11
|
|
dw Function101e4f ; 12
|
|
dw Function101475 ; 13
|
|
dw Function101e64 ; 14
|
|
dw Function101d95 ; 15
|
|
dw Function101475 ; 16
|
|
dw Function101db2 ; 17
|
|
dw Function101dd0 ; 18
|
|
dw Function101de3 ; 19
|
|
dw Function101e39 ; 1a
|
|
dw Function101e09 ; 1b
|
|
dw Function101e4f ; 1c
|
|
dw Function101475 ; 1d
|
|
dw Function101e64 ; 1e
|
|
dw Function101d95 ; 1f
|
|
dw Function101475 ; 20
|
|
dw Function101db2 ; 21
|
|
dw Function101e09 ; 22
|
|
dw Function101e31 ; 23
|
|
dw Function101bc8 ; 24
|
|
dw Function101438 ; 25
|
|
dw Function101be5 ; 26
|
|
dw Function101ac6 ; 27
|
|
dw Function101ab4 ; 28
|
|
dw Function101475 ; 29
|
|
dw Function101c11 ; 2a
|
|
dw Function1014f4 ; 2b
|
|
dw Function101cc8 ; 2c
|
|
dw Function1014e2 ; 2d
|
|
dw Function1014e2 ; 2e
|
|
dw Function101d10 ; 2f
|
|
dw Function101d2a ; 30
|
|
dw Function101d2a ; 31
|
|
dw Function101507 ; 32
|
|
dw Function10156d ; 33
|
|
dw Function101557 ; 34
|
|
dw Function10158a ; 35
|
|
dw Function101c42 ; 36
|
|
dw Function101aed ; 37
|
|
dw Function101ab4 ; 38
|
|
dw Function101475 ; 39
|
|
dw Function101c2b ; 3a
|
|
dw Function1014f4 ; 3b
|
|
dw Function101cdf ; 3c
|
|
dw Function1014e2 ; 3d
|
|
dw Function1014e2 ; 3e
|
|
dw Function101d1e ; 3f
|
|
dw Function101d2a ; 40
|
|
dw Function101d2a ; 41
|
|
dw Function101507 ; 42
|
|
dw Function10156d ; 43
|
|
dw Function101544 ; 44
|
|
dw Function10158a ; 45
|
|
dw Function101c42 ; 46
|
|
dw Function101c50 ; 47
|
|
dw Function1014ce ; 48
|
|
dw Function101cf6 ; 49
|
|
dw Function101826 ; 4a
|
|
dw Function1017e4 ; 4b
|
|
dw Function1017f1 ; 4c
|
|
dw Function1018a8 ; 4d
|
|
dw Function1018d6 ; 4e
|
|
dw Function1017e4 ; 4f
|
|
dw Function1017f1 ; 50
|
|
dw Function1018e1 ; 51
|
|
dw Function1015df ; 52
|
|
dw Function10167d ; 53
|
|
dw Function10168a ; 54
|
|
dw Function10162a ; 55
|
|
dw Function1015be ; 56
|
|
dw Function10167d ; 57
|
|
dw Function10168a ; 58
|
|
dw Function10161f ; 59
|
|
dw Function10159d ; 5a
|
|
dw Function10167d ; 5b
|
|
dw Function10168a ; 5c
|
|
dw Function101600 ; 5d
|
|
dw Function101d03 ; 5e
|
|
dw Function101d6b ; 5f
|
|
dw Function10159d ; 60
|
|
dw Function1014ce ; 61
|
|
dw Function10168e ; 62
|
|
dw Function101600 ; 63
|
|
dw Function101913 ; 64
|
|
dw Function10194b ; 65
|
|
dw _SelectMonsForMobileBattle ; 66
|
|
dw Function1017e4 ; 67
|
|
dw Function1017f5 ; 68
|
|
dw _StartMobileBattle ; 69
|
|
dw Function101537 ; 6a
|
|
dw Function101571 ; 6b
|
|
dw Function101c92 ; 6c
|
|
dw Function10152a ; 6d
|
|
dw Function101571 ; 6e
|
|
dw Function101a4f ; 6f
|
|
dw Function101cbc ; 70
|
|
dw Function101c62 ; 71
|
|
dw Function101537 ; 72
|
|
dw Function101571 ; 73
|
|
dw Function101c92 ; 74
|
|
dw Function10152a ; 75
|
|
dw Function101571 ; 76
|
|
dw Function101ca0 ; 77
|
|
dw Function101475 ; 78
|
|
dw Function101cbc ; 79
|
|
; 10138b
|
|
|
|
Function10138b: ; 10138b
|
|
callba Function8adcc
|
|
ld c, 0
|
|
jr c, .asm_101396
|
|
inc c
|
|
|
|
.asm_101396
|
|
sla c
|
|
ld a, [wcd2f]
|
|
and a
|
|
jr z, .asm_10139f
|
|
inc c
|
|
|
|
.asm_10139f
|
|
sla c
|
|
ld a, [wcd21]
|
|
cp $01
|
|
jr z, .asm_1013a9
|
|
inc c
|
|
|
|
.asm_1013a9
|
|
ret
|
|
; 1013aa
|
|
|
|
Function1013aa: ; 1013aa
|
|
call ClearBGPalettes
|
|
call Call_ExitMenu
|
|
call ReloadTilesetAndPalettes
|
|
callba Function106464
|
|
call UpdateSprites
|
|
call FinishExitMenu
|
|
ret
|
|
; 1013c0
|
|
|
|
Function1013c0: ; 1013c0
|
|
callba BlankScreen
|
|
callba MobileFunc_106462
|
|
callba Function106464
|
|
call FinishExitMenu
|
|
ret
|
|
; 1013d6
|
|
|
|
Function1013d6: ; 1013d6
|
|
callba HDMATransferAttrMapAndTileMapToWRAMBank3
|
|
ret
|
|
; 1013dd
|
|
|
|
Function1013dd: ; 1013dd
|
|
call CGBOnly_LoadEDTile
|
|
ret
|
|
; 1013e1
|
|
|
|
Function1013e1: ; 1013e1 ; unreferenced
|
|
push de
|
|
inc de
|
|
ld b, a
|
|
ld c, 0
|
|
.asm_1013e6
|
|
inc c
|
|
ld a, [hli]
|
|
ld [de], a
|
|
inc de
|
|
and a
|
|
jr z, .asm_1013f1
|
|
dec b
|
|
jr nz, .asm_1013e6
|
|
scf
|
|
|
|
.asm_1013f1
|
|
pop de
|
|
ld a, c
|
|
ld [de], a
|
|
ret
|
|
; 1013f5
|
|
|
|
Function1013f5: ; 1013f5
|
|
ld a, [hli]
|
|
ld [de], a
|
|
inc de
|
|
ld c, a
|
|
.asm_1013f9
|
|
ld a, [hli]
|
|
ld [de], a
|
|
inc de
|
|
dec c
|
|
jr nz, .asm_1013f9
|
|
ret
|
|
; 101400
|
|
|
|
Function101400: ; 101400 ; unreferenced
|
|
ld a, [de]
|
|
inc de
|
|
cp [hl]
|
|
jr nz, asm_101416
|
|
inc hl
|
|
|
|
Function101406: ; 101406
|
|
ld c, a
|
|
ld b, 0
|
|
.asm_101409
|
|
ld a, [de]
|
|
inc de
|
|
cp [hl]
|
|
jr nz, asm_101416
|
|
inc hl
|
|
dec bc
|
|
ld a, b
|
|
or c
|
|
jr nz, .asm_101409
|
|
and a
|
|
ret
|
|
|
|
asm_101416
|
|
scf
|
|
ret
|
|
; 101418
|
|
|
|
Function101418: ; 101418
|
|
call GetJoypad
|
|
ld a, [hJoyDown]
|
|
and SELECT + A_BUTTON
|
|
cp SELECT + A_BUTTON
|
|
jr z, .asm_101425
|
|
xor a
|
|
ret
|
|
|
|
.asm_101425
|
|
ld a, $f7
|
|
ld [wcd2b], a
|
|
scf
|
|
ret
|
|
; 10142c
|
|
|
|
Function10142c: ; 10142c
|
|
ld a, $01
|
|
ld [wc305], a
|
|
callba Function115e18
|
|
ret
|
|
; 101438
|
|
|
|
Function101438: ; 101438
|
|
ld hl, wcd29
|
|
set 6, [hl]
|
|
ld a, [wcd26]
|
|
ld hl, Jumptable_101457
|
|
rst JumpTable
|
|
ld a, [wcd26]
|
|
bit 7, a
|
|
ret z
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101457
|
|
|
|
Jumptable_101457: ; 101457
|
|
dw Function10145b
|
|
dw Function101467
|
|
; 10145b
|
|
|
|
Function10145b: ; 10145b
|
|
ld a, $3c
|
|
ld [wcd42], a
|
|
ld a, [wcd26]
|
|
inc a
|
|
ld [wcd26], a
|
|
|
|
Function101467: ; 101467
|
|
ld hl, wcd42
|
|
dec [hl]
|
|
ret nz
|
|
ld a, [wcd26]
|
|
set 7, a
|
|
ld [wcd26], a
|
|
ret
|
|
; 101475
|
|
|
|
Function101475: ; 101475
|
|
ld hl, wcd29
|
|
set 6, [hl]
|
|
ld a, [wcd26]
|
|
ld hl, Jumptable_101494
|
|
rst JumpTable
|
|
ld a, [wcd26]
|
|
bit 7, a
|
|
ret z
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101494
|
|
|
|
Jumptable_101494: ; 101494
|
|
dw Function10149a
|
|
dw Function1014a6
|
|
dw Function1014b7
|
|
; 10149a
|
|
|
|
Function10149a: ; 10149a
|
|
ld a, $28
|
|
ld [wcd42], a
|
|
ld a, [wcd26]
|
|
inc a
|
|
ld [wcd26], a
|
|
|
|
Function1014a6: ; 1014a6
|
|
ld hl, wcd42
|
|
dec [hl]
|
|
ret nz
|
|
ld a, $50
|
|
ld [wcd42], a
|
|
ld a, [wcd26]
|
|
inc a
|
|
ld [wcd26], a
|
|
|
|
Function1014b7: ; 1014b7
|
|
call GetJoypad
|
|
ld a, [hJoyPressed]
|
|
and $03
|
|
jr nz, .asm_1014c5
|
|
ld hl, wcd42
|
|
dec [hl]
|
|
ret nz
|
|
|
|
.asm_1014c5
|
|
ld a, [wcd26]
|
|
set 7, a
|
|
ld [wcd26], a
|
|
ret
|
|
; 1014ce
|
|
|
|
Function1014ce: ; 1014ce
|
|
callba Function100720
|
|
callba StartMobileInactivityTimer
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 1014e2
|
|
|
|
Function1014e2: ; 1014e2
|
|
ld hl, wcd29
|
|
set 6, [hl]
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 1014f4
|
|
|
|
Function1014f4: ; 1014f4
|
|
callba EnableMobile
|
|
ld hl, wcd29
|
|
set 6, [hl]
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101507
|
|
|
|
Function101507: ; 101507
|
|
ld de, wcd30
|
|
ld hl, $40
|
|
ld bc, $40
|
|
ld a, $02
|
|
call Function3e32
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 10151d
|
|
|
|
Function10151d: ; 10151d ; unreferenced
|
|
ld a, $34
|
|
call Function3e32
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 10152a
|
|
|
|
Function10152a: ; 10152a
|
|
ld a, $36
|
|
call Function3e32
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101537
|
|
|
|
Function101537: ; 101537
|
|
ld a, $0a
|
|
call Function3e32
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101544
|
|
|
|
Function101544: ; 101544
|
|
callba StartMobileInactivityTimer
|
|
ld a, $12
|
|
call Function3e32
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101557
|
|
|
|
Function101557: ; 101557
|
|
callba StartMobileInactivityTimer
|
|
ld hl, wcd53
|
|
ld a, $08
|
|
call Function3e32
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 10156d
|
|
|
|
Function10156d: ; 10156d
|
|
call Function101418
|
|
ret c
|
|
|
|
Function101571: ; 101571
|
|
callba Function10032e
|
|
ret c
|
|
ret z
|
|
ld a, e
|
|
cp $01
|
|
jr z, .asm_101582
|
|
ld [wcd2b], a
|
|
ret
|
|
|
|
.asm_101582
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 10158a
|
|
|
|
Function10158a: ; 10158a
|
|
callba IncrementMobileInactivityTimerBy1Frame
|
|
ld a, [wMobileInactivityTimerMinutes]
|
|
cp $0a
|
|
jr c, Function10156d
|
|
ld a, $fb
|
|
ld [wcd2b], a
|
|
ret
|
|
; 10159d
|
|
|
|
Function10159d: ; 10159d
|
|
ld de, wc608
|
|
callba Function100edf
|
|
ld de, wc608
|
|
ld a, $05
|
|
ld hl, w5_d800
|
|
call Function10174c
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 1015be
|
|
|
|
Function1015be: ; 1015be
|
|
ld de, wc608
|
|
callba Function100eed
|
|
ld de, wc608
|
|
ld a, $05
|
|
ld hl, w5_d800
|
|
call Function10174c
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 1015df
|
|
|
|
Function1015df: ; 1015df
|
|
ld de, wc608
|
|
callba Function100ef4
|
|
ld de, wc608
|
|
ld a, $05
|
|
ld hl, w5_d800
|
|
call Function10174c
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101600
|
|
|
|
Function101600: ; 101600
|
|
ld hl, w5_d800
|
|
ld de, wc608
|
|
ld bc, $1e0
|
|
ld a, $05
|
|
call FarCopyWRAM
|
|
ld de, wc608
|
|
callba Function100ee6
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 10161f
|
|
|
|
Function10161f: ; 10161f
|
|
call Function101649
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 10162a
|
|
|
|
Function10162a: ; 10162a
|
|
call Function101663
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101635
|
|
|
|
Function101635: ; 101635
|
|
ld de, wc608
|
|
ld bc, $1e0
|
|
call FarCopyWRAM
|
|
ret
|
|
; 10163f
|
|
|
|
Function10163f: ; 10163f
|
|
ld hl, wc608
|
|
ld bc, $1e0
|
|
call FarCopyWRAM
|
|
ret
|
|
; 101649
|
|
|
|
Function101649: ; 101649
|
|
ld a, $05
|
|
ld hl, w5_d800
|
|
call Function101635
|
|
ld a, $05
|
|
ld de, w5_da00
|
|
call Function10163f
|
|
ret
|
|
; 10165a
|
|
|
|
Function10165a: ; 10165a
|
|
ld a, $05
|
|
ld hl, w5_da00
|
|
call Function101635
|
|
ret
|
|
; 101663
|
|
|
|
Function101663: ; 101663
|
|
ld a, $05
|
|
ld hl, w5_d800
|
|
call Function101635
|
|
ld a, $05
|
|
ld de, w5_dc00
|
|
call Function10163f
|
|
ret
|
|
; 101674
|
|
|
|
Function101674: ; 101674 ; unreferenced
|
|
ld a, $05
|
|
ld hl, w5_dc00
|
|
call Function101635
|
|
ret
|
|
; 10167d
|
|
|
|
Function10167d: ; 10167d
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 10168a
|
|
|
|
Function10168a: ; 10168a
|
|
call Function101418
|
|
ret c
|
|
|
|
Function10168e: ; 10168e
|
|
ld b, 0
|
|
ld c, $01
|
|
callba Function10079c
|
|
ret c
|
|
ld c, $01
|
|
ld b, $03
|
|
callba AdvanceMobileInactivityTimerAndCheckExpired
|
|
ret c
|
|
ld a, [wcd26]
|
|
ld hl, Jumptable_1016c3
|
|
rst JumpTable
|
|
ld hl, wcd29
|
|
set 6, [hl]
|
|
ld a, [wcd26]
|
|
bit 7, a
|
|
ret z
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 1016c3
|
|
|
|
Jumptable_1016c3: ; 1016c3
|
|
dw Function1016cf
|
|
dw Function1016de
|
|
dw Function1016f8
|
|
dw Function101705
|
|
dw Function101719
|
|
dw Function101724
|
|
; 1016cf
|
|
|
|
Function1016cf: ; 1016cf
|
|
ld hl, wcd3a
|
|
inc [hl]
|
|
call Function10176f
|
|
ld a, [wcd26]
|
|
inc a
|
|
ld [wcd26], a
|
|
ret
|
|
; 1016de
|
|
|
|
Function1016de: ; 1016de
|
|
call Function10177b
|
|
jr nc, .asm_1016eb
|
|
ld a, [wcd26]
|
|
inc a
|
|
ld [wcd26], a
|
|
ret
|
|
|
|
.asm_1016eb
|
|
ld a, $ff
|
|
ld [wcd39], a
|
|
ld a, [wcd26]
|
|
inc a
|
|
ld [wcd26], a
|
|
ret
|
|
; 1016f8
|
|
|
|
Function1016f8: ; 1016f8
|
|
ld a, 0
|
|
ld [wcd27], a
|
|
ld a, [wcd26]
|
|
inc a
|
|
ld [wcd26], a
|
|
ret
|
|
; 101705
|
|
|
|
Function101705: ; 101705
|
|
callba Function100382
|
|
ld a, [wcd27]
|
|
bit 7, a
|
|
ret z
|
|
ld a, [wcd26]
|
|
inc a
|
|
ld [wcd26], a
|
|
ret
|
|
; 101719
|
|
|
|
Function101719: ; 101719
|
|
call Function1017c7
|
|
ld a, [wcd26]
|
|
inc a
|
|
ld [wcd26], a
|
|
ret
|
|
; 101724
|
|
|
|
Function101724: ; 101724
|
|
ld a, [wcd39]
|
|
cp $ff
|
|
jr z, .asm_101731
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ret
|
|
|
|
.asm_101731
|
|
ld a, [wcd26]
|
|
set 7, a
|
|
ld [wcd26], a
|
|
ret
|
|
; 10173a
|
|
|
|
Unknown_10173a:
|
|
db $50
|
|
|
|
Function10173b: ; 10173b
|
|
push bc
|
|
push af
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ld a, [Unknown_10173a]
|
|
ld c, a
|
|
ld b, 0
|
|
pop af
|
|
call AddNTimes
|
|
pop bc
|
|
ret
|
|
; 10174c
|
|
|
|
Function10174c: ; 10174c
|
|
ld [wcd3d], a
|
|
ld a, l
|
|
ld [wcd3e], a
|
|
ld a, h
|
|
ld [wcd3f], a
|
|
ld a, e
|
|
ld [wcd3b], a
|
|
ld a, d
|
|
ld [wcd3c], a
|
|
ld a, c
|
|
ld [wcd40], a
|
|
ld a, b
|
|
ld [wcd41], a
|
|
xor a
|
|
ld [wcd39], a
|
|
ld [wcd3a], a
|
|
ret
|
|
; 10176f
|
|
|
|
Function10176f: ; 10176f
|
|
ld hl, wccb4
|
|
ld bc, $54
|
|
ld a, $11
|
|
call ByteFill
|
|
ret
|
|
; 10177b
|
|
|
|
Function10177b: ; 10177b
|
|
ld a, [Unknown_10173a]
|
|
ld c, a
|
|
ld b, 0
|
|
ld a, [wcd3a]
|
|
ld hl, 0
|
|
call AddNTimes
|
|
ld e, l
|
|
ld d, h
|
|
ld hl, wcd40
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ld a, l
|
|
sub e
|
|
ld l, a
|
|
ld a, h
|
|
sbc d
|
|
ld h, a
|
|
jr c, .asm_1017a0
|
|
add hl, bc
|
|
call Function1017b0
|
|
scf
|
|
ret
|
|
|
|
.asm_1017a0
|
|
ld a, $ff
|
|
ld [wcd39], a
|
|
add hl, bc
|
|
ld a, h
|
|
or l
|
|
ret z
|
|
ld c, l
|
|
ld b, h
|
|
call Function1017b0
|
|
xor a
|
|
ret
|
|
; 1017b0
|
|
|
|
Function1017b0: ; 1017b0
|
|
ld a, c
|
|
ld [wccb4], a
|
|
push bc
|
|
ld a, [wcd3a]
|
|
dec a
|
|
ld hl, wcd3b
|
|
call Function10173b
|
|
pop bc
|
|
ld de, wccb5
|
|
call CopyBytes
|
|
ret
|
|
; 1017c7
|
|
|
|
Function1017c7: ; 1017c7
|
|
ld a, [wcc60]
|
|
ld c, a
|
|
ld b, 0
|
|
ld a, [wcd3a]
|
|
dec a
|
|
ld hl, wcd3e
|
|
call Function10173b
|
|
ld e, l
|
|
ld d, h
|
|
ld hl, wcc61
|
|
ld a, [wcd3d]
|
|
call FarCopyWRAM
|
|
and a
|
|
ret
|
|
; 1017e4
|
|
|
|
Function1017e4: ; 1017e4
|
|
ld a, 0
|
|
ld [wcd27], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 1017f1
|
|
|
|
Function1017f1: ; 1017f1
|
|
call Function101418
|
|
ret c
|
|
|
|
Function1017f5: ; 1017f5
|
|
ld b, 0
|
|
ld c, $01
|
|
callba Function10079c
|
|
ret c
|
|
ld c, $01
|
|
ld b, $03
|
|
callba AdvanceMobileInactivityTimerAndCheckExpired
|
|
ret c
|
|
callba Function100382
|
|
ld a, [wcd27]
|
|
bit 7, a
|
|
jr nz, .next
|
|
ld hl, wcd29
|
|
set 6, [hl]
|
|
ret
|
|
|
|
.next
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101826
|
|
|
|
Function101826: ; 101826
|
|
ld a, [wcd21]
|
|
cp $02
|
|
jr z, .asm_101833
|
|
cp $01
|
|
jr z, .asm_101844
|
|
jr .asm_101869
|
|
|
|
.asm_101833
|
|
ld hl, Unknown_10186f
|
|
ld de, wccb4
|
|
call Function1013f5
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_101844
|
|
callba Function103654
|
|
ld a, c
|
|
ld hl, Unknown_101882
|
|
cp $01
|
|
jr z, .asm_10185b
|
|
ld hl, Unknown_101895
|
|
cp $02
|
|
jr z, .asm_10185b
|
|
jr .asm_101869
|
|
|
|
.asm_10185b
|
|
ld de, wccb4
|
|
call Function1013f5
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_101869
|
|
ld a, $fe
|
|
ld [wcd2b], a
|
|
ret
|
|
; 10186f
|
|
|
|
|
|
SECTION "ascii 10186f", ROMX, BANK[$40]
|
|
|
|
charmap " ", $20 ; revert to ascii
|
|
|
|
Unknown_10186f:
|
|
db .end - @
|
|
db $19, $73, $09, $13, "trade_crystal"
|
|
.end db 0
|
|
|
|
Unknown_101882:
|
|
db .end - @
|
|
db $19, $67, $10, $01, "free__crystal"
|
|
.end db 0
|
|
|
|
Unknown_101895:
|
|
db .end - @
|
|
db $19, $67, $10, $01, "limit_crystal"
|
|
.end db 0
|
|
; 1018a8
|
|
|
|
|
|
SECTION "bank40_3", ROMX, BANK[$40]
|
|
|
|
Function1018a8: ; 1018a8
|
|
ld hl, wccb5
|
|
ld de, wcc61
|
|
ld a, $04
|
|
call Function101406
|
|
jr c, .asm_1018d0
|
|
ld hl, wccb9
|
|
ld de, wcc65
|
|
ld a, $06
|
|
call Function101406
|
|
jr c, .asm_1018ca
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_1018ca
|
|
ld a, $f6
|
|
ld [wcd2b], a
|
|
ret
|
|
|
|
.asm_1018d0
|
|
ld a, $f5
|
|
ld [wcd2b], a
|
|
ret
|
|
; 1018d6
|
|
|
|
Function1018d6: ; 1018d6
|
|
call Function1018ec
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 1018e1
|
|
|
|
Function1018e1: ; 1018e1
|
|
call Function1018fb
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 1018ec
|
|
|
|
Function1018ec: ; 1018ec
|
|
ld a, $0a
|
|
ld hl, wccb4
|
|
ld [hli], a
|
|
ld c, a
|
|
.asm_1018f3
|
|
call Random
|
|
ld [hli], a
|
|
dec c
|
|
jr nz, .asm_1018f3
|
|
ret
|
|
; 1018fb
|
|
|
|
Function1018fb: ; 1018fb
|
|
ld a, [wcd2f]
|
|
and a
|
|
jr z, .asm_101906
|
|
ld hl, wcc61
|
|
jr .asm_101909
|
|
|
|
.asm_101906
|
|
ld hl, wccb5
|
|
|
|
.asm_101909
|
|
ld de, LinkBattleRNs
|
|
ld bc, 10
|
|
call CopyBytes
|
|
ret
|
|
; 101913
|
|
|
|
Function101913: ; 101913
|
|
ld hl, wcd2a
|
|
set 0, [hl]
|
|
xor a
|
|
ld [wc30d], a
|
|
ld hl, wcd29
|
|
res 4, [hl]
|
|
xor a
|
|
ld [wc305], a
|
|
ld hl, wcd29
|
|
res 7, [hl]
|
|
ld a, $90
|
|
ld [hWY], a
|
|
ld a, [wcd21]
|
|
cp $01
|
|
jr z, .asm_10193f
|
|
cp $02
|
|
jr z, .asm_101945
|
|
ld a, $71
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_10193f
|
|
ld a, $66
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_101945
|
|
ld a, $65
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 10194b
|
|
|
|
Function10194b: ; 10194b
|
|
call DisableSpriteUpdates
|
|
call ClearSprites
|
|
callba Function1021f9
|
|
ld hl, wcd29
|
|
bit 3, [hl]
|
|
jr nz, .asm_101967
|
|
call Function1013c0
|
|
ld a, $71
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_101967
|
|
ld a, $60
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 10196d
|
|
|
|
_SelectMonsForMobileBattle: ; 10196d
|
|
callba BlankScreen
|
|
callba Mobile_CommunicationStandby
|
|
ld hl, wcd29
|
|
set 5, [hl]
|
|
ld hl, wcd2a
|
|
set 6, [hl]
|
|
ld a, $06
|
|
ld [wccb4], a
|
|
ld hl, wPlayerMonSelection
|
|
ld de, wccb5
|
|
ld bc, 3
|
|
call CopyBytes
|
|
ld hl, wcd6c
|
|
ld a, [hli]
|
|
ld [wccb8], a
|
|
ld a, [hli]
|
|
ld [wccb9], a
|
|
ld a, [hl]
|
|
ld [wccba], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 1019ab
|
|
|
|
_StartMobileBattle: ; 1019ab
|
|
call CopyOtherPlayersBattleMonSelection
|
|
callba Function100754
|
|
xor a
|
|
ld [wdc5f], a
|
|
ld [wdc60], a
|
|
callba BlankScreen
|
|
call SpeechTextBox
|
|
callba Function100846
|
|
ld c, 120
|
|
call DelayFrames
|
|
callba ClearTileMap
|
|
call .CopyOTDetails
|
|
call StartMobileBattle
|
|
ld a, [wcd2b]
|
|
cp $fc
|
|
jr nz, .asm_1019e6
|
|
xor a
|
|
ld [wcd2b], a
|
|
.asm_1019e6
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 1019ee
|
|
|
|
.CopyOTDetails: ; 1019ee
|
|
ld a, [rSVBK]
|
|
push af
|
|
ld a, 5
|
|
ld [rSVBK], a
|
|
|
|
ld bc, w5_dc0d
|
|
ld de, w5_dc11
|
|
callba GetMobileOTTrainerClass
|
|
|
|
pop af
|
|
ld [rSVBK], a
|
|
|
|
ld a, c
|
|
ld [OtherTrainerClass], a
|
|
ld hl, OTPlayerName
|
|
ld de, OTClassName
|
|
ld bc, NAME_LENGTH
|
|
call CopyBytes
|
|
ld a, [wcd2f]
|
|
and a
|
|
ld a, 2
|
|
jr z, .got_link_player_number
|
|
ld a, 1
|
|
.got_link_player_number
|
|
ld [hLinkPlayerNumber], a
|
|
ret
|
|
; 101a21
|
|
|
|
StartMobileBattle: ; 101a21
|
|
; force stereo and fast text speed
|
|
ld hl, Options
|
|
ld a, [hl]
|
|
push af
|
|
and (1 << STEREO)
|
|
or 1 ; 1 frame per character i.e. fast text
|
|
ld [hl], a
|
|
ld a, 1
|
|
ld [wDisableTextAcceleration], a
|
|
callba BattleIntro
|
|
callba DoBattle
|
|
callba ShowLinkBattleParticipantsAfterEnd
|
|
xor a
|
|
ld [wDisableTextAcceleration], a
|
|
ld a, $ff
|
|
ld [hLinkPlayerNumber], a
|
|
pop af
|
|
ld [Options], a
|
|
ret
|
|
; 101a4f
|
|
|
|
Function101a4f: ; 101a4f
|
|
ld a, 1
|
|
ld [wDisableTextAcceleration], a
|
|
callba DetermineMobileBattleResult
|
|
xor a
|
|
ld [wDisableTextAcceleration], a
|
|
callba CleanUpBattleRAM
|
|
callba LoadPokemonData
|
|
call Function1013c0
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101a75
|
|
|
|
CopyOtherPlayersBattleMonSelection: ; 101a75
|
|
ld hl, wcc61
|
|
ld de, wOTMonSelection
|
|
ld bc, 3
|
|
call CopyBytes
|
|
ld de, wcc64
|
|
callba Function100772
|
|
callba Function101050
|
|
callba LoadSelectedPartiesForColosseum
|
|
ret
|
|
; 101a97
|
|
|
|
Function101a97: ; 101a97
|
|
callba Function115d99
|
|
ld hl, wcd29
|
|
set 7, [hl]
|
|
ld c, $02
|
|
call Function10142c
|
|
ld hl, wcd29
|
|
set 6, [hl]
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101ab4
|
|
|
|
Function101ab4: ; 101ab4
|
|
ld e, $01
|
|
call Function101ee4
|
|
ld hl, wcd29
|
|
set 5, [hl]
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101ac6
|
|
|
|
Function101ac6: ; 101ac6
|
|
callba Function115d99
|
|
ld hl, wcd29
|
|
set 7, [hl]
|
|
ld c, $02
|
|
call Function10142c
|
|
ld hl, wcd29
|
|
set 6, [hl]
|
|
xor a
|
|
ld [wcd2f], a
|
|
ld de, wdc42
|
|
call Function102068
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101aed
|
|
|
|
Function101aed: ; 101aed
|
|
callba Function115d99
|
|
ld hl, wcd29
|
|
set 7, [hl]
|
|
ld c, $02
|
|
call Function10142c
|
|
ld hl, wcd29
|
|
set 6, [hl]
|
|
ld a, $01
|
|
ld [wcd2f], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101b0f
|
|
|
|
Function101b0f: ; 101b0f
|
|
ld c, 0
|
|
call Function10142c
|
|
ld e, $03
|
|
call Function101ee4
|
|
ld hl, wcd29
|
|
set 5, [hl]
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ret
|
|
; 101b2b
|
|
|
|
Function101b2b: ; 101b2b
|
|
callba Function100579
|
|
ld hl, wcd29
|
|
set 2, [hl]
|
|
ld a, [wcd26]
|
|
bit 7, a
|
|
ret z
|
|
call Function1013dd
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ld a, [wMenuCursorY]
|
|
cp $01
|
|
jr z, .asm_101b51
|
|
ld a, $02
|
|
ld [wcd2b], a
|
|
ret
|
|
|
|
.asm_101b51
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101b59
|
|
|
|
Function101b59: ; 101b59
|
|
ld c, $02
|
|
call Function10142c
|
|
ld e, $02
|
|
call Function101ee4
|
|
ld hl, wcd29
|
|
set 5, [hl]
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101b70
|
|
|
|
Function101b70: ; 101b70
|
|
ld c, $02
|
|
call Function10142c
|
|
ld e, $04
|
|
call Function101ee4
|
|
ld hl, wcd29
|
|
set 5, [hl]
|
|
call UpdateSprites
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ret
|
|
; 101b8f
|
|
|
|
Function101b8f: ; 101b8f
|
|
callba Function1005c3
|
|
ld hl, wcd29
|
|
set 2, [hl]
|
|
ld a, [wcd26]
|
|
bit 7, a
|
|
ret z
|
|
call Function1013dd
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ld a, [wMenuCursorY]
|
|
cp $01
|
|
jr z, .asm_101bbc
|
|
ld a, $01
|
|
ld [wcd2f], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_101bbc
|
|
xor a
|
|
ld [wcd2f], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101bc8
|
|
|
|
Function101bc8: ; 101bc8
|
|
ld c, $02
|
|
call Function10142c
|
|
ld e, $08
|
|
call Function101ee4
|
|
call Function102048
|
|
call Function1013dd
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101be5
|
|
|
|
Function101be5: ; 101be5
|
|
callba Function100579
|
|
ld hl, wcd29
|
|
set 2, [hl]
|
|
ld a, [wcd26]
|
|
bit 7, a
|
|
ret z
|
|
call Function1013dd
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ld a, [wMenuCursorY]
|
|
cp $01
|
|
jr nz, .asm_101c0b
|
|
ld a, $2a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_101c0b
|
|
ld a, $02
|
|
ld [wcd2b], a
|
|
ret
|
|
; 101c11
|
|
|
|
Function101c11: ; 101c11
|
|
ld a, $01
|
|
ld [wdc5f], a
|
|
ld e, $09
|
|
call Function101ee4
|
|
call Function102048
|
|
ld hl, wcd29
|
|
set 5, [hl]
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101c2b
|
|
|
|
Function101c2b: ; 101c2b
|
|
ld a, $02
|
|
ld [wdc5f], a
|
|
ld e, $07
|
|
call Function101ee4
|
|
ld hl, wcd29
|
|
set 5, [hl]
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101c42
|
|
|
|
Function101c42: ; 101c42
|
|
ld hl, wcd2a
|
|
set 1, [hl]
|
|
call Function100665
|
|
ld a, $47
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101c50
|
|
|
|
Function101c50: ; 101c50
|
|
ld e, $0a
|
|
call Function101ee4
|
|
ld hl, wcd29
|
|
set 2, [hl]
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101c62
|
|
|
|
Function101c62: ; 101c62
|
|
callba Function115d99
|
|
ld hl, wcd29
|
|
set 7, [hl]
|
|
ld c, $01
|
|
call Function10142c
|
|
xor a
|
|
ld [wc30d], a
|
|
ld hl, wcd29
|
|
res 4, [hl]
|
|
ld e, $0b
|
|
call Function101ee4
|
|
ld hl, wcd29
|
|
set 5, [hl]
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ret
|
|
; 101c92
|
|
|
|
Function101c92: ; 101c92
|
|
callba Function100675
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101ca0
|
|
|
|
Function101ca0: ; 101ca0
|
|
ld c, $02
|
|
call Function10142c
|
|
ld e, $0c
|
|
call Function101ee4
|
|
ld hl, wcd29
|
|
set 5, [hl]
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ret
|
|
; 101cbc
|
|
|
|
Function101cbc: ; 101cbc
|
|
ld a, $01
|
|
ld [wcd2b], a
|
|
ret
|
|
; 101cc2
|
|
|
|
Function101cc2: ; 101cc2 ; unreferenced
|
|
ld a, $02
|
|
ld [wcd2b], a
|
|
ret
|
|
; 101cc8
|
|
|
|
Function101cc8: ; 101cc8
|
|
ld a, $01
|
|
ld [wc314], a
|
|
ld a, $01
|
|
ld [wc30d], a
|
|
ld hl, wcd29
|
|
set 4, [hl]
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101cdf
|
|
|
|
Function101cdf: ; 101cdf
|
|
ld a, $06
|
|
ld [wc314], a
|
|
ld a, $01
|
|
ld [wc30d], a
|
|
ld hl, wcd29
|
|
set 4, [hl]
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101cf6
|
|
|
|
Function101cf6: ; 101cf6
|
|
ld a, $0b
|
|
ld [wc314 + 1], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101d03
|
|
|
|
Function101d03: ; 101d03
|
|
ld a, $0e
|
|
ld [wc314 + 1], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101d10
|
|
|
|
Function101d10: ; 101d10
|
|
ld c, $01
|
|
call Function10142c
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
jr Function101d2a
|
|
|
|
Function101d1e: ; 101d1e
|
|
ld c, $03
|
|
call Function10142c
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
|
|
Function101d2a: ; 101d2a
|
|
call Function101418
|
|
ret c
|
|
ld hl, wcd29
|
|
set 6, [hl]
|
|
ld a, [wcd26]
|
|
ld hl, Jumptable_101d4d
|
|
rst JumpTable
|
|
ld a, [wcd26]
|
|
bit 7, a
|
|
ret z
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101d4d
|
|
|
|
Jumptable_101d4d: ; 101d4d
|
|
dw Function101d51
|
|
dw Function101d5d
|
|
; 101d51
|
|
|
|
Function101d51: ; 101d51
|
|
ld a, $3c
|
|
ld [wcd42], a
|
|
ld a, [wcd26]
|
|
inc a
|
|
ld [wcd26], a
|
|
|
|
Function101d5d: ; 101d5d
|
|
ld hl, wcd42
|
|
dec [hl]
|
|
ret nz
|
|
ld a, [wcd26]
|
|
set 7, a
|
|
ld [wcd26], a
|
|
ret
|
|
; 101d6b
|
|
|
|
Function101d6b: ; 101d6b
|
|
ld a, [wc30d]
|
|
and a
|
|
ret nz
|
|
ld hl, wcd29
|
|
res 4, [hl]
|
|
ld a, $64
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101d7b
|
|
|
|
Function101d7b: ; 101d7b
|
|
callba Function10138b
|
|
ld b, 0
|
|
ld hl, Unknown_101d8d
|
|
add hl, bc
|
|
ld c, [hl]
|
|
ld a, c
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101d8d
|
|
|
|
Unknown_101d8d: ; 101d8d
|
|
db $15, $15, $1f, $1f, $0c, $12, $3a, $3a
|
|
; 101d95
|
|
|
|
Function101d95: ; 101d95
|
|
call Function101ee2
|
|
call LoadStandardMenuDataHeader
|
|
ld e, $0e
|
|
call Function101ee4
|
|
ld hl, wcd29
|
|
set 5, [hl]
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ret
|
|
; 101db2
|
|
|
|
Function101db2: ; 101db2
|
|
callba Function103302
|
|
call ExitMenu
|
|
ld hl, wcd29
|
|
set 5, [hl]
|
|
jr c, .asm_101dca
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_101dca
|
|
ld a, $02
|
|
ld [wcd2b], a
|
|
ret
|
|
; 101dd0
|
|
|
|
Function101dd0: ; 101dd0
|
|
ld hl, wdc41
|
|
bit 1, [hl]
|
|
jr nz, .asm_101ddd
|
|
ld a, $19
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_101ddd
|
|
ld a, $1b
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101de3
|
|
|
|
Function101de3: ; 101de3
|
|
call Function101ecc
|
|
call Function101ead
|
|
jr c, .asm_101df3
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_101df3
|
|
call Function101e98
|
|
jr c, .asm_101e00
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_101e00
|
|
call Function101ed3
|
|
ld a, $02
|
|
ld [wcd2b], a
|
|
ret
|
|
; 101e09
|
|
|
|
Function101e09: ; 101e09
|
|
call Function101ead
|
|
jr c, .asm_101e16
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_101e16
|
|
call Function101ecc
|
|
call Function101e98
|
|
push af
|
|
call Function101ed3
|
|
pop af
|
|
jr c, .asm_101e2b
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_101e2b
|
|
ld a, $02
|
|
ld [wcd2b], a
|
|
ret
|
|
; 101e31
|
|
|
|
Function101e31: ; 101e31
|
|
ld a, $3a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
jp Function101c2b
|
|
; 101e39
|
|
|
|
Function101e39: ; 101e39
|
|
call Function1020bf
|
|
push af
|
|
call Function101ed3
|
|
pop af
|
|
jr c, .asm_101e49
|
|
ld a, $2a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_101e49
|
|
ld a, $02
|
|
ld [wcd2b], a
|
|
ret
|
|
; 101e4f
|
|
|
|
Function101e4f: ; 101e4f
|
|
ld e, $06
|
|
call Function101ee4
|
|
call Function1013d6
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ld a, 0
|
|
ld [wcd26], a
|
|
ret
|
|
; 101e64
|
|
|
|
Function101e64: ; 101e64
|
|
call Function101ecc
|
|
call Function1020a8
|
|
push af
|
|
call Function101ed3
|
|
pop af
|
|
jr c, .asm_101e77
|
|
ld a, $24
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
|
|
.asm_101e77
|
|
ld hl, wcd29
|
|
set 5, [hl]
|
|
ld a, $02
|
|
ld [wcd2b], a
|
|
ret
|
|
; 101e82
|
|
|
|
Function101e82: ; 101e82 ; unreferenced
|
|
call Function101ecc
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101e8d
|
|
|
|
Function101e8d: ; 101e8d ; unreferenced
|
|
call Function101ed3
|
|
ld a, [wMobileCommsJumptableIndex]
|
|
inc a
|
|
ld [wMobileCommsJumptableIndex], a
|
|
ret
|
|
; 101e98
|
|
|
|
Function101e98: ; 101e98
|
|
call ClearSprites
|
|
callba Function8adb3
|
|
ret c
|
|
ld hl, GameTimerPause
|
|
set 7, [hl]
|
|
ld hl, wdc41
|
|
set 4, [hl]
|
|
ret
|
|
; 101ead
|
|
|
|
Function101ead: ; 101ead
|
|
ld hl, GameTimerPause
|
|
bit 7, [hl]
|
|
jr nz, .asm_101ec8
|
|
ld hl, wdc41
|
|
bit 2, [hl]
|
|
jr z, .asm_101eca
|
|
ld a, [wcd2f]
|
|
and a
|
|
jr nz, .asm_101ec8
|
|
ld hl, wdc41
|
|
bit 1, [hl]
|
|
jr z, .asm_101eca
|
|
|
|
.asm_101ec8
|
|
xor a
|
|
ret
|
|
|
|
.asm_101eca
|
|
scf
|
|
ret
|
|
; 101ecc
|
|
|
|
Function101ecc: ; 101ecc
|
|
call Function101ee2
|
|
call FadeToMenu
|
|
ret
|
|
; 101ed3
|
|
|
|
Function101ed3: ; 101ed3
|
|
call Function1013aa
|
|
callba Function115d99
|
|
ld hl, wcd29
|
|
set 7, [hl]
|
|
ret
|
|
; 101ee2
|
|
|
|
Function101ee2: ; 101ee2
|
|
ld e, 0
|
|
|
|
Function101ee4: ; 101ee4
|
|
ld d, 0
|
|
ld hl, Unknown_101ef5
|
|
add hl, de
|
|
add hl, de
|
|
ld a, [hli]
|
|
ld d, [hl]
|
|
ld e, a
|
|
callba Function100504
|
|
ret
|
|
; 101ef5
|
|
|
|
Unknown_101ef5: ; 101ef5
|
|
dw String_101f13
|
|
dw String_101f14
|
|
dw String_101f32
|
|
dw String_101f4f
|
|
dw String_101f69
|
|
dw String_101f81
|
|
dw String_101f93
|
|
dw String_101faa
|
|
dw String_101fc5
|
|
dw String_101fd2
|
|
dw String_101fe1
|
|
dw String_101fef
|
|
dw String_102000
|
|
dw String_10200c
|
|
dw String_102014
|
|
|
|
String_101f13: ; 101f13
|
|
db "@"
|
|
|
|
String_101f14: ; 101f14
|
|
db "モバイルアダプタを つかって"
|
|
next "おともだちと つうしんします@"
|
|
|
|
String_101f32: ; 101f32
|
|
db "でんわを かけるひとには"
|
|
next "つうわりょうきんが かかります@"
|
|
|
|
String_101f4f: ; 101f4f
|
|
db "モバイルアダプタの じゅんびは"
|
|
next "できて いますか?@"
|
|
|
|
String_101f69: ; 101f69
|
|
db "あなたが おともだちに"
|
|
next "でんわを かけますか?@"
|
|
|
|
String_101f81: ; 101f81
|
|
db "めいしフ,ルダーを"
|
|
next "つかいますか?@"
|
|
|
|
String_101f93: ; 101f93
|
|
db "でんわばんごうを にゅうりょく"
|
|
next "してください@"
|
|
|
|
String_101faa: ; 101faa
|
|
db "それでは おともだちからの"
|
|
next "でんわを おまちします…@"
|
|
|
|
String_101fc5: ; 101fc5
|
|
next "に でんわを かけます@"
|
|
|
|
String_101fd2: ; 101fd2
|
|
next "に でんわを かけています@"
|
|
|
|
String_101fe1: ; 101fe1
|
|
db "でんわが つながりました!@"
|
|
|
|
String_101fef: ; 101fef
|
|
db "つうわを"
|
|
next "しゅうりょう します…@"
|
|
|
|
String_102000: ; 102000
|
|
db "つうしん しゅうりょう@"
|
|
|
|
String_10200c: ; 10200c
|
|
db "つうわ じかん@"
|
|
|
|
String_102014: ; 102014
|
|
db "それでは つうしんの"
|
|
next "せっていを してください@"
|
|
; 10202c
|
|
|
|
Function10202c: ; 10202c
|
|
callba Function115d99
|
|
ld hl, wcd29
|
|
set 7, [hl]
|
|
ld c, $02
|
|
call Function10142c
|
|
ld e, $0d
|
|
call Function101ee4
|
|
hlcoord 4, 4
|
|
call Function100681
|
|
ret
|
|
; 102048
|
|
|
|
Function102048: ; 102048
|
|
call Function10204c
|
|
ret
|
|
; 10204c
|
|
|
|
Function10204c: ; 10204c
|
|
hlcoord 3, 2
|
|
ld c, $10
|
|
ld de, wcd53
|
|
.asm_102054
|
|
ld a, [de]
|
|
inc de
|
|
and a
|
|
jr z, .asm_102067
|
|
sub $30
|
|
jr c, .asm_102067
|
|
cp $0a
|
|
jr nc, .asm_102067
|
|
add $f6
|
|
ld [hli], a
|
|
dec c
|
|
jr nz, .asm_102054
|
|
|
|
.asm_102067
|
|
ret
|
|
; 102068
|
|
|
|
Function102068: ; 102068
|
|
ld hl, wcd53
|
|
ld c, $08
|
|
.asm_10206d
|
|
ld a, [de]
|
|
call Function102080
|
|
jr c, .asm_10207f
|
|
ld a, [de]
|
|
swap a
|
|
call Function102080
|
|
jr c, .asm_10207f
|
|
inc de
|
|
dec c
|
|
jr nz, .asm_10206d
|
|
|
|
.asm_10207f
|
|
ret
|
|
; 102080
|
|
|
|
Function102080: ; 102080
|
|
and $0f
|
|
cp $0f
|
|
jr z, .asm_10208a
|
|
add $30
|
|
ld [hli], a
|
|
ret
|
|
|
|
.asm_10208a
|
|
ld [hl], 0
|
|
scf
|
|
ret
|
|
; 10208e
|
|
|
|
Function10208e: ; 10208e
|
|
push de
|
|
ld h, d
|
|
ld l, e
|
|
ld de, wdc42
|
|
ld bc, 8
|
|
call CopyBytes
|
|
pop de
|
|
ret
|
|
; 10209c
|
|
|
|
Function10209c: ; 10209c
|
|
ld a, $ff
|
|
ld hl, wdc42
|
|
ld bc, 8
|
|
call ByteFill
|
|
ret
|
|
; 1020a8
|
|
|
|
Function1020a8: ; 1020a8
|
|
call Function10209c
|
|
ld c, $01
|
|
ld de, wdc42
|
|
callba Function17a68f
|
|
ret c
|
|
call Function10208e
|
|
call Function102068
|
|
xor a
|
|
ret
|
|
; 1020bf
|
|
|
|
Function1020bf: ; 1020bf
|
|
call ClearSprites
|
|
callba Function8aba9
|
|
ld a, c
|
|
and a
|
|
jr z, .asm_1020e8
|
|
dec a
|
|
ld hl, $a04c
|
|
ld bc, $25
|
|
call AddNTimes
|
|
ld d, h
|
|
ld e, l
|
|
ld a, $04
|
|
call GetSRAMBank
|
|
call Function10208e
|
|
call Function102068
|
|
call CloseSRAM
|
|
xor a
|
|
ret
|
|
|
|
.asm_1020e8
|
|
scf
|
|
ret
|
|
; 1020ea
|
|
|
|
Function1020ea: ; 1020ea
|
|
ld hl, wdc41
|
|
bit 4, [hl]
|
|
jr z, .quit
|
|
ld hl, wdc41
|
|
bit 2, [hl]
|
|
jr nz, .quit
|
|
call Function10218d
|
|
ld hl, wc608
|
|
bit 4, [hl]
|
|
jr z, .quit
|
|
ld hl, wc608
|
|
bit 2, [hl]
|
|
jr nz, .quit
|
|
call Function102112
|
|
jr z, .quit
|
|
and a
|
|
ret
|
|
|
|
.quit
|
|
scf
|
|
ret
|
|
; 102112
|
|
|
|
Function102112: ; 102112
|
|
ld a, $04
|
|
call GetSRAMBank
|
|
ld hl, $a041
|
|
ld c, 40
|
|
.outer_loop
|
|
push hl
|
|
ld de, $c60f
|
|
ld b, 31
|
|
.inner_loop
|
|
ld a, [de]
|
|
cp [hl]
|
|
jr nz, .not_matching
|
|
inc de
|
|
inc hl
|
|
dec b
|
|
jr nz, .inner_loop
|
|
pop hl
|
|
xor a
|
|
jr .done
|
|
|
|
.not_matching
|
|
pop hl
|
|
ld de, 37
|
|
add hl, de
|
|
dec c
|
|
jr nz, .outer_loop
|
|
ld a, $01
|
|
and a
|
|
jr .done ; useless jr
|
|
|
|
.done
|
|
push af
|
|
call CloseSRAM
|
|
pop af
|
|
ret
|
|
; 102142
|
|
|
|
Function102142: ; 102142
|
|
call Function10218d
|
|
call Function102180
|
|
ld hl, UnknownText_0x1021d1
|
|
call MenuTextBox
|
|
ld de, SFX_LEVEL_UP
|
|
call PlaySFX
|
|
call JoyWaitAorB
|
|
call ExitMenu
|
|
call Function10219f
|
|
ld hl, UnknownText_0x1021d6
|
|
call MenuTextBox
|
|
call YesNoBox
|
|
call ExitMenu
|
|
jr c, .asm_10217c
|
|
call Function1021b8
|
|
jr c, .asm_10217c
|
|
call Function10218d
|
|
call Function102180
|
|
ld hl, UnknownText_0x1021db
|
|
call PrintText
|
|
|
|
.asm_10217c
|
|
call Function1013d6
|
|
ret
|
|
; 102180
|
|
|
|
Function102180: ; 102180
|
|
ld hl, wc608 + 1
|
|
ld de, StringBuffer2
|
|
ld bc, 11
|
|
call CopyBytes
|
|
ret
|
|
; 10218d
|
|
|
|
Function10218d: ; 10218d
|
|
ld hl, w5_dc00
|
|
ld de, wc608
|
|
ld bc, $26
|
|
ld a, $05
|
|
call FarCopyWRAM
|
|
ld de, wc608 + 1 ; useless
|
|
ret
|
|
; 10219f
|
|
|
|
Function10219f: ; 10219f
|
|
call FadeToMenu
|
|
call Function10218d
|
|
ld de, wc608 + 1
|
|
callba Function8ac4e
|
|
call JoyWaitAorB
|
|
call PlayClickSFX
|
|
call Function1013aa
|
|
ret
|
|
; 1021b8
|
|
|
|
Function1021b8: ; 1021b8
|
|
call FadeToMenu
|
|
call Function10218d
|
|
ld de, wPlayerMoveStruct
|
|
callba Function8ac70
|
|
ld a, c
|
|
ld [StringBuffer1], a
|
|
push af
|
|
call Function1013aa
|
|
pop af
|
|
ret
|
|
; 1021d1
|
|
|
|
UnknownText_0x1021d1: ; 1021d1
|
|
text_jump UnknownText_0x1bd19a
|
|
db "@"
|
|
|
|
UnknownText_0x1021d6: ; 1021d1
|
|
text_jump UnknownText_0x1bd1ba
|
|
db "@"
|
|
|
|
UnknownText_0x1021db: ; 1021d1
|
|
text_jump UnknownText_0x1bd1dd
|
|
db "@"
|
|
; 1021e0
|
|
|
|
Function1021e0: ; 1021e0
|
|
call MenuTextBox
|
|
call JoyWaitAorB
|
|
call ExitMenu
|
|
ret
|
|
; 1021ea
|
|
|
|
UnknownText_0x1021ea: ; 1021ea
|
|
text_jump UnknownText_0x1bd201
|
|
db "@"
|
|
|
|
UnknownText_0x1021ef:
|
|
text_jump UnknownText_0x1bd211
|
|
db "@"
|
|
|
|
UnknownText_0x1021f4:
|
|
text_jump UnknownText_0x1bd223
|
|
db "@"
|
|
; 1021f9
|
|
|
|
Function1021f9: ; 1021f9
|
|
call Function102233
|
|
ld a, $0 ; Function10234b
|
|
ld [wcd49], a
|
|
ld hl, wcd29
|
|
bit 3, [hl]
|
|
res 3, [hl]
|
|
jr z, .asm_10220f
|
|
ld a, $1 ; Function102361
|
|
ld [wcd49], a
|
|
|
|
.asm_10220f
|
|
call Function1022ca
|
|
ld a, [wcd49]
|
|
ld hl, Jumptable_1022f5
|
|
rst JumpTable
|
|
call Function102241
|
|
call Function1022d0
|
|
jr c, .asm_102231
|
|
ld a, [wcd49]
|
|
bit 7, a
|
|
jr z, .asm_10220f
|
|
xor a
|
|
ld hl, wcd29
|
|
bit 3, [hl]
|
|
ret z
|
|
scf
|
|
ret
|
|
|
|
.asm_102231
|
|
xor a
|
|
ret
|
|
; 102233
|
|
|
|
Function102233: ; 102233
|
|
ld hl, wcd49
|
|
ld bc, 10
|
|
xor a
|
|
call ByteFill
|
|
call Function10304f
|
|
ret
|
|
; 102241
|
|
|
|
Function102241: ; 102241
|
|
call Function10226a
|
|
call Function102274
|
|
call Function10224b
|
|
ret
|
|
; 10224b
|
|
|
|
Function10224b: ; 10224b
|
|
ld hl, wcd4b
|
|
bit 1, [hl]
|
|
jr nz, .asm_10225e
|
|
bit 2, [hl]
|
|
jr nz, .asm_10225e
|
|
call DelayFrame
|
|
call DelayFrame
|
|
xor a
|
|
ret
|
|
|
|
.asm_10225e
|
|
res 1, [hl]
|
|
res 2, [hl]
|
|
callba Mobile_ReloadMapPart
|
|
scf
|
|
ret
|
|
; 10226a
|
|
|
|
Function10226a: ; 10226a
|
|
ld hl, wcd4b
|
|
bit 0, [hl]
|
|
ret z
|
|
call Function10305d
|
|
ret
|
|
; 102274
|
|
|
|
Function102274: ; 102274
|
|
ld hl, wcd4b
|
|
bit 3, [hl]
|
|
ret z
|
|
res 3, [hl]
|
|
ld de, 8
|
|
call PlaySFX
|
|
ret
|
|
; 102283
|
|
|
|
Function102283: ; 102283
|
|
ld a, $01
|
|
ld [AttrMapEnd], a
|
|
ld hl, wcd4b
|
|
set 0, [hl]
|
|
ret
|
|
; 10228e
|
|
|
|
Function10228e: ; 10228e
|
|
xor a
|
|
ld [AttrMapEnd], a
|
|
ld hl, wcd4b
|
|
res 0, [hl]
|
|
ret
|
|
; 102298
|
|
|
|
Function102298: ; 102298
|
|
ld a, e
|
|
cp $02
|
|
ret nz
|
|
ld hl, wcd4b
|
|
bit 6, [hl]
|
|
jr z, .asm_1022b6
|
|
ld hl, wcd4b
|
|
bit 7, [hl]
|
|
ld hl, wcd4b
|
|
set 7, [hl]
|
|
ret nz
|
|
ld de, SFX_ELEVATOR_END
|
|
call PlaySFX
|
|
jr .asm_1022c1
|
|
|
|
.asm_1022b6
|
|
ld hl, wcd4b
|
|
bit 7, [hl]
|
|
ld hl, wcd4b
|
|
res 7, [hl]
|
|
ret z
|
|
|
|
.asm_1022c1
|
|
call Function10304f
|
|
ld a, $01
|
|
ld [AttrMapEnd], a
|
|
ret
|
|
; 1022ca
|
|
|
|
Function1022ca: ; 1022ca
|
|
ld a, 30
|
|
ld [OverworldDelay], a
|
|
ret
|
|
; 1022d0
|
|
|
|
Function1022d0: ; 1022d0
|
|
callba Function10032e
|
|
ld a, [wcd2b]
|
|
and a
|
|
jr nz, .asm_1022f3
|
|
call Function102298
|
|
ld a, [OverworldDelay]
|
|
ld c, a
|
|
ld a, 30
|
|
sub c
|
|
ld c, a
|
|
ld b, $03
|
|
callba AdvanceMobileInactivityTimerAndCheckExpired
|
|
jr c, .asm_1022f3
|
|
xor a
|
|
ret
|
|
|
|
.asm_1022f3
|
|
scf
|
|
ret
|
|
; 1022f5
|
|
|
|
Jumptable_1022f5: ; 1022f5
|
|
dw Function10234b ; 00
|
|
dw Function102361 ; 01
|
|
dw Function10236e ; 02
|
|
dw Function102387 ; 03
|
|
dw Function1023a1 ; 04
|
|
dw Function1025c7 ; 05
|
|
dw Function1025dc ; 06
|
|
dw Function1024f6 ; 07
|
|
dw Function10250c ; 08
|
|
dw Function1024a8 ; 09
|
|
dw Function102591 ; 0a
|
|
dw Function1024a8 ; 0b
|
|
dw Function1025b0 ; 0c
|
|
dw Function1025bd ; 0d
|
|
dw Function102814 ; 0e
|
|
dw Function10283c ; 0f
|
|
dw Function102862 ; 10
|
|
dw Function10286f ; 11
|
|
dw Function1024a8 ; 12
|
|
dw Function1028a5 ; 13
|
|
dw Function1028ab ; 14
|
|
dw Function1023b5 ; 15
|
|
dw Function1023c6 ; 16
|
|
dw Function1024af ; 17
|
|
dw Function102416 ; 18
|
|
dw Function102423 ; 19
|
|
dw Function10244b ; 1a
|
|
dw Function1024af ; 1b
|
|
dw Function10246a ; 1c
|
|
dw Function102652 ; 1d
|
|
dw Function10266b ; 1e
|
|
dw Function1025e9 ; 1f
|
|
dw Function1025ff ; 20
|
|
dw Function102738 ; 21
|
|
dw Function102754 ; 22
|
|
dw Function1026b7 ; 23
|
|
dw Function1026c8 ; 24
|
|
dw Function1028bf ; 25
|
|
dw Function1028c6 ; 26
|
|
dw Function1028d3 ; 27
|
|
dw Function1028da ; 28
|
|
dw Function1024a8 ; 29
|
|
dw Function10248d ; 2a
|
|
; 10234b
|
|
|
|
Function10234b: ; 10234b
|
|
call Function102d9a
|
|
call Function102dd3
|
|
call Function102dec
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 102361
|
|
|
|
Function102361: ; 102361
|
|
ld a, $cc
|
|
call Function1028e8
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 10236e
|
|
|
|
Function10236e: ; 10236e
|
|
call Function1028fc
|
|
ret nc
|
|
ld a, [wcd51]
|
|
cp $cc
|
|
jr z, .asm_10237f
|
|
ld a, $f2
|
|
ld [wcd2b], a
|
|
ret
|
|
|
|
.asm_10237f
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 102387
|
|
|
|
Function102387: ; 102387
|
|
ld hl, wcd4b
|
|
set 6, [hl]
|
|
xor a
|
|
ld [wdc5f], a
|
|
ld de, MUSIC_ROUTE_30
|
|
call PlayMusic
|
|
call Function102d9a
|
|
call Function102dd3
|
|
ld a, $01
|
|
ld [wMenuCursorY], a
|
|
|
|
Function1023a1: ; 1023a1
|
|
call Function102283
|
|
call Function102db7
|
|
call Function102dec
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, $1d
|
|
ld [wcd49], a
|
|
ret
|
|
; 1023b5
|
|
|
|
Function1023b5: ; 1023b5
|
|
call Function10228e
|
|
call Function102a3b
|
|
call Function102b12
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 1023c6
|
|
|
|
Function1023c6: ; 1023c6
|
|
call Function102c48
|
|
call Function102c87
|
|
ld a, [wcd4c]
|
|
dec a
|
|
ld [CurPartyMon], a
|
|
xor a
|
|
ld [wd10b], a
|
|
callba RemoveMonFromPartyOrBox
|
|
ld hl, PartyCount
|
|
inc [hl]
|
|
ld a, [hli]
|
|
ld c, a
|
|
ld b, 0
|
|
add hl, bc
|
|
ld [hl], $ff
|
|
ld a, [PartyCount]
|
|
ld [wcd4c], a
|
|
call Function102c07
|
|
call Function102d48
|
|
call Function102b32
|
|
call Function102f50
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, $14
|
|
ld [wcd4e], a
|
|
ld a, 0
|
|
ld [wcd4f], a
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 102416
|
|
|
|
Function102416: ; 102416
|
|
ld a, $aa
|
|
call Function1028e8
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 102423
|
|
|
|
Function102423: ; 102423
|
|
call Function102921
|
|
ret nc
|
|
callba Function14a58
|
|
callba MobileFn_1060af
|
|
callba BackupMobileEventIndex
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 10244b
|
|
|
|
Function10244b: ; 10244b
|
|
call Function102f32
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, $19
|
|
ld [wcd4e], a
|
|
ld a, 0
|
|
ld [wcd4f], a
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 10246a
|
|
|
|
Function10246a: ; 10246a
|
|
call Function102d9a
|
|
ld hl, wcd29
|
|
set 3, [hl]
|
|
call Function102e07
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, $2a
|
|
ld [wcd49], a
|
|
ret
|
|
; 102480
|
|
|
|
Function102480: ; 102480
|
|
ld c, $32
|
|
call DelayFrames
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 10248d
|
|
|
|
Function10248d: ; 10248d
|
|
ld a, [wcd49]
|
|
set 7, a
|
|
ld [wcd49], a
|
|
ret
|
|
; 102496
|
|
|
|
Function102496: ; 102496
|
|
ld hl, wcd4e
|
|
dec [hl]
|
|
ret nz
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 1024a8
|
|
|
|
Function1024a8: ; 1024a8
|
|
callba Function1009f3
|
|
ret c
|
|
|
|
Function1024af: ; 1024af
|
|
call GetJoypad
|
|
ld a, [wcd4a]
|
|
ld hl, Jumptable_1024ba
|
|
rst JumpTable
|
|
ret
|
|
; 1024ba
|
|
|
|
Jumptable_1024ba: ; 1024ba
|
|
dw Function1024c0
|
|
dw Function1024cb
|
|
dw Function1024de
|
|
; 1024c0
|
|
|
|
Function1024c0: ; 1024c0
|
|
ld hl, wcd4e
|
|
inc [hl]
|
|
ld a, [wcd4a]
|
|
inc a
|
|
ld [wcd4a], a
|
|
|
|
Function1024cb: ; 1024cb
|
|
ld hl, wcd4e
|
|
dec [hl]
|
|
ret nz
|
|
ld a, [wcd4f]
|
|
inc a
|
|
ld [wcd4e], a
|
|
ld a, [wcd4a]
|
|
inc a
|
|
ld [wcd4a], a
|
|
|
|
Function1024de: ; 1024de
|
|
ld hl, wcd4e
|
|
dec [hl]
|
|
jr z, .asm_1024e9
|
|
ld a, [hJoyPressed]
|
|
and A_BUTTON | B_BUTTON
|
|
ret z
|
|
|
|
.asm_1024e9
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 1024f6
|
|
|
|
Function1024f6: ; 1024f6
|
|
call PlaceHollowCursor
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, [wcd4c]
|
|
call Function1028e8
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 10250c
|
|
|
|
Function10250c: ; 10250c
|
|
call Function1028fc
|
|
ret nc
|
|
ld a, [wcd51]
|
|
cp $0f
|
|
jr z, .asm_10254b
|
|
and a
|
|
jr z, .asm_102572
|
|
cp $aa
|
|
jr z, .asm_102572
|
|
cp $07
|
|
jr nc, .asm_102572
|
|
ld [wcd4d], a
|
|
dec a
|
|
ld [wd003], a
|
|
ld a, [wcd4c]
|
|
dec a
|
|
ld [wd002], a
|
|
call Function102b9c
|
|
call Function102bdc
|
|
jr c, .asm_10256d
|
|
callba Functionfb5dd
|
|
jr c, .asm_102568
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, $0e
|
|
ld [wcd49], a
|
|
ret
|
|
|
|
.asm_10254b
|
|
call Function103021
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
ld a, $1e
|
|
ld [wcd4e], a
|
|
ld a, $1e
|
|
ld [wcd4f], a
|
|
ld a, $29
|
|
ld [wcd49], a
|
|
ret
|
|
|
|
.asm_102568
|
|
call Function102ff5
|
|
jr .asm_102577
|
|
|
|
.asm_10256d
|
|
call Function102f85
|
|
jr .asm_102577
|
|
|
|
.asm_102572
|
|
call Function102fce
|
|
jr .asm_102577
|
|
|
|
.asm_102577
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
ld a, $1e
|
|
ld [wcd4e], a
|
|
ld a, $3c
|
|
ld [wcd4f], a
|
|
ld a, $09
|
|
ld [wcd49], a
|
|
ret
|
|
; 102591
|
|
|
|
Function102591: ; 102591
|
|
call Function102ee7
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
ld a, $1e
|
|
ld [wcd4e], a
|
|
ld a, $3c
|
|
ld [wcd4f], a
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 1025b0
|
|
|
|
Function1025b0: ; 1025b0
|
|
ld a, $09
|
|
call Function1028e8
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 1025bd
|
|
|
|
Function1025bd: ; 1025bd
|
|
call Function1028fc
|
|
ret nc
|
|
ld a, $04
|
|
ld [wcd49], a
|
|
ret
|
|
; 1025c7
|
|
|
|
Function1025c7: ; 1025c7
|
|
call Function102f6d
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, $0f
|
|
call Function1028e8
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 1025dc
|
|
|
|
Function1025dc: ; 1025dc
|
|
call Function1028fc
|
|
ret nc
|
|
ld a, [wcd49]
|
|
set 7, a
|
|
ld [wcd49], a
|
|
ret
|
|
; 1025e9
|
|
|
|
Function1025e9: ; 1025e9
|
|
nop
|
|
ld hl, wcd4b
|
|
set 6, [hl]
|
|
call Function102b4e
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 1025ff
|
|
|
|
Function1025ff: ; 1025ff
|
|
ld hl, wcd4b
|
|
set 2, [hl]
|
|
callba Function1009f3
|
|
ret c
|
|
callba MobileMenuJoypad
|
|
ld a, [wMenuJoypadFilter]
|
|
and c
|
|
ret z
|
|
bit A_BUTTON_F, c
|
|
jr nz, .a_button
|
|
bit D_UP_F, c
|
|
jr nz, .d_up
|
|
bit D_DOWN_F, c
|
|
jr nz, .d_down
|
|
ret
|
|
|
|
.a_button
|
|
ld hl, wcd4b
|
|
set 3, [hl]
|
|
ld a, $27 ; Function1028d3
|
|
ld [wcd49], a
|
|
ret
|
|
|
|
.d_up
|
|
ld a, [wMenuCursorY]
|
|
ld b, a
|
|
ld a, [OTPartyCount]
|
|
cp b
|
|
ret nz
|
|
call HideCursor
|
|
ld a, [PartyCount]
|
|
ld [wMenuCursorY], a
|
|
ld a, $1d ; Function102652
|
|
ld [wcd49], a
|
|
ret
|
|
|
|
.d_down
|
|
ld a, [wMenuCursorY]
|
|
cp $01
|
|
ret nz
|
|
ld a, $23 ; Function1026b7
|
|
ld [wcd49], a
|
|
ret
|
|
; 102652
|
|
|
|
Function102652: ; 102652
|
|
nop
|
|
ld hl, wcd4b
|
|
set 6, [hl]
|
|
nop
|
|
call Function102b7b
|
|
nop
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
nop
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 10266b
|
|
|
|
Function10266b: ; 10266b
|
|
ld hl, wcd4b
|
|
set 2, [hl]
|
|
callba Function1009f3
|
|
ret c
|
|
callba MobileMenuJoypad
|
|
ld a, [wMenuJoypadFilter]
|
|
and c
|
|
ret z
|
|
bit A_BUTTON_F, c
|
|
jr nz, .a_button
|
|
bit D_DOWN_F, c
|
|
jr nz, .d_down
|
|
bit D_UP_F, c
|
|
jr nz, .d_up
|
|
ret
|
|
|
|
.a_button
|
|
ld hl, wcd4b
|
|
set 3, [hl]
|
|
ld a, $21 ; Function102738
|
|
ld [wcd49], a
|
|
ret
|
|
|
|
.d_down
|
|
ld a, [wMenuCursorY]
|
|
dec a
|
|
ret nz
|
|
call HideCursor
|
|
ld a, $1f ; Function1025e9
|
|
ld [wcd49], a
|
|
ret
|
|
|
|
.d_up
|
|
ld a, [wMenuCursorY]
|
|
ld b, a
|
|
ld a, [PartyCount]
|
|
cp b
|
|
ret nz
|
|
ld a, $23 ; Function1026b7
|
|
ld [wcd49], a
|
|
ret
|
|
; 1026b7
|
|
|
|
Function1026b7: ; 1026b7
|
|
ld hl, wcd4b
|
|
set 6, [hl]
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
|
|
Function1026c8: ; 1026c8
|
|
call GetJoypad
|
|
callba Function1009f3
|
|
ret c
|
|
ld a, [wcd4a]
|
|
ld hl, Jumptable_1026da
|
|
rst JumpTable
|
|
ret
|
|
; 1026da
|
|
|
|
Jumptable_1026da: ; 1026da
|
|
dw Function1026de
|
|
dw Function1026f3
|
|
; 1026de
|
|
|
|
Function1026de: ; 1026de
|
|
call HideCursor
|
|
hlcoord 9, 17
|
|
ld [hl], $ed
|
|
ld a, [wcd4a]
|
|
inc a
|
|
ld [wcd4a], a
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ret
|
|
; 1026f3
|
|
|
|
Function1026f3: ; 1026f3
|
|
ld a, [hJoyPressed]
|
|
bit A_BUTTON_F, a
|
|
jr nz, .asm_102723
|
|
bit D_UP_F, a
|
|
jr nz, .asm_102712
|
|
bit D_DOWN_F, a
|
|
jr nz, .asm_102702
|
|
ret
|
|
|
|
.asm_102702
|
|
hlcoord 9, 17
|
|
ld [hl], " "
|
|
ld a, $01
|
|
ld [wMenuCursorY], a
|
|
ld a, $1d ; Function102652
|
|
ld [wcd49], a
|
|
ret
|
|
|
|
.asm_102712
|
|
hlcoord 9, 17
|
|
ld [hl], " "
|
|
ld a, [OTPartyCount]
|
|
ld [wMenuCursorY], a
|
|
ld a, $1f ; Function1025e9
|
|
ld [wcd49], a
|
|
ret
|
|
|
|
.asm_102723
|
|
hlcoord 9, 17
|
|
ld [hl], "▷"
|
|
ld hl, wcd4b
|
|
set 3, [hl]
|
|
ld hl, wcd4b
|
|
set 2, [hl]
|
|
ld a, $5 ; Function1025c7
|
|
ld [wcd49], a
|
|
ret
|
|
; 102738
|
|
|
|
Function102738: ; 102738
|
|
ld hl, wcd4b
|
|
set 6, [hl]
|
|
call PlaceHollowCursor
|
|
call Function1027eb
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
|
|
Function102754: ; 102754
|
|
call GetJoypad
|
|
callba Function1009f3
|
|
ret c
|
|
ld a, [wcd4a]
|
|
ld hl, Jumptable_102766
|
|
rst JumpTable
|
|
ret
|
|
; 102766
|
|
|
|
Jumptable_102766: ; 102766
|
|
dw Function102770
|
|
dw Function102775
|
|
dw Function10278c
|
|
dw Function1027a0
|
|
dw Function1027b7
|
|
; 102770
|
|
|
|
Function102770: ; 102770
|
|
ld a, $01
|
|
ld [wcd4a], a
|
|
|
|
Function102775: ; 102775
|
|
hlcoord 1, 16
|
|
ld [hl], "▶"
|
|
hlcoord 11, 16
|
|
ld [hl], " "
|
|
ld hl, wcd4b
|
|
set 2, [hl]
|
|
ld a, [wcd4a]
|
|
inc a
|
|
ld [wcd4a], a
|
|
ret
|
|
; 10278c
|
|
|
|
Function10278c: ; 10278c
|
|
ld a, [hJoyPressed]
|
|
bit A_BUTTON_F, a
|
|
jr nz, asm_1027c6
|
|
bit B_BUTTON_F, a
|
|
jr nz, asm_1027e2
|
|
bit D_RIGHT_F, a
|
|
jr nz, .asm_10279b
|
|
ret
|
|
|
|
.asm_10279b
|
|
ld a, $03
|
|
ld [wcd4a], a
|
|
Function1027a0: ; 1027a0
|
|
hlcoord 1, 16
|
|
ld [hl], " "
|
|
hlcoord 11, 16
|
|
ld [hl], "▶"
|
|
ld hl, wcd4b
|
|
set 2, [hl]
|
|
ld a, [wcd4a]
|
|
inc a
|
|
ld [wcd4a], a
|
|
ret
|
|
|
|
Function1027b7: ; 1027b7
|
|
ld a, [hJoyPressed]
|
|
bit A_BUTTON_F, a
|
|
jr nz, asm_1027d1
|
|
bit B_BUTTON_F, a
|
|
jr nz, asm_1027e2
|
|
bit D_LEFT_F, a
|
|
jr nz, Function102770
|
|
ret
|
|
|
|
asm_1027c6:
|
|
ld hl, wcd4b
|
|
set 3, [hl]
|
|
ld a, $25 ; Function1028bf
|
|
ld [wcd49], a
|
|
ret
|
|
|
|
asm_1027d1:
|
|
ld hl, wcd4b
|
|
set 3, [hl]
|
|
ld a, [wMenuCursorY]
|
|
ld [wcd4c], a
|
|
ld a, $7 ; Function1024f6
|
|
ld [wcd49], a
|
|
ret
|
|
|
|
asm_1027e2:
|
|
call Function102db7
|
|
ld a, $1d ; Function102652
|
|
ld [wcd49], a
|
|
ret
|
|
; 1027eb
|
|
|
|
Function1027eb: ; 1027eb
|
|
hlcoord 0, 14
|
|
ld b, 2
|
|
ld c, 18
|
|
ld d, h
|
|
ld e, l
|
|
callba _LinkTextbox
|
|
ld de, .Stats_Trade
|
|
hlcoord 2, 16
|
|
call PlaceString
|
|
ret
|
|
; 102804
|
|
|
|
.Stats_Trade: ; 102804
|
|
db "STATS TRADE@"
|
|
; 102814
|
|
|
|
Function102814: ; 102814
|
|
ld a, [wMenuCursorY]
|
|
ld [wcd52], a
|
|
ld a, [wcd4c]
|
|
dec a
|
|
ld [wd002], a
|
|
ld a, [wcd4d]
|
|
dec a
|
|
ld [wd003], a
|
|
call Function102ea8
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
|
|
Function10283c: ; 10283c
|
|
ld hl, wcd4b
|
|
set 2, [hl]
|
|
call Function1029c3
|
|
ret z
|
|
jr c, .asm_102852
|
|
ld a, $10 ; Function102862
|
|
ld [wcd49], a
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ret
|
|
|
|
.asm_102852
|
|
ld a, $14 ; Function1028ab
|
|
ld [wcd49], a
|
|
ld hl, wcd4b
|
|
set 3, [hl]
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ret
|
|
; 102862
|
|
|
|
Function102862: ; 102862
|
|
ld a, $08
|
|
call Function1028e8
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 10286f
|
|
|
|
Function10286f: ; 10286f
|
|
call Function1028fc
|
|
ret nc
|
|
ld a, [wcd52]
|
|
ld [wMenuCursorY], a
|
|
ld a, [wcd51]
|
|
cp $08
|
|
jr nz, .asm_102886
|
|
ld a, $15 ; Function1023b5
|
|
ld [wcd49], a
|
|
ret
|
|
|
|
.asm_102886
|
|
call Function102ee7
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, $1e
|
|
ld [wcd4e], a
|
|
ld a, $3c
|
|
ld [wcd4f], a
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
ret
|
|
; 1028a5
|
|
|
|
Function1028a5: ; 1028a5
|
|
ld a, $4 ; Function1023a1
|
|
ld [wcd49], a
|
|
ret
|
|
; 1028ab
|
|
|
|
Function1028ab: ; 1028ab
|
|
ld a, [wcd52]
|
|
ld [wMenuCursorY], a
|
|
call Function102f15
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, $c ; Function1025b0
|
|
ld [wcd49], a
|
|
ret
|
|
; 1028bf
|
|
|
|
Function1028bf: ; 1028bf
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
|
|
Function1028c6: ; 1028c6
|
|
xor a
|
|
ld [MonType], a
|
|
call Function102bac
|
|
ld a, $1d ; Function102652
|
|
ld [wcd49], a
|
|
ret
|
|
; 1028d3
|
|
|
|
Function1028d3: ; 1028d3
|
|
ld a, [wcd49]
|
|
inc a
|
|
ld [wcd49], a
|
|
|
|
Function1028da: ; 1028da
|
|
ld a, OTPARTYMON
|
|
ld [MonType], a
|
|
call Function102bac
|
|
ld a, $1f ; Function1025e9
|
|
ld [wcd49], a
|
|
ret
|
|
; 1028e8
|
|
|
|
Function1028e8: ; 1028e8
|
|
ld hl, wcd4b
|
|
res 6, [hl]
|
|
ld [wcd50], a
|
|
callba StartMobileInactivityTimer
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
ret
|
|
; 1028fc
|
|
|
|
Function1028fc: ; 1028fc
|
|
call GetJoypad
|
|
callba Function1009f3
|
|
jr nc, .asm_102909
|
|
and a
|
|
ret
|
|
|
|
.asm_102909
|
|
ld a, [wcd4a]
|
|
ld hl, Jumptable_102917
|
|
rst JumpTable
|
|
ret nc
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
ret
|
|
; 102917
|
|
|
|
Jumptable_102917: ; 102917
|
|
dw Function102933
|
|
dw Function10294f
|
|
dw Function10295d
|
|
dw Function10296e
|
|
dw Function102996
|
|
; 102921
|
|
|
|
Function102921: ; 102921
|
|
ld a, [wcd4a]
|
|
ld hl, Jumptable_10292f
|
|
rst JumpTable
|
|
ret nc
|
|
ld a, 0
|
|
ld [wcd4a], a
|
|
ret
|
|
; 10292f
|
|
|
|
Jumptable_10292f: ; 10292f
|
|
dw Function10295d
|
|
dw Function102984
|
|
; 102933
|
|
|
|
Function102933: ; 102933
|
|
ld hl, MenuDataHeader_1029bb
|
|
call LoadMenuDataHeader
|
|
call Function102e07
|
|
ld a, $32
|
|
ld [TextDelayFrames], a
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld a, [wcd4a]
|
|
inc a
|
|
ld [wcd4a], a
|
|
and a
|
|
ret
|
|
; 10294f
|
|
|
|
Function10294f: ; 10294f
|
|
ld a, [TextDelayFrames]
|
|
and a
|
|
ret nz
|
|
ld a, [wcd4a]
|
|
inc a
|
|
ld [wcd4a], a
|
|
and a
|
|
ret
|
|
; 10295d
|
|
|
|
Function10295d: ; 10295d
|
|
call Function10299e
|
|
ld a, 0
|
|
ld [wcd27], a
|
|
ld a, [wcd4a]
|
|
inc a
|
|
ld [wcd4a], a
|
|
and a
|
|
ret
|
|
; 10296e
|
|
|
|
Function10296e: ; 10296e
|
|
callba Function100382
|
|
and a
|
|
ld a, [wcd27]
|
|
bit 7, a
|
|
ret z
|
|
ld a, [wcd4a]
|
|
inc a
|
|
ld [wcd4a], a
|
|
and a
|
|
ret
|
|
; 102984
|
|
|
|
Function102984: ; 102984
|
|
callba Function100382
|
|
and a
|
|
ld a, [wcd27]
|
|
bit 7, a
|
|
ret z
|
|
call Function1029af
|
|
scf
|
|
ret
|
|
; 102996
|
|
|
|
Function102996: ; 102996
|
|
call Function1029af
|
|
call ExitMenu
|
|
scf
|
|
ret
|
|
; 10299e
|
|
|
|
Function10299e: ; 10299e
|
|
ld a, $01
|
|
ld [wccb4], a
|
|
ld a, [wcd50]
|
|
ld [wccb5], a
|
|
ld a, $aa
|
|
ld [wcd51], a
|
|
ret
|
|
; 1029af
|
|
|
|
Function1029af: ; 1029af
|
|
ld hl, wcd4b
|
|
res 7, [hl]
|
|
ld a, [wcc61]
|
|
ld [wcd51], a
|
|
ret
|
|
; 1029bb
|
|
|
|
MenuDataHeader_1029bb: ; 1029bb
|
|
db $40 ; flags
|
|
db 10, 3 ; start coords
|
|
db 12, 15 ; end coords
|
|
dw NULL
|
|
db 1 ; default option
|
|
; 1029c3
|
|
|
|
Function1029c3: ; 1029c3
|
|
ld a, [wcd4a]
|
|
ld hl, Jumptable_1029cb
|
|
rst JumpTable
|
|
ret
|
|
; 1029cb
|
|
|
|
Jumptable_1029cb: ; 1029cb
|
|
dw Function1029cf
|
|
dw Function1029fe
|
|
; 1029cf
|
|
|
|
Function1029cf: ; 1029cf
|
|
call LoadStandardMenuDataHeader
|
|
hlcoord 10, 7
|
|
ld b, 3
|
|
ld c, 8
|
|
ld d, h
|
|
ld e, l
|
|
callba _LinkTextbox
|
|
ld de, String_102a26
|
|
hlcoord 12, 8
|
|
call PlaceString
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ld de, MenuData3_102a33
|
|
call SetMenuAttributes
|
|
ld a, [wcd4a]
|
|
inc a
|
|
ld [wcd4a], a
|
|
xor a
|
|
ret
|
|
; 1029fe
|
|
|
|
Function1029fe: ; 1029fe
|
|
callba Function1009f3
|
|
ret c
|
|
callba MobileMenuJoypad
|
|
ld a, c
|
|
ld hl, wMenuJoypadFilter
|
|
and [hl]
|
|
ret z
|
|
push af
|
|
call ExitMenu
|
|
pop af
|
|
ld a, [wMenuCursorY]
|
|
cp $01
|
|
jr nz, .asm_102a21
|
|
ld a, $01
|
|
and a
|
|
ret
|
|
|
|
.asm_102a21
|
|
ld a, $01
|
|
and a
|
|
scf
|
|
ret
|
|
; 102a26
|
|
|
|
String_102a26: ; 102a26
|
|
db "TRADE"
|
|
next "CANCEL"
|
|
db "@"
|
|
; 102a33
|
|
|
|
MenuData3_102a33:
|
|
db 8, 11
|
|
db 2, 1
|
|
db $80, $00
|
|
dn 2, 0
|
|
db A_BUTTON
|
|
|
|
Function102a3b: ; 102a3b
|
|
ld a, [wcd30]
|
|
ld [wc74e], a
|
|
ld hl, PlayerName
|
|
ld de, wPlayerTrademonSenderName
|
|
ld bc, NAME_LENGTH
|
|
call CopyBytes
|
|
ld a, [wcd4c]
|
|
dec a
|
|
ld c, a
|
|
ld b, 0
|
|
ld hl, PartySpecies
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld [wPlayerTrademonSpecies], a
|
|
ld a, [wcd4c]
|
|
dec a
|
|
ld hl, PartyMonOT
|
|
call SkipNames
|
|
ld de, wPlayerTrademonOTName
|
|
ld bc, NAME_LENGTH
|
|
call CopyBytes
|
|
ld a, [wcd4c]
|
|
dec a
|
|
ld hl, PartyMon1ID
|
|
call GetPartyLocation
|
|
ld a, [hli]
|
|
ld [wPlayerTrademonID], a
|
|
ld a, [hl]
|
|
ld [wPlayerTrademonID + 1], a
|
|
ld a, [wcd4c]
|
|
dec a
|
|
ld hl, PartyMon1DVs
|
|
call GetPartyLocation
|
|
ld a, [hli]
|
|
ld [wPlayerTrademonDVs], a
|
|
ld a, [hl]
|
|
ld [wPlayerTrademonDVs + 1], a
|
|
ld a, [wcd4c]
|
|
dec a
|
|
ld hl, PartyMon1Species
|
|
call GetPartyLocation
|
|
ld b, h
|
|
ld c, l
|
|
callba GetCaughtGender
|
|
ld a, c
|
|
ld [wPlayerTrademonCaughtData], a
|
|
ld hl, OTPlayerName
|
|
ld de, wOTTrademonSenderName
|
|
ld bc, NAME_LENGTH
|
|
call CopyBytes
|
|
|
|
ld a, [wcd4d]
|
|
dec a
|
|
ld c, a
|
|
ld b, 0
|
|
ld hl, OTPartySpecies
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld [wOTTrademonSpecies], a
|
|
ld a, [wcd4d]
|
|
dec a
|
|
ld hl, OTPartyMonOT
|
|
call SkipNames
|
|
ld de, wOTTrademonOTName
|
|
ld bc, NAME_LENGTH
|
|
call CopyBytes
|
|
ld a, [wcd4d]
|
|
dec a
|
|
ld hl, OTPartyMon1ID
|
|
call GetPartyLocation
|
|
ld a, [hli]
|
|
ld [wOTTrademonID], a
|
|
ld a, [hl]
|
|
ld [wOTTrademonID + 1], a
|
|
ld a, [wcd4d]
|
|
dec a
|
|
ld hl, OTPartyMon1DVs
|
|
call GetPartyLocation
|
|
ld a, [hli]
|
|
ld [wOTTrademonDVs], a
|
|
ld a, [hl]
|
|
ld [wOTTrademonDVs + 1], a
|
|
ld a, [wcd4d]
|
|
dec a
|
|
ld hl, OTPartyMon1Species
|
|
call GetPartyLocation
|
|
ld b, h
|
|
ld c, l
|
|
callba GetCaughtGender
|
|
ld a, c
|
|
ld [wOTTrademonCaughtData], a
|
|
ret
|
|
; 102b12
|
|
|
|
Function102b12: ; 102b12
|
|
ld c, 100
|
|
call DelayFrames
|
|
call Function102d9a
|
|
call LoadFontsBattleExtra
|
|
ld a, [wcd2f]
|
|
and a
|
|
jr nz, .asm_102b2b
|
|
callba Function108026
|
|
jr .asm_102b31
|
|
|
|
.asm_102b2b
|
|
callba Function10802a
|
|
|
|
.asm_102b31
|
|
ret
|
|
; 102b32
|
|
|
|
Function102b32: ; 102b32
|
|
ld a, [wcd4c]
|
|
dec a
|
|
ld [CurPartyMon], a
|
|
ld a, $01
|
|
ld [wForceEvolution], a
|
|
callba EvolvePokemon
|
|
call Function102d9a
|
|
call Function102dd3
|
|
call Function102dec
|
|
ret
|
|
; 102b4e
|
|
|
|
Function102b4e: ; 102b4e
|
|
ld a, OTPARTYMON
|
|
ld [MonType], a
|
|
ld a, [wMenuCursorY]
|
|
push af
|
|
ld de, Unknown_102b73
|
|
call SetMenuAttributes
|
|
pop af
|
|
ld [wMenuCursorY], a
|
|
ld a, [OTPartyCount]
|
|
ld [w2DMenuNumRows], a
|
|
ret
|
|
; 102b68
|
|
|
|
Function102b68: ; 102b68 ; unreferenced
|
|
xor a
|
|
ld hl, wWindowStackPointer
|
|
ld bc, $10
|
|
call ByteFill
|
|
ret
|
|
; 102b73
|
|
|
|
Unknown_102b73:
|
|
db 9, 6
|
|
db 255, 1
|
|
db $a0, $00
|
|
dn 1, 0
|
|
db D_UP | D_DOWN | A_BUTTON
|
|
|
|
Function102b7b: ; 102b7b
|
|
xor a
|
|
ld [MonType], a
|
|
ld a, [wMenuCursorY]
|
|
push af
|
|
ld de, Unknown_102b94
|
|
call SetMenuAttributes
|
|
pop af
|
|
ld [wMenuCursorY], a
|
|
ld a, [PartyCount]
|
|
ld [w2DMenuNumRows], a
|
|
ret
|
|
; 102b94
|
|
|
|
Unknown_102b94:
|
|
db 1, 6
|
|
db 255, 1
|
|
db $a0, $00
|
|
dn 1, 0
|
|
db D_UP | D_DOWN | A_BUTTON
|
|
|
|
Function102b9c: ; 102b9c
|
|
ld a, [wcd4d]
|
|
dec a
|
|
hlcoord 6, 9
|
|
ld bc, $14
|
|
call AddNTimes
|
|
ld [hl], $ec
|
|
ret
|
|
; 102bac
|
|
|
|
Function102bac: ; 102bac
|
|
ld a, [wMenuCursorY]
|
|
dec a
|
|
ld [CurPartyMon], a
|
|
call LowVolume
|
|
call ClearSprites
|
|
callba _MobileStatsScreenInit
|
|
ld a, [CurPartyMon]
|
|
inc a
|
|
ld [wMenuCursorY], a
|
|
call Function102d9a
|
|
call ClearPalettes
|
|
call DelayFrame
|
|
call MaxVolume
|
|
call Function102dd3
|
|
call Function102dec
|
|
call Function102db7
|
|
ret
|
|
; 102bdc
|
|
|
|
Function102bdc: ; 102bdc
|
|
ld a, [wcd4d]
|
|
dec a
|
|
ld hl, OTPartyMon1Species
|
|
call GetPartyLocation
|
|
push hl
|
|
ld a, [wcd4d]
|
|
ld c, a
|
|
ld b, 0
|
|
ld hl, OTPartyCount
|
|
add hl, bc
|
|
ld a, [hl]
|
|
pop hl
|
|
cp EGG
|
|
jr z, .asm_102bfa
|
|
cp [hl]
|
|
jr nz, .asm_102c05
|
|
|
|
.asm_102bfa
|
|
ld bc, MON_LEVEL
|
|
add hl, bc
|
|
ld a, [hl]
|
|
cp MAX_LEVEL + 1
|
|
jr nc, .asm_102c05
|
|
and a
|
|
ret
|
|
|
|
.asm_102c05
|
|
scf
|
|
ret
|
|
; 102c07
|
|
|
|
Function102c07: ; 102c07
|
|
call Function102c14
|
|
call Function102c3b
|
|
call Function102c21
|
|
call Function102c2e
|
|
ret
|
|
; 102c14
|
|
|
|
Function102c14: ; 102c14
|
|
ld hl, PartySpecies
|
|
ld de, OTPartySpecies
|
|
ld bc, 1
|
|
call Function102c71
|
|
ret
|
|
; 102c21
|
|
|
|
Function102c21: ; 102c21
|
|
ld hl, PartyMonNicknames
|
|
ld de, OTPartyMonNicknames
|
|
ld bc, 11
|
|
call Function102c71
|
|
ret
|
|
; 102c2e
|
|
|
|
Function102c2e: ; 102c2e
|
|
ld hl, PartyMonOT
|
|
ld de, OTPartyMonOT
|
|
ld bc, 11
|
|
call Function102c71
|
|
ret
|
|
; 102c3b
|
|
|
|
Function102c3b: ; 102c3b
|
|
ld hl, PartyMon1
|
|
ld de, OTPartyMon1
|
|
ld bc, $30
|
|
call Function102c71
|
|
ret
|
|
; 102c48
|
|
|
|
Function102c48: ; 102c48
|
|
callba Function10165a
|
|
ld a, 0
|
|
call GetSRAMBank
|
|
ld hl, $a600
|
|
ld de, wc608
|
|
ld bc, $2f
|
|
call Function102c71
|
|
call CloseSRAM
|
|
ld hl, wc608
|
|
ld de, w5_da00
|
|
ld bc, $1e0
|
|
ld a, $05
|
|
call FarCopyWRAM
|
|
ret
|
|
; 102c71
|
|
|
|
Function102c71: ; 102c71
|
|
ld a, [wcd4c]
|
|
dec a
|
|
call AddNTimes
|
|
push hl
|
|
ld h, d
|
|
ld l, e
|
|
ld a, [wcd4d]
|
|
dec a
|
|
call AddNTimes
|
|
pop de
|
|
call SwapBytes
|
|
ret
|
|
; 102c87
|
|
|
|
Function102c87: ; 102c87
|
|
ld a, [wJumptableIndex]
|
|
push af
|
|
ld a, [wcf64]
|
|
push af
|
|
ld a, [wcd4c]
|
|
ld [wJumptableIndex], a
|
|
ld a, [PartyCount]
|
|
ld [wcf64], a
|
|
ld a, 0
|
|
ld hl, $a600
|
|
ld de, wc608
|
|
ld bc, $11a
|
|
call Function102d3e
|
|
call Function102cee
|
|
ld a, 0
|
|
ld hl, wc608
|
|
ld de, $a600
|
|
ld bc, $11a
|
|
call Function102d3e
|
|
ld a, [wcd4d]
|
|
ld [wJumptableIndex], a
|
|
ld a, [OTPartyCount]
|
|
ld [wcf64], a
|
|
ld a, $05
|
|
ld hl, w5_da00
|
|
ld de, wc608
|
|
ld bc, $11a
|
|
call FarCopyWRAM
|
|
call Function102cee
|
|
ld a, $05
|
|
ld hl, wc608
|
|
ld de, w5_da00
|
|
ld bc, $11a
|
|
call FarCopyWRAM
|
|
pop af
|
|
ld [wcf64], a
|
|
pop af
|
|
ld [wJumptableIndex], a
|
|
ret
|
|
; 102cee
|
|
|
|
Function102cee: ; 102cee
|
|
ld a, [wJumptableIndex]
|
|
dec a
|
|
call Function102d34
|
|
ld de, wd002
|
|
ld bc, $2f
|
|
call CopyBytes
|
|
ld a, [wJumptableIndex]
|
|
ld c, a
|
|
ld a, $06
|
|
sub c
|
|
ret z
|
|
ld bc, $2f
|
|
ld hl, 0
|
|
call AddNTimes
|
|
push hl
|
|
ld a, [wJumptableIndex]
|
|
dec a
|
|
call Function102d34
|
|
ld d, h
|
|
ld e, l
|
|
ld hl, $2f
|
|
add hl, de
|
|
pop bc
|
|
call CopyBytes
|
|
ld a, [wcf64]
|
|
dec a
|
|
call Function102d34
|
|
ld d, h
|
|
ld e, l
|
|
ld hl, wd002
|
|
ld bc, $2f
|
|
call CopyBytes
|
|
ret
|
|
; 102d34
|
|
|
|
Function102d34: ; 102d34
|
|
ld hl, wc608
|
|
ld bc, $2f
|
|
call AddNTimes
|
|
ret
|
|
; 102d3e
|
|
|
|
Function102d3e: ; 102d3e
|
|
call GetSRAMBank
|
|
call CopyBytes
|
|
call CloseSRAM
|
|
ret
|
|
; 102d48
|
|
|
|
Function102d48: ; 102d48
|
|
ld a, [wcd4c]
|
|
ld e, a
|
|
ld d, 0
|
|
ld hl, PartyCount
|
|
add hl, de
|
|
ld a, [hl]
|
|
ld [wd265], a
|
|
cp EGG
|
|
jr z, .asm_102d6d
|
|
dec a
|
|
call SetSeenAndCaughtMon
|
|
ld a, [wcd4c]
|
|
dec a
|
|
ld bc, PARTYMON_STRUCT_LENGTH
|
|
ld hl, PartyMon1Happiness
|
|
call AddNTimes
|
|
ld [hl], BASE_HAPPINESS
|
|
|
|
.asm_102d6d
|
|
ld a, [wd265]
|
|
cp UNOWN
|
|
jr nz, .asm_102d98
|
|
ld a, [wcd4c]
|
|
dec a
|
|
ld bc, PARTYMON_STRUCT_LENGTH
|
|
ld hl, PartyMon1DVs
|
|
call AddNTimes
|
|
predef GetUnownLetter
|
|
callba UpdateUnownDex
|
|
ld a, [wFirstUnownSeen]
|
|
and a
|
|
jr nz, .asm_102d98
|
|
ld a, [UnownLetter]
|
|
ld [wFirstUnownSeen], a
|
|
|
|
.asm_102d98
|
|
and a
|
|
ret
|
|
; 102d9a
|
|
|
|
Function102d9a: ; 102d9a
|
|
ld a, " "
|
|
hlcoord 0, 0
|
|
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
|
call ByteFill
|
|
ld a, $07
|
|
hlcoord 0, 0, AttrMap
|
|
ld bc, SCREEN_WIDTH * SCREEN_HEIGHT
|
|
call ByteFill
|
|
callba HDMATransferAttrMapAndTileMapToWRAMBank3
|
|
ret
|
|
; 102db7
|
|
|
|
Function102db7: ; 102db7
|
|
call Function102e4f
|
|
call Function102e3e
|
|
ld hl, wcd4b
|
|
set 1, [hl]
|
|
ret
|
|
; 102dc3
|
|
|
|
Function102dc3: ; 102dc3
|
|
hlcoord 0, 12
|
|
ld b, 4
|
|
ld c, 18
|
|
ld d, h
|
|
ld e, l
|
|
callba _LinkTextbox
|
|
ret
|
|
; 102dd3
|
|
|
|
Function102dd3: ; 102dd3
|
|
call DisableLCD
|
|
ld de, GFX_1032a2
|
|
ld hl, VTiles0
|
|
lb bc, BANK(GFX_1032a2), 4
|
|
call Get2bpp
|
|
callba __LoadTradeScreenBorder
|
|
call EnableLCD
|
|
ret
|
|
; 102dec
|
|
|
|
Function102dec: ; 102dec
|
|
ld hl, Palettes_1032e2
|
|
ld de, UnknOBPals
|
|
ld bc, 4 palettes
|
|
ld a, $05
|
|
call FarCopyWRAM
|
|
callba Function49742
|
|
call SetPalettes
|
|
call DelayFrame
|
|
ret
|
|
; 102e07
|
|
|
|
Function102e07: ; 102e07
|
|
hlcoord 3, 10
|
|
ld b, 1
|
|
ld c, 11
|
|
ld a, [wBattleMode]
|
|
and a
|
|
jr z, .link_battle
|
|
call TextBox
|
|
jr .okay
|
|
|
|
.link_battle
|
|
; this is idiotic
|
|
hlcoord 3, 10
|
|
ld b, 1
|
|
ld c, 11
|
|
ld d, h
|
|
ld e, l
|
|
callba _LinkTextbox
|
|
|
|
.okay
|
|
ld de, .waiting
|
|
hlcoord 4, 11
|
|
call PlaceString
|
|
ret
|
|
; 102e32
|
|
|
|
.waiting ; 102e32
|
|
db "Waiting...!@"
|
|
; 102e3e
|
|
|
|
Function102e3e: ; 102e3e
|
|
ld de, .CANCEL
|
|
hlcoord 10, 17
|
|
call PlaceString
|
|
ret
|
|
; 102e48
|
|
|
|
.CANCEL: ; 102e48
|
|
db "CANCEL@"
|
|
; 102e4f
|
|
|
|
Function102e4f: ; 102e4f
|
|
callba Function16d42e
|
|
callba _InitMG_Mobile_LinkTradePalMap
|
|
ld de, PlayerName
|
|
hlcoord 4, 0
|
|
call PlaceString
|
|
ld a, $14
|
|
ld [bc], a
|
|
ld de, OTPlayerName
|
|
hlcoord 4, 8
|
|
call PlaceString
|
|
ld a, $14
|
|
ld [bc], a
|
|
hlcoord 7, 1
|
|
ld de, PartySpecies
|
|
call .PlaceSpeciesNames
|
|
hlcoord 7, 9
|
|
ld de, OTPartySpecies
|
|
call .PlaceSpeciesNames
|
|
ret
|
|
; 102e86
|
|
|
|
.PlaceSpeciesNames: ; 102e86
|
|
ld c, 0
|
|
.count_loop
|
|
ld a, [de]
|
|
cp $ff
|
|
ret z
|
|
ld [wd265], a
|
|
push bc
|
|
push hl
|
|
push de
|
|
push hl
|
|
ld a, c
|
|
ld [hDividend], a
|
|
call GetPokemonName
|
|
pop hl
|
|
call PlaceString
|
|
pop de
|
|
inc de
|
|
pop hl
|
|
ld bc, SCREEN_WIDTH
|
|
add hl, bc
|
|
pop bc
|
|
inc c
|
|
jr .count_loop
|
|
; 102ea8
|
|
|
|
Function102ea8: ; 102ea8
|
|
call Function102dc3
|
|
ld a, [wcd4c]
|
|
dec a
|
|
ld c, a
|
|
ld b, 0
|
|
ld hl, PartySpecies
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld [wd265], a
|
|
call GetPokemonName
|
|
ld hl, StringBuffer1
|
|
ld de, StringBuffer2
|
|
ld bc, 11
|
|
call CopyBytes
|
|
ld a, [wcd4d]
|
|
dec a
|
|
ld c, a
|
|
ld b, 0
|
|
ld hl, OTPartySpecies
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld [wd265], a
|
|
call GetPokemonName
|
|
ld hl, UnknownText_0x102ee2
|
|
call PrintTextBoxText
|
|
ret
|
|
; 102ee2
|
|
|
|
UnknownText_0x102ee2: ; 102ee2
|
|
text_jump UnknownText_0x1bd286
|
|
db "@"
|
|
|
|
Function102ee7: ; 102ee7
|
|
call Function102dc3
|
|
ld de, String_102ef4
|
|
hlcoord 1, 14
|
|
call PlaceString
|
|
ret
|
|
; 102ef4
|
|
|
|
String_102ef4: ; 102ef4
|
|
db "Too bad! The trade"
|
|
next "was canceled!"
|
|
db "@"
|
|
; 102f15
|
|
|
|
Function102f15: ; 102f15
|
|
call Function102dc3
|
|
ld de, .TooBadTheTradeWasCanceled
|
|
hlcoord 1, 14
|
|
call PlaceString
|
|
ret
|
|
; 102f22
|
|
|
|
.TooBadTheTradeWasCanceled: ; 102f22
|
|
db "こうかんを キャンセルしました@"
|
|
; 102f32
|
|
|
|
Function102f32: ; 102f32
|
|
call Function102dc3
|
|
ld de, .TradeCompleted
|
|
hlcoord 1, 14
|
|
call PlaceString
|
|
ret
|
|
; 102f3f
|
|
|
|
.TradeCompleted: ; 102f3f
|
|
db "Trade completed!@"
|
|
; 102f50
|
|
|
|
Function102f50: ; 102f50
|
|
call Function102dc3
|
|
ld de, .PleaseWait
|
|
hlcoord 1, 14
|
|
call PlaceString
|
|
ret
|
|
; 102f5d
|
|
|
|
.PleaseWait: ; 102f5d
|
|
db "しょうしょう おまち ください@"
|
|
; 102f6d
|
|
|
|
Function102f6d: ; 102f6d
|
|
call Function102dc3
|
|
ld de, .Finished
|
|
hlcoord 1, 14
|
|
call PlaceString
|
|
ret
|
|
; 102f7a
|
|
|
|
.Finished: ; 102f7a
|
|
db "しゅうりょう します@"
|
|
; 102f85
|
|
|
|
Function102f85: ; 102f85
|
|
ld a, [wd003]
|
|
ld c, a
|
|
ld b, 0
|
|
ld hl, OTPartySpecies
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld [wd265], a
|
|
call GetPokemonName
|
|
call Function102dc3
|
|
ld de, String_102fb2
|
|
hlcoord 1, 14
|
|
call PlaceString
|
|
ld de, StringBuffer1
|
|
hlcoord 13, 14
|
|
call PlaceString
|
|
ld de, String_102fcc
|
|
call PlaceString
|
|
ret
|
|
; 102fb2
|
|
|
|
String_102fb2: ; 102fb2
|
|
db "あいてがわ<PKMN>えらんだ "
|
|
next "いじょう<PKMN>あるようです!!"
|
|
db "@"
|
|
; 102fcc
|
|
|
|
String_102fcc: ; 102fcc
|
|
db "に@"
|
|
; 102fce
|
|
|
|
Function102fce: ; 102fce
|
|
call Function102dc3
|
|
ld de, String_102fdb
|
|
hlcoord 1, 14
|
|
call PlaceString
|
|
ret
|
|
; 102fdb
|
|
|
|
String_102fdb: ; 102fdb
|
|
db "あいてがわ%せんたくに"
|
|
next "いじょう<PKMN>あるようです!!"
|
|
done
|
|
; 102ff5
|
|
|
|
Function102ff5: ; 102ff5
|
|
call Function102dc3
|
|
ld de, String_103002
|
|
hlcoord 1, 14
|
|
call PlaceString
|
|
ret
|
|
; 103002
|
|
|
|
String_103002: ; 103002
|
|
db "その#を こうかんすると"
|
|
next "せんとう できなく なっちゃうよ!"
|
|
db "@"
|
|
; 103021
|
|
|
|
Function103021: ; 103021
|
|
call Function102dc3
|
|
ld de, String_10302e
|
|
hlcoord 1, 14
|
|
call PlaceString
|
|
ret
|
|
; 10302e
|
|
|
|
String_10302e: ; 10302e
|
|
db "あいてが ちゅうしを えらんだので"
|
|
next "こうかんを ちゅうし します"
|
|
db "@"
|
|
; 10304f
|
|
|
|
Function10304f: ; 10304f
|
|
xor a
|
|
ld [AttrMapEnd], a
|
|
ld [wcf42], a
|
|
ld [wcf44], a
|
|
ld [wcf45], a
|
|
ret
|
|
; 10305d
|
|
|
|
Function10305d: ; 10305d
|
|
nop
|
|
ld a, [AttrMapEnd]
|
|
and a
|
|
ret z
|
|
call Function10307f
|
|
ret c
|
|
call Function103094
|
|
call Function10306e
|
|
ret
|
|
; 10306e
|
|
|
|
Function10306e: ; 10306e
|
|
ld a, $01
|
|
ld [hOAMUpdate], a
|
|
call ClearSprites
|
|
ld de, Sprites
|
|
call Function1030cd
|
|
xor a
|
|
ld [hOAMUpdate], a
|
|
ret
|
|
; 10307f
|
|
|
|
Function10307f: ; 10307f
|
|
ld c, $02
|
|
ld hl, wcd4b
|
|
bit 7, [hl]
|
|
jr z, .asm_10308a
|
|
ld c, $01
|
|
|
|
.asm_10308a
|
|
ld hl, wcf45
|
|
inc [hl]
|
|
ld a, [hl]
|
|
cp c
|
|
ret c
|
|
xor a
|
|
ld [hl], a
|
|
ret
|
|
; 103094
|
|
|
|
Function103094: ; 103094
|
|
ld hl, wcd4b
|
|
bit 7, [hl]
|
|
jr nz, .asm_1030c0
|
|
ld a, [wcf42]
|
|
bit 7, a
|
|
jr nz, .asm_1030b2
|
|
ld a, [wcf44]
|
|
inc a
|
|
ld [wcf44], a
|
|
cp $2c
|
|
ret nz
|
|
ld hl, wcf42
|
|
set 7, [hl]
|
|
ret
|
|
|
|
.asm_1030b2
|
|
ld a, [wcf44]
|
|
dec a
|
|
ld [wcf44], a
|
|
ret nz
|
|
ld hl, wcf42
|
|
res 7, [hl]
|
|
ret
|
|
|
|
.asm_1030c0
|
|
ld hl, wcf44
|
|
ld a, [hl]
|
|
and a
|
|
jr z, .asm_1030ca
|
|
dec a
|
|
ld [hl], a
|
|
ret nz
|
|
|
|
.asm_1030ca
|
|
ld [hl], $2c
|
|
ret
|
|
; 1030cd
|
|
|
|
Function1030cd: ; 1030cd
|
|
ld a, [wcf44]
|
|
ld l, a
|
|
ld h, 0
|
|
add hl, hl
|
|
add hl, hl
|
|
add hl, hl
|
|
ld bc, Unknown_103112
|
|
add hl, bc
|
|
ld b, $30
|
|
ld c, $08
|
|
.asm_1030de
|
|
push hl
|
|
ld hl, wcd4b
|
|
bit 7, [hl]
|
|
pop hl
|
|
ld a, 0
|
|
jr z, .asm_1030eb
|
|
ld a, $05
|
|
.asm_1030eb
|
|
|
|
add [hl]
|
|
inc hl
|
|
push hl
|
|
|
|
add a
|
|
add a
|
|
|
|
add Unknown_10327a % $100
|
|
ld l, a
|
|
ld a, Unknown_10327a / $100
|
|
adc 0
|
|
ld h, a
|
|
|
|
ld a, b
|
|
add [hl]
|
|
inc hl
|
|
ld [de], a
|
|
inc de
|
|
ld a, $0a
|
|
add [hl]
|
|
inc hl
|
|
ld [de], a
|
|
inc de
|
|
ld a, [hli]
|
|
ld [de], a
|
|
inc de
|
|
ld a, [hli]
|
|
ld [de], a
|
|
inc de
|
|
pop hl
|
|
ld a, b
|
|
add $08
|
|
ld b, a
|
|
dec c
|
|
jr nz, .asm_1030de
|
|
ret
|
|
; 103112
|
|
|
|
Unknown_103112: ; 103112
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $01, $00, $00, $00, $00, $00, $00, $00
|
|
db $02, $01, $00, $00, $00, $00, $00, $00
|
|
db $03, $02, $01, $00, $00, $00, $00, $00
|
|
db $04, $03, $02, $01, $00, $00, $00, $00
|
|
db $04, $04, $03, $02, $01, $00, $00, $00
|
|
db $04, $04, $04, $03, $02, $01, $00, $00
|
|
db $04, $04, $04, $04, $03, $02, $01, $00
|
|
db $04, $04, $04, $04, $04, $03, $02, $01
|
|
db $04, $04, $04, $04, $04, $04, $03, $02
|
|
db $04, $04, $04, $04, $04, $04, $04, $03
|
|
db $04, $04, $04, $04, $04, $04, $04, $04
|
|
db $04, $04, $04, $04, $04, $04, $04, $04
|
|
db $04, $04, $04, $04, $04, $04, $04, $04
|
|
db $04, $04, $04, $04, $04, $04, $04, $04
|
|
db $04, $04, $04, $04, $04, $04, $04, $04
|
|
db $04, $04, $04, $04, $04, $04, $04, $04
|
|
db $04, $04, $04, $04, $04, $04, $04, $04
|
|
db $04, $04, $04, $04, $04, $04, $04, $04
|
|
db $03, $04, $04, $04, $04, $04, $04, $04
|
|
db $02, $03, $04, $04, $04, $04, $04, $04
|
|
db $01, $02, $03, $04, $04, $04, $04, $04
|
|
db $00, $01, $02, $03, $04, $04, $04, $04
|
|
db $00, $00, $01, $02, $03, $04, $04, $04
|
|
db $00, $00, $00, $01, $02, $03, $04, $04
|
|
db $00, $00, $00, $00, $01, $02, $03, $04
|
|
db $00, $00, $00, $00, $00, $01, $02, $03
|
|
db $00, $00, $00, $00, $00, $00, $01, $02
|
|
db $00, $00, $00, $00, $00, $00, $00, $01
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
db $00, $00, $00, $00, $00, $00, $00, $00
|
|
; 10327a
|
|
|
|
Unknown_10327a: ; 10327a
|
|
db $00, $00, $00, $00
|
|
db $00, $00, $01, $00
|
|
db $00, $00, $02, $00
|
|
db $00, $00, $03, $00
|
|
db $00, $00, $01, $01
|
|
db $00, $00, $00, $00
|
|
db $00, $00, $01, $02
|
|
db $00, $00, $02, $02
|
|
db $00, $00, $03, $02
|
|
db $00, $00, $01, $03
|
|
|
|
GFX_1032a2:
|
|
INCBIN "gfx/unknown/1032a2.2bpp"
|
|
|
|
Palettes_1032e2:
|
|
RGB 0, 0, 0
|
|
RGB 31, 31, 7
|
|
RGB 20, 31, 6
|
|
RGB 13, 20, 16
|
|
|
|
RGB 0, 0, 0
|
|
RGB 7, 11, 17
|
|
RGB 0, 0, 0
|
|
RGB 0, 0, 0
|
|
|
|
RGB 0, 0, 0
|
|
RGB 31, 24, 4
|
|
RGB 25, 12, 0
|
|
RGB 31, 7, 4
|
|
|
|
RGB 0, 0, 0
|
|
RGB 25, 0, 0
|
|
RGB 0, 0, 0
|
|
RGB 0, 0, 0
|
|
|
|
; 103302
|
|
|
|
Function103302: ; 103302
|
|
call Function103309
|
|
call Function103362
|
|
ret
|
|
; 103309
|
|
|
|
Function103309: ; 103309
|
|
xor a
|
|
ld [hBGMapMode], a
|
|
ld hl, Buffer1
|
|
ld bc, 10
|
|
xor a
|
|
call ByteFill
|
|
ld a, $04
|
|
call GetSRAMBank
|
|
ld a, [wdc41]
|
|
ld [$a60c], a
|
|
ld [Buffer1], a
|
|
call CloseSRAM
|
|
call Function1035c6
|
|
ld a, [hli]
|
|
ld e, a
|
|
ld a, [hli]
|
|
ld d, a
|
|
ld a, [hli]
|
|
ld c, a
|
|
ld a, [hli]
|
|
ld b, a
|
|
ld a, [hli]
|
|
ld [wd1ef], a
|
|
ld a, [hli]
|
|
ld [wd1ec], a
|
|
ld a, [hli]
|
|
ld [wd1ed], a
|
|
ld h, d
|
|
ld l, e
|
|
call Function3eea
|
|
ld hl, wd1ec
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ld a, [hl]
|
|
ld [wd1ee], a
|
|
call Function1034be
|
|
call UpdateSprites
|
|
callba HDMATransferAttrMapAndTileMapToWRAMBank3
|
|
ld a, $01
|
|
ld [wd1f0], a
|
|
call Function10339a
|
|
ret
|
|
; 103362
|
|
|
|
Function103362: ; 103362
|
|
.asm_103362
|
|
ld a, [wd1f0]
|
|
ld [wd1f1], a
|
|
call Function1033af
|
|
call Function10339a
|
|
call Function10342c
|
|
callba HDMATransferTileMapToWRAMBank3
|
|
ld a, [Buffer2]
|
|
bit 7, a
|
|
jr z, .asm_103362
|
|
ld hl, Buffer2
|
|
bit 6, [hl]
|
|
jr z, .asm_103398
|
|
ld a, $04
|
|
call GetSRAMBank
|
|
ld a, [Buffer1]
|
|
ld [$a60c], a
|
|
ld [wdc41], a
|
|
call CloseSRAM
|
|
xor a
|
|
ret
|
|
|
|
.asm_103398
|
|
scf
|
|
ret
|
|
; 10339a
|
|
|
|
Function10339a: ; 10339a
|
|
ld a, [wd1f0]
|
|
ld [wd1f2], a
|
|
ld c, a
|
|
ld b, 0
|
|
ld hl, wd1ec
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
add hl, bc
|
|
ld a, [hl]
|
|
ld [wd1f3], a
|
|
ret
|
|
; 1033af
|
|
|
|
Function1033af: ; 1033af
|
|
call GetJoypad
|
|
ld a, [hJoyPressed]
|
|
bit 5, a
|
|
jr nz, .left
|
|
bit 4, a
|
|
jr nz, .right
|
|
bit 1, a
|
|
jr nz, .b
|
|
bit 0, a
|
|
jr nz, .a
|
|
bit 6, a
|
|
jr nz, .up
|
|
bit 7, a
|
|
jr nz, .down
|
|
ret
|
|
|
|
.up
|
|
ld a, [wd1f0]
|
|
dec a
|
|
ld [wd1f0], a
|
|
cp $01
|
|
ret nc
|
|
ld a, [wd1ee]
|
|
ld [wd1f0], a
|
|
ret
|
|
|
|
.down
|
|
ld a, [wd1f0]
|
|
inc a
|
|
ld [wd1f0], a
|
|
ld c, a
|
|
ld a, [wd1ee]
|
|
cp c
|
|
ret nc
|
|
ld a, $01
|
|
ld [wd1f0], a
|
|
ret
|
|
|
|
.b
|
|
call PlayClickSFX
|
|
ld hl, Buffer2
|
|
set 7, [hl]
|
|
ret
|
|
|
|
.a
|
|
ld a, [wd1f3]
|
|
cp $03
|
|
jr nz, .asm_103412
|
|
ld de, SFX_TRANSACTION
|
|
call PlaySFX
|
|
ld hl, Buffer2
|
|
set 7, [hl]
|
|
ld hl, Buffer2
|
|
set 6, [hl]
|
|
ret
|
|
|
|
.left
|
|
.right
|
|
.asm_103412
|
|
ld a, [wd1f3]
|
|
cp $03
|
|
ret z
|
|
ld de, SFX_PUSH_BUTTON
|
|
call PlaySFX
|
|
ld bc, 8
|
|
call Function10350f
|
|
ld a, [Buffer1]
|
|
xor e
|
|
ld [Buffer1], a
|
|
ret
|
|
; 10342c
|
|
|
|
Function10342c: ; 10342c
|
|
ld a, [wd1f0]
|
|
ld [wd1f2], a
|
|
call Function103490
|
|
call Function10343c
|
|
call Function1034a7
|
|
ret
|
|
; 10343c
|
|
|
|
Function10343c: ; 10343c
|
|
ld a, [wd1f3]
|
|
cp $02
|
|
jr nz, .asm_103452
|
|
ld bc, 1
|
|
call Function1034f7
|
|
ld c, $12
|
|
ld b, $01
|
|
call Function1034e0
|
|
jr .asm_10345f
|
|
|
|
.asm_103452
|
|
ld bc, $ffed
|
|
call Function1034f7
|
|
ld c, $12
|
|
ld b, $02
|
|
call Function1034e0
|
|
|
|
.asm_10345f
|
|
ld bc, 0
|
|
call Function10350f
|
|
ld bc, 1
|
|
call Function103487
|
|
ld bc, 8
|
|
call Function10350f
|
|
ld a, [Buffer1]
|
|
and e
|
|
ld bc, 2
|
|
jr z, .asm_10347d
|
|
ld bc, 4
|
|
|
|
.asm_10347d
|
|
call Function10350f
|
|
ld bc, 11
|
|
call Function103487
|
|
ret
|
|
; 103487
|
|
|
|
Function103487: ; 103487
|
|
push de
|
|
call Function1034f7
|
|
pop de
|
|
call PlaceString
|
|
ret
|
|
; 103490
|
|
|
|
Function103490: ; 103490
|
|
hlcoord 0, 15
|
|
ld c, $14
|
|
ld b, $03
|
|
call Function1034e0
|
|
ld bc, 6
|
|
call Function10350f
|
|
hlcoord 1, 16
|
|
call PlaceString
|
|
ret
|
|
; 1034a7
|
|
|
|
Function1034a7: ; 1034a7
|
|
ld a, [wd1f1]
|
|
ld [wd1f2], a
|
|
ld bc, 10
|
|
call Function1034f7
|
|
ld [hl], $7f
|
|
ld bc, 10
|
|
call Function1034f1
|
|
ld [hl], $ed
|
|
ret
|
|
; 1034be
|
|
|
|
Function1034be: ; 1034be
|
|
ld a, $01
|
|
ld [wd1f2], a
|
|
ld hl, wd1ec
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ld a, [hli]
|
|
.asm_1034ca
|
|
push af
|
|
ld a, [hli]
|
|
push hl
|
|
ld [wd1f3], a
|
|
call Function10343c
|
|
ld hl, wd1f2
|
|
inc [hl]
|
|
pop hl
|
|
pop af
|
|
dec a
|
|
jr nz, .asm_1034ca
|
|
call Function103490
|
|
ret
|
|
; 1034e0
|
|
|
|
Function1034e0: ; 1034e0
|
|
push bc
|
|
push hl
|
|
call ClearBox
|
|
pop hl
|
|
ld bc, AttrMap - TileMap
|
|
add hl, bc
|
|
pop bc
|
|
ld a, $06
|
|
call FillBoxWithByte
|
|
ret
|
|
; 1034f1
|
|
|
|
Function1034f1: ; 1034f1
|
|
ld a, [wd1f0]
|
|
ld [wd1f2], a
|
|
|
|
Function1034f7: ; 10134f7
|
|
hlcoord 0, 0
|
|
add hl, bc
|
|
ld a, [wd1ef]
|
|
ld bc, SCREEN_WIDTH
|
|
call AddNTimes
|
|
ld a, [wd1f2]
|
|
dec a
|
|
ld bc, 40
|
|
call AddNTimes
|
|
ret
|
|
; 10350f
|
|
|
|
Function10350f: ; 10350f
|
|
ld a, [wd1f3]
|
|
push bc
|
|
ld hl, Unknown_103522
|
|
ld bc, 9
|
|
call AddNTimes
|
|
pop bc
|
|
add hl, bc
|
|
ld a, [hli]
|
|
ld d, [hl]
|
|
ld e, a
|
|
ret
|
|
; 103522
|
|
|
|
Unknown_103522: ; 103522
|
|
dw String_103546
|
|
dw String_103598
|
|
dw String_1035a0
|
|
dw String_10355f
|
|
db $01
|
|
dw String_10354f
|
|
dw String_1035a8
|
|
dw String_1035b1
|
|
dw String_103571
|
|
db $02
|
|
dw String_103557
|
|
dw String_1035ba
|
|
dw String_1035bd
|
|
dw String_103585
|
|
db $04
|
|
dw String_103545
|
|
dw String_1035c1
|
|
dw String_1035c1
|
|
dw String_103545
|
|
|
|
String_103545: db "@"
|
|
String_103546: db "せんとう アニメ@"
|
|
String_10354f: db "でんわばんごう@"
|
|
String_103557: db "めいしこうかん@"
|
|
String_10355f: db "でんわを かけるひとが きめられる@"
|
|
String_103571: db "でんわばんごうの にゅうりょくのしかた@"
|
|
String_103585: db "あたらしいめいしが あれば こうかん@"
|
|
String_103598: db "とばして みる@"
|
|
String_1035a0: db "じっくり みる@"
|
|
String_1035a8: db "めいしからえらぶ@"
|
|
String_1035b1: db "すうじで いれる@"
|
|
String_1035ba: db "する@"
|
|
String_1035bd: db "しない@"
|
|
String_1035c1: db "けってい@"
|
|
; 1035c6
|
|
|
|
Function1035c6: ; 1035c6
|
|
callba Function10138b
|
|
ld b, 0
|
|
ld hl, Unknown_1035d7
|
|
add hl, bc
|
|
add hl, bc
|
|
ld a, [hli]
|
|
ld h, [hl]
|
|
ld l, a
|
|
ret
|
|
; 1035d7
|
|
|
|
Unknown_1035d7: ; 1035d7
|
|
dw Unknown_1035e7
|
|
dw Unknown_1035f3
|
|
dw Unknown_103608
|
|
dw Unknown_103608
|
|
dw Unknown_1035fe
|
|
dw AskMobileOrCable
|
|
dw AskMobileOrCable
|
|
dw AskMobileOrCable
|
|
|
|
Unknown_1035e7: ; 1035e7
|
|
dwcoord 0, 6
|
|
db $12, $07, $07
|
|
dw .this
|
|
.this
|
|
db 4, 2, 1, 0, 3
|
|
|
|
Unknown_1035f3: ; 1035f3
|
|
dwcoord 0, 7
|
|
db $12, $06, $09
|
|
dw .this
|
|
.this
|
|
db 3, 2, 1, 3
|
|
|
|
Unknown_1035fe: ; 1035fe
|
|
dwcoord 0, 9
|
|
db $12, $04, $0b
|
|
dw .this
|
|
.this
|
|
db 2, 0, 3
|
|
|
|
Unknown_103608: ; 103608
|
|
dwcoord 0, 9
|
|
db $12, $04, $0b
|
|
dw .this
|
|
.this
|
|
db 2, 2, 3
|
|
; 103612
|
|
|
|
AskMobileOrCable: ; 103612
|
|
ld hl, MenuDataHeader_103640
|
|
call LoadMenuDataHeader
|
|
ld a, [wMobileOrCable_LastSelection]
|
|
and $0f
|
|
jr z, .skip_load
|
|
ld [wMenuCursorBuffer], a
|
|
|
|
.skip_load
|
|
call VerticalMenu
|
|
call CloseWindow
|
|
jr c, .pressed_b
|
|
ld a, [wMenuCursorY]
|
|
ld [ScriptVar], a
|
|
ld c, a
|
|
ld a, [wMobileOrCable_LastSelection]
|
|
and $f0
|
|
or c
|
|
ld [wMobileOrCable_LastSelection], a
|
|
ret
|
|
|
|
.pressed_b
|
|
xor a
|
|
ld [ScriptVar], a
|
|
ret
|
|
; 103640
|
|
|
|
MenuDataHeader_103640: ; 103640
|
|
db $40 ; flags
|
|
db 6, 13 ; start coords
|
|
db 11, 19 ; end coords
|
|
dw MenuData2_103648
|
|
db 1 ; default option
|
|
|
|
MenuData2_103648: ; 103648
|
|
db $80 ; flags
|
|
db 2
|
|
db "モバイル@"
|
|
db "ケーブル@"
|
|
; 103654
|
|
|
|
Function103654: ; 103654
|
|
callba Mobile_AlwaysReturnNotCarry
|
|
bit 7, c
|
|
jr nz, .asm_103666
|
|
ld hl, wcd2a
|
|
res 5, [hl]
|
|
ld c, $02
|
|
ret
|
|
|
|
.asm_103666
|
|
ld hl, wcd2a
|
|
set 5, [hl]
|
|
ld c, $01
|
|
ret
|
|
; 10366e
|
|
|
|
Mobile_SelectThreeMons: ; 10366e
|
|
callba Mobile_AlwaysReturnNotCarry
|
|
bit 7, c
|
|
jr z, .asm_10369b
|
|
ld hl, UnknownText_0x10375d
|
|
call PrintText
|
|
call YesNoBox
|
|
jr c, .asm_103696
|
|
callba CheckForMobileBattleRules
|
|
jr nc, .asm_103690
|
|
call JoyWaitAorB
|
|
jr .asm_103696
|
|
|
|
.asm_103690
|
|
ld a, $01
|
|
ld [ScriptVar], a
|
|
ret
|
|
|
|
.asm_103696
|
|
xor a
|
|
ld [ScriptVar], a
|
|
ret
|
|
|
|
.asm_10369b
|
|
ld hl, wMobileOrCable_LastSelection
|
|
bit 7, [hl]
|
|
set 7, [hl]
|
|
jr nz, .asm_1036b5
|
|
ld hl, UnknownText_0x103762
|
|
call PrintText
|
|
call YesNoBox
|
|
jr c, .asm_1036b5
|
|
call Function1036f9
|
|
call JoyWaitAorB
|
|
|
|
.asm_1036b5
|
|
call Function103700
|
|
jr c, .asm_1036f4
|
|
ld hl, MenuDataHeader_103747
|
|
call LoadMenuDataHeader
|
|
call VerticalMenu
|
|
call ExitMenu
|
|
jr c, .asm_1036f4
|
|
ld a, [wMenuCursorY]
|
|
cp $01
|
|
jr z, .asm_1036d9
|
|
cp $02
|
|
jr z, .asm_1036f4
|
|
cp $03
|
|
jr z, .asm_1036ec
|
|
jr .asm_1036b5
|
|
|
|
.asm_1036d9
|
|
callba CheckForMobileBattleRules
|
|
jr nc, .asm_1036e6
|
|
call JoyWaitAorB
|
|
jr .asm_1036f4
|
|
|
|
.asm_1036e6
|
|
ld a, $01
|
|
ld [ScriptVar], a
|
|
ret
|
|
|
|
.asm_1036ec
|
|
call Function1036f9
|
|
call JoyWaitAorB
|
|
jr .asm_1036b5
|
|
|
|
.asm_1036f4
|
|
xor a
|
|
ld [ScriptVar], a
|
|
ret
|
|
; 1036f9
|
|
|
|
Function1036f9: ; 1036f9
|
|
ld hl, UnknownText_0x103767
|
|
call PrintText
|
|
ret
|
|
; 103700
|
|
|
|
Function103700: ; 103700
|
|
ld c, $0a
|
|
ld hl, SwarmFlags
|
|
bit 4, [hl]
|
|
jr z, .asm_10370f
|
|
callba Function1008a6
|
|
|
|
.asm_10370f
|
|
ld a, c
|
|
ld [StringBuffer2], a
|
|
ld a, [StringBuffer2]
|
|
cp $05
|
|
jr nc, .asm_103724
|
|
cp $02
|
|
jr nc, .asm_10372c
|
|
cp $01
|
|
jr nc, .asm_103734
|
|
jr .asm_10373c
|
|
|
|
.asm_103724
|
|
ld hl, UnknownText_0x10376c
|
|
call PrintText
|
|
and a
|
|
ret
|
|
|
|
.asm_10372c
|
|
ld hl, UnknownText_0x103771
|
|
call PrintText
|
|
and a
|
|
ret
|
|
|
|
.asm_103734
|
|
ld hl, UnknownText_0x103776
|
|
call PrintText
|
|
and a
|
|
ret
|
|
|
|
.asm_10373c
|
|
ld hl, UnknownText_0x10377b
|
|
call PrintText
|
|
call JoyWaitAorB
|
|
scf
|
|
ret
|
|
; 103747
|
|
|
|
MenuDataHeader_103747: ; 103747
|
|
db $40 ; flags
|
|
db 5, 13 ; start coords
|
|
db 11, 19 ; end coords
|
|
dw MenuData2_10374f
|
|
db 1 ; default option
|
|
|
|
MenuData2_10374f: ; 10374f
|
|
db $c0 ; flags
|
|
db 3
|
|
db "はい@"
|
|
db "やめる@"
|
|
db "せつめい@"
|
|
; 10375d
|
|
|
|
UnknownText_0x10375d: ; 0x10375d
|
|
text_jump UnknownText_0x1c422a
|
|
db "@"
|
|
; 0x103762
|
|
UnknownText_0x103762: ; 0x103762
|
|
text_jump UnknownText_0x1c4275
|
|
db "@"
|
|
; 0x103767
|
|
UnknownText_0x103767: ; 0x103767
|
|
text_jump UnknownText_0x1c4298
|
|
db "@"
|
|
; 0x10376c
|
|
UnknownText_0x10376c: ; 0x10376c
|
|
text_jump UnknownText_0x1c439c
|
|
db "@"
|
|
; 0x103771
|
|
UnknownText_0x103771: ; 0x103771
|
|
text_jump UnknownText_0x1c43dc
|
|
db "@"
|
|
; 0x103776
|
|
UnknownText_0x103776: ; 0x103776
|
|
text_jump UnknownText_0x1c4419
|
|
db "@"
|
|
; 0x10377b
|
|
UnknownText_0x10377b: ; 0x10377b
|
|
text_jump UnknownText_0x1c445a
|
|
db "@"
|
|
; 0x103780
|
|
|
|
Function103780: ; 103780
|
|
ld a, [wd265]
|
|
push af
|
|
call Function10378c
|
|
pop af
|
|
ld [wd265], a
|
|
ret
|
|
; 10378c
|
|
|
|
Function10378c: ; 10378c
|
|
ld c, 0
|
|
ld hl, SwarmFlags
|
|
bit 4, [hl]
|
|
jr nz, .already_set
|
|
ld c, $01
|
|
ld hl, SwarmFlags
|
|
set 4, [hl]
|
|
|
|
.already_set
|
|
push bc
|
|
callba Link_SaveGame
|
|
pop bc
|
|
jr c, .failed_to_save
|
|
ld a, $01
|
|
ld [ScriptVar], a
|
|
ld a, c
|
|
and a
|
|
ret z
|
|
callba Function1006fd
|
|
ret
|
|
|
|
.failed_to_save
|
|
xor a
|
|
ld [ScriptVar], a
|
|
ld a, c
|
|
and a
|
|
ret z
|
|
ld hl, SwarmFlags
|
|
res 4, [hl]
|
|
ret
|
|
; 1037c2
|
|
|
|
Function1037c2: ; 1037c2
|
|
call Function103823
|
|
jr c, .nope
|
|
ld a, [wdc5f]
|
|
and a
|
|
jr z, .nope
|
|
ld hl, UnknownText_0x1037e6
|
|
call PrintText
|
|
call YesNoBox
|
|
jr c, .nope
|
|
ld a, $01
|
|
ld [ScriptVar], a
|
|
ret
|
|
|
|
.nope
|
|
xor a
|
|
ld [wdc5f], a
|
|
ld [ScriptVar], a
|
|
ret
|
|
; 1037e6
|
|
|
|
UnknownText_0x1037e6: ; 0x1037e6
|
|
text_jump UnknownText_0x1c449c
|
|
db "@"
|
|
; 0x1037eb
|
|
|
|
Function1037eb: ; 1037eb
|
|
call Function103823
|
|
jr nc, .asm_103807
|
|
ld hl, UnknownText_0x103819
|
|
call PrintText
|
|
call JoyWaitAorB
|
|
ld hl, UnknownText_0x10381e
|
|
call PrintText
|
|
call JoyWaitAorB
|
|
xor a
|
|
ld [ScriptVar], a
|
|
ret
|
|
|
|
.asm_103807
|
|
ld a, [wdc60]
|
|
and a
|
|
jr nz, .asm_103813
|
|
ld a, $01
|
|
ld [ScriptVar], a
|
|
ret
|
|
|
|
.asm_103813
|
|
ld a, $02
|
|
ld [ScriptVar], a
|
|
ret
|
|
; 103819
|
|
|
|
UnknownText_0x103819: ; 0x103819
|
|
text_jump UnknownText_0x1c44c0
|
|
db "@"
|
|
; 0x10381e
|
|
|
|
UnknownText_0x10381e: ; 0x10381e
|
|
text_jump UnknownText_0x1c44e7
|
|
db "@"
|
|
; 0x103823
|
|
|
|
Function103823: ; 103823
|
|
callba Mobile_AlwaysReturnNotCarry
|
|
bit 7, c
|
|
jr nz, .asm_103838
|
|
callba Function1008a6
|
|
ld a, c
|
|
cp $01
|
|
jr c, .asm_10383a
|
|
|
|
.asm_103838
|
|
xor a
|
|
ret
|
|
|
|
.asm_10383a
|
|
scf
|
|
ret
|
|
; 10383c
|
|
|
|
Function10383c: ; 10383c
|
|
ld a, $01
|
|
ld [wdc60], a
|
|
xor a
|
|
ld hl, wPlayerMonSelection
|
|
ld [hli], a
|
|
ld [hli], a
|
|
ld [hl], a
|
|
ld hl, UnknownText_0x103876
|
|
call PrintText
|
|
call JoyWaitAorB
|
|
callba Script_reloadmappart
|
|
callba Function4a94e
|
|
jr c, .asm_103870
|
|
ld hl, wd002
|
|
ld de, wPlayerMonSelection
|
|
ld bc, 3
|
|
call CopyBytes
|
|
xor a
|
|
ld [ScriptVar], a
|
|
ret
|
|
|
|
.asm_103870
|
|
ld a, $01
|
|
ld [ScriptVar], a
|
|
ret
|
|
; 103876
|
|
|
|
UnknownText_0x103876: ; 0x103876
|
|
text_jump UnknownText_0x1c4508
|
|
db "@"
|
|
; 0x10387b
|
|
|
|
Function10387b: ; 10387b
|
|
callba Mobile_AlwaysReturnNotCarry
|
|
bit 7, c
|
|
ret nz
|
|
callba Function1008a6
|
|
ld a, c
|
|
ld [StringBuffer2], a
|
|
ld hl, UnknownText_0x103898
|
|
call PrintText
|
|
call JoyWaitAorB
|
|
ret
|
|
; 103898
|
|
|
|
UnknownText_0x103898: ; 0x103898
|
|
text_jump UnknownText_0x1c4525
|
|
db "@"
|
|
; 0x10389d
|